事情是这样的,有网友已经更新到了iOS 18.2。当他们查看相册中的图片、截图、查看截图、再次截图时,图片的颜色会变得越来越红。
我想称之为果迷春节限定版。 。 。开玩笑之余,托尼其实很好奇这个bug的原因是什么?
网上有一种说法是,查看相册图片时使用sRGB色域,系统截图时以P3色域模式保存图片。问题在于P3的颜色描述范围比sRGB大,所以sRGB理解的红色和P3理解的红色不同。
例如,sRGB色域下的纯红色标记为(255,0,0)。括号中的(R,G,B)值是颜色在颜色空间中的位置坐标。如果正确映射到 P3 色域,纯红色将被标记为 (234, 51, 35)。
目前,我不知道颜色映射出了什么问题。简而言之,就是不对应。重复截图相当于在两个不一致的色域范围之间重复跳跃。持续叠加这个bug会导致色彩偏差越来越大,照片最终会出现“红温”。 。 。
当然,这只是网友的说法,不过托尼也简单测试了一下。
我首先找到了一张原始色域为sRGB的图片,然后发现如果我在全屏显示下截图,它不会变红。但如果带上一些系统UI(比如状态栏、后台界面),截图就会是P3色域,而且截图会越来越红。大概率是系统界面的P3色域映射有问题。
全屏状态下截图仍会处于sRGB色域;在系统UI状态下截图会保存在P3色域中。
之前没有问题,现在突然出现这个bug,很难不让人想起苹果前段时间宣布的新系统功能——
这就是发生的事情。苹果在全球开发者大会上推出了新的 HDR 标准——HDR(自适应高动态范围)。有了这个新标准,不仅相册、消息、快速查看、预览支持HDR,就连截图、录屏文件也必须支持HDR渲染和显示。 。 。
所以苹果的截图使用了P3色域,色域更广,颜色更多,但是代码好像没有调整好。按照预期的剧情,苹果想要炫耀自己的高水准,但实际情况却是出现了新的bug。
不过,这是否是具体原因,可能还要等待苹果官方的结论。不过,在看到iOS 18的Bug消息后,托尼的脑海里立刻就想到了当年的事件。
年长一点的人可能还有这样的印象,在贴吧、论坛盛行画图的时代,很多表情符号每次保存上传都会变得有点模糊。最后,颜色甚至会很奇怪。地面变绿,“电子涂层”就是这样产生的。
为什么图片会变得模糊?每个人都知道明显的原因。简单来说就是用户上传照片时没有选择原图,平台为了节省存储空间和网络带宽而对图片进行了压缩。
但实际上,即使是压缩(充其量会导致清晰度变差)也不应该使其变绿。所以本质上来说,在进行转换的时候,压缩算法造成了一个很大的问题。
具体来说,大多数显示设备,比如我们手中的手机、显示器,都是基于RGB颜色模式工作的。但在图像和视频存储和传输过程中,有一种更简单、计算量较小的颜色模式,称为YUV。对这部分感兴趣的朋友可以自行搜索。托尼在这里不做详细介绍。
总之,一般情况下,RGB颜色模式切换到YUV颜色模式的算法已经非常成熟。即使在数据转换过程中图像质量略有损失,也不会造成任何问题。
但上压缩图片的接口,准确来说是一个叫Skia的图片库。为了优化运行速度,我想出了一个偷懒的方案:
标准 JPEG 图像在进行色彩空间转换时至少使用 16 位精度(即 2^16 种不同的亮度或色度级别),但 Skia 将其降低到 8 位。
仅显示位深对比效果
是的,它只是直接降低了计算精度,这就是纯粹的懒惰。 。 。这导致颜色偏差增加。
另外,为了加快计算过程,还存在一些算法问题。一般来说,大多数RGB值通过复杂的公式转换为YUV值时,都会出现小数,但选择直接丢弃小数点后的部分,四舍五入。 。 。注意,直接丢弃。这个操作直接让习惯了“四舍五入”的托尼喷出了一口血。
所以最终的结果是:亮度值Y不断变小,画面不断变暗,色度值UV也变小,颜色不断向绿色偏移。
经过斗图传播过程中图片的不断保存和上传,以及色彩空间转换算法的反复压缩,图片变得越来越绿。这个bug直到2016年4月中旬才被修复(7),留下的表情包至今仍在流传。
相信通过的编码错误转换的例子,大家都看到了,在电脑上显示颜色是一个非常复杂的过程,尤其是现在常用的不同色域有很多。
比如标准的sRGB,以及厂商推荐的色域更宽的P3,或者观看HDR视频时需要切换的色域等等。 。
显示的任务变得越来越复杂。不仅苹果和安卓颠覆了色彩空间,事实上微软也同样存在问题。 。 。
例如,我们日常使用的电脑和浏览器有一个bug,已经存在了两年了,还没有修复:在使用HDR显示器时,屏幕经常会体现出“苍白”的错误显示效果。 (左图),这导致Tony买了一台支持HDR的显示器,但日常使用时还是要关闭HDR选项。 。 。
已掌握通过截图稳定复现Bug的方法
说到这里,有些朋友可能会有疑问。他们不是一直称赞苹果的色彩管理解决方案吗?苹果也有这些问题吗?
网站上的图片是这样的,但不是下面压缩的。
虽然手机或其他设备已经实现了广色域显示,但还没有与第三方完全对接。很多时候他们只能在系统相册里尴尬地欣赏自己的“美丽”。 。 。但在苹果阵营,无需区分设备、界面和APP,用户可以获得基本相同的显示效果。
直到今天,绝大多数 手机和电脑在查看 sRGB 以外的色彩空间内容时,要么需要研究复杂的配置文件,要么安装专业软件。 。 。可以说基本没有色彩管理可言。
最后回到截图变红的问题,根据目前得到的信息,Tony基本认为是截图HDR的引入导致的。希望苹果能够尽快修复这个bug。毕竟苹果是所有系统中在色彩管理、HDR等方面走得最远的厂商。 。 。
作者:莱维
本站候鸟号已成立3年,主要围绕财经资讯类,分享日常的保险、基金、期货、理财、股票等资讯,帮助您成为一个优秀的财经爱好者。本站温馨提示:股市有风险,入市需谨慎。
暂无评论