织梦CMS - 轻松建站从此开始!

罗索

视频压缩编码问与答

jackyhwei 发布于 2010-11-19 17:23 点击:次 
这篇文章原本来自华为N年前的网站,现在已经找不到了,所以这篇文章相关的图片也一张都没有了,但鉴于文章内容说明相对比较“官方”,可信度比较高,所以我就继续收藏下来。供各位参考。
TAG:

落鹤生:这篇文章原本来自华为N年前的网站,现在已经找不到了,所以这篇文章相关的图片也一张都没有了,但鉴于文章内容说明相对比较“官方”,可信度比较高,所以我就继续收藏下来。供各位参考。

1、什么是H.261编码协议
答:H.261是最早出现的视频编码建议,它采用的算法结合了可减少时间冗余的帧间预测和可减少空间冗余的DCT变换的混合编码方法,其输出码率是p×64kbit/s。p取值较小时,只能传清晰度不太高的图像,适合于面对面的电视电话;p取值较大时(如 p>6),可以传输清晰度较好的会议电视图像。该标准主要针对ISDN电话线的视频会议,可视电话等,ISDN的基本速率为64kbps,可以使用多路复用(p×64kbps)。

2、什么是H.263编码协议?
答: 1996年3月ITU-T制定的H.263标准是一种用于低比特率视频业务中运动图像部分的压缩编码方法。视频编码算法的基本思想是基于ITU-T的H.261标准,把减少空间冗余的帧内预测法和减少时间冗余的变换编码法结合起来。编码器有运动补偿能力,并有一些功能、编码方法选项。与采用全象素精度和一个环形滤波器的H.261标准的运动补偿比较,H.263标准采用了半象素精度位移估值。除了基本的视频源编码算法外,为了改善性能,它包含4个可选的编码方案:非限制运动矢量,先进预测模式,PB帧模式和基于语法的算术编码。H.263是对原有标准的修订和改进,包括图像格式、总开销和减少方块效应等。尽管这些选项使编码器复杂,但能显著改善图像的质量。
为了提高编码效率,1997年9月ITU-T又制定了H.263+(H.263的第二版)标准,它是兼容H.263的。H.263+能更好的提高恢复图像的质量和压缩性能,有广阔的应用前景。H.263+在H.263的基础上实施了许多改进,它允许使用更多的图像格式、图像形状和时钟频率。这就增加了H.263+应用的灵活性。另外,图像大小、形状和时钟频率可以在H.263+的比特流中给出。H.263+在H.263的基础上的另一个重要改进是采用可放缩性,它能提高视频信息在易出错、数据丢失或不同环境中的传输正确率,进一步限制图像

3、什么是H.264(MPEG-4 Part 10) 编码协议?其技术亮点是什么?
答: H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T的H.264(MPEG-4 Part 10) ,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的 JVT第5次会议通过了H.264(MPEG-4 Part 10) 的FCD板。
H.264(MPEG-4 Part 10) 和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用“回归基本”的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。
在技术上,H.264(MPEG-4 Part 10) 标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。这些措施使得H.264(MPEG-4 Part 10) 算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264(MPEG-4 Part 10) 的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。

技术亮点:

(1)分层设计


