一文穿透多媒体过往前沿下篇——有损压缩

一文穿透多媒体过往前沿下篇——有损压缩

文章转发自51CTO【ELT.ZIP】OpenHarmony啃论文俱乐部——一文穿透多媒体过往前沿 

1. 有损压缩基本概念

有损压缩即指原始信息序列中的一些信息丢失的压缩,这便意味着原始信息一经有损压缩过程操作后,不能再由生成的序列重新还原而得到。在此之前,多数朋友潜意识里可能会默认有损压缩的意义是相比无损压缩,为了实现更好的压缩比,致使对相同源数据操作后,得到的结果质量相对会更差。其实呢,并非如此——举个常见的例子:对同一元图像,对其均按100%质量存储,得到的jpg格式大小可能是4M左右,而png格式大小却达到了40M。

那么,jpg相比png少的几十M大小的数据究竟是什么呢?其中,除舍弃的部分人眼不可察觉的颜色位之外,还包括大多数要还原回元图像所需的必需数据。因此,信息丢失并不意味着输出质量降低。但,大多数有损压缩技术的使用方式高度依赖于被压缩的媒体,就像音频的有损压缩与图像的有损压缩十分不同。

多媒体图像如今已然成为日常生活中不可获缺的组成部分。图像中编码的信息量是相当大的,即便带宽和存储能力方面有了长足的进步,但若不对图像进行压缩,许多应用的成本仍然会较高。

JPEG(编者注:Joint Photographic Experts Group联合摄影专家组工作组的缩写)和相关的MPEG(编者注:Moving Picture Experts Group动画专家工作组的缩写)格式是多媒体压缩的典型范例,它们均在实践中被广泛应用,同时也使用了诸如Huffman码、算术编码、游程编码、标量量化等技术。

其中,JPEG用于静态图像,在网络上被作为摄影图像的标准;MPEG是基于JPEG的一种变体,用于视频编码(每一帧都使用JPEG的变体编码)。二者均为有损格式。

2. 有损压缩的发展进程


2.1 JPEG的发展进程

JPEG在1992年推出以来,一直是世界上使用最为广泛的图形压缩标准。JPEG 压缩图像通常以JFIF(编者注:JPEG 文件交换格式JPEG File Interchange Format的缩写)文件格式存储。文件扩展名是JPG或JPEG。支持 8 位灰度图像和 24 位彩色图像(红、绿、蓝各 8 位)。JPEG 对图像应用有损压缩,这可以显着减小文件大小。应用程序可以确定要应用的压缩程度,压缩量会影响结果的视觉质量。如果不是太大,压缩不会显着影响或降低图像质量,但 JPEG 文件在反复编辑和保存时会出现代际退化。

JPEG 2000 (JP2) 是联合摄影专家组工作组在1997年~2000年间开发的,旨在取代其原始JPEG标准。该标准基于离散余弦变换(DCT),采用新设计的基于离散小波变换(DWT) 的方法。对于符合 ISO / IEC 15444-1 的文件,标准化文件扩展名为.jp2。该标准可适用于带有Motion JPEG 2000扩展的运动成像视频压缩。JPEG 2000 技术在 2004年被选为数字电影的视频编码标准。

JPEG XL是一种免版税的 光栅图形文件格式,是2017年被JTC1 / SC29 / WG1 (JPEG) 联合发布的下一代图像编码标准。与 JPEG 相比,其压缩效率显着提高(提高了 60%)。该标准有望超越HEIC(编者注:High Efficiency Video Coding)、AVIF(编者注:AV1 Image File Format)、WebP和JPEG 2000所显示的静止图像压缩性能。它还为传统/传统 JPEG 格式的图像提供高效的无损重新压缩选项。文件格式和核心编码系统分别于2021年10月13日和2022年3月30日正式标准化。JPEG XL 支持超高分辨率图像(高达 1 兆像素)、高达 32 位/分量、多达 4099 个分量(包括alpha 透明度)、动画图像和嵌入式预览的有损压缩和无损压缩。

2.2 视频编码发展进程

目前,视频编码方式主要分为三大系列:

2.2.1 H.26x系列

H.26x系列(由ITU[国际电传视讯联盟]主导),包括H.261、H.262、H.263、H.264、H.265、H.266…

