视频编码与传输新技术(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-25 18:35:52

点击下载

作者:朱秀昌

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

视频编码与传输新技术

视频编码与传输新技术试读:

前言

当今的信息化社会,信息技术已经全面服务于社会的生产和生活的方方面面。其中,视频信息无论是在数量方面还是在重要性方面都占有举足轻重的地位。伴随着大数据的洪流,对海量视频信息的高效优质的压缩、传输技术日显重要;在云计算的模式下,数字视频信息赖以传输、存储和应用的系统结构正在发生重大的变革;随着3G的普及、4G的启动、光纤的到户,视频通信的新应用和新业务的出现如雨后春笋;随着监控视频的遍地开花,监控视频的智能化应用和管理正将视频分析技术提高到一个新的层次;随着“三网融合”的不断推进,以视频为主的多媒体信息逐步可以在有线或无线、固定或移动、大屏或小屏之间自由传送和显示……。

这一切都表明,视频编码与传输技术在近年来需求旺盛,发展迅速,新理论、新算法、新技术和新应用层出不穷。我们这些长期从事数字视频信号处理的研究人员认为很有必要对其中影响较大的若干关键技术和研究进展进行分析、总结和介绍,力图为广大从事这方面工作或对该领域感兴趣的技术人员、研究人员、大学生、研究生提供一个了解和学习视频处理新技术的便利的引导窗口。

本书以从事计算机技术、通信技术及电视技术的工程技术人员,以及大专院校的有关专业高年级学生、研究生或教师为主要阅读对象。本书的编著力图体现以下四个特点:其一是较为全面地综述和分析数字视频编码与传输领域近年来比较重要的新技术及新发展;其二是以专题的方式集中阐述数字视频处理的关键技术,放弃了一定的系统性和层次性;其三是适当地反映作者团队近年来的部分研究成果;其四是在尽量保持一定学术水平的同时注重可读性。

本书内容大致上可以划分为三部分。

第一部分(第1章),在总体上介绍数字视频信号的统计特性、压缩编码、网络传输的基本原理和特征,为后续章节对视频编码和传输新技术的分析打下良好的基础。第2~10章分别介绍9个专题。

第二部分(第2~6章),主要介绍了几类数字视频编码的新理论和新技术。其中第2章介绍视频压缩编码中的率失真优化和码率控制技术;第3章从分布式信源编码引申到分布式视频编码,着重介绍了不同的分布式视频编码系统和边信息的预测;第4章介绍为了适应网络传输的视频可分级编码和视频多描述编码技术;第5章介绍的是将单视点、平面视频推广到立体视频及多视点视频的编码方法;第6章先简单引入压缩感知理论基础,然后介绍了基于压缩感知的视频编码、传输和重建方法。

第三部分(第7~10章),主要介绍了压缩视频的网络传输和解码重建中的几项关键技术。其中,第7章介绍有关压缩视频经网络传输后解码视频的差错掩盖技术;第8章介绍了在日益普及的无线网络视频传输中如何提供可靠的质量保证的方法;第9章介绍了当前应用广泛的监控视频中的几种智能视频分析技术;第10章介绍用软件的方法提高视频图像分辨率的超分辨率图像重建技术。

本书有关视频编码方面的内容(第2~4章)由刘峰编写;有关网络传输方面的内容(第5~7章)由胡栋编写;本书的其余部分由朱秀昌编写并对全书进行统稿。

我们研究团队的多位青年教师、博士、硕士研究生参与了本书的编著,书中也引用了他们的研究成果,其中青年教师有干宗良博士、胡晓飞博士、陈昌红博士、唐贵进博士、霍智勇博士、崔子冠博士,武明虎博士等,博士研究生有李欣、曹明明、陈杰、李然、王国刚等。本书还引用了前人的研究成果、著作和论文,具体出处在参考文献中一一列出。在此,我们对这些文献的著作者表示深切的谢意。

尽管作者一直从事这方面的科研和教学工作,但由于视频编码和视频传输技术的发展日新月异,作者的学术视野和水平有限,编写时间仓促,书中的错误和不足之处在所难免,真诚地欢迎广大读者予以批评指正。作者2014年4月于南京第1章视频编码与传输基础1.1 概述

视频压缩和传输技术的发展可以追溯到20世纪30年代的广播电视、60年代的可视电话,但一直都未能达到实用化的程度。视频技术真正的发展,是在20世纪80年代末,随着计算机技术的普及、通信数字化进程的加快、视频信号数字化及压缩技术的进步、有关图像通信标准的陆续颁布,以及半导体芯片技术的发展等,数字视频通信的研究和开发也加快了步伐,朝着数字化、实用化的方向迅速推进。

本章主要介绍视频的数字化概念、数字视频的压缩编码技术、相关的国际标准及数字视频的网络传输等方面的基本内容。1.1.1 视频的数字化

图像(Image)是一个比较基本的概念,主要是指对客观场景的亮度反映。视频(Video)是对场景连续拍摄的一系列图像,也可称为视频序列(Video Sequences),或简称序列。可见视频是图像中特殊的一类,图像包含视频。因此,很多人,也包括我们,在叙述中涉及“视频”或“图像”的概念时,有时并未刻意加以区分,读者从上下文自然会明白其含义。

出现最早、曾经广泛流行的是模拟摄像机输出的视频信号,不论是PAL制还是NTSC制视频信号,它们都是模拟信号,要想让计算机或数字设备能够处理它们,必须进行数字化。时至今日,尽管直接输出数字视频的数字摄像机已占主流地位,但摄像机内的光电传感元件在本质上输出的还是模拟图像信号,必须要经过数字化过程形成数字视频信号输出,而且更多的是将数字视频信号加以压缩输出。因此,考虑到上述两方面原因,我们认为十分有必要了解视频的数字化原理和过程。1.从模拟视频到数字视频

图像数字化过程主要包括对连续图像中像素位置的离散化(取样)、对取样点的连续量值的离散化(量化)及对量化后的有限数值进行二进制(或多进制)编码这三个过程。

1)取样

