表情包为啥会越传越绿?

作者: 王昱

来源: 环球科学

发布日期: 2022-12-10 11:00:47

网络表情包在多次传播和压缩过程中,由于安卓系统的色彩转换bug,会导致图片变绿变暗,这种现象被称为“电子包浆”。虽然有人喜欢这种效果,但开发者们也在不断寻找更高效的图片压缩算法,如WebP和HEIC格式,以及利用AI进行图像压缩的新方法,尽管这些方法并非完美,且可能带来新的“电子包浆”问题。

每当在网上看到有趣的表情包、梗图时,不少人都会在心中暗暗念叨一句:“你的图很好,不过现在它是我的了。”但当人们把“盗”下来的图再次传到其他帖子中时,网络平台往往会再次压缩图片,节省储存空间和网络带宽。如果一个图被“盗”的次数太多,就会被重复压缩多次。每次压缩,图片画质就会下降一点,变得更“糊”一点——甚至还会变绿、变暗一点。

被“盗”过很多遍的图会变绿甚至已经变成了一个梗,甚至催生了一系列渣画质的表情包。原因大概是:如果一个图很有趣,就会被更多人保存,就会被压缩更多次,画质也就越差;反过来,如果一个图片画质很差,那大概也就说明它很受欢迎。

图片变绿其实是安卓操作系统核心代码的一个bug。安卓系统给开发者提供了一个图像压缩接口,可以让开发者方便地压缩JPEG图片(也就是jpg图片)。

但这个接口的底层实现算法为了加速压缩计算过程,在色彩模式转换的过程中出了一个bug。我们在手机屏幕上看到的图片都存储着RGB信息(Red红、Green绿、Blue蓝),它能告诉屏幕上每个红绿蓝子像素应该以何等亮度发光,从而在屏幕上显示出图片的样貌。但在图像处理过程中,一般需要RGB信息转换成YUV信息(亮度、蓝色浓度偏移量、红色浓度偏移量)。

因为人眼对Y代表的亮度信息更为敏感,算法可以着重压缩UV信息。这样就能在人眼感知差别不大的情况下,尽可能减小图片所占的存储空间。一般而言,从RGB色彩模式转换到YUV色彩模式是轻微有损的,但损失较小,并不至于让图片朝着变绿的方向一路狂奔。但是开发者为了加速这个转换计算过程,不当地使用了位运算,导致数据在从RGB向YUV转换时会向下取。

所以在重复压缩过程时,Y、U、V三个值就会不断减小,亮度Y值减小会让图片不断变暗,而UV不断减小,会让色彩不断向绿色的方向偏移(见下图)。所以,经过多次压缩的图片会变绿、变暗。

虽然有人喜欢图片变绿变暗的“电子包浆”,觉得这样的图片更有“味道”。但开发者肯定还需要结果正确、不会变绿的图片压缩算法。除了修复安卓图片压缩接口的bug外,又有不少高效的图片格式被开发了出来。

比如谷歌开发的WebP格式,苹果推广的HEIC格式,都采用了比较先进的图片压缩算法。和传统的JPEG格式相比,这两种格式在观看效果更好的同时,占用的空间还更小。而最近,根据文字生成图像的AI火了起来。这些AI算法大多基于扩散模型,可以在经过大量文字、图像的训练后,从用户输入的文字生成一张图片。虽然图片的细节还不算完美,但可以日夜无休生成图片的AI还是让人看到了巨大的潜力。

甚至有人感叹,这样发展下去,画师恐怕要失业了。

该图片由文心ERNIE-ViLG文生图模型生成。使用关键词为“写不出来稿子的编辑正在办公室里摸鱼,赛博朋克,油画”。图片来源:文心ERNIE-ViLG文生图。这种AI将来能发展到什么程度我们先按下不表,倒是有瑞士开发者Matthias Bühlmann动起了“歪脑筋”——它能否用于图片压缩呢?

人工智能压缩Matthias Bühlmann选择了免费开源的文生图AI:Stable Diffusion。它主要由三个模块构成:变分自编码器(Variational Auto Encoder,VAE)、U-Net和文字编码器。

压缩图片时不需要文字输入,所以Matthias Bühlmann舍弃了文字编码器;而VAE则可以将图片编码到潜在空间表征(latent space representation)。在潜在空间表征下,图片分辨率变低了(从512×512到64×64),但是色彩精度却提高了(从8位提升到32位)。VAE还能将潜在空间表征的图片再解码回图片原来的样子。

就算在潜在空间表征上再次对图片进行压缩,VAE也能将图片大致还原成本来的样子。最终,Matthias Bühlmann将一张未经压缩的768kB的图片压缩到了5kB。肉眼看过去,同样是把图片压缩到这个大小,JPEG和WebP的压缩损失就很明显了。AI电子包浆当然,但这种压缩算法并不是完美的。

虽然这种图片压缩算法能骗过人眼,但在客观评价图片质量的两个参数PSNR和SSIM上,它相对JPG和WebP并没有明显的优势。说到底,这种图像压缩算法还是让AI根据一个压缩过的缩略图去“猜”它的原图长什么样子,还原出的图片在一些细节上难免和原图不一致,这反而造就了一种新的“电子包浆”。

Matthias Bühlmann就发现,这种图像压缩算法在处理人脸、文字时,可能在人脸上生成诡异(甚至有时还有点“克苏鲁”)的效果,VAE重建的文字也几乎难以辨认。也就是说,和以前的压缩算法会让图片产生绿色的“电子包浆”,而新时代AI压缩算法会让人脸和文字产生诡异的“电子包浆”。AI的复杂性也让这种图像压缩算法难以推广。传统图像压缩算法是一套固定的算法,可以用轻量化的程序实现。

而AI则以计算量庞大著称,这种AI图像压缩算法需要足足4GB的空间存储参数文件,并且解码时间也比其他压缩算法更长。所以说,目前这种图像压缩算法并不值得推广,就算推广了,它也并不能完美解决“电子包浆”的问题,反而却会因为AI的特性,产生人类难以想象的、全新的、诡异的“电子包浆”。

UUID: 20942917-a6dd-4d95-b408-7013f2ce4696

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/博物公众号-pdf2txt/2022年/博物_2022-12-10「转」_表情包为啥会越传越绿?.txt

是否为广告: 否

处理费用: 0.0067 元