H.264(MPEG-4 Part 10) 的算法在概念上可以分为两层:视频编码层(VCL:Video Coding Layer)负责高效的视频内容表示,网络提取层(NAL:Network Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。

(2)高精度、多模式运动估计

H.264(MPEG-4 Part 10) 支持1/4或1/8像素精度的运动矢量。在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。在进行运动估计时,编码器还可选择“增强”内插滤波器来提高预测的效果。

(3)4×4块的整数变换

H.264(MPEG-4 Part 10) 与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有“变换误差”。变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。

(4)统一的VLC

H.264(MPEG-4 Part 10) 中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLC(UVLC :Universal VLC),另一种是采用内容自适应的二进制算术编码(CABAC:Context-Adaptive Binary Arithmetic Coding)。CABAC是可选项,其编码性能比UVLC稍好,但计算复杂度也高。UVLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。这种方法很容易产生一个码字,而解码器也很容易地识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。

(5)帧内预测
在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264(MPEG-4 Part 10) 中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。

(6)面向IP和无线环境
H.264(MPEG-4 Part 10)  草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。 

4、什么是视频前处理技术?
答: 视频前处理过程首先将复合的模拟视频信号数字化后,分离出亮度信号和色度信号,再滤掉信号中的噪声,转换为世界通用的中间格式CIF或QCIF。该过程还可解决亮度与色度信号串扰,减少叠折干扰的作用。
视频信号在存储、传输过程中都可能会受到噪声的干扰。信源的质量对后面的压缩编码部分的性能有重要影响,在系统设计时必须考虑到这一点,尤其在编码的输出目标码率较低时这一点显得更为重要。噪声增加了输入端的信息量,而且图象的相关性减弱,使得后续的压缩编码较为困难。最坏情况时只有一小部分输出码率用于传送信号的信息,大部分则消耗在噪声信息的传送上。这时恢复信号的SNR往往要较信源噪声较小的图象恢复的情况要坏得多。

分析表明,信源的信噪比对于混合编码器的性能有很大影响。Junji Kumada曾经计算了混合编码器的率失真函数(RDF)和输入信号信噪比的关系。率失真函数在理论上给出了在一定失真的情况下,信源编码所需的最低信息速率。该值与信源本身的功率密度谱(PSD)有关。
不同输入信噪比条件下的编码器的率失真函数曲线如下图所示。假定图象序列相邻象素的相关系数为0.95。可以看出,信源的SNR对于编码器的性能有很大影响:在信源SNR为30dB时,若要保证输出信噪比为50dB至少需要4比特/象素,而信源没有噪声干扰时则仅需2比特/象素,所需编码比特数增加一倍。 
因此,为提高压缩编码的性能,有必要对混杂噪声的信号进行滤波。常用的滤波方法包括线性和非线性滤波。中值滤波属于非线性滤波,它被认为是消除脉冲干扰的有效手段,但对一些其他类型的干扰,如高斯分布的噪声,其效果则近似于一个低通滤波器。常用的线性滤波器是FIR滤波器,这类滤波器通常用来对信号进行限带处理。 
在图象处理中广泛采用二维滤波器,这是因为一般而言图象信号水平和垂直方向都有较强的相关性,但把一维中值滤波器简单地推广到二维,效果却不是很好,该滤波器在平滑噪声的同时,也去掉了一定的图象细节。因此人们提出了很多种改进的滤波器,用来保留图象的细节。栈滤波器(中值滤波器)便是其中的一种。当然,考虑到实现上的简单性,一般采用一维滤波器。

6、图象数据压缩基本方法有哪些?
 
答:

     1)预测编码 

        预测编码旨在去除相邻像素之间的冗余度,差分脉码调制(简称DPCM)是它的一种基本方法。DPCM的原理方块图如图1(a)所示: 

        ——输入信号x(n)是量化前的图像信号取样值,虚线框内的电路称为预测器,其中Di和ai(i=1,2,……,N)分别为延迟单元和固定的加权系数值,Q为量化器。预测器根据前N个邻近像素的样值推算出当前样值x(n)的估计值 
       
        其中τ为取样间隔。编码器对预测误差信号进行量化、编码传送,而不是传送x(n)本身。由于相邻像素之间相关性,预测值接近于x(n)。因此,通过预测将x(n)转换成e(n),在很大程序上降低了信源的冗余。用量化台阶相同的量化器量化e(n),所需的量化电平数要大大少于x(n),这便是通过DPCM进行数据压缩的基本原理。在解码端利用一个相同的预测器,可以恢复出原信号x(n)的近似值y(n),其误差是由于对e(n)的均方值最小。此时的预测器称为最佳预测器。 

         如果用作预测的像素与被预测像素X在同一扫描行内(如图(b)中的x1,x2),称为一维预测;当用作预测的像素位于相邻的不同扫描行上时(如图(b)中的x3,x4)则称为二维预测。