我们知道,模拟视频信号体系的基本特点是用扫描方式把三维视频转换为一维随时间变化的信号。视频信号在时间维(t维)上把图像分为离散的一帧一帧的图像;在每一帧图像内在垂直方向上(y维)将图像离散为一条一条的水平扫描行。把图像分成若干帧的过程,实际是在时间方向上进行了取样;把图像分成若干行的过程,实际是在垂直方向上进行了取样。因此,在图像信号数字化的第一步——离散化的过程中,在时间方向和垂直方向上的取样间距往往由模拟电视系统决定,没有可能自由选取。可供人们自由选取的只有水平方向(x维),在水平方向上可以设置不同的取样间隔(实际上仍然受到摄像机水平分辨率的限制)。图1.1是对视频信号的扫描、取样的示意图。图1.1 视频信号的扫描及取样

2)量化

经过取样的视频,只是在时间和空间上被离散成为像素(样本)的阵列。而每个样本灰度值还是一个有无穷多取值的连续变化量,必须将其转化为有限个离散值,赋予不同码字才能真正成为数字图像,再由计算机或其他数字设备进行处理运算,这种转化称为量化。

量化有两种方式:一种是将样本连续灰度值等间隔分层的均匀量化,另一种是不等间隔分层的非均匀量化。在两个量化级(称为两个判决电平)之间的所有灰度值用一个量化值(称为量化器输出的量化电平)来表示。量化既然是以有限个离散值来近似表示无限多个连续量,就一定会产生误差,这就是所谓的量化误差,由此所产生的失真即量化失真或量化噪声。    

当量化层次少到一定程度时,量化值与连续量值之间的差值——量化误差变大,引起显著的图像失真,尤其在原先亮度值缓慢变化的区域会引起生硬的所谓“伪轮廓”。图像量化的基本要求就是在量化噪声对图像质量的影响可忽略的前提下用最少的量化层进行量化。

3)编码

通常对取样值进行等间隔的均匀量化,量化层数K取为2的n次幂,即K=2n。这样,每个量化区间的量化电平可采用n位(比特,bit)自然二进制码表示,形成最通用的PCM(Pulse Coding Modulation)编码。对于均匀量化,由于是等间隔分层,量化分层越多,量化误差越小,但是编码时占用比特数就越多。例如,若采用8比特量化,则图像灰度等级分为28=256层。若输入某一图像样本幅度为120.2,量化后为120,则可用8位二进制码01111000来表示。

4)量化失真

在对取样值进行n比特的线性PCM编码时,每个量化分层的间隔(量化步长)的相对值为1/2n,假定取样值在它的动态范围内的概率分布是均匀的,则可以证明量化误差的均方值Nq为

于是,峰值信号功率Spp(其相对值为1)与量化均方噪声Nq之比的对数简称为量化信噪比,用分贝(dB)数表示为

式(1.2)为表征线性PCM性能的基本公式,取样的编码比特数n直接关系到数字化的图像质量,每增减1比特,就使量化信噪比增减约6 dB。可以用主观评价方法选择n,比较原图像与量化图像的差别,当量化引起的差别已觉察不出或可以忽略时,所对应的最小量化层比特数即为n。目前,对于一般的应用,如电视广播、视频通信等,采用的是8比特量化,已基本能满足要求。但对某些应用,如高质量的静止图像和医学图像和遥感图像处理等,需要10比特或更高精度的图像。

除了以上介绍的均匀量化外,还可以根据实际图像信号的概率分布进行非均匀量化,由此可获得更好的量化效果。通常的做法是把高取样率的PCM编码后的图像作为基本的数字图像,而把在此之上进行的再取样和再量化作为数字图像处理的一部分。例如,从原来较密集的取样经亚取样后成为较稀疏的取样,将原来较细致的均匀量化再进行非线性量化。2.数字视频的格式

由于目前存在PAL、NTSC等不同的模拟电视制式,在这些制式的基础上经过取样、量化和编码后必然会形成不同制式的数字视频信号,给国际间的数字视频信号的互通带来很大的不便。因此,十分有必要在世界范围内建立统一的数字视频标准。

1)数字视频的BT.601格式

1982年10月,国际无线电咨询委员会(Consultative Committee for International Radio,CCIR)通过了第一个关于演播室彩色电视信号数字编码的建议,即后来的国际电联无线电通信部门(International Telecommunications Union-Radio communications sector,ITU-R)的BT.601数字视频标准,其主要内容如表1.1所示。

BT.601建议采用了对亮度信号和两个色差信号分别编码的分量编码方式,对不同制式的信号采用相同的取样频率——13.5MHz,这是对亮度信号Y的取样频率。由于色差信号的带宽远比亮度信号的带宽窄,因而对色差信号R-Y和B-Y的取样频率较Y减半,为6.75MHz。每个数字有效行分别有720个亮度取样点和360×2个色差信号取样点。对每个分量的取样点都是均匀量化,形成8比特或10比特精度的PCM编码。这几个参数对525行、60场/秒的NTSC制和625行、50场/秒的PAL制视频都是相同的。表1.1 ITU-R BT.601标准的主要参数(亮度、色差取样格式为4:2:2)

2)数字视频的取样点位置

从表1.1中还可以看到,由于色差信号的带宽窄,取样率要比亮度信号低50%,这样做的原因是考虑到人眼对色差信号的分辨率比亮度信号低。按照这种比例取样的数字视频常常又称为4:2:2格式,可以简单理解为图像的每一行里的Y、R-Y、B-Y的样点数之比为4:2:2,这些样点位置的几何分布如图1.2(a)所示。图中的水平虚线表示视频的扫描线,图1.2(b)、(c)、(d)分别给出了4:4:4、4:1:1和4:2:0格式的样点位置示意图。需要说明的是,4:2:0格式虽然不在ITU-R BT.601标准中,但这种格式在实际应用中却相当广泛,为了和其他格式对比,也将4:2:0格式放在这里。图中,“O”表示Y样点位置,“/”表示R-Y样点位置,“\”表示B-Y样点位置。图1.2 不同格式的样点位置示意图1.1.2 数字视频的压缩编码

阻碍数字视频发展的一个最重要因素就是它的数据量庞大,现在常称为“海量数据”。为了对此有一个数量的概念,按ITU-R 601数字视频标准方式数字化,传输或存储一路4:2:2彩色数字视频所需的码率如表1.2所示。表1.2 一路彩色数字视频的数据量

