JPEG压缩编码过程将给定图像分成8x8像素的块,在将来的有损和无损压缩中使用这些块。 [资源]

还提到如果图像是多个1MCU块(定义为最小编码单元,'通常在两个方向上为16个像素'),则可以执行对JPEG的无损改变。 [资源]

我正在处理产品图片,并想知道在我的最终图像尺寸中使用16的倍数(例如,使用尺寸为480像素×360像素的图像)与非倍数相比,是否可以获得多少益处16(如484x362)。 在这个例子中,我对最终图像的进一步改动,编辑或再压缩不感兴趣。

为了更接近我所知道的特定答案,必须有很大的一般性:给定480x360图像为64k并在Photoshop中以最高质量保存[示例]

  • 我可以预期484x362的图像会有任何质量损失
  • 我可以期望增加多少文件大小(对于此示例,额外空间将是白色像素)
  • 增长大于8px网格还有其他缺点吗?

我知道使用这个特定的例子是任意的,但它仍然有用(对于我和其他任何可能在思考图像大小的人)来理解我在打破非8px网格时要处理的妥协程度。

这里的关键问题是我所讨论的是8像素可分割图像是否比不能被8像素整除的图像质量更高。

===============>>#1 票数:18 已采纳

8个像素是截止值。 原因是JPEG图像只是一个8x8 DCT块的数组; 如果图像分辨率在两个方向上都不是mod8,则编码器必须将两侧填充到下一个mod8分辨率。 这在实践中并不是非常昂贵的一点点; 更糟糕的是当图像具有不在块边界上的尖锐黑线(例如信箱图像)时的情况。 这在视频编码中尤其成问题。 这是一个问题的原因是尖线的频率变换是系数的高斯分布 - 导致大量的位编码。

对于那些好奇的人来说,在帧内压缩中填充边缘的最常用方法(例如JPEG图像)是在边缘之前镜像像素线。 例如,如果需要填充三条线而线X是边,则线X + 1等于线X,线X + 2等于线X-1,线X + 3等于线X- 2。 这非常有效地最小化了额外线的变换系数的成本。

然而,在帧间编码中,填充算法通常简单地复制最后一行,因为镜像方法不适用于帧间压缩,例如在视频压缩中。

===============>>#2 票数:3

有时你需要使用16个像素边界而不是8个因为子采样; 在编码过程中,每个第二个像素都被丢弃,那些8x8 DCT块以16x16开始,并将解码回16x16。 这在最高质量设置下不会成为问题。

===============>>#3 票数:2

图像尺寸是8或16的倍数不会对磁盘​​上​​的尺寸造成太大影响,但是如果可以将可视内容排列到8x8像素网格,例如是否存在重复图案,则可以节省大量成本图像中的纹理。

===============>>#4 票数:2

尺寸为8的倍数的JPG也可以旋转/翻转而不会有质量损失。 例如,gthumb可以在Linux上执行此操作。

===============>>#5 票数:1

托梅茨基说的话。 如果没有正确的倍数,则无损翻转和旋转算法不起作用。 这是因为可以安全地忽略的右/底部填充现在最终位于左侧/顶部,而不是。

  ask by Dave Rutledge translate from so

未解决问题?本站智能推荐:

10回复

可以旋转JPEG压缩图像而不会降低质量吗?

JPEG是一种有损压缩方案,因此解压缩 - 操作 - 重新压缩通常会进一步降低每一步的图像质量。 是否可以旋转JPEG图像而不会造成进一步的损失? 从我对JPEG算法的了解很少,它似乎可以通过一些努力避免进一步的损失。 哪些常见的图像处理程序(例如GIMP,Paint Shop Pro,W
1回复

如何将JPEG压缩算法用于一维数据(例如一条线)?

我有一个(时间序列)数据看起来像{21,21,22,23,24,23,....}我试图在JAVA中实现jpeg算法,看看jpeg压缩是如何工作的1D数据(我的计划是比较各种压缩算法)。 我知道在文本数据上使用JPEG(或者在文本数据中通常有损压缩)没有多大意义,但我的目标是看看生成了什么样
1回复

PHP GD编辑Jpeg,无需重新压缩

假设我有一个jpeg文件,并且想将某些像素设置为某种颜色。 保存jpeg时,即使将画质设置为100,我也会失去色彩并且在新像素周围出现锯齿。我知道这是一种有损格式,但是我不想重新压缩图片,只需设置一个几个像素。 所以,也许GD不是走这里的路吗? 我确实需要更改某些像素的颜色,并且保存
2回复

如何在Android中减小JPEG图像的大小

在我的应用程序中,我正在调用相机应用程序并拍照并将其保存在特定目录中(例如/ sdcard等) 图片保存为JPEG图像。 如何减小图像的大小? 是否有可用的图像编码器或压缩? 我发现了另一个帖子: Android Reduce Size Of Camera Picture
1回复

使用CoreCompat压缩后,图像大小不会以不同的质量改变

我想使用ASP.NET Core 2中的CoreCompat库将图像压缩为jpeg。我想要更改质量参数,并获得具有不同质量和文件大小的图像。 问题是,如果使用不同的质量参数值,则文件大小将相同。 我究竟做错了什么? 为了提高质量,我使用了0、50和100值。这是我的代码: 我的输入
1回复

用iPhone 6拍摄的照片的标准JPEG质量

对于我的硕士论文,我需要知道用iPhone 6或更高版本拍摄的照片的标准JPEG质量是什么。 使用它拍照并使用ImageMagick检索质量时,每张照片的质量均为92。 但是,我找不到任何提及的地方... 有人可以帮我找到可靠的消息来源吗? 提前致谢!
6回复

使用C#进行高质量的JPEG压缩

我正在使用C#,并希望使用JPEG格式保存图像。 但是,.NET会降低图像质量,并通过不够的压缩来保存图像。 我要保存文件的原始质量和大小。 我正在使用以下代码,但是压缩和质量与原始代码不同。 我正在存档工作室照片,质量和压缩率非常重要。 谢谢。
1回复

解码从PDF文件内部剥离的JPEG图像

我有将jpgs解压缩为位图的代码,该位图对于JPEG文件来说很好用,但是当我将代码馈入JPEG时,我直接从PDF XObject剥离了代码,但出现错误。 Adobe Reader可以很好地显示图像,所以我不认为它已损坏。 我已经阅读了JPEG和PDFs文档,没有发现任何明显的问题。
3回复

jpeg文件格式解码

我正在尝试使用C从头开始编写JPEG / JFIF编码器和解码器。我尝试编写一个示例JPEG文件,但似乎我无法使用MS paint,Firefox打开它。 但我可以使用JPEGsnoop( http://www.impulseadventure.com/photo/jpeg-snoop.htm
1回复

JPEG压缩和逐行JPEG

我有一个高分辨率的Baseline JPEG,我想将其网站的压缩大小从6MB压缩到+-300kb,并逐步进行压缩。 现在,我知道如何同时使用photoshop进行渐进式处理和使用在线工具或gulp / grunt任务进行压缩。 我想知道图像的最佳顺序(最佳质量)是什么: 首