跳转到内容

JPEG像影印机

代际损耗原创于模拟媒体世界中,指音视频复制时发生质量退化模拟磁带和音频传输方面,原创源的每拷贝都新一代,每次传输后质量势必下降模拟介质退化是由于信号损耗、物理损耗和电子噪声等因素造成的,这些特征不同于数字生成损耗

有趣的是,代际衰减概念虽然历史上与模拟格式相关联,但在数字领域有并行关系,特别是在数字成像方面。

拷贝复制件后 质量会随子相减问题叫'代代损失'难解为何使用实战复印机扫描打印不完全,基于噪声传感器和物理纸张墨水,由此产生的噪声往往会积聚

数字图像理论上不应有问题:文件可重复复制,它仍将同原创完全相同

JPEG等损图像格式行为像影印机JPEG文件简单拷贝不改变,但如果在图像编辑器中打开JPEG文件并保存它,则会换JPEG文件图片每次上传到脸书或Twitter都发生相同事件:图像自动重编码(以这两个社会网络为例,质量相对较低,以保存存储带宽)。部分信息丢失过程 压缩人工品将开始积聚高频图像归根结底会显著下降

文章中我们将深入研究JPEG 和其他损损图像格式代代损失解释原因和避免之道

重编JPEG图像多次

首编码 :
JPEG首编译
后百编码
后100JPEG编码
后千编码
后千编码
万元编码后
10,000JPEG编码

JPEG有一个质量设置,允许你权衡压缩质量和视觉质量低质量设置会以丢弃更多图像信息为代价提供小文件高质量设置产生大文件,但保留更多信息,结果图像接近原创

省JPEG高素质设置 不会有问题吧

悲哀,不很明显 信息丢失 无法用魔幻方式恢复JPEG图像保存质量为-70-再保存质量为-90-自然不会使图像看起来更好问题出在这里:情况会更糟每一次附加JPEG编码都会增加损失,即使质量比原JPEG高

理解JPEG为何以这种方式工作,我们必须深入了解JPEG实际工作方式JPEG格式使用数机制缩放图像文件大小,其中一些不积存,另一些则积存

首先是JPEG使用色空间变换数字图像通常以像素表示,内含三种8比特RGB值(红、绿、蓝)。计算机屏幕显示像素的方式:三种色通道中的每一种都可能有256不同强度,产生1 670万种可能的颜色(266*256*256*256)

三大RGB色通道在大多数图像中都具有统计关联性:例如,在灰度图像中,三大通道完全相同。图像压缩目标 RGB不是最优表示JPEG使用YCbCr颜色空间Y信道称`luma'(光强度即灰度图像)另外两个通道Cb和Cr被称为“chroma”(颜色组件)。

除装饰像素信息外,颜色变换还有另一个长处:人眼比染色体敏感

颜色空间变换本身已引入某些损耗,原因是四舍五入错误和精度有限变换图像包含从RGB到YCbCr和回溯的全部1 670万不同颜色, 并计数不同颜色数后, 最后你只有约400万不同颜色损失大都发生在红蓝通道

https://res.www.agrosoland.com/jon/RGB_YCbCr.png

YCbCr颜色变换本身不导致代代损失相对小的一次性颜色精度损耗 但不积聚JPEG也做别的事情:它做所谓的'chroma子采样',常用4:2:0表示Chroma子采样可选性,但通常是默认完成)表示只有Y通道编码完全解析twochroma信道Cb和Cr图像解析半横向和垂直切分以这种方式,与其拥有占信息三分之二的染色体渠道,不如将其减到总数的三分之一

shroma子采样确实有助于代际损耗并可能导致所谓的“颜色出血”或“颜色漂移”。有效效果是,染色体通道随子采样/上采样的迭代而变得越来越模糊举例说,如果取图像并存JPEG质量百分之4:2:0染色体子采样:

原创性 :
原创性
后一编码 :
后一编码
后百编码
后百编码
后千编码
1,000JPEG编码

中位因素之一 可能导致代际损失但我们还没有讨论JPEG介绍的真正损失

JPEG压缩操作细节-8x8块分立Cosine变换-很难理解(如果你感兴趣:维基百科JPEG文章良好起始点)可理解代间损失相关的东西 无需挖掘深度JPEG核心压缩量化,这是一个简单有效机制

工作方式假设你想要压缩数序列-这些数代表像素值、DCT系数或别的东西无关紧要需要多少空间编码这些数取决于数字多大:小数需要少比特

如何小化数字答案简单化:在编码器中按数除法(此数称量化常数),再乘法解码器中相同数大于此量化常量,越小编码值变小, 但也越损全运算变大, 因为我们把所有事物都归为整数(否则数字不会真正变小)。

举例说,假设你想要编码下数序列

原创性 :

50码

百元

150

二百

250

300

使用量化常数50时,可大量减少这些数字并恢复原序

编码 :

一号

2

3

4

5

6

乘以50

代码解码 :

50码

百元

150

二百

250

300

多数时间,我们不会那么幸运,我们会损失一些,但结果值仍然`接近'举例说,如果我们使用量化常数100, 数字会更少, 代价是损失:

编码 :

0

一号

一号

2

2

3

乘以100

代码解码 :

0

百元

百元

二百

二百

300

如你所见,数的单调顺序现在变成数字非单调顺序等量化效果 引出所谓的“颜色带状式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式式

