认识 VP8 影像编码:整合 HTML5 更小更漂亮、挑战

2020-05-28 分类:B艺生活 作者:

认识 VP8 影像编码:整合 HTML5 更小更漂亮、挑战由 Google 所领导的影像 codec:VP8,想要靠着与 HTML5 的整合,以及对手机、平板电脑等,运算能力较低的手持装置最佳化,提供无专利问题的解决方案,来挑战H.264龙头霸主的地位。

目前影像codec(编码、解码器)仍以H.264为主流规格,无论手机、平板电脑,或是YouTube,甚至是蓝光影片光碟,都将H.264列入支援清单,俨然成为当代影像codec霸主。

在2012年3月举办的MWC(Mobile World Congress,世界移动通讯大会)中,Qualcomm展示了下一代影像codec H.265,它的代号是HEVC(High Effciency Video Codec,高效率影像编码解码器),从名字上听起来比代号为AVC(Advance Video Codec,先进影像编码解码器)的H.264还要威猛。

不过这项技术目前还在发展阶段,第1版的委员会版草案于2012年2月才刚拍板定案,依据其发展规划,最终版本的国际版草案预定于2013年1月制定,至于推出正式版则没有明确的时间表,H.264似乎还有一段长路要走。

影像技术大事纪年份VP8大事纪Louis Le Prince展示人类史上第一部电影1888  1992On2 Technologies公司成立发表MPEG-11993 MPEG-2发表,DVD问市1995首款编码器TrueMotion S发表MPEG-4发表1998Google成立MPEG-4 Part10(H.264)发表2000TrueMotion VP3发表,随后改以VP做为系列名称 2005VP7发表,并获Skype採用HD DVD、蓝光光碟问市2006 中国蓝光高清光碟(CBHD)标準发表2007 HD DVD退出市场2008VP8发表YouTube提供1080p影片服务2009  2010Google收购On2 Technologies 2011VP8函数库libvpx发表H.265第一版草案发表2012正式版libvpx发表挑战者出现

但在H.265正式登场之前的这段空窗期,H.264可能要面临一项新的挑战。由Google所领导的影像codec:VP8,想要靠着与HTML5的整合,以及对手机、平板电脑等,运算能力较低的手持装置最佳化,提供无专利问题的解决方案,来挑战H.264龙头霸主的地位。VP8 最早由On2 Technologiesis开发,于2008年9月13日首度释出,其目地在于取代自家上一代产品VP7。不过Google在2010年收购On2 Technologiesis,这项技术便转为Google所有。

走向免费之路

这一连串发展的转捩点在2010年3月12日,自由软体基金会(Free Software Foundation)发表了一封公开信,呼吁Google使用HTML5和VP8,取代Adobe Flash Player和H.264,成为YouTube使用的影片格式。

在听到了自由软体基金会的声音后,Google于同年5月19日释出免费的VP8 codec函数库libvpx,经过数次改版后,libvpx终于在2012年1月27发布第1个稳定版本1.0.0版。至于解码方面,除了可以使用libvpx进行软体解码外,WebM专案的硬体小组也设计了VP8的硬体解码器,无偿提供给晶片厂商使用。

以WebM之名闯江湖

在影片封装容器方面,Google制定了专属的影片容器:WebM,它以Matroska(MKV)封装格式为基础,并搭配Vorbis音讯(Ogg使用的编码方式),这样好处是所有技术都是免费、自由的,不会产生专利权或权利金等问题。

VP8主打网路应用

最初在制定VP8标準时,其功能设计的焦点就在网路应用上,由于网路的频宽将成为品质的一大限制,因此VP8选择了频宽先决的开发方向,以较低的品质来弥补频宽的不足。

VP8的设计重心放在尖峰讯噪比(Peak Signal to Noise Ratio,PSNR)为30dB至45dB之间的表现,根据Google所释出的官方文件,在这个尖峰讯噪比区间的影像品质,大约在「尚堪入目」(watchable)到「目视无损」(visually lossless)之间。

YUV 4:2:0是什幺意思

由于人的眼睛对亮度比较敏感,对彩度比较迟钝,因此在处理影像的时候,往往会减少对色彩抽样的数量,以节省储存空间。YUV的色彩格式是将颜色分为3种分量,以Y表示亮度(Luma),U、V表示色度(Chroma),并可透过公式转换成RGB色彩格式。

最基本的YUV取样方式就是对所有像素皆进行取样,这种方式称为YUV 4:4:4,名称中的3个数字分别表示U、V分量的水平宽度参考值、第1行取样数目、第2行取样数目。如果是YUV 4:2:2的话,代表在宽度为4个像素的区块中,只取2个取样,每个2 x 1像素区块共用一个色度取样,而YUV 4:2:0则是更进一步精简掉第2行的取样,让2 x 2像素区块共用一个色度取样。

认识 VP8 影像编码:整合 HTML5 更小更漂亮、挑战

▲以4 x 4的像素区块为例,无论使用哪种方法,亮度都会採集16个取样。在色度方面,YUV 4:4:4也是採集16个取样,YUV 4:2:2、YUV 4:2:0则是分别将取样数降低至8个、4个。

从图中可以清处看到,YUV 4:2:0可以把色度取样数从16缩减至4,原本相较于YUV 4:4:4需要对4 x 4像素区块进行3种分量共48个取样,YUV 4:2:0只需24个取样(16+4+4),可以节省一半的资料空间。

如果将网路应用的平台拉到手机或平版电脑等,效能相对薄弱的手持终端装置上的话,除了会面临资料流量的问题,也得尽量节省解码时所需要耗费的硬体资源。VP8可以将经过熵编码(entropy encode)处理的资料,切割成许多可平行处理的区块,只要在编码时付出些微的效能冲击,就能够让多核心处理器,在解码时发挥多工优势,并确保单核心处理器的效能,不会因此受到影响。

仍具应用弹性

VP8除了更贴近低频宽网路,也没有冷落了高阶应用。VP8在制定规格时,将色彩取样定为8-bit YUV 4:2:0,採用循序(progressive)扫瞄,并将解析度上限定为16383 x 16383,VP8也希望能够藉由其高效率的解码能力,以及能屈能伸的编码弹性,让手持装置到效能强大的桌上型电脑一体适用。不过VP8却有个矛盾的地方,它不具有类似H.264的範本(profile)设计。

範本的用意是针对不同的播放设备,制定其效能足以负担的编码设定,如果播放设备性能较弱,可能就要牺牲压缩效率(如降低品质)以求得播放流畅。厂商在规划产品时,就可以依据效能表现,限制该产品所支援的範本,明确地区隔出能流畅播放的档案。希望能在网路平台及手持装置一展长才的VP8,反倒不具有这项功能,让人觉得有些怪异。

延伸阅读:

网路视讯编码格式实际测试,动手玩 VP8、技压 H.264

Google WebP 图片新进展:无失真压缩、去背透明、动画

影片压缩方式大比拼,为什幺压成 VBR 会更好?

DVD 8片变1片:简单工具、高品质进阶技巧实作给你看

(后面还有:VP8的3大特色)

VP8的3大特色

VP8与H.264压缩影片的概念大致相同,但是在实际处理的过程中,还是有不同的地方。笔者将VP8独有技术,选出3个比较有特色的部份,分别是2阶段转换、画格内预测、画格间预测,以下分别向读者说明。

1. 对影像进行2阶转换

常见的影像编码格式,会在色彩取样完毕之后,将