对比现有的通信系统的传输能力,尤其是无线移动系统理想传输速率,如GSM为9.6kb/s,GPRS为175kb/s,3G移动为2Mb/s,4G移动50Mb/s,因此如果对数字化后的视频不加压缩处理,要顺利传输几乎是不可能的。数字视频存储的情况也基本与此类似。可见,在常规的条件和应用中,对数字视频的压缩处理是必须的。由于这种压缩处理是在数字域进行的,从宏观上看,各种视频压缩处理都是用新的码字来高效地表示原始数字视频数据,因而又常把视频压缩叫作视频编码(Video Coding)。

视频压缩技术利用图像固有的统计特性(信源特性),人的视觉生理、心理学特性(信宿特性),或者记录设备和显示设备(如电视监视器)等的特性,从原始图像中经过压缩编码提取有效的信息,尽量去除无用的或用处不大的冗余信息,以便高效率地进行图像的数字传输或存储,而在复原时仍能获得与原始图像一样或相差不多的复原图像。

按照编码后的图像与编码前图像的一致性程度,可以把压缩方法分为两类:一类是不产生失真的信息保持型编码,又称无失真编码;另一类则是允许一定量失真的非信息保持型编码,又称有限失真编码。如果采用信息保持型编码,虽然用来表示图像的比特数比原来有所减少,但它们所代表的信息量却和未编码前一样,因而由压缩图像恢复出来的重建图像将和原图像完全一致;如果采用非信息保持型编码,则会由于在编码过程中丢失一些信息量而在重建图像时出现一定程度的失真,也就是说重建图像和原图像并不完全一致。一般说来,非信息保持型编码的压缩比较高,经常用于通信中的图像编码,尤其适用于活动视频的编码。1.1.3 压缩视频的传输

IP传输是通信系统的主流方式,视频(绝大部分是压缩视频)数据在网络上呈现为由视频包(Packet)接续起来的视频流(Video Streaming)形式,它和其他数据包(如音频数据包、文档数据包等)共同使用IP网络进行数据传输。由于视频流传输常常是大流量、长连续时间的,因此为了保证视频流的高效率、高质量的传输,即通常所说的保证服务质量(Quality of Service,QoS),网络的流量控制、资源分配和管理等问题是必须解决的关键技术。

QoS表示为了满足不同应用需求网络所要提供的服务质量,它包括一系列的技术指标。就视频通信而言,QoS的主要参数包括传输时延、码元抖动、误码率(丢包率)及传输带宽等。

目前的IP网络采用的是“尽力而为”(Best Effort)的服务模型,不能够提供完全的QoS支持。为了尽力保证视频流传输的顺利进行,目前大都考虑采取以下几方面的措施:首先,采用与网络一致的传输策略,例如许多视频传输中都采用了所谓对TCP友好的传输协议,避免造成网络性能的下降;其次,对网络状态进行不断的监视,得到有关的参数作为视频编码参数的调整依据;再次,视频采用抗误码编码,有效抵御丢包引起的降质;最后,采用分级编码、多描述编码、嵌入式编码等方式,使信源码率可以根据网络条件进行调整,使用户可根据网络状况收到最佳的视频码流。这些措施可根据实际情况单独使用或结合使用。

近年来无线通信的发展,特别是3G移动通信的普及和4G移动的开展,为无线信道的视频传输提供了更好的支持。但是,在无线传输时仍然会因无线信道受到干扰而出现各种差错,其中最大的问题就是突发误码的影响,因此必须采用有效的差错控制技术。例如,采用有效的RS交织编码,或者使用反向信道进行ARQ纠错等技术。1.2 视频编码的基本方法1.2.1 预测编码方法

基于图像统计特性进行数据压缩的一类基本方法就是预测编码(Prediction Coding)。它利用图像信号的空间或时间相关性,用已传输的像素对当前正在编码的像素进行预测,然后对预测值与真实值的差——预测误差进行编码和传输。目前用得较多的是线性预测方法,即用已传像素的线性组合对正在编码的像素进行预测。

预测编码是图像压缩技术中研究得最早、应用最广的一种方法,它的一个重要特点是性能较好、算法简单、易于硬件实现。图1.3是它的示意图,其中的处理单元主要包括线性预测器和量化器两部分。在这种编码方案中,编码输出的对象不是图像像素的样值f(m,n),而是该样值与预测值之间的差值,即预测误差e(m,n)。据图像信号的统计特性的分析,可以得到一组最佳的预测系数,使预测误差的分布大部分集中在0附近,经非均匀量化,然后传输量化后的误差信号e′(m,n)。量化器可以根据人眼的视觉特性来设计,采用较少的量化分层,而量化噪声又不被人眼觉察。这样,图像数据得到了压缩,而图像的主观质量并没有明显下降。图1.3 预测编码原理框图1.2.2 变换编码方法

基于图像统计特性进行数据压缩的另一类基本方法就是变换编码(Transform Coding):将空间域描述的图像经过某种变换(如离散傅里叶变换、离散余弦变换、沃尔什变换等)形成变换域中的数据(系数),达到改变数据分布、减少记录数据量的目的。1.正交变换

在变换编码中,正交变换是一种最常见的数据处理手段,它把统计上彼此密切相关的像素值所构成的矩阵通过线性正交变换,变成统计上彼此较为独立、甚至完全独立的变换系数矩阵。信息论的研究表明,正交变换不改变信源的熵值,变换前后图像的信息量并无损失,完全可以通过反变换得到原来的图像值。但是经过正交变换后,数据的分布发生了很大的改变,系数(变换后产生的数据)在变换域坐标系分布趋于集中,如集中于少数的直流或低频分量的坐标点。

因此,尽管正交变换本身并不压缩数据量,但数据的集中分布为在新坐标系中的数据压缩创造了条件。例如,可以通过量化操作,保留少量有效数据,去除大部分零数据或接近零数据。由于去除了大部分相关性,系数分布相对集中,有利于采用更加有效的表示方式,如“Z”(Zig-Zag)字形扫描、变长编码等,从而获得对图像信息量的有效压缩。2.DCT变换