高量化常量,低图像质量和小JPEG文件质量100匹配量化常量1,换句话说,完全不量化假设JPEG质量为70对等量化常数60,而JPEG质量为80对等量化常数3580质量图像比70质量图像更接近原创

质量80编码

一号

3

4

6

7

九九

乘以35

质量80解码

35码

105

140

210

245

315

原创性 :

50码

百元

150

二百

250

300

质量80报错

15

5

-10

10

5级

15

质量70编码

一号

2

2

3

4

5

乘以60

质量70解码

60码

120

120

180

240

300

原创性 :

50码

百元

150

二百

250

300

质量70报错

10

20码

30

20

-10

0

质量80序列最大误差为15次(一般不能大误差大于量化常数的一半,所以17次),质量70序列最大误差为30次

但如果你取质量70图像重编80原创式不再是原创序列,

质量70解码

60码

120

120

180

240

300

质量80编码

2

3

3

5

7

九九

乘以35

质量80解码

70码

105

105

175

245

315

原创性 :

50码

百元

150

二百

250

300

质量80报错

10

15

15

5级

5

15

完全错误w.r.t原创性 :

20码

5

-45

25

5级

15

幸运地,像序列中的二值, 第一代编码错误(+20)部分补偿第二代编码错误(-15),结果实际上再次接近原创但那只是运气差错相加例子中最大误差现在是45,大于自量化最大误差

正因如此JPEG文件重保存质量比原创总是坏点子:你会得到大文件,更多损耗比重重重存 完全相同质量设置

JPEG文件格式约25年历史, 可能正因如此它才受一代损失问题之苦WebP(2010年发布)或BPG(2014年发布)等现代图像格式在这方面肯定更好,对吗?

悲哀,没有再次WebP和BPG代代损失比JPEG多网络用户通常不使用格式, 互联网上大多数WebP或BPG图像将使用第一代但如果这些格式更受人欢迎,这完全可能成为大问题

后千编码
后千编码
5 000编码后
5 000编码后

与WebP和BPG相比JPEG代代损失相对强健原因之一是JPEG用8x8区块像素做一切工作(或16x16越现代格式WebP和BPG使用可变大小大型块块,这有利于压缩,但也意味着图像一部分出错更容易传播到图像其他部分

完全不表示WebP和BPG不良图像格式实为大图像格式表示你必须谨慎使用

FLIF系统无损图像格式性能优于其他无损图像格式.FLIF也有丢失编码器修改图像,使无损压缩效果更好对代损失敏感度低得多,因为格式本身无损-颜色空间不是YCbCr而是YCoCg,它不引入损耗,没有染色体子采样或转换DCT引出四舍五入错误-还因为它增加损失方式不使用量化方式,它循环小值为零并丢弃数位数因为它编码值差(预测像素值和实际像素值差),而非绝对值差(DCT系数差)。举个例子说明量化损失如何累积

原创性 :

50码

百元

150

二百

250

300

FLIF高质量

48号

96

144

二百

248号

296

3比特丢弃,值 < 20变0

FLIF低质量

0

96

160

192

256

288

5比特丢弃,值 < 60化0

FLIF高质量后质量低:无变化

FLIF高质量后低质量:与低质量直接相同

even lostyFLIF也不能免代代相传损失

避免一代损失只有两种方式:要么不使用损耗式格式,要么将几代数尽可能近至一代数生成计数对图像质量的影响大于实际质量设置举例说,如果先存图像85JPEG再重存90质量,结果将比再存一次80质量少得多

避免损耗格式是一个很好的点子编辑图像时,最好使用无损图像格式存储原创图像和中间图像,如PNG、TIFF、FLIF或原创图像编辑格式如SD或XCF只有当你完成后,最终图像才使用JPEG等损耗格式保存减缩文件大小稍后改变心意并想做更多编辑时,可回溯无损原创并从那里启动

在某些情况下,这不是选项互联网上发现图像想复用编辑(表示创建极有趣网膜)时,万一图像为JPEG文件,原创无法找到在这种情况下,你唯一能做的就是 追踪图像使用Google图像搜索并尝试寻找最早一代,即最古老和最高解析版图像

特别是,如果你在社交媒体网站如脸书或Twitter上见图像时,会考虑到这些网站自动转码上传图像,因此生成损耗很容易累积,如果图像传播病毒并频繁跳出不同网站间正因如此,使用分享或retweet比下载图像并重加载它要好

最后,如果真的需要编辑JPEG文件,则有某些方法避免或最小化生成损耗,视您想编译哪类编辑而定:

  • 只需裁剪或旋转90度可实际完成不完全重编码JPEG文件,免损失代数
  • 实际编辑像素中某些像素(但不是全部像素)时,你当然应该在图像编辑器中处理无损文件,但为保存最后图像,可能最好使用原JPEG文件完全质量设置(如上文所解释,这比使用更高质量设置少生成损耗)。
  • if编辑修改全像素或大像素-例如逐步缩放,随机旋转,应用某种全局滤波或效果-然后原创质量设置不再重要了,所以使用高质量设置肯定有理

使用云形图像时,我建议常上传高分辨率高品质原创图像(若有可能则无损),尤其是使用时自动格式选择f_aut).云形总保留原创图像和原创图像一样(增加零生成损耗),而每种衍生图像直接编码原创图像(增加一代不可避免)保证图像资产不受未来威胁:未来高图像素质和/或分辨率需要或期望或新图像格式提供时,它将无遗改变

回顶

特征邮箱

Baidu
map