第1章 视频编码概述
1.1 视频编码简介
多媒体技术发展如火如荼,推动我国经济高质量发展,而多媒体产业则被称为是21世纪知识经济的核心产业。多媒体技术的核心组成部分是图像技术、音频技术和视频技术,这些技术在广告、通信、电子娱乐、教育等诸多领域都得到了广泛的应用。其中,视频在多媒体领域中占有举足轻重的地位,越来越多的主流媒体采用视频方式展现信息。但是,视频的数据量很大,随着超清、超高清视频和各个行业视频应用的普及,我们正处于一个视频信息大爆炸的时代,而未来视频数据只会更多,视频数据浩瀚如烟,这必然会造成视频存储空间不够和视频传输带宽不足的问题。所以,不管是从行业的角度出发,还是从用户的角度出发,都对视频技术提出了更高的要求,包括质量要求、存储要求、传输要求等。而视频技术也将持续发展,持续为这些需求提供强大的动能。
1.1.1 图像与视频
视频是一组在一维时间轴上有序排列的二维图像序列,根据视觉暂留原理,连续的图像每秒变化超过24帧画面以上时,人眼就无法辨别单幅的静态画面,所以看上去是平滑连续的视觉效果,这样连续的画面叫作视频。
随着视频技术的不断发展,采集和存储技术的不断推进,视频可分为模拟视频和数字视频。模拟视频出现在视频研究早期,通过模拟信号实现视频的记录、存储与传输。数字视频技术诞生于20世纪70年代,并于1986年首次得到应用。随着电子技术的快速发展与全球数字化进程的不断推进,视频采集设备与采集方式发展迅猛。数字视频具有存储便捷、视频质量高、易编辑的特点,逐步替代模拟视频成为主流。
1.1.2 视频压缩与编码
对于视频数据而言,动态图像以像素的形式表示的数据量极为巨大,存储空间和带宽无法满足保存和传输视频数据的要求,故需要通过视频编码来实现数据压缩。例如,图像中的每个像素需要3个颜色分量RGB(red,green,blue,又称为三原色色彩模型)来表示,每个分量各需要1字节,那么一个像素就需要3字节,一幅普通的1920×1080的图像就需要5.93M空间,而使用帧率为30帧/s时,传输的码率高达178MB/s,此时不管是要存储视频还是传输视频都异常困难,因此必须要对视频数据进行压缩处理。
由于视频图像的各像素之间存在很大的相关性,因此视频数据中存在大量的数据冗余。视频编码的目的就是尽可能地减小这些数据冗余。视频图像中的冗余主要有空间冗余、时间冗余、结构冗余、编码冗余、视觉冗余和纹理统计冗余等。
空间冗余是指视频的某帧内部相邻像素存在相似性,视频图像的相邻像素在水平、垂直方向的相邻像素之间的变化很小,从而产生空间冗余,也称之为帧内相关性;时间冗余是指相邻帧的像素之间存在运动关系,内容相似,如相邻两帧之间具有相同的背景,从而产生时域相关性,也称之为帧间相关性。编码冗余是指视频中不同数据出现的概率不同,数据信息在表达方式上存在冗余,使用不同熵编码方法将消耗不同的比特数,一般用算术编码解决。
视觉冗余是指观众的视觉系统对视频中不同部分的敏感度不同,人眼的一些特性如亮度辨别阈值、视觉阈值,对亮度和色度的敏感度是不同的。所以在编码时引入适量的误差,也不会被人眼察觉出来,故可以利用人眼的视觉特性,以一定的客观失真换取更高效地数据压缩。
一般来说,视频压缩*主要的目的是使视频图像能在有限的带宽下进行高质量的传输,并获得*小失真。因此视频压缩编码需要满足两个条件:一是保证压缩后的视频图像能满足带宽的要求,即需要足够高的压缩比;二是保证在视频图像的接收端,重建后的图像失真要在一定的范围内。视频质量评价方法一般分为客观质量评价方法和主观质量评价方法,1.3节将对这两个评价方法进行详细的介绍。要想获得较好的主观质量,我们就需要去除视觉冗余,即对人眼不敏感的冗余信息进行压缩,而保留人眼敏感的视频信息。
视频图像压缩主要包括有损压缩和无损压缩。无损压缩是可逆的,故在接收端,视频图像可以被完全恢复,不会存在失真的现象。但是无损压缩一般不能获得足够高的压缩比,因此编码效率低。而有损压缩是不可逆的,视频图像在接收端不能被完全恢复,存在一定的失真现象。一般通过量化技术对视频进行压缩,这样能获得足够高的压缩比,且编码效率较高,但是往往会带来失真。这种失真与视频图像的压缩比有关。一般来说,压缩比越高,其失真越大,获得的图像质量越低。因此我们应该选择合适的量化因子,寻找压缩比与失真之间的一个*佳平衡点。这样不仅能获得较好的编码效率,还不会对视频图像质量产生太大的影响,至于如何寻找视频失真与压缩比的平衡,将在后面的章节进行介绍。
图1.1描述了视频图像压缩编码系统的基本结构。可以看出,编码器对信源进行分析,然后进行量化处理,*后将量化后的信息进行无损熵编码,转化成二进制码流格式,并将其在信道中传输。当解码器接收到二进制码流信息时,进行反量化并重构出视频图像,在显示器上显示。
图1.1 视频图像压缩处理系统
1.1.3 多视点视频编解码
多视点视频是指由多个摄像机从不同视角、不同视点拍摄某客观场景得到的视频信号,它是一种3D视频表现方法,可以还原视频原始场景,并提供交互感与立体感。由于多视点视频数据量随着摄像机的数量线性增加,巨大的数据量成为限制其发展的重要原因。为此,在2012年7月,VCEG(video coding experts group,视频编码专家组)和MPEG共同成立了JCT-3V(joint collaborative team on 3D video coding extension development,国际三维视频编码扩展开发联合合作团队)旨在制定基于HEVC(high efficiency video coding,高效率视频编码)的3D视频编码扩展标准。此标准旨在满足多视点视频实际使用的需求,这就是3D-HEVC(3D high efficiency video coding,3D高效率视频编码)标准的由来。2013年,该小组正式决定将基于HEVC的多视点编码方案3D-HEVC标准化。JCT-VC(joint collaborative team on video coding,视频编码联合协作小组)在2014年10月完成了MV-HEVC(multiview high efficiency video coding,多视点高效率视频编码)标准的制定,在2015年2月完成了3D-HEVC扩展版标准的制定。该小组除研究传统的单视点视频编码方法与优化方法之外,还进一步研究视差估计、视差补偿、深度图等技术,提高多视点视频的压缩效率。
目前*有效的多视点视频表现形式为多纹理+多深度视频形式[1],这也是在3D-HEVC中所使用的方式。此方式采用多台处于同一平面且相邻的摄像机,让它们通过多个角度同时对同一场景采集视频图像,从而得到多路具有细小视角差异的视频集合,一般采用3个纹理图+3个深度图的形式。采用多纹理+多深度的视频形式在描述实际拍摄场景信息时能够更加精细、更加全面,同时基于深度图的虚拟视点合成技术能够渲染出任意视角的场景图像,这样能够让使用者在任意角度观看到该角度实际的视频场景,让使用者能够有身临其境的体验。
对于3D-HEVC这种视频编码结构,由于存在多个视点,于是引入了视间参考图像,同时将帧间预测编码模式扩展为同一时刻对不同视点的运动预测和相邻视点的视差预测。在解码端,采用基于深度图合成虚拟视点的方式,同时在编码组件中利用虚拟视点来合成并预测出纹理图帧间的编码模式。由于深度图的引入,每个纹理图像都会有相应的深度信息,分析深度信息能反映出物体离拍摄端的远近,因此引入了基于深度图模型的帧内预测编码模式也会使得计算复杂度进一步提高。*后,多个视点的纹理图像和对应的深度图像在编码完成后会通过码流复合器形成混合视频码流并输出。为了满足用户在不同的设备上显示和播放的需求,需要使用不同的接收端接收码流并进行解码。
1.1.4 视频编码的指标
衡量视频编解码器的优劣有多项指标,其中*重要的3项如下:①编码输出视频码率,该指标越低越好;②编码输出视频失真,该指标越小越好;③视频压缩编码的算法复杂度,该指标越低越好。具体的比较方法在本章后面的小节中讲解。
1.2 数字视频
在现代多媒体计算机系统中,通常借助摄像机等设备捕捉自然界的景物,借助这些设备将视频信号转换为模拟信号,再通过视频采集卡对模拟信号进行采样、量化、编码,将模拟信号转换为计算机系统可以识别的数字信号,如图1.2所示。模拟信号X(t)通过对连续时间的二维信号 进行等时间间隔采样,得到采样信号X(k),其中采样间隔的时间称为采样周期。采样得到的信号在时间-空间维度上离散,但采样信号在幅度上仍然连续。将无限级的信号按照一定算法转换为有限级的数码的过程就是量化过程,假设有L个量化级,每个量化级用一个长度为b比特的二进制位表示,可以计算得到 。量化后的采样值可以用对应的码字表示,对码字的处理过程就是波形的数字处理过程。
图1.2 数字信号采样、量化和编码示意图
1.2.1 颜色空间
为了显示出可被人眼识别的颜色,人们从数学模型的角度出发,定义了一系列不同的颜色模型,包括RGB、YUV(一种颜色编码方法)等。为了将这些颜色模型投射到对应的数学表达之中,设计者根据不同颜色数据的不同处理方式与存储格式,设计了不同的颜色空间。颜色空间是一种特定的颜色组织形式,通常用3个相对独立的颜色分量来描述。3个独立的分量构成一个空间坐标,也就是颜色空间。但颜色对象是客观的对象,不同颜色空间只是从不同的角度去衡量同一个对象,并不改变颜色对象的本质。
颜色空间的颜色组织方式多样且种类繁多,据不完全统计有40种不同模型。常见的有RGB,CMY(K)[cyan,magenta,yellow(black)],HSI(hue,saturation,intensity),YUV,YIQ(luminance,in-phase,quadrature-phase)、YCbCr(色彩空间的一种)等,其中基于三基色的模型主要有RGB和CMY(K),基于亮度与色度的模型主要有HSI、YUV、YIQ、YCbCr。不同颜色空间模型的用途也不相同,如RGB主要用于显示系统,CMY(K)主要用于打印机,YUV用于PAL(phase alteration line,帕尔制)制式的彩色电视机,YIQ用于NTSC(National Television Standards Committee,国家电视标准委员会)制式的彩色电视机,YCbCr用于数字彩色电视机。
1. RGB颜色空间
RGB色彩模式与人的视觉系统密切相连,是*常见的面向硬件设备的色彩模型,可表示大部分颜色。RGB颜色空间被分成R、G、B 3个分量加以保存,彩色监视器的显示系统也基于该颜色空间。采用RGB颜色空间表示视频时,每个像素采用3个分量表示,即R、G、B 3个色度值。根据色彩结构,所有的颜色都被看作3种基本颜色——R(红)、G(绿)、B(蓝)的不同比例的组合。需要注意的是,RGB颜色空间的各分量与亮度密切相关,即只要亮度改变,3个分量都会随之相应地改变,故并不适用于图像处理。
2. YUV颜色空间
YUV颜色空间主要用于优化彩色视频信号的传输,亮度Y是通过RGB输入信号来建立的,方法是将RGB信号按特定比例叠加到一起。色度U反映的是RGB输入信号蓝色部分与信号亮度之间的差异,色度V反映的是RGB输入信号红色部分与信号亮度之间的差异。YUV颜色空间的重要特征是它的亮度Y和色度U、V是分离的。如果只有Y分量而没有U、V分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV颜色空间正是为了用亮度Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。
展开