格式细节
H.261制定于1990年,主要在老的视频会议和视频电话产品中使用
H.263制定于1996年,主要用在视频会议、视频电话和网络视频
H.264制定于2003年,MPEG-4第十部分,或称AVC(Advanced Video Coding),被广泛用于高精度视频录制、压缩及发布
H.265制定于2013年,High Efficiency Video Coding,简称HEVC,支持4K到8K高画质分辨率,两倍于H.264的压缩率
H.266制定于2020年,Versatile Video Coding,简称VVC,主面向4K到8K高画质分辨率,两倍于H.265的压缩率
2.2.2 MPEG系列

MPEG系列(由ISO[国际标准组织机构]下属的MPEG[动态图像专家组]开发),包括MPEG-1、MPEG-2、MPEG-4、MPEG-7、MPEG-21…

格式细节
MPEG-1制定于1992年,是VCD的视频图像压缩标准
MPEG-2制定于1994年,是DVD/超级VCD的视频图像压缩标准
MPEG-3由于MPEG-2的出色表现,已能适用于HDTV,使得原本为其设计的MPEG-3,还没出世便被抛弃了
MPEG-4制定于1998年,是网络视频图像压缩标准之一,可使用在网络传输、广播和媒体存储,常见的就是MP4
2.2.2 其他系列

其他系列,包括AMV、AVS、Bink、CineForm、Cinepak、Dirac、DV、Indeo、Video、Pixlet、RealVideo、RTVideo、SheerVideo、Smacker、Sorenson Video、Theora、VC-1、VP3、VP6、VP7、VP8、VP9、WMV…

3. JPEG 技术介绍

3.1 JPEG简介

JPEG是联合摄影专家组开发的图像压缩标准,目的是在不影响图像质量的情况下尽可能减少自然的、像照片一样的真彩图像(每个像素值都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度)的文件大小,但它不能很好地处理双层(黑白)图像,也不能处理伪彩色图像(将实际是索引值的每个像素值作为色彩查找表CLUT中相应项的入口地址,再根据该地址查找出实际R、G、B的强度值)。JPEG在“连续色调”图像上效果最好,若是有许多跳跃的色值则效果不太好。

3.2 JPEG基本步骤

1. 颜色空间转换:

若颜色分量是独立不相关的,便可以获得最好的压缩效果。因此,这一步主要是通过线性变换将RGB分量转换为信息集中分布在亮度而非色度上的YCbCr分量模式。

2. 色度采样(可选):

利用YCbCr的特性,去除一些Cb和Cr元素,即可在这一步取得初步的压缩效果。如,将RGB为4:4:4的格式转换为YCbCr为4:2:2的格式,便获得了压缩比为 12/8=1.5 的压缩效果。

3. 离散余弦变换(DCT):

这一步,将YCbCr的每个分量转换成一个领域表示,以便后续操作。

4. 量化:

JPEG编码简单将频域中的每个分量除以一个常量,经过一番四舍五入。结果是,许多高频的分量被四舍五入为了零,其余大部分分量则变成了较小的正数或负数,只需要更少的位进行存储。因此,整个过程中主要的有损操作都在这一步完成。

5. 熵编码:

详见轻翻那些永垂不朽的诗篇 第四章 第二代图片压缩技术中相关内容。

4. MPEG技术介绍

4.1 MPEG简介

MPEG全称动态图像专家组。理论上,因为视频流是离散图像序列,MPEG则使用这些连续帧之间的特殊或时间关系压缩视频流。基于之前许多方法,可见,一种技术越能有效利用一段数据中的某些关系,数据压缩的效果便越好。

MPEG标准主要有五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21。其委员会组建于1988年,专门负责为CD制定视频和音频标准。第一个公开标准是MPEG-1, ISO/IEC 11172,于 1993 年首次发布。

MPEG算法只对视频帧序列的新生部分和运动部分的信息进行编码,如下图三个序列中的小人便是MPEG编码压缩时需要考虑的范畴。

4.2 MPEG基本应用
应用细节
有线、无线电视一些电视系统通过线路传送MPEG-II程序
直播卫星MPEG视频流由碟形解码器接收,提取标准NTSC信号数据
媒体金库供应商提供的视频点播系统,单台设备就能播放20万个MPEG编码电影
实时编码结合特殊用途的并行硬件,实时编码器可花费10~30万元

随着互联网的数字视频消费的持续增长,包括UHD、VR和流媒体等服务,以及社交网络的视频分享,电信基础设施的可用带宽正在接受挑战。AV1和H.266是新一代视频格式,将被广泛应用从而应对以上问题。