离散余弦变换(Discret Cosine Transform,DCT)是视频编码中应用最广的一种正交变换,这里以8×8的二维图像f(x,y)为例,其二维DCT变换定义为

二维频谱F(u,v)的二维DCT反变换定义为

式中,

从上面的定义可以看出,DCT本质上和傅里叶变换一样,可以反映信号的频域特性。傅里叶变换是复杂的复数运算,而DCT变换是一种相对简单的实数运算,而且正反变换基函数一样。由于DCT的这一特性,在实际实现DCT变换时,只要用同一种硬件或同一段程序,既可以进行正向DCT变换,又可以进行反向DCT变换。从DCT的表达式还可以知道,二维DCT是一种可分离的变换,可以方便地分别对两个变量进行一维DCT变换。

在目前常用的正交变换中,DCT变换性能仅次于理论上最佳的可以完全除去相关的K-L变换,所以DCT变换被认为是一种准最佳变换。DCT变换矩阵与图像内容无关,去相关性好,有快速算法(FDCT),实现方便;DCT的基函数是偶对称的数据序列,避免了子图像边界处的跳跃和不连续现象。因此,在图像编码的应用中往往都选择二维DCT作为变换矩阵。在历年来颁布的一系列视频压缩编码的国际标准中,都把基于块的DCT变换作为其中的一个基本处理模块。

采用DCT变换的图像压缩编码基本框图如图1.4所示。根据DCT系数集中在低频区域、越是高频区域系数值越小的特点,以及人眼的视觉特性,通过设置不同的视觉阈值或量化电平,将许多能量较小的高频分量量化为0,可以增加变换系数中0的个数,同时保留能量较大的系数分量。对量化后的系数还可以再进行变长编码,从而获得进一步的压缩。图1.4 变换压缩编码基本框图3.整数变换

整数变换(Integer Transform)的原理、过程和DCT变换基本相似,但不是实数运算,而是整数运算,其变换单位通常是4×4块(或8×8块)。这种方法的优点在于:在编码器和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式,避免了计算机中常有的“取整误差”和“反变换误差”。

基本编码过程是将二维整数变换分解为两次一维整数变换,即先完成4行一维整数变换,再完成4列一维整数变换。设a、b、c、d是4个变换点的输入像素值,A、B、C、D是对应的4个变换系数,则a、b、c、d的一维整数变换的正变换公式为

一维整数变换的反变换公式为

式中,a′、b′、c′、d′表示恢复系数,a′=676a≠a,b′、c′、d′也是如此,这是因为变换和反变换公式没有进行尺度归一化。为了简化操作、减少计算量,尺度归一化可以结合到量化过程中进行。在变换域系数分布方面,整数变换与DCT变换类似,二维整数变换后4×4块左上角的值为DC系数,其余15个为AC系数。1.2.3 运动估计和运动补偿1.视频图像的分区

为了更好地说明如何利用视频图像中的运动特性来进行压缩编码,首先分析一下视频中如图1.5所示的一个简单的典型场景。在一个细节不是十分复杂的背景前,有一个活动量不大的刚性物体,假定该物体在第K帧与第K-1帧相比有位移,则可以将整幅画面分为三个各具特点的区域。图1.5 图像区域分类(1)背景区:指固定摄象机所摄取的运动物体后面的背景,一般它是静止的,若外界条件不变,则这两帧背景区的绝大部分数据相同。这意味着,两帧背景区之间的帧间相关性极强。(2)运动物体区:若将物体的运动近似看作简单的刚体平移,则第K帧与第K-1帧的运动物体区的数据也基本相同。假如能采用某种运动估计的方法对位移量进行“运动补偿”,那么两帧的运动物体区之间的相关性也是很强的。(3)暴露区:指物体运动后所暴露出的原来曾被运动物体所遮盖的区域。如果有可能事先用存储器将这些暴露区的数据暂时存储,则经遮盖后再暴露出来的数据与原先存储的数据应大致相同。

在理想的情况下,以上三类区域的帧间相关性都可以作为压缩编码的依据。当然,若是整个画面从一个场景切换为另一场景,则谈不上帧间相关性的利用了。2.减少帧间预测误差

在帧间预测编码中,为了达到较高的压缩比,最重要的就是要得到尽可能小的帧间预测误差。观察图1.5可以发现,在以上的帧间预测中,实际上仅在背景区进行预测时可以获得较小的帧间误差。如果要对运动物体区域进行预测,首先要估计出运动物体的位移(运动矢量),然后再根据运动矢量找出物体在前一帧的区域位置,计算前后帧运动物体相应点之间的差值,这样求出的预测误差才比较小,这就是运动估计(Motion Estimation,ME)。简而言之,通过运动估计,可以减少帧间误差,提高帧间预测编码的压缩效率。

从理论上讲,运动估计前必须将图像中运动的物体划分出来。由于实际的序列图像内容千差万别,把运动物体以整体形式划分出来是极其困难的,因此有必要采用一些简化模型。目前已得到广泛应用的是块匹配方法(Block Matching Arithmatic,BMA)。3.块匹配运动估计

BMA将图像分为若干不重叠的N×N 像素的子块(Block),尺寸N通常取为4、8或16,以子块作为运动估计和补偿的基本单元。块匹配算法就是判断某一子块是运动子块还是静止子块,运动子块的运动矢量又为何值。由于这种方法没有以运动物体作为运动估计的基本单位,因而不可避免地会产生估计误差,尤其是对那些既有运动物体又有静止背景的子块误差将更大,这就是块匹配算法的不足之处。但是,由于这种方法相对简单,因此它已成为现在应用最为广泛的运动估计算法。

可以用图1.6来简要说明块匹配运动估计算法的原理。设A为当前帧中的一个待处理的子块,在其前一帧中在以A为中心、上下左右各距d个像素的区域B(又称搜索窗)内寻找一个与A最相似的子块C,认为就是前一帧中的C移动到当前帧中的A的位置。那么,C与A的坐标偏移量即为所估计的运动矢量。图1.6 块匹配法运动估计示意

上述过程实质上是一个求子块匹配的过程,为此要确定一个匹配误差函数E(i,j),通常采用均方误差(Mean Square Errors,MSE)或绝对误差和(Sum of Absolute Differences,SAD)准则,匹配的过程也就是求这些误差函数极小值的过程。