2)变换编码

        变换编码也是一种降低信源空间冗余度的压缩方法。我们熟悉的富氏变换就是一种正交变换。如果把取样后的图像看作一个二维的矩阵,对此矩阵作二维离散富氏变换(DFT),所得到的变换域中的各元素(变换系数),对应着图像中不同频率成份的复振幅值。由于画面在内容上的连续性,图像矩阵中相邻元素之间的相关性很强,而经变换后,变换系数(不同频率的复振幅)值之间,显然相关性要小得多。研究证明,各种正交变换(例如,K-L变换,余弦变换,沃什变换等)都能在不同程度上减少随机向量的相关性。由于变换所产生的变换系数之间的相关性很小,可以分别独立地对其进行处理;而且信号经大多数正交变换后,能量都集中在少数系数上,通过量化删去对图像信号贡献小的系数,只用保留下的系数来恢复原图像,并不引起明显的失真。这就是利用正交变换进行数据压缩的基本原理。 

        在最小均方误差准则下,最佳的正交变换是卡南-洛伊夫(K-L)变换,它所给出的变换系数是互不相关的。但是由于计算的复杂性,K-L变换的实际应用甚少。离散余弦变换(DCT)是一种性能接近K-L变换的正交变换,并具有多种快速算法,因而在数据压缩中被广泛地采用。一个N×N的二维DCT由下式定义: 
 
 3) 量化 

         DPCM将像素值转换为预测误差值e(n);DC将像素值转换为DCT系数值,二者都仅仅是变换一种形式来表达原来用像素值表示的图像。只有在对预测误差,或对DCT系数进行量化时,才引入信息的损失。在同样的信噪比下,对转换后的参数进行量化所得到的数据率比对原图像量化要低,从而达到压要取得好的压缩效果,DPCM量化器的设计要与e(n)的统计特性相匹配。同时,考虑到视觉的空间掩蔽效应,在亮度变化密集的局部区域,还可以使用较大的量化台阶,以进一步提高压缩比。 

         DCT系数的理化与DPCM不同,DPCM中量化误差只影响与误差产生点相邻的像素,而某个DCT系数的量化误差,经反变换后会影响到整块图像中的每一个像素值。幅度很小的高频DCT系数量化后为0,可以忽略。由于人眼对高频分量的不敏感,忽略高频分量后所恢复的图像,仍有较高的质量。剩余的DCT系数,相互之间的相关性已经很小,可以根据各个系数对视觉影响的大小,分别采用不同大小的台阶量化。为简化系统起见,通常的作法是,将各个系数乘以不同的权值以后,用同一个量化器量化。

        ——为了充分地利用视觉的空间掩蔽效应,提高压缩比,无论是DPCM,还是DCT系数的量化器都可以通过动态的自适应量化器来实现。自适应量化器有一组预先设定好的量化台阶,根据检测到的图像细节丰富程度,量化器自动选用相应的量化台阶。