5. AV1技术介绍

5.1 AV1简介

开放媒体联盟(AOMedia)于2015年成立,作为一个开发开放、免版税的多媒体交付技术的联盟。其在2018年发布了第一个视频压缩格式AV1,《AV1 Video Codec | Alliance for Open Media》,比其前身VP9的压缩能力增强了约30%。AV1格式已经得到了许多网络平台的支持,包括安卓、Chrome、微软Edge和火狐,以及多个基于网络的视频服务提供商,包括YouTube、Netflix、Vimeo,已经开始大规模推出AV1流媒体服务。

AV1 视频编码截至本文目前仍处于起步阶段,任何 AMD 和 NVIDIA 消费级 GPU 都没有硬解 AV1 的能力,除了少数型号外少有支持。但是,目前大多数 GPU 能够软解 AV1( AMD Navi 24 GPU 除外)。

在同样的视频质量下,AV1 的视频码率是 44.9Mb / s,而 H.264 格式的是 64.7Mb / s,因此它可以节约 30% 的流量 / 比特率,不管对于用户还是服务供应商来说这都十分划算。随着 AV1 编解码器的日益普及,它将会成为 AVC / HEVC 的免费替代品。有些视频流媒体服务只要检测到支持的解码硬件,例如 Netflix,就会自动为你提供 AV1 流视频,所以这对于现有流媒体服务来说倒是十分有利。

5.2 AV1优点
  • 免收专利费
  • 与VP9和H.265相比,有着明显的编码效率提升

Source: Graphics & Media Lab Video Group, Moscow State University

从图中可以看到,相较于VP9与H.265,AV1编码效率有近30%的提升。

5.3 AV1编码质量测试

为了验证AV1的编码效果,使用Youtube提供的分别为480p、720p、1080p、4K的VP9编码格式和480p、720p、1080p的AV1编码格式视频样本进行测试。

由于目前支持硬解AV1编码的GPU芯片较少,只能依靠软解,因此在实际测试AV1视频播放时较为卡顿。

上图分别取自1080P分辨率下AV1与VP9的表现效果。可以看出,AV1比VP9拥有更好的清晰度。

5.4 结论

对比VP9,AV1拥有更好的编码效率,其普及对于流视频具有重要意义,用户可在带宽及消耗流量不变的情况下观看画面质量更清晰的视频。

6. H.266

6.1 H.266简介

VCC简称 H.266 的通用视频编码(Versatile Video Coding,VVC),由德国弗劳恩霍夫海因里希赫兹研究所(Fraunhofer HHI)于2020年7月正式发布。

该新一代MPEG视频标准由国际电联(ITU-T)和国际标准化组织(ISO)联合开发,过去三年,包括苹果、爱立信、英特尔、华为、微软、高通、索尼等在内的企业,一直在努力推动这项新技术的发展。

与简称 H.265 的高效视频编码(High Efficiency Video Coding, HEVC)前身一样,H.266有望将视频文件的比特率和大小降低 50% 左右,同时不会在视觉保真度上产生明显的差异,主要面向4K、8K服务。简单来说,基于H.265编码的一段90分钟UHD 4K视频需要10GB左右,而基于 H.266 则仅需5GB。

6.2 与AV1的争夺战

随着全球互联网视频需求的增长,MPEG 正在推动 H.266 / VCC 及其它两个标准的发展。其中 MPEG-5 Part 1又被称作基础视频编码(Essential Video Coding,EVC),由华为、高通、三星等企业牵头制定;Part 2又被称作低复杂度增强视频编码(LCEVC)。在2020年5月,EVC 编码标准正式被提升为最终国际标准(FDIS)状态。

因此,MPEG 的此番发力,与免专利费的 AV1 开放标准所带来的强大竞争有直接关系。

英国广播公司(BBC)研发部门去年进行的初步测试显示,VVC 的成绩很是鼓舞人心,因为新标准较 HEVC 和 AV1 节省了大量的比特率,尤其是在 4K UHD 文件的支持上。

技术DNA

智慧场景