采用均方误差最小准则表示的运动矢量(i,j)为

采用绝对误差和最小准则表示的运动矢量(i,j)为

式中,fk(m,n)表示当前的图像块,即A;fk-1(m+i,n+j)表示前一帧中B搜索窗内相对A的位置偏移为(i,j)的一个搜索块;(i,j)为所搜寻的运动矢量的坐标,变化范围为(-d,d-1),总共需要(2d+1)2次误差计算。对所有的(i,j)计算误差匹配函数值,找到最小的误差Emin(i,j),这个值对应的(i,j)即为运动矢量,vx=i,vy=j。

采用块匹配技术进行运动估值时要求选择合适的方形子块尺寸N。子块尺寸小时,块内像素运动一致性好,运动估计准确度较高,但编码传输时标志运动矢量的码率会增多,计算量也增大。子块尺寸大时,计算量减小,传输运动矢量的码率变小,但运动估计准确度不高,难以进行有效的运动补偿预测。究其原因主要是块内像素运动一致性变差,如一部分属于运动区域,而另一部分属于静止的背景区等。在目前的视频编码国际标准中,N的取值有16、8、4等;另外,还出现了长方形的子块,如4×8、8×4等。

1)全搜索算法

在以上介绍的算法中,对搜索区域内的每一种可能的位置都进行误差计算和比较,因此这种方法被称为全搜索(Full Search,FS)算法。其优点是比较准确,能够获得全局最优解,缺点是匹配运算量大。

2)快速算法

为了克服全搜索法计算量大的缺点,在实际应用中可采用一些简化的块匹配算法,如三步法、五步法等快速算法。这些算法并不在搜索区域内的每一个可能的位置上都进行误差计算和比较,只选择若干有代表性的点进行搜索,运算量自然就大为降低,但同时其性能也必然有所下降。下面以应用广泛的三步搜索(Three Step Search,TSS)算法为例,简要介绍一下快速运动估计算法的原理。

在块匹配运动估计中,块的位移可以理解为中心点的位移。在三步法中,搜索范围为±7,即在上一帧以当前子块中心为原点,将当前子块在其上下左右距离为7的范围内按一定规则移动,每移动到一个位置,取出同样大小的子块与当前子块进行匹配计算。参考图1.7,具体分为以下三步:

第1步,以当前子块为中心(a),以4为步幅,将以a及周围8个位置为中心的子块与当前子块进行匹配,求出最佳匹配子块的中心位置,如b。

第2步,以第1步中求出的最佳子块为中心(b),以2为步幅,将以b周围8个位置为中心的子块与当前子块进行匹配,求出最佳匹配的子块中心位置,如c。

第3步,以第2步中求出的最佳子块为中心(c),以1为步幅,将以c周围8个位置为中心的子块与当前子块进行匹配,求出最佳匹配的子块中心位置,如d,它与当前子块中心的位置a偏移量即为估计的位移量。

可以看到,在d=7时,三步法仅需要 3×9−2=25 次匹配,它比全搜索算法的匹配次数(2×7+1)2=225少得多。图1.7 三步搜索算法示意图4.块匹配运动补偿

运动估计算法对每个子块估计出所谓的位移矢量或运动矢量(vx,vy),并将它编码传送到接收端。同时,在编码端利用该运动矢量进行运动补偿(Motion Compensation,MC)的帧间预测,即用前一帧图像fk-1在(x-vx,y-vy)处的亮度值fk-1(x-vx,y-vy)对当前编码帧fk中子块内(x,y)处的亮度值fk(x,y)进行估计,估计值为,于是预测误差为

对比相邻帧对应位置直接相减的方法,这种方法相差一个位移运动矢量。对预测误差进行变换、量化和熵编码后进行传输。在接收端经过解码后,结合上一帧的恢复图像就可以得出当前帧各子块的解码图像。

需要注意的是,在基于块的运动估计和运动补偿中有一个基本的假设,即块内所有像素具有同样的平移运动,因此子块的运动矢量就是子块内所有像素的运动矢量。对于其他类型的运动,如缩放、旋转,以及背景区的暴露或遮盖等,这种运动补偿预测不再适用。1.2.4 量化和熵编码1.量化

从前面的变换编码和预测编码的分析可以看出,如果没有量化,那么就不可能得到数据的压缩,或者压缩比较小。同时,预测和变换本身并未给图像数据带来失真,失真是由量化造成的。可见量化过程是数据压缩的有效方法之一,也是图像压缩编码产生失真的根源之一。因此,量化器的设计总是朝着最好的方向努力,既要获得尽可能高的压缩比,又要减少量化失真,保持尽可能好的图像质量,以此来寻找最佳量化器的设计方法。

最佳量化器主要有两类设计方法,一类是客观准则下的设计方法,当量化器的分层总数K为一定时,根据量化误差的均方值为最小的准则(MMSE)进行设计;另一类是主观准则下的设计,它使量化器的量化分层总数K最小,同时还保证量化误差不超过人的视觉可见度阈值,即不被人的眼睛所发觉。

量化最简单的方法就是均匀(线性)量化,但均匀量化效果往往并不好,因为它没有考虑到量化对象的概率分布。例如,对预测误差这样的信号而言,其分布大部分集中在0附近,这时如果采用非均匀量化,对概率密度大的区域细量化,对概率密度小的区域粗量化,可以证明,它与均匀量化相比,在相同的量化分层条件下,其量化误差的均方值要小得多;或者,在同样的均方误差条件下,它只需要比均匀量化器更少的量化分层。2.Zig-Zag扫描

并不是直接对量化后的DCT系数值进行熵编码,而是按“Z”字形(Zig-Zag)扫描顺序,如图1.8所示,对于交流(AC)系数的二维数组以一维方式顺序读出。将非零系数前面的零游程长度(个数)与该系数值一起作为一个统计事件,然后将每一事件(零游程长度,非零系数)组成的符号组进行熵编码,又称变长编码(VLC),如Huffman编码。图1.8 DCT系数的Zig-Zag扫描

之所以在熵编码之前进行Z字形扫描,主要是因为量化后的DCT系数更加稀疏,仅少数AC系数不为零,如果采用Z字形方式扫描,可以增加连零的长度,减少统计事件的个数,从而进一步增加对DCT系数熵编码的压缩码率。3.熵编码

经过量化、Zig-Zag扫描后的符号组,如果对它们以相同长度的二进制码表示,称为等长编码。采用等长编码的优点是编码过程和解码过程简单,但由于这种编码方法没有考虑各个符号出现的概率,实际上就是将它们当作等概率事件来处理的,因而它的编码效率较低。

和等长编码不同的一种方法是变长编码(Variable Length Coding,VLC)。在这种编码方法中,表示符号的码字的长度不是固定不变的,而是随符号出现的概率而变化:给出现概率高的符号分配较短的码字,给出现概率低的码字分配较长的码字。可以证明,在非均匀符号概率分布的情况下,变长编码总的编码效率要高于等长编码。要注意的是,变长编码是一种信息保持型编码(熵编码),即编解码的过程并不引起信息量(熵)的损失,因为它的符号和码字之间是唯一对应的。

哈夫曼编码(Huffman)是一种最常用的变长编码方法。设被编码的信源有K种符号,如K种恢度等级,即信源的符号集合为{ai|i=1,2,… ,K},且它们出现的概率对应为{P(ai)|i=1,2,… ,K},那么,不考虑信源符号的相关性,对每个符号单独编码时,则平均码长为L比特:

式中,li表示符号ai的码字的长度。可以证明,若编码时对概率大的符号用短码,对概率小的符号用长码,则L会比等长编码时所需的码字短。

除了Huffman编码以外,还有几种常见的变长编码方法,如香农编码、算术编码等。1.2.5 H.261混合编码模式

变换编码和预测编码是两类不同的压缩编码方法,如果将这两种方法组合在一起,就构成一类新的所谓“混合编码”。一般可将“混合编码”理解为预测编码和变换编码的混合,使用DCT变换进行空间冗余度的压缩,使用基于运动补偿的帧间预测进行时间冗余度的压缩,可以提高对活动图像的压缩效率。H.261是最早采用混合编码方法进行活动图像压缩的国际标准(建议),图1.9是H.261建议中的视频编码器框图,它可以看成混合编码概念的具体化。

在图1.9中,DCT、IDCT分别为正、反变换,Q、IQ分别为量化和反量化,属于“变换/量化”部分;输入视频后的减法器,运动补偿处理属于帧间/内“预测”部分;VLC为变长编码,属于熵编码部分。在现有视频压缩编码国际标准中,如H.261、H.263、MPEG-1、MPEG-2、MPEG-4、H.264/AVC及新近的HEVC中都采用了这一混合编码方案。图1.9 H.261建议的混合编码器结构

该编码器根据需要可以工作在不同的模式,以适应实际编码的需要。图1.9中,两个双向选择开关由编码控制器(CC)控制。当它们同时接到上边时,编码器工作在帧内(Intra)编码模式,输入信号直接进行 DCT 变换,经过量化处理后再进行变长编码,得到最后的编码输出。当双向开关同时接到下方时,编码器利用存储在帧存(FM)中的上一帧图像提供预测信号,将输入视频信号与预测信号相减后,对帧间预测误差进行 DCT 变换,经过量化处理后再进行变长编码,得到最后的编码输出。此时,编码器工作在帧间(Inter)编码模式,成为一个混合编码器。根据应用的需要,帧间编码可以是简单的帧间预测,也可以是使用运动估计和补偿处理(MEP)的帧间预测。1.3 数字视频压缩标准1.3.1 H.26x标准

ITU-T关于视频编码的标准H.261/2/3/4,包括新的HEVC(H.265),称为H.26x系列标准。其中具有里程碑意义的第一个实用化视频国际标准H.261在前面已有介绍,H.262标准等同于MPEG-2的视频部分,因此这两个标准这里就不再重复。1.H.263标准

ITU-T于1996年公布了用于低码率的视频编码标准H.263。该标准中采用H.261的混合编码方式,但不包括信道编码部分。在信源编码器中,DCT、量化器、Z字形扫描和二维VLC等处理与H.261建议是一致的。ITU-T的H.263工作组根据不同的应用需要,对H.263增加了许多高级功能附加项,形成H.263+(1998年)、H.263++(2000年)等,增加的高级选项达二十多项。2.H.264/AVC标准

H.264/AVC是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(Joint Video Team,JVT)开发的新一代数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分——AVC。如图1.10所示,H.264/AVC和以前的标准一样,也是帧间预测加变换的混合编码模式,但在多模式运动估计、整数变换、统一VLC编码以及分层编码语法等方面都有它的独到之处。因此,H.264/AVC算法具有很的高编码效率,目前也得到了广泛的应用。图1.10 H.264/AVC编码结构框图

H.264/AVC的编码效率大约是H.263(或MPEG-2)的一倍。必须说明的是,优越性能的获得不是没有代价的,其代价是计算复杂度的大大增加,据估计,编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。

下面着重介绍H.264/AVC的几项关键技术。(1)分层设计。H.264的算法在概念上可以分为两层:视频编码层(Video Coding Layer,VCL),负责高效的视频内容表示;网络提取层(Network Abstraction Layer,NAL),负责以网络所要求的恰当的方式对数据进行打包和传送。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。(2)帧内预测。H.264的帧内编码模式采用帧内空间预测方法。对于每个4×4块,被预测的像素可用当前块的左上角的17个最接近的先前已编码像素的不同加权和(有的权值可为0)来表示。显然,这种帧内预测不是在时间域上,而是在空间域上进行的,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。(3)多帧参考和多模式运动估计。H.264支持1/4或1/8像素精度的运动矢量。所谓多模式是指在H.264的运动估计中,一个宏块(MB)可以按图1.11被分为不同的子块,形成7种不同模式的块尺寸。这种多模式的灵活和细致的划分,更切合图像中实际运动物体的形状,提高了运动估计的精确程度。在H.264中,允许编码器存储多于一帧的先前帧用于运动估计,这就是所谓的多帧参考技术,如2帧或3帧刚刚编码好的参考帧。对每个目标宏块,编码器可在多帧中选择能给出最好的预测帧,并为每一个宏块指示是哪一帧被用于预测的。图1.11 多模式宏块的类型(4)整数变换。H.264与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸的缩小,运动物体的划分更精确,因此不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,还对帧内宏块亮度数据的16个4×4块的DC系数进行第二次4×4块的变换,对色度数据的4个4×4块的DC系数进行2×2块的变换。(5)自适应熵编码。H.264中熵编码有两种方法,一种是对所有待编码的符号采用内容自适应变长编码(Context-based Adaptive VLC,CAVLC),另一种是采用内容自适应的二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)。CABAC是可选项,其编码性能比CAVLC稍好,但计算复杂度也较高。CAVLC中的VLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。这种方法编码规则简单,解码器也很容易识别码字的前缀,而且在发生比特错误时能快速获得重同步。(6)差错控制。H.264中包含了用于差错消除的工具,增加压缩视频在误码、丢包多发环境(如移动信道或IP信道)中传输的健壮性。例如,为了抵御传输差错,H.264视频流中的时间同步通过采用帧内图像刷新来完成,空间同步由条结构编码(Slice Structured Coding)来支持;同时,为了便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点;此外,还有数据分段、灵活宏块排序(Flexible Macroblock Ordering,FMO)、任意条带排列(Arbitrary Slice Ordering,ASO)和误码掩盖(Error Concealment)等措施,以保证视频的服务质量。1.3.2 MPEG-x标准1.MPEG-1标准

MPEG-1是1992年ISO活动图像专家组(MPEG)制定的第一个活动图像及其伴音的压缩、解压缩及编码描述的国际标准——“高于1.5Mb/s数字存储媒体上的活动图像及其伴音的编码(ISO/IEC11172)”。MPEG-1主要包括系统、视频、音频、一致性、参考软件等5部分,这里仅简要介绍视频部分。

MPEG-1的目的是满足各种存储媒体对压缩视频的统一格式的需要,可用于对普通视频进行压缩处理,以1.5Mb/s左右的码率提供连续的、活动图像的编码表示,最普及的应用如VCD、视频会议、视频监控、计算机存储等。

MPEG-1的压缩原理、系统构成和主要技术基本上和H.261相差无几,不同之处在于引入了4种编码帧:I帧、P帧、B帧和D帧。其中I帧和P帧相当于H.261中的帧内编码帧和帧间预测帧。B帧是双向预测帧,能提供最大限度的压缩,它需要过去和将来的参考帧(I帧或P帧)进行双向运动估计和补偿,但它本身不能用作预测参考帧。D帧为仅含DCT的直流分量,用它可提供一种简单而具有一定质量的快进模式。2.MPEG-2标准

MPEG-2标准是MPEG于1995年推出的第二个国际标准——“通用的活动图像及其伴音的编码(ISO/IEC 13818)”。它主要包括系统、视频、音频、一致性、参考软件、数字存储媒体的命令与控制(DSM-CC)、高级音频编码、10bit视频编码、实时接口和DSM-CC的一致性等10个部分。

对于视频部分,它和ITU-T的H.262标准等同,作为一个通用的编码标准,它的应用范围更广,如标准数字电视(SDTV)和高清晰度电视(HDTV)等。MPEG-2包括了MPEG-1的工作范围,使MPEG-1实际上成为它的一个子集,即MPEG-2的解码器可以对MPEG-1的码流进行解码。MPEG-2的主要改进之处在于:(1)区分视频场和帧。在MPEG-2中,为了更好地适应隔行扫描视频信号的特点,在DCT、预测和运动估计算法中对帧和场进行了不同的处理。(2)编码的可分级性。为了扩大应用范围并增强对各种信道的适应性,MPEG-2引入了三种编码的可分级性,即空间可分级性、时间可分级性及信噪比(SNR)可分级性编码。3.MPEG-4标准

MPEG-4(ISO/IEC 14496)是MPEG于1999年颁布的一个适应各种多媒体应用的标准——“视听对象的编码”。它主要包括系统、视觉信息、音频、一致性、参考软件、多媒体传送集成框架、优化软件、IP中的一致性、参考硬件描述和AVC等10部分。和MPEG-1、MPEG-2不同,MPEG-4不仅着眼于定义不同码流下具体的压缩编码标准,更多地强调多媒体通信的灵活性和交互性,形成了MPEG-4最为突出几个概念。

1)自然视频的编码

MPEG-4同时支持自然和合成可视信息(如图形、计算机动画等)的编码。对于自然视频的编码,MPEG-4仍然采用预测、变换同时使用的混合编码框架。在此基础上还提供一些高层次的编码方法,如基于内容的编码,允许对任意形状视频对象进行的编码。

2)基于对象的编码

MPEG-4的编码是基于对象(Object Based)的编码方式,不同的对象可以采用不同的编码工具。在MPEG-4中任何一个场景被理解为若干视频对象(Video Object,VO)的组成。它们是一个矩形的视频帧或其中的一部分。在某个时刻的VO被称为VOP(Video Object Plane)。各VOP的空间和时间上的关系用结构文本来描述。图1.12(a)是一个简单场景的例子,它包括三个对象:VOP0(背景)、VOP1(树)、VOP2(人)。图(b)是三个对象在场景中组成的逻辑关系。根据需要,一个VO还可作进一步分解,如图中VOP1可以分成树冠和树干等。图1.12 MPEG-4的场景结构

3)编码工具集

MPEG-4为视听信息编码提供了一个包含多种工具和多种算法的工具集,对各种应用提供不同的解决方法,供用户选择。工具集可以不断地扩充进新的编码工具,甚至用户自己的编码方法也可放入工具集。这样,使得标准可随时赶上技术的发展并保持长时间有效。

4)场景描述

MPEG-4规定了各种音视频对象的编码,除了包括自然的音视频对象以外,还包括图像、文字、2D和3D图形及合成话音和音乐等。MPEG-4通过场景描述(Scene Description)信息,即各种对象的空间位置和时间关系等,建立一个多媒体场景,并将它与编码的对象一起传输。由于对各个对象进行独立的编码,可以达到很高的压缩效率,同时也为在接收端根据需要对内容进行操作提供了可能,因此适应多媒体应用中的人机交互的要求。4.MPEG-RVC标准

在2006年ISO/MPEG正式确定了MPEG可重定义视频编码(Reconfigurable Video Coding,RVC)标准的制定工作,并对其进行了结构说明和需求分析。随后在2008年分布了RVC白皮书,2009年颁布了RVC 标准第1版,2011年正式颁布RVC。

MPEG-RVC旨在制定规范化的视频标准,模块化的编解码工具,可针对不同视频应用领域(如数字电视、IPTV、DVD、卫星电视、手机电视、网络流媒体等)和不同的环境提供可配置的视频编解码方案;建立基于MPEG标准的编解码工具集的共享机制,促进MPEG多媒体中间件的发展,提供多种基于编码器的硬件描述方式,并能实现对非MPEG系列标准的支持。

MPEG-RVC标准主要包括两部分:第一部分提供具有标准接口的视频编码工具,定义它们为功能单元(Functional Units,FUS)。第二部分建立机器可读的解码器描述机制。在合理划分功能模块的基础上,可实现对现有MPEG系列编解码标准的技术分解,按照最小公约数理论将各标准逐一分类,组成编解码工具集。

一个典型的MPEG-RVC视频编解码流程如图1.13所示,可简单理解为在全局控制单元(Global Control Unit,GCU)控制下的模块化功能单元的联合工作结果,具体步骤如下。图1.13 RVC编/解码应用流程(1)发送端:根据具体视频编/解码要求,运用基于编码工具集的视频编码技术设计编码器;运用标准视频解码技术设计出相应解码器;建立标准的解码器描述。(2)传输通道:将解码器描述发送给接收器。(3)接收端:根据收到的解码器描述,在本地视频编/解码工具中选择相应的功能单元(FUS)配置解码器;建立解码程序算法;生成全局控制单元(GCU);建立GCU和FUS的联系。(4)编码器开始实际传输编码视频流。(5)解码器开始解码。

MPEG-RVC标准框架的提出,可消除各种视频编码标准之间的格式壁垒,有望通过对统一的编/解码工具集中不同功能单元的组合,实现对MPEG系列及非MPEG系列视频标准的编/解码应用,提供统一的视频编/解码技术平台,降低新技术研发成本,简化设备复杂度,消除因标准不同而导致的视频编/解码的不可兼容性,提高新一代视频标准的推广速度,更好地适应当前市场发展需要。1.3.3 AVS标准

基于我国自主创新技术和国际公开技术所构建的音视频编码标准(Audio Video coding Standard,AVS)的正式名称是“信息技术先进音视频编码”,包括系统、视频、音频和数字版权管理等4类技术和性测试等共计多个部分。最早的标清AVS第2部分“视频”于2006年3月成为国标颁布实施(GB/T 20090.2—2006)。后续开发的用于高清的AVS标准已于近期完成,并成为IEEE1857广播组标准,同时也是AVS标准的P16部分。

AVS视频与现有国际标准H.264相比,性能相当,在技术上处于国际先进水平。但是,AVS方案简洁,编码复杂度相当于H.264的30%,解码复杂度相当于H.264的70%。

AVS视频遵循当前主流的技术路线,采用混合编码框架,包括变换、量化、熵编码、帧内预测、运动估计、帧间预测,以及环路滤波等技术模块。不同之处在于AVS提出了一批具体的优化技术,降低了编码复杂度。这些改进的技术主要包括8×8整数变换、量化、帧内预测、1/4精度像素插值、特殊的帧间预测运动补偿、二维熵编码和去块效应环内滤波等。

下面简单介绍一下AVS帧内预测模式和多模式运动估计,仅从以下两点就可以看出它和H.264的不同之处。(1)帧内预测。AVS视频的帧内预测基于8×8块大小,亮度分量只有5种预测模式,降低了帧内预测模式选择的计算复杂度,但性能与H.264十分接近。除了预测块尺寸及模式种类的不同外,AVS视频的帧内预测还对相邻像素进行了滤波处理以去除噪声。(2)多模式运动补偿。可变块大小的运动补偿是提高运动预测精确度的重要手段之一,对提高编码效率有重要作用。AVS将最小宏块划分为8×8,这一限制大大降低了编/解码器的复杂度。这是因为小于8×8块的运动估计模式对低分辨率编码效率影响较大,而对于高分辨率编码则影响甚微,实验数据表明,去掉小于8×8块的运动预测模式,整体性能降低2%~4%,但其编码复杂度则可降低30%~40%。1.3.4 VC-1标准

VC-1是2003年微软公司在WMV 9(Windows Media Video 9)的基础上提出的一种新的视频压缩编码标准,并于2006年由SMPTE(美国电视电影工程协会)正式颁布。VC-1标准整合了MPEG和H.264的优点,复杂度比H.264低,压缩率与H.264接近,现在已广泛应用于数字视频压缩领域。

VC-1视频编码框图如图1.14所示,它与H.264、MPEG-4类似,也是采用基于块运动估计预测和空间变换的混合编码技术。VC-1编码器采用运动估计技术,在参考帧中选择最佳匹配块,计算运动矢量,利用运动矢量实现块的运动补偿,然后计算匹配块与实际块的差值,形成残差块,然后对残差块进行变换、量化及熵编码。与H.264不同的是,VC-l帧内预测是在DCT域中进行的,且熵编码采用的是自适应变长编码(Adaptive VLC),而不是CAVLC 或CABAC方式。图1.14 VC-1编码器框图

对于解码器而言,则是对变换系数进行熵解码、反量化及反变换,恢复出残差块,再加上运动补偿出的预测块,最终重构原始图像。

和H.264相比,VC-1视频编码具有以下几个特点。(1)为减小缓存容量,VC-1的帧间预测参考帧只有一帧,即前一帧的重建帧。(2)VC-1对于帧内宏块采用固定的8×8块的变换方式;而帧间宏块则采用自适应分块变换技术,可将8×8块进一步划分为更小的子块,如8×4、4×8、4×4等。VC-1的变换是一种近似DCT的整数变换,算法复杂度较低。(3)VC-1的熵编码采用多码表方式的变长编码,对不同的数据,如量化后的变换系数、运动矢量、编码块模板、宏块编码模式标志等,

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载