从webp图片格式谈起

回复
寂默心流

从webp图片格式谈起

未读帖子 寂默心流 »

  最近webp格式的图片好火爆啊,网上一片叫好声,我最近也一直在折腾它。说是它同时做到了高压缩比和高保真率,着实不简单呢,开始我是相信的,因为粗看webp格式和jpg格式的照片基本没有差别,至少没有偏色,色调没有可察觉的违和感。但仔细一看,webp格式的照片锐度有损失,原图的那种“清凉感”减弱了,画面比较油腻,“水头”很足。再一看,webp格式的图片还有很细的白色竖条纹:
webp竖条纹.PNG
  原来高压缩比来自“偷工减料”,规律的白色竖条纹实际上起到了缩小画幅的作用,之所以让我们感觉画质损失不大是利用了我们大脑的脑补功能,我们的大脑总是有自动平滑不连续部分的倾向。比如下图的每个白线交叉点看起来都有一个灰色点儿再闪烁,那就是脑补的效果。
无标题.png
无标题.png (2.88 KiB) 查看 107897 次
  其实眼见为实这事儿很扯淡的,我们的视觉都是大脑处理视网膜收光线刺激触发的电信号后的结果,而大脑的主观能动性是很强的,也是有“算法”的。就像数码相机有数码芯片处理CCD或CMOS上的电信号,是会用算法插值锐化的,至于美颜手机拍的东西,那更是你高兴就好了。

  进而我在想怎么利用目前算力强,带宽窄的特点,对图片传输做一些改进呢。我认为可以借鉴网页传送的技术,搞一些类似HTML的画面标记技术。举个例子:要处理一幅800X600像素的图片,我们把每一行作为一个处理单位,拟合三原色在宽度坐标上的强度曲线(尽量避免过拟合),做类似下图的傅里叶展开:
QianJianTec1701572025975.png
  最后每行传一个首项常数和一个矩阵:
QianJianTec1701572060132.png
  接收端收到这600个矩阵后,再还原成傅里叶级数,算出该行该列的颜色强度值,最后合成图像。当然,如果存在空白,或纯色的部分可以做成分段函数。也可以先按平缓程度和波动程度把曲线分成几段,分段拟合,以提高拟合度。最后在还原图像时对分段的地方做一些平滑处理。

  如果我们只取级数前30项(精度已经足够了,因为像素深度本来就有限),那么一行单色最多需要传61个参数,比按像素传800个参数要压缩不少的,而且像素越多,尺幅越大的图片压缩比越大,保真率越高。这样做的目的就是充分利用发送端和接收端的算力,而缓解网络传输的拥堵,改善客户体验。另外,如果我们在火星等地外行星有了基地,更好地利用带宽进行联系,将是生死攸关的大事。
寂默心流

Re: 从webp图片格式谈起

未读帖子 寂默心流 »

  我坚信我做出了一个有哲学意味的,有重大应用前景的发现,其思路和目前已有的矢量图实现路径完全不同。实话说,当我认识到五彩缤纷的世界无非是正弦余弦波的叠加时,真的有点儿五味杂陈,我更相信弦论了,也更佛系了。
寂默心流

Re: 从webp图片格式谈起

未读帖子 寂默心流 »

  这件事其实细思起来很奇妙,既然每行都是一个函数,那么它就不用局限于画幅的坐标范围,是可以向两端外推的。每行外推后的三原色的像素合成后会是什么图像呢,和原图像有没有逻辑上的联系呢,会不会推出有意义的图形,甚至推出人像呢……真是让人很好奇,又很恐惧!

  另外,每行是个函数,那每列也可以是一个函数,行函数合成的图像和列函数合成的图像有差异吗,把它们叠加一下除以2合成的图形会不会还原度更好?

  以前有矢量图,我想到的这种技术合成的可以叫函数图,也有无限发大的功能。
寂默心流

Re: 从webp图片格式谈起

未读帖子 寂默心流 »

  我有正点眼界,洞见妙心,能付与谁?一时黯然神伤。
头像
寂默心流
网站管理员
帖子: 1904
注册时间: 2024-04-13 11:36
联系:

Re: 从webp图片格式谈起

未读帖子 寂默心流 »

寂默心流 写了: 2021-02-09 18:35   我有正点眼界,洞见妙心,能付与谁?一时黯然神伤。
  我自作多情,少见多怪了,jpeg的压缩原理中就主要利用了傅里叶变换,呵呵。我作为非IT人士,事先也完全没了解过图像压缩的理论,能完全独立地想到了这一点,允许我沽名钓誉地自豪一下,OK?
勇于在所有领域发挥理性
回复