参考文献

  1. Hosseini M . A Survey of Data Compression Algorithms and their Applications[C]// Applications of Advanced Algorithms. 2012.
    • https://www.researchgate.net/publication/270408593_A_Survey_of_Data_Compression_Algorithms_and_their_Applications
  2. Han J , Li B , Mukherjee D , et al. A Technical Overview of AV1[J]. Proceedings of the IEEE, 2021, PP(99):1-28.
    • https://ieeexplore.ieee.org/document/9363937/citations
  3. Saldanha M , Correa M , Correa G , et al. An Overview of Dedicated Hardware Designs for State-of-the-Art AV1 and H.266/VVC Video Codecs[C]// 2020 27th IEEE International Conference on Electronics, Circuits and Systems (ICECS). IEEE, 2020.
    • http://www.researchgate.net/publication/348023353_An_Overview_of_Dedicated_Hardware_Designs_for_State-of-the-Art_AV1_and_H266VVC_Video_Codecs
  4. AV1编码质量初探
    • https://zhuanlan.zhihu.com/p/86890266
  5. H.266/VCC编码标准发布,4K/8K视频大小减半清晰度不变
    • https://www.eet-china.com/news/202008181407.html
  6. 视频格式与编码压缩标准 mpeg4,H.264.H.265 有什么关系?
    • https://blog.csdn.net/lxc1014/article/details/45666281
  7. zlib Home Site
    • http://www.zlib.net/
  8. TinyPNG – Compress WebP, PNG and JPEG images intelligently
    • https://tinypng.com/

ELT.ZIP是谁?

ELT<=>Elite(精英),.ZIP为压缩格式,ELT.ZIP即压缩精英。

成员:

上海工程技术大学大二在校生 闫旭

合肥师范学院大二在校生 楚一凡

清华大学大二在校生 赵宏博

成都信息工程大学大一在校生 高云帆

黑龙江大学大一在校生 高鸿萱

山东大学大三在校生 张智腾

ELT.ZIP是来自6个地方的同学,在OpenHarmony成长计划啃论文俱乐部里,与来自华为、软通动力、润和软件、拓维信息、深开鸿等公司的高手一起,学习、研究、切磋操作系统技术…

写在最后

OpenHarmony 成长计划—“啃论文俱乐部”(以下简称“啃论文俱乐部”)是在 2022年 1 月 11 日的一次日常活动中诞生的。截至 3 月 31 日,啃论文俱乐部已有 87 名师生和企业导师参与,目前共有十二个技术方向并行探索,每个方向都有专业的技术老师带领同学们通过啃综述论文制定技术地图,按“降龙十八掌”的学习方法编排技术开发内容,并通过专业推广培养高校开发者成为软件技术学术级人才。

啃论文俱乐部的宗旨是希望同学们在开源活动中得到软件技术能力提升、得到技术写作能力提升、得到讲解技术能力提升。大学一年级新生〇门槛参与,已有俱乐部来自多所高校的大一同学写出高居榜首的技术文章。

如今,搜索“啃论文”,人们不禁想到、而且看到的都是我们——OpenHarmony 成长计划—“啃论文俱乐部”的产出。

OpenHarmony开源与开发者成长计划—“啃论文俱乐部”学习资料合集

1)入门资料:啃论文可以有怎样的体验  

https://docs.qq.com/slide/DY0RXWElBTVlHaXhi?u=4e311e072cbf4f93968e09c44294987d

2)操作办法:怎么从啃论文到开源提交以及深度技术文章输出https://docs.qq.com/slide/DY05kbGtsYVFmcUhU  

3)企业/学校/老师/学生为什么要参与 & 啃论文俱乐部的运营办法https://docs.qq.com/slide/DY2JkS2ZEb2FWckhq

 4)往期啃论文俱乐部同学分享会精彩回顾: 

同学分享会No1.成长计划啃论文分享会纪要(2022/02/18)  https://docs.qq.com/doc/DY2RZZmVNU2hTQlFY  

同学分享会No.2 成长计划啃论文分享会纪要(2022/03/11)  https://docs.qq.com/doc/DUkJ5c2NRd2FRZkhF  

同学们分享会No.3 成长计划啃论文分享会纪要(2022/03/25) 

https://docs.qq.com/doc/DUm5pUEF3ck1VcG92?u=4e311e072cbf4f93968e09c44294987d

现在,你是不是也热血沸腾,摩拳擦掌地准备加入这个俱乐部呢?当然欢迎啦!啃论文俱乐部向任何对开源技术感兴趣的大学生开发者敞开大门。

扫码添加 OpenHarmony 高校小助手,加入“啃论文俱乐部”微信群

后续,我们会在服务中心公众号陆续分享一些 OpenHarmony 开源与开发者成长计划—“啃论文俱乐部”学习心得体会和总结资料。记得呼朋引伴来看哦。