4) 熵编码

        熵编码旨在去除信源的统计冗余信息,霍夫曼编码是最常见的熵编码方法。我们用下面的例子来说明它的基本概念。假设经量化后,信源输出4种电表站,分别用Si(i=1,2,3,4)表示。每种电平出现的概率如表1中第2行所示。为了便于存储和传输,我们用0和1两个符号来代表这4种电平,这个过程称为编码。通常的编码方式如表1的第3行所示,每个电平都用一个等长的码字表示。 
           
        霍夫曼码的基本思想是,对出现概率较大的符号(电平)取较短的码,而对概率较小的符号则取较长的码,因此它是一种变长码。表1的第4行给出了对应于本例的码字。假设信源输出的序列如(5)式所示,用上述两种编码得到的码流分别如(6)和(7)式所示。
   
        原信源输出序列 S1   S2   S1   S3   S2   S1   S1   S4 (5)
        
        等长编码序列 00   01   00   10   01   00   00   11 (6)
        
        霍夫曼编码序列 0   10   0   110   10   0   0   111 (7)

        可以看出,表示这一段符号等长码需要16bit,而霍夫曼码只需要14bit。霍夫曼编码能够进行数据压缩的原因在于,总将原信源符号转换成新的符号(0,1),而新符号出现的概率相等,不存在统计冗余,这可以从(7)式中0和1出现的频率相同得到验证。

        常用的熵编码还有算术编码,仙农码和游程编码等。所有这些编码方式都不引起信息的损失,因而称为无损编码。

5)具有运动补偿的帧间预测编码

(1)序列图像的运动估值


        消除序列图像在时间上的冗余,是视频编码的另一重要途径。序列图像的时间冗余表现在:

  • (1)对于静止的场景,当前帧和前一帧是完全相同的;
  • (2)对于运动的物体,只要知道其运动规律,就可以从前一帧图像推算出它在当前帧中的位置来。因此,编码器只要将物体的运动信息(运动速度,或静止)告知解码器,解码器就可根据此信息和前一帧图像来更新当前图像,这比传送当前图像所需的数据量要小得多。而要这样做,一个首先要解决的问题是如何从序列图像中提取有关物体的运动信息,这通常称为运动估值。

        比较成熟的估值方法主要分为两大类:块匹配方法和像素递归法。两类方法都只估计物体的平移,其中块匹配方法应用比较广泛。 

         块匹配方法将图像划分成许多方块,并认为每个子块中所有像素的位移量都相同。对于第k帧中的每一子块,在第K-1帧中找到与其最相似的子块,称为匹配快。匹配块偏离原来位置的距离(见图2(a))决定了该子块的位移矢量(或称运动矢量)D。 

       
         判断两个子块匹配最常用的准则是求帧间亮度差的绝对值的均值MAD: 
   
        其中bk和bk-1分别代表k和k-1帧的像素亮度值,M、N为子块的水平和垂直像素数,dM为最大可能平移的水平和垂直像素数(见图2(b))。当MAD最小时,表示两个子块匹配。

        为了寻找最佳匹配块,我们需要将k-1帧中对应的子块沿水平和垂直方向逐个像素移动,每移动一次计算一次MAD由图2(b)看出,在(M+2dM)×(N+2dM)的搜索范围内,总的移动次数为(2dM+1)2。这种搜索方式称为全搜索,其运算量是很大的。为了加快搜索过程,人们已经提出了若干不同的搜索方法。

(2)帧间预测编码

        帧间预测与消除空间冗余的预测编码相类似,即不直接传送当前帧(k帧)的像素值x,而是传送x与前一帧的对应像素x'之间的差值(见图2(a))。考虑到图像中存在着运动物体,我们传送x与前一帧经位移后所对应的像素x''之间的差值,这种方法称为具有运动补偿的帧间预测。显然,它给出的预测误差要比简单的帧间预测低,因而可以达到更高的压缩比。需要指出,在传送经运动补偿的帧间预测误差的同时,还需将该子块对就的运动量传送给解码器,以便解码器能够从已收到的前一帧(k-1帧)信息中恢复出该子块来。

      用k-1帧预测k帧图像的方式称为前向预测。如果待测子块在k-1帧,而搜索区处在k帧,也就是从后续的k帧预测前面的k-1帧图像,这种方式称为后向预测。为了提高压缩比,往往还采用由前、后两帧来预测中间帧的方法,称为双向预测,此时有两个运动矢量需要作为附加信息传送给解码器。

6)其他编码方法


        其他的压缩编码方式,例如,子带滤波/小波变换,矢量量化,分形编码及基于模型的编码等,在这里不一一介绍。

音频压缩编码

1、什么是语音编码技术?其发展与现状是怎样的?

        答: 语音信号的数字化传输,一直是通信的发展方向之一。采用低速率语音编码技术进行语音传输比语音信号模拟传输有诸多优点,现代通信的发展趋势决定了语音编码技术的两大突出优势:

  • 大大节省了带宽。从最初的PCM64k编码到现在标准语音压缩协议,如G.723编码速率为5.3K或6.3Kbps;G.729编码速率为8Kbps。还有未形成协议标准但更低的编码速率已有成熟的算法可以实现,如AMBE、CELP、RELP、VSELP、MELP、MP-MLQ、LPC-10等多种语音压缩算法,最低编码速率达到2.4kbps,有些算法已在包括第三代移动通信系统(3G)的多个领域得到应用。
  • 便于实现与IP融合。Internet的成功运用使得与IP的融合已成必然的发展趋势。分组语音即将分组交换的概念与语音传输相结合,使得语音信息更易于接入IP网。而分组语音的关键技术之一就是语音编码技术,低速率的语音编码技术对语音信息的实时性有更好的保证。采用分组语音传输的网络,其传输的语音信息本身就是分组数据包,这样的语音信息在接入Internet时将是非常的方便。

        语音编码既可用软件也可用硬件的方法实现。软件实现就是将压缩算法用软件方法实现,这样做的好处是成本低、修改方便灵活,但处理速度较慢,不易保证处理的实时性。采用硬件实现就是将语音压缩算法固化到专用DSP芯片中,这样处理速度快,便于实时处理。

2、1.1.2 什么是G.711编码?

        答: G.711建议一种典型的采用PCM波形编码的压缩编解码方法,可以获得较高的语音质量,但数据压缩率低。

        G.711建议描述了PCM的μ律(A律)压缩,如下图所示: 
      
        采样率为8kHz,12bit线性A/D变换为数字信号,再经过对数PCM后压缩为8bit,一路音频为64kbit/s。

音频压缩技术

1、音频信号的指标有哪些? 
        答: 1)频带宽度:音频信号的频带越宽,所包含的音频信号分量越丰富,音质越好。 
         
        2)动态范围:动态范围越大,信号强度的相对变化范围越大,音响效果越好。   
        
        3)信噪比:信噪比SNR(Signal to Noise Ratio)是有用信号与噪声之比的简称。 噪音可分为环境噪音和设备噪音。信噪比越大,声音质量越好。 
                
        4)主观度量法:人的感觉机理对声音的度量最有决定意义。感觉上的、主观上的测试是评价声音质量不可缺少的部分。当然,可靠的主观度量值是较难获得的。

2、 什么是音频数字音频原理?

        答:  由于音频信号是一种连续变化的模拟信号,而计算机只能处理和记录二进制的数字信号,因此,由自然音源而得的音频信号必须经过一定的变化和处理,变成二进制数据后才能送到计算机进行再编辑和存贮。
    
        PCM(Pulse Code Modulation)脉冲编码调制是一种模数转换的最基本编码方法。它把模拟信号转换成数字信号的过程称为模/数转换,它主要包括:

  • 采样:在时间轴上对信号数字化;
  • 量化:在幅度轴上对信号数字化;
  • 编码:按一定格式记录采样和量化后的数字数据。 

   
        编码的过程首先用一组脉冲采样时钟信号与输入的模拟音频信号相乘,相乘的结果即输入信号在时间轴上的数字化。然后对采样以后的信号幅值进行量化。最简单的量化方法是均衡量化,这个量化的过程由量化器来完成。对经量化器A/D变换后的信号再进行编码,即把量化的信号电平转换成二进制码组,就得到了离散的二进制输出数据序列x ( n ),n表示量化的时间序列,x ( n )的值就是n时刻量化后的幅值,以二进制的形式表示和记录。 (秩名)

本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201011/10500.html]
本文出处:华为 作者:秩名
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容