摩托罗拉Photon因其展示所谓的“黑色压缩”而声名狼藉 - 在查看图片时,图像中大部分暗部细节被压扁成黑色。到目前为止,几乎每个人都将其归咎于Pentile显示屏。然而,第一次看到这种效果时,我想到了一个不同的想法......“哇,这看起来和在Linux和Macintosh上编码为Windows的图片以前使用1.8而不是Windows的标准2.2时看起来相同(糟糕)”。我的理论是,在某个地方,摩托罗拉构建了Photon的Android时使用了旧库,这些库是在摩托罗拉成为iPhone之前的Apple合作伙伴时编写的(或者可能是抓取了假定使用1.8伽马而不是2.2的旧开源代码)。
为什么我这么确定?几天前,我使用我的旧Epic 4G(三星Galaxy S)和新的Photon对同一个网页进行了屏幕截图。出乎意料的是,Epic的屏幕截图.png看起来正常,但Photon的屏幕截图.png在我的PC上查看时与在Photon屏幕上查看时完全相同,都有着糟糕的外观。当我看到它时,我想起了我之前关于可能存在伽马映射1.8与2.2之间的差异的想法,并决定尝试编写一个演示应用程序,向摩托罗拉展示这是一个真正可以修复的错误。
我想做的一个实验是将具有高动态范围和明暗区域中细节的JPEG图像重新编码为非标准伽马,其基本上是1.8和2.2之间差距的两倍。我的想法是,如果我故意将其编码为相反的极端(2.6?),然后在元数据中说它是2.2,那么当在Photon上查看时,它将看起来正常(因为将2.2压缩到1.8的同样错误将把2.6压缩到适当的2.2)。
所以,两个问题:
为什么我这么确定?几天前,我使用我的旧Epic 4G(三星Galaxy S)和新的Photon对同一个网页进行了屏幕截图。出乎意料的是,Epic的屏幕截图.png看起来正常,但Photon的屏幕截图.png在我的PC上查看时与在Photon屏幕上查看时完全相同,都有着糟糕的外观。当我看到它时,我想起了我之前关于可能存在伽马映射1.8与2.2之间的差异的想法,并决定尝试编写一个演示应用程序,向摩托罗拉展示这是一个真正可以修复的错误。
我想做的一个实验是将具有高动态范围和明暗区域中细节的JPEG图像重新编码为非标准伽马,其基本上是1.8和2.2之间差距的两倍。我的想法是,如果我故意将其编码为相反的极端(2.6?),然后在元数据中说它是2.2,那么当在Photon上查看时,它将看起来正常(因为将2.2压缩到1.8的同样错误将把2.6压缩到适当的2.2)。
所以,两个问题:
- 如果将2.2伽马图像解码为1.8时会出现的错误的等效反面是什么伽马值?2.6?
- 是否有任何简单的方法(免费的Photoshop / gimp插件,JPEG编码库等)可以故意将源图像误编码为该非标准伽马?