
《多媒体音视频技术资料》由会员分享,可在线阅读,更多相关《多媒体音视频技术资料(118页珍藏版)》请在文档大全上搜索。
1、欢迎各位专家批评指正多媒体音视频技术p1 1、多媒体音频技术、多媒体音频技术p2 2、多媒体视频技术、多媒体视频技术p3 3、多媒体音视频技术的应用、多媒体音视频技术的应用第1章 多媒体音频技术1.1. 音频基础音频基础2 2、数字音频压缩标准、数字音频压缩标准3.3. 音频处理音频处理4. 4. 音频技术的发展趋势音频技术的发展趋势1.1 音频基础1.1.1 1.1.1 声音的基本概念声音的基本概念p声音在物理学上称之为声波,是通过一声音在物理学上称之为声波,是通过一定介质(如空气、水等)传播的连续的定介质(如空气、水等)传播的连续的振动的波。振动的波。p声波引起某处媒质压强的变化量称为该声
2、波引起某处媒质压强的变化量称为该处的声压。处的声压。p声音的强弱声音的强弱体现在声波的振幅上体现在声波的振幅上p音调的高低音调的高低体现在声波的周期和频率上。体现在声波的周期和频率上。 声音的频率p声源每秒振动的次数称为该声源的声源每秒振动的次数称为该声源的“频频率率”。p用音频来表示声音信号的频率,单位为用音频来表示声音信号的频率,单位为赫兹(赫兹(HzHz)。)。u频率对于声音来说是个非常重要的概念,不频率对于声音来说是个非常重要的概念,不同的声音有不同的频率范围,人耳只能听到同的声音有不同的频率范围,人耳只能听到频率范围在频率范围在20Hz20Hz20kHz20kHz之间的声音,低于之间
3、的声音,低于2 20Hz0Hz的次声和高于的次声和高于20kHz20kHz的超声都听不到。的超声都听不到。 次声波次声波可听声波可听声波超声波超声波20Hz20Hz20kHz20kHzf(Hz)f(Hz)1.1.2声音质量的标准p声音效果的三要素:音调、音强、音色。声音效果的三要素:音调、音强、音色。p音调:指声音的高低。音调的高低,主音调:指声音的高低。音调的高低,主要取决于声波频率的高低。频率越高,要取决于声波频率的高低。频率越高,音调越高,反之亦然。音调越高,反之亦然。p在使用音频处理软件对声音的频率进行在使用音频处理软件对声音的频率进行调整时,其音调也会随之产生变化。例调整时,其音调也
4、会随之产生变化。例如,男子发音,其频率约在如,男子发音,其频率约在9090140Hz140Hz之之间,其音调较低;女子发音的频率约在间,其音调较低;女子发音的频率约在2 27070550Hz550Hz之间,其音调较高。之间,其音调较高。声音质量的标准p音强:是指声音的强度,又称声音的响音强:是指声音的强度,又称声音的响度,由声波振动的振幅决定。它是人耳度,由声波振动的振幅决定。它是人耳感受到的声音强弱,是人对声音大小的感受到的声音强弱,是人对声音大小的一个主观感觉量。一个主观感觉量。p音色:即声音的品质,它由泛音的多少、音色:即声音的品质,它由泛音的多少、泛音的频率和振幅决定。例如,不同的泛音
5、的频率和振幅决定。例如,不同的乐器在基本振动频率相同的情况下,仍乐器在基本振动频率相同的情况下,仍然可以区分各自的特色,就是因为它的然可以区分各自的特色,就是因为它的音色不同。音色不同。声音质量的标准p“音质音质”是声音的质量,音质的好坏与是声音的质量,音质的好坏与音色的频率范围有关。音色的频率范围有关。p影响音质的因素影响音质的因素 对于数字音频信号,音质的好坏与数据采对于数字音频信号,音质的好坏与数据采样频率和数据位数有关。样频率和数据位数有关。 音质与声音还原设备有关。音质与声音还原设备有关。 音质与信号噪声比有关。音质与信号噪声比有关。 声源声波传声器模拟电信号数字声音声音输入到计算机
6、的过程 1.2 音频编解码技术 1.2.1 数字音频 1.2.2 音频压缩技术 1.2.1 数字音频 声波是随时间而连续变化的物理量,通过能量转换装置,可用随声波变化而改变的电压或电流信号来模拟。以模拟电压的幅度来表示声音的强弱。为使计算机能处理音频,必须对声音信号数字化。(1). 采样和量化 (2). 影响数字音频质量的技术参数(3). 数字音频文件的存储量 (4). 数字音频信号的编码 1.2.1 声音的数字化 奈奎斯特(Nyquist)理论u采样频率与声音频率之间有一定的关系,只有采样频率高于声音信号最高频率的两只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成倍时
7、,才能把数字信号表示的声音还原成为原来的声音为原来的声音。采样采样量化量化声音的模拟信号声音的模拟信号声音的数字信号声音的数字信号编码编码2f2ff fs s(1). 采样和量化 (c) 采样信号的量化(a) 模拟音频信号(b) 音频信号的采样数字化音频的过程如下图所示。2). 量化位数量化位数也称“量化精度”,是描述每个采样点样值的二进制位数。就是通常所说的声卡的位数。例如,8位量化位数表示每个采样值可以用28即256个不同的量化值之一来表示,而16位量化位数表示每个采样值可以用216即65536个不同的量化值之一来表示。常用的量化位数为8位、12位、16位、32位。 量化是将经过采样得到的
8、离散数据转换成二进制数的过程。3). 声道数声音通道的个数称为声道数,是指一次采样所记录产生的声音波形个数。记录声音时,如果每次生成一个声波数据,称为单声道;每次生成两个声波数据,称为双声道(立体声)。随着声道数的增加,所占用的存储容量也成倍增加。(2). 影响数字音频质量的技术参数对模拟音频信号进行采样量化编码后,得到数字音频。数字音频的质量取决于采样频率、量化位数和声道数三个因素。1). 采样频率采样频率是指一秒钟时间内采样的次数。在计算机多媒体音频处理中,采样频率通常采用三种:11.025KHz(语音效果)、22.05KHz(音乐效果)、44.1KHz(高保真效果)。常见的CD唱盘的采样
9、频率即为44.1KHz。(3). 数字音频文件的存储量 以字节为单位,模拟波形声音被数字化后音频文件的存储量(假定未经压缩)为:存储量=采样频率量化位数/8声道数时间例如,用44.1KHz的采样频率进行采样,量化位数选用16位,则录制1秒的立体声节目,其波形文件所需的存储量为:4410016821=176400(字节)质量等级质量等级采样频率采样频率/ /KHzKHz量化精度量化精度/ /b b声道数声道数/ /个个数码率数码率/kb/kbpsps记录内容记录内容电话电话8 88 8单声道单声道6464简单的声简单的声音音AMAM(可接(可接受的音乐)受的音乐)11.02511.0258 8单
10、声道单声道88.288.2长音乐片长音乐片段、高质段、高质量语音量语音FMFM(收音(收音音质)音质)22.0522.051616双声道双声道705.6705.6短的高质短的高质量音乐片量音乐片段段CDCD(CDCD音音质)质)44.144.11616双声道双声道1411.21411.2高保真音高保真音乐和声音乐和声音DAT(DAT(广播广播质量质量) )48481616双声道双声道15361536记录数字记录数字媒体的广媒体的广播使用播使用 (4). 数字音频信号的编码 一般情况下,声音的制作是使用麦克风或录音机来产生,再由声卡上的WAVE合成器的(模/数转换器)对模拟音频采样后,量化编码为
11、一定字长的二进制序列,并在计算机内传输和存储。在数字音频回放时,再由数字到模拟的转化器(数/模转换器)解码可将二进制编码恢复成原始的声音信号,通过音响设备输出。如下图所示。模拟音频信号输入采样/量化编码传输/存储解码播放数字波形文件数据量大,数字音频的编码必须采用高效的数据压缩编码技术。音频信号能够被压缩编码的依据有两个,一是声音信号存在着数据冗余;二是利用人的听觉特性来降低编码率,人的听觉具有一个强音能抑制一个同时存在的弱音现象,这样就可以抑制与信号同时存在的量化噪声;另外人耳对低频端比较敏感,而对高频端不太敏感,由此引出了“子带编码技术”。音频信号的压缩编码方式可分为波形编码参数编码和混合
12、编码三种。音频信号压缩技术音频信号压缩技术1). 波形编码波形编码的算法简单,易于实现,可获得高质量的语音。常见的三种波形编码方法为:脉冲编码调制(PCM),实际为直接对声音信号作AD转换。只要采样频率足够高,量化位数足够多,就能使解码后恢复的声音信号有很高的质量。差分脉冲编码调制(DPCM),即只传输声音预测值和样本值的差值以此降低音频数据的编码率。自适应差分编码调制(ADPCM),是DPCM方法的进一步改进,通过调整量化步长,对不同频段设置不同的量化字长,使数据得到进一步的压缩。波形编码我们最常用的G.711标准用的就是这个技术。自适应差分编码是利用过去的语音来预测当前的语音,只对它们的差
13、进行编码,从而大大减少了编码数据的动态范围,节省了码率。自适应量化技术是根据量化数据的动态范围来动态调整量阶,使得量阶与量化数据相匹配。G.726标准中应用了这两项技术,G.722标准把语音分成高低两个子带,然后在每个子带中分别应用这两项技术。参数编码方法通过建立起声音信号的产生模型,将声音信号用模型参数来表示,再对参数进行编码,在声音播放时根据参数重建声音信号。参数编码法算法复杂,计算量大,压缩率高,但还原声音的质量不高。参数编码混合编码混合编码是把波形编码的高质量和参数编码的低数据率结合在一起,取得了较好效果。它的特点它的特点是它工作在非常低的比特率是它工作在非常低的比特率( (4 4-
14、-16 16 kbpskbps) )。音频编码标准和算法编码编码类型类型算法算法名称名称数据率数据率标准标准应用应用质量质量波形波形编码编码PCMPCM均匀量化均匀量化公共网公共网ISDNISDN配音配音4.0-4.0-4.54.5(A) (A) (A)(A)64kbit/s 64kbit/s G.711G.711APCMAPCM自适应量化自适应量化DPCMDPCM差值量化差值量化ADPCMADPCM自适应差值量化自适应差值量化32kbit/s 32kbit/s G.721G.721SB-ADPCMSB-ADPCM子带一自适应差值量化子带一自适应差值量化64kbit/s 64kbit/s G.
15、722G.722参数参数 编码编码LPCLPC线性预测编码线性预测编码2.4kbit/s 2.4kbit/s 保密电话保密电话2.5-2.5-3.53.5混合混合 编码编码CELPCCELPC码激励码激励LPCLPC4.8kbit/s 4.8kbit/s 移动通信移动通信3.7-3.7-4.04.0VSELPVSELP矢量和激励矢量和激励LPCLPC8kbit/s 8kbit/s 语音邮件语音邮件 RPE-CELPRPE-CELP长时预测规则码激励长时预测规则码激励13.2kbit/s 13.2kbit/s ISDN ISDN LD-CELPLD-CELP低延时码激励低延时码激励LPCLPC1
16、6kbit/ 16kbit/ G.728G.728MPEGMPEG多子带感知编码多子带感知编码128kbit/s128kbit/sCD CD 5.05.0评价多媒体数据压缩方法的指标 1 1压缩压缩比比2 2压缩质压缩质量(失量(失真真度)度)3 3压缩与压缩与解解压压的速度的速度 3 音频处理技术p回声抵消回声抵消ECECp混音混音p背景噪声抑制背景噪声抑制ANSANSp自动增益控制自动增益控制AGCAGCp唇音同步唇音同步p包丢失隐藏包丢失隐藏PLCPLC回声抵消ECAEC(adaptive echo canceller)是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语
17、音模型,利用它对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的,AEC还将话筒的输入与扬声器过去的值相比较,从而消除延长延迟的多次反射的声学回声。根椐存储器存放的过去的扬声器的输出值的多少,AEC可以消除各种延迟的回声 。混音:混音就是把两个以上的声音(文件形式或码流形式)混合为一个。目前,混音主要有硬件合成和软件叠加这两种方法。为了防止混音后的溢出问题,一般采用的算法是累加取平均值,这种方法会产生声强失真现象。加权叠加的算法可以有效解决这个问题,加权系数的优化成为这个算法的关键。背景噪声抑制ANS背景噪音
18、抑制的英文缩写为ANS(Automatic Noise Suppression)。 ANS可探测出背景固定频率的杂音并消除背景噪音,例如:风扇、空调声自动滤除。呈现出与会者清晰的声音。自动增益控制AGCAGC可以自动调麦克风的收音量,使与会者收到一定的音量水平,不会因发言者与麦克风的距离改变时,声音有忽大忽小声的缺点。AGC可分为模拟AGC和数字AGC电路。AGC环路可以放在模拟与数字电路之间,增益控制算法在数字部分来实现,合适的增益设置反馈给模拟可变增益放大器(VGA)。AGC电路的实现有前馈、反馈和混合环路等三种唇音同步唇音同步是指语音和画面播放的时间差小于一定范围。它实际上是一个牵涉多种
19、技术的综合问题,包括编解码时延,网络QOS等等。这里只针对关键的一个因素进行阐述:Internet是基于分组交换的传输技术,因此会出现语音包不会等时到达目的地的现象,表现在语音不连贯。这就需要先对语音包进行排队,经过动态调整后使语音稳定输出。一般采用jitter buffer等技术,使语音流畅清晰。包丢失隐藏PLC包丢失隐藏(PLC)算法也被称为帧消除隐藏算法,它隐藏了音频系统的传输包丢失现象。很多基于CELP算法的语音编码器都把PLC算法写入它们的算法中。 PLC的目标:是产生一个合成的语音信号以替代在接收的码流中丢失(消除)的数据。理想情况下,合成的信号会有和丢失信号同样的音质和频谱特性,
20、并且不会产生不自然的伪音。PLC算法的依据:由于语音信号通常是局部静止的,所以可以利用以前的信号来产生对丢失语音段合理近似。PLC应用条件:丢失的包不是很长;丢失的包不发生在快速变化的区域内。在满足 PLC应用条件的前提下,包丢失可以完全被隐藏。 音频编解码的发展趋势1、音频编解码对抗丢包的能力的增加2、高保真高压缩率音频编码技术第二章多媒体视频技术p多媒体视频技术基础多媒体视频技术基础p视频编解码技术视频编解码技术1、基础知识视频的定义人类接受的信息70%来自视觉, 其中活动图像是信息量最丰富、直观、生动、具体的一种承载信息的媒体。视频(Video)就其本质而言,实际上就是其内容随时间变化的
21、一组动态图像(25或30帧/秒),所以视频又叫作运动图像或活动图像。RGB与YUV彩色模型pRGB分别代表红(Red)、绿(Green)、蓝(Blue)三种基本颜色。p电视机和计算机显示器使用的阴极射线管(Cathode Ray Tube,CRT)是一个有源物体。CRT使用3个电子枪分别产生红、绿和蓝三种波长的光(RGB三种电子束),并以各种不同的相对强度轰击CRT的荧光涂层屏幕以产生颜色。p组合这三种光波以产生特定颜色称为相加混色,或称为RGB相加模型。相加混色是计算机应用中定义颜色的基本方法。RGB与YUV彩色模型YUVYUV模型模型YUVYUV表示法的重要性是它的亮度信号表示法的重要性是
22、它的亮度信号( (Y)Y)和色度信号和色度信号( (U U、V)V)是相互独立的,也就是是相互独立的,也就是Y Y信号分量构成的黑信号分量构成的黑白灰度图与用白灰度图与用U U、V V信号构成的另外两幅单色图是相信号构成的另外两幅单色图是相互独立的。由于互独立的。由于Y Y、U U、V V是独立的,所以可以对这是独立的,所以可以对这些单色图分别进行编码。些单色图分别进行编码。采用采用YUVYUV模型的优点之一是亮度信号和色差信号是模型的优点之一是亮度信号和色差信号是分离的,使彩色电视系统与黑白电视机亮度信号兼分离的,使彩色电视系统与黑白电视机亮度信号兼容。容。 PALPAL彩色电视制式中采用彩
23、色电视制式中采用YUVYUV模型来表示彩色图像模型来表示彩色图像YUVYUV与RGB彩色空间变换由于所有的显示器都采用由于所有的显示器都采用RGBRGB值来驱动,这就要求在显值来驱动,这就要求在显示每个像素之前,需要把示每个像素之前,需要把YUVYUV彩色分量值转换成彩色分量值转换成RGBRGB值值。这种转换需要花费一定的计算时间,设计软硬件视频这种转换需要花费一定的计算时间,设计软硬件视频处理系统时要综合考虑。处理系统时要综合考虑。在考虑人的视觉系统和阴极射线管在考虑人的视觉系统和阴极射线管( (CRT)CRT)的非线性特性的非线性特性之后,之后,RGBRGB和和YUVYUV的对应关系可以近
24、似地用下面的方程的对应关系可以近似地用下面的方程式表示:式表示: Y = 0.299R + 0.587G + 0.114B Y = 0.299R + 0.587G + 0.114B U = - 0.169R - 0.331G + 0.5B U = - 0.169R - 0.331G + 0.5B V = 0.500R - 0.419G - 0.081B V = 0.500R - 0.419G - 0.081B 数字视频的采样格式根据电视信号的特征,亮度信号的带宽是色度信号带根据电视信号的特征,亮度信号的带宽是色度信号带宽的两倍。因此其数字化时对信号的色差分量的采样宽的两倍。因此其数字化时对信号
25、的色差分量的采样率低于对亮度分量的采样率。如果用率低于对亮度分量的采样率。如果用Y Y:U U:V V来表示来表示YUYUV V三分量的采样比例,则数字视频的采样格式分别三分量的采样比例,则数字视频的采样格式分别有有4:4:1 1: :1 1、 4:4:2 2: :0 0、4 4:2:2:2:2和和4:4:44:4:4三种。三种。数字视频的采样格式视频压缩标准发展历史视频压缩标准发展历史ITU:ISO/IEC:H.261 H.262H.263H.263+H.264MPEG1 MPEG2MPEG4MPEG7MPEG21MPEG4(Part10)视频压缩标准对比H.261p64kb/s视频编码标准
26、 时间1990年12月输入176144(QCIF) 352288(CIF)帧速率可变H.263MPEG2压缩算法运动补偿帧间预测(单双向预测)DCT 局部算法改进 可伸缩性应用通用电话交换网、局域网的视频通信48视频压缩标准对比(续)MPEG4(Part 2)MPEG4 Visual甚 低 码率 活 动图 像 及其 伴 音编 码 标准时间1999年输入176144的多种分辨率格式 输出4.6Kb/s64Kb/s压缩率 100压缩算法基于对象的新一代编码技术,注重交互性,即可包含自然对象,又可包含人工合成对象应用可应用范围很广、目前多用于因特网视频传输、流媒体应用49视频压缩标准对比(续)H.2
27、64MPEG4(Part10)MPEG4 AVC时间2003年5月输入多种分辨率格式 输出压缩率压缩率最高的视频压缩标准,比MPEG4 Visual节约50的码率压缩算法基于传统框架的混合编码系统,只是做了局部优化。更注重编码效率和可靠性应用视频广播、视频通信和存储媒体(CD DVD)等多种应用H.264/AVC编解码器H.264H.264编解码器特点编解码器特点 H.264 H.264并不明确地规定一个编解码器如何实现,并不明确地规定一个编解码器如何实现,而是规定了一个编码的视频比特流的句法,而是规定了一个编码的视频比特流的句法,和该比特流的解码方法,各个厂商的编码器和该比特流的解码方法,各
28、个厂商的编码器和解码器在此框架下应能够互通,在实现上和解码器在此框架下应能够互通,在实现上具有较大灵活性,而且有利于相互竞争。具有较大灵活性,而且有利于相互竞争。H.264/AVC编解码器H.264H.264编码器编码器 编码器采用的仍是变换和预测的混合编码法。输入的帧或场编码器采用的仍是变换和预测的混合编码法。输入的帧或场FnFn以宏块为以宏块为单位被编码器处理。首先,按帧内或帧间预测编码的方法进行处理。单位被编码器处理。首先,按帧内或帧间预测编码的方法进行处理。如果采用帧内预测编码,其预测值如果采用帧内预测编码,其预测值PREDPRED(图中用(图中用P P表示)是由当前片中表示)是由当前
29、片中前面已编码的参考图像经运动补偿(前面已编码的参考图像经运动补偿(MCMC)后得出,其中参考图像用)后得出,其中参考图像用F Fn-n-1 1表示。为了提高预测精度,从而提高压缩比,实际的参考图像可在过表示。为了提高预测精度,从而提高压缩比,实际的参考图像可在过去或未来(指显示次序上)已编码解码重建和滤波的帧中进行选择。去或未来(指显示次序上)已编码解码重建和滤波的帧中进行选择。预测值预测值PREDPRED和当前块相减后,产生一个残差块和当前块相减后,产生一个残差块DnDn,经块变换、量化后产,经块变换、量化后产生一组量化后的变换系数生一组量化后的变换系数X X,再经熵编码,与解码所需的一些
30、边信息,再经熵编码,与解码所需的一些边信息(如预测模式量化参数、运动矢量等)一起组成一个压缩后的码流。(如预测模式量化参数、运动矢量等)一起组成一个压缩后的码流。正如上述,为了提供进一步预测用的参考图像,编码器必须有重建图像正如上述,为了提供进一步预测用的参考图像,编码器必须有重建图像的功能。因此必须使残差图像经反量化、反变换后得到的的功能。因此必须使残差图像经反量化、反变换后得到的DnDn与预测值与预测值P P相加,得到相加,得到uFnuFn(未经滤波的帧)。为了去除编码解码环路中产生的噪(未经滤波的帧)。为了去除编码解码环路中产生的噪声,为了提高参考帧的图像质量,从而提高压缩图像性能,设置
31、了一个声,为了提高参考帧的图像质量,从而提高压缩图像性能,设置了一个环路滤波器,滤波后的输出环路滤波器,滤波后的输出FnFn即重建图像可用作参考图像。即重建图像可用作参考图像。H.264/AVC编解码器图1 H.264编码器H.264/AVC编解码器H.264H.264解码器解码器 由图由图1 1可知,由编码器的可知,由编码器的NALNAL输出一个压缩后的输出一个压缩后的H.26H.264 4压缩比特流。由图压缩比特流。由图2 2,经熵解码得到量化后的一组,经熵解码得到量化后的一组变换系数变换系数X X,再经反量化、反变换,得到残差,再经反量化、反变换,得到残差DnDn。利用从该比特流中解码出
32、的头信息,解码器就产生利用从该比特流中解码出的头信息,解码器就产生一个预测块一个预测块PREDPRED,它和编码器中的原始,它和编码器中的原始PREDPRED是相同是相同的。当该解码器产生的的。当该解码器产生的PREDPRED与残差与残差DnDn相加后,就相加后,就产生产生uFuuFu,再经滤波后,最后就得到滤波后的,再经滤波后,最后就得到滤波后的F Fn n,这个,这个FnFn就是最后的解码输出图像。就是最后的解码输出图像。H.264/AVC编解码器图2 H.264解码器H.264/AVC的结构档次和级档次和级 H.264H.264规定了三种档次,每个档次支持一组特定的编码功能,规定了三种档
33、次,每个档次支持一组特定的编码功能,并支持一类特定的应用。并支持一类特定的应用。1 1)基本档次:利用)基本档次:利用I I片和片和P P片支持帧内和帧间编码,支持利片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(用基于上下文的自适应的变长编码进行的熵编码(CAVLCCAVLC)。)。主要主要用于可视电话、会议电视、无线通信等实时视频通信用于可视电话、会议电视、无线通信等实时视频通信;2 2)主要档次:支持隔行视频,采用)主要档次:支持隔行视频,采用B B片的帧间编码和采用加片的帧间编码和采用加权预测的帧内编码;支持利用基于上下文的自适应的算术编权预测的帧内编码;支持利
34、用基于上下文的自适应的算术编码(码(CABACCABAC)。)。主要用于数字广播电视与数字视频存储主要用于数字广播电视与数字视频存储;3 3)扩展档次:支持码流之间有效的切换()扩展档次:支持码流之间有效的切换(SPSP和和SISI片)、改片)、改进误码性能(数据分割),但不支持隔行视频和进误码性能(数据分割),但不支持隔行视频和CABACCABAC。主主要用于网络的视频流,如视频点播要用于网络的视频流,如视频点播图图3 3为为H.264H.264各个档次具有的不同功能,可见扩展档次包括了各个档次具有的不同功能,可见扩展档次包括了基本档次的所有功能,而不能包括主要档次的。每一档次设基本档次的所
35、有功能,而不能包括主要档次的。每一档次设置不同参数(如取样速率、图像尺寸、编码比特率等),得置不同参数(如取样速率、图像尺寸、编码比特率等),得到编解码器性能不同的级。到编解码器性能不同的级。H.264/AVC的结构图3 H.264档次H.264/AVC的结构编码数据格式编码数据格式 H.264H.264支持支持4:2:04:2:0的逐行或隔行视频的编码和解码。的逐行或隔行视频的编码和解码。H.264/AVC的结构参考图像参考图像 可从一组前面或后面已编码图像中选出一个或两个可从一组前面或后面已编码图像中选出一个或两个与当前最匹配的图像作为帧间编码间的参数图像,与当前最匹配的图像作为帧间编码间
36、的参数图像,H.264H.264中最多可从中最多可从1515个参考图像中进行选择,选出个参考图像中进行选择,选出最佳的匹配图像。最佳的匹配图像。对于对于P P片中帧间编码宏块可从表片中帧间编码宏块可从表“0 0”中选择参数图中选择参数图像;对于像;对于B B片中的帧间编码宏块和宏块分割的预测,片中的帧间编码宏块和宏块分割的预测,可从表可从表“0 0”和和“1 1”中选择参考图像。中选择参考图像。H.264/AVC的结构 片和片组片和片组 片片一个视频图像可编码成一个或更多个片,每片包含一个视频图像可编码成一个或更多个片,每片包含整数个宏块(整数个宏块(MBMB),即每片至少一个),即每片至少一
37、个MBMB,最多时每,最多时每片包含整个图像的宏块。片包含整个图像的宏块。设片的目的是为了限制误码的扩散和传输,使编码设片的目的是为了限制误码的扩散和传输,使编码片相互间是独立的。某片的预测不能以其它片中的片相互间是独立的。某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去。传播到其它片中去。 编码片共有编码片共有5 5种不同类型,种不同类型,I I片、片、P P片、片、B B片外,还片外,还有有SPSP片和片和SISI片。其中片。其中SPSP(切换(切换P P)是用于不同编码)是用于不同编码流之间的切换。流之间的
38、切换。H.264/AVC的结构 图4 片的句法结构H.264/AVC的结构 片和片组片和片组 片组片组 片组是一个编码图象中若干片组是一个编码图象中若干MBMB的一个子集,它可包的一个子集,它可包含一个或若干个片。含一个或若干个片。在一个片组中,每片的在一个片组中,每片的MBMB按光栅扫描次序被编码,按光栅扫描次序被编码,如果每幅图象仅取一个片组,则该图象中所有的如果每幅图象仅取一个片组,则该图象中所有的MBMB均按光栅扫描次序被编码。均按光栅扫描次序被编码。还有一种片组,叫灵活宏块次序(还有一种片组,叫灵活宏块次序(FMOFMO),它可用灵),它可用灵活的方法,把编码活的方法,把编码MBMB
39、序列映射到解码图象中序列映射到解码图象中MBMB的分的分配用配用MBMB到片组之间的映射来确定,它表示每一个到片组之间的映射来确定,它表示每一个MBMB属于哪个片组。表属于哪个片组。表1 1 为为MBMB到片组的各种映射类型。到片组的各种映射类型。H.264/AVC的结构 表1 MB到片组的映射类型名称描述0交错MB游程被依次分配给每一块组(图8)1散乱每一片组中的MB被分散在整个图象中(图9)2前景和背景例见图103Boxout从帧的中心开始,产生一个箱子,其MB属于片组0,其它MB属于片组(图11)4光栅扫描片组0包含按光栅扫描次序从顶左的所有MB,其余MB属片组1(图11)5手绢片组0包
40、含从顶左垂直扫描次序的MB,其余MB属片组1(图11)6显式每一Mbslice_group_id,用于指明它的片组(即MB映射完全是用户定义的)H.264/AVC的结构 图5 交错型片组 图6 散乱型片组图7 前景和背景型片组H.264/AVC的结构 图8 片组帧内预测 在帧内预测模式中,预测块在帧内预测模式中,预测块P P是基于已编码重建块是基于已编码重建块和当前块形成的。对亮度像素而言,和当前块形成的。对亮度像素而言,P P块用于块用于4 44 4子块或者子块或者16161616宏块的相关操作。宏块的相关操作。4 44 4亮度子块有亮度子块有9 9种可选预测模式,独立预测每一个种可选预测模
41、式,独立预测每一个4 44 4亮度子块,亮度子块,适用于带有大量细节的图像编码;适用于带有大量细节的图像编码;16161616亮度块有亮度块有4 4种预测模式,预测整个种预测模式,预测整个16161616亮度块,适用于平亮度块,适用于平坦区域图像编码;色度块也有坦区域图像编码;色度块也有4 4种预测模式,类似种预测模式,类似于于16161616亮度块预测模式。编码器通常选择使亮度块预测模式。编码器通常选择使P P块块和编码块之间差异最小的预测模式。和编码块之间差异最小的预测模式。帧内预测 4 44 4亮度预测模式亮度预测模式 如图如图6.146.14所示,所示,4 44 4亮度块的上方和左方像
42、素亮度块的上方和左方像素A AM M为已编码和重构像素,用作编解码器中的预测参考为已编码和重构像素,用作编解码器中的预测参考像素。像素。a ap p为待预测像素,利用为待预测像素,利用A AM M值和值和9 9种模式种模式实现。其中模式实现。其中模式2(DC2(DC预测预测) )根据根据A AM M中已编码像素中已编码像素预测,而其余模式只有在所需预测像素全部提供才预测,而其余模式只有在所需预测像素全部提供才能使用。图能使用。图6.156.15箭头表明了每种模式预测方向。对箭头表明了每种模式预测方向。对模式模式3 38 8,预测像素由,预测像素由A AM M加权平均而得。例如,加权平均而得。例
43、如,模式模式4 4中,中,d=round(B/4+C/2+D/4)d=round(B/4+C/2+D/4)。帧内预测 图1帧内预测 a) b)图2 a)利用像素A-M对方块中a-p像素进行帧内44预测b)帧内44 预测的8个预测方向帧内预测 图3 44亮度块预测模式帧内预测pExample:Example: p4x4 块块 ,9,9种预测模式种预测模式 (0-8)p对于当前块的最佳模式是:模式对于当前块的最佳模式是:模式 7 (vertical-right)帧内预测图图4 4 帧内预测 16161616亮度预测模式亮度预测模式 宏块的全部宏块的全部16161616亮度成分可以整体预测,有亮度成
44、分可以整体预测,有4 4种种预测模式,如表预测模式,如表2 2和图和图5 5所示。所示。图5 1616预测模式帧内预测 表2 1616预测模式模式描 述模式0(垂直)由上边像素推出相应像素值模式1(水平)由左边像素推出相应像素值模式2(DC)由上边和左边像素平均值推出相应像素值模式3(平面)利用线形“plane”函数及左、上像素推出相应像素值,适用于亮度变化平缓区域帧内预测 图6 1616 宏块图7 帧内 1616 预测块举例:图6给出了一个左上方像素已编码的亮度宏块。图7 给出了4种预测模式预测结果。其中模式 3最匹配原始宏块。帧内1616模式适用于图像平坦区域预测。帧内预测 8 88 8色
45、度块预测模式色度块预测模式 每个帧内编码宏块的每个帧内编码宏块的8 88 8色度成分由已编码左上方色色度成分由已编码左上方色度像素预测而得,两种色度成分常用同一种预测模式。度像素预测而得,两种色度成分常用同一种预测模式。4 4种预测模式类似于帧内种预测模式类似于帧内16161616预测的预测的4 4种预测模式,种预测模式,只是模式编号不同。其中只是模式编号不同。其中DCDC(模式(模式0 0)、水平(模式)、水平(模式1 1)、垂直(模式)、垂直(模式2 2)、平面(模式)、平面(模式3 3)。)。帧内预测p帧内预测模式帧内预测模式编码帧内预测模式帧内预测模式编码p例如例如 :如果:如果A A
46、块和块和B B块的最优预测模式均是预测模式块的最优预测模式均是预测模式2 2,那么,最可能当,那么,最可能当前块前块C C的最优预测模式是模式的最优预测模式是模式2 2图8 帧内预测模式编码帧内预测p对于当前块对于当前块C, C, 编解码器按照如下方法计算编解码器按照如下方法计算pprobable prediction modep minprediction mode of A, prediction modes of Bp当当A (或者或者 B)的预测模式不可用时,)的预测模式不可用时,p prediction mode of A 2.p例如例如 p A 和和 B块的预测模式分别为块的预测模
47、式分别为 3 和和1p most probable mode for block C =1帧内预测p编码器为每个编码器为每个4x4 4x4 块发送一个标记块发送一个标记 flag, flag,解码器按照如下方式解码器按照如下方式 解码解码pIf flag=1, prediction mode=most_probable_modeIf flag=1, prediction mode=most_probable_modepIf flag=0 If flag=0 p If rem_intra4 If rem_intra44_pred_mode most_probable_mode 4_pred_mo
48、de most_probable_mode p prediction mode=rem_intra4 prediction mode=rem_intra44_pred_mode4_pred_modep else else p prediction mode=rem_intra4 prediction mode=rem_intra44_pred_mode+1 4_pred_mode+1 p这样表示这样表示9 9中预测模式只需要中预测模式只需要8 8个值个值 (0 to 7) (0 to 7) 帧内预测帧间预测 树状结构运动补偿树状结构运动补偿 每个宏块(每个宏块(16161616像素)可以像素)
49、可以4 4种方式分割:一个种方式分割:一个1 16 61616,两个,两个16168 8,两个,两个8 81616,四个,四个8 88 8。其运。其运动补偿也相应有四种。而动补偿也相应有四种。而8 88 8分割还可以有四种方分割还可以有四种方式的分割:一个式的分割:一个8 88 8,两个,两个4 48 8或两个或两个8 84 4及及4 4个个4 44 4。这种分割下的运动补偿则称为树状结构运动。这种分割下的运动补偿则称为树状结构运动补偿。补偿。帧间预测 图1 宏块分割帧间预测 树状结构运动补偿树状结构运动补偿 每个分割或子宏块都有一个独立的运动补偿。每个每个分割或子宏块都有一个独立的运动补偿。
50、每个MVMV必须被编码、传输,分割的选择也需编码到压缩必须被编码、传输,分割的选择也需编码到压缩比特流中。对大的分割尺寸而言,比特流中。对大的分割尺寸而言,MVMV选择和分割类选择和分割类型只需少量的比特,但运动补偿残差在多细节区域型只需少量的比特,但运动补偿残差在多细节区域能量将非常高。小尺寸分割运动补偿残差能量低,能量将非常高。小尺寸分割运动补偿残差能量低,但需要较多的比特表征但需要较多的比特表征MVMV和分割选择。分割尺寸的和分割选择。分割尺寸的选择影响了压缩性能。整体而言,大的分割尺寸适选择影响了压缩性能。整体而言,大的分割尺寸适合平坦区域,而小尺寸适合多细节区域。合平坦区域,而小尺寸
51、适合多细节区域。帧间预测 宏块的色度成分(宏块的色度成分(CrCr和和CbCb)则为相应亮度的一半)则为相应亮度的一半(水平和垂直各一半)。色度块采用和亮度块同样(水平和垂直各一半)。色度块采用和亮度块同样的分割模式,只是尺寸减半(水平和垂直方向都减的分割模式,只是尺寸减半(水平和垂直方向都减半)。例如,半)。例如,8 81616的亮度块相应色度块尺寸为的亮度块相应色度块尺寸为4 48 8,8 84 4亮度块相应色度块尺寸为亮度块相应色度块尺寸为4 42 2等等。色度等等。色度块的块的MVMV也是通过相应亮度也是通过相应亮度MVMV水平和垂直分量减半而水平和垂直分量减半而得。得。举例举例:如图
52、:一个残差帧(没有进行运动补偿)。:如图:一个残差帧(没有进行运动补偿)。H.264H.264编码器为帧的每个部分选择了最佳分割尺寸,编码器为帧的每个部分选择了最佳分割尺寸,使传输信息量最小,并将选择的分割加到残差帧上。使传输信息量最小,并将选择的分割加到残差帧上。在帧变化小的区域(残差显示灰色),选择在帧变化小的区域(残差显示灰色),选择16161616分割;多运动区域(残差显示黑色或白色),选择分割;多运动区域(残差显示黑色或白色),选择更有效的小的尺寸。更有效的小的尺寸。帧间预测 图2 残差帧帧间预测 运动矢量运动矢量帧间编码宏块的每个分割或者子宏块都是从参考图帧间编码宏块的每个分割或者
53、子宏块都是从参考图像某一相同尺寸区域预测而得。两者之间的差异像某一相同尺寸区域预测而得。两者之间的差异(MVMV)对亮度成分采用)对亮度成分采用1/41/4像素精度,色度像素精度,色度1/81/8像素像素精度。亚像素位置的亮度和色度像素并不存在于参精度。亚像素位置的亮度和色度像素并不存在于参考图像中,需利用邻近已编码点进行内插而得。图考图像中,需利用邻近已编码点进行内插而得。图中,当前帧的中,当前帧的4 44 4块通过邻近参考图像相应区域预块通过邻近参考图像相应区域预测。如果测。如果MVMV的垂直和水平分量为整数,参考块相应的垂直和水平分量为整数,参考块相应像素实际存在(灰色点)。如果其中一个
54、或两个为像素实际存在(灰色点)。如果其中一个或两个为分数,预测像素(灰色点)通过参考帧中相应像素分数,预测像素(灰色点)通过参考帧中相应像素(白色点)内插获得。(白色点)内插获得。帧间预测 图3 亮度半像素位置内插帧间预测 内插像素生成:内插像素生成:生成参考图像亮度成分半像素像素。半像素点(如生成参考图像亮度成分半像素像素。半像素点(如b,h,b,h,m m)通过对相应整像素点进行)通过对相应整像素点进行6 6抽头滤波得出,权重为抽头滤波得出,权重为(1/32 ,-5/32 ,5/8, 5/8, -5/32, 1/321/32 ,-5/32 ,5/8, 5/8, -5/32, 1/32)。)
55、。 (6.16.1)类似的,类似的,h h由由A A、C C、G G、M M、R R、T T滤波得出。一旦邻近滤波得出。一旦邻近(垂直或水平方向)半素点的所有像素都计算出,剩余(垂直或水平方向)半素点的所有像素都计算出,剩余的半像素点便可以通过对的半像素点便可以通过对6 6个垂直或水平方向的半像素个垂直或水平方向的半像素点滤波而得。例如,点滤波而得。例如,j j由由cc, dd, h,m,ee,ffcc, dd, h,m,ee,ff滤波得出。滤波得出。这里说明的是,这里说明的是,6 6抽头滤器比较复杂,但可明显改善运抽头滤器比较复杂,但可明显改善运动补偿性能。动补偿性能。帧间预测 图4 亮度1
56、/4像素内插半像素点计算出来以后,1/4像素点就可通过线性内插得出,如图4所示。1/4像素点(如a, c, i, k, d, f, n, q)由邻近像素内插而得,如 剩余1/4像素点(p, r)由一对对角半像素点线性内插得出。如,e由b和h获得。帧间预测 图5 色度1/8像素内插相应地,色度像素需要1/8精度的MV,也同样通过整像素地线性内插得出,如图5所示。(6.3)帧间预测 MVMV预测预测 每个分割每个分割MVMV的编码需要相当数目的比特,特别是使的编码需要相当数目的比特,特别是使用小分割尺寸时。为减少传输比特数,可利用邻近用小分割尺寸时。为减少传输比特数,可利用邻近分割的分割的MVMV
57、较强的相关性,较强的相关性,MVMV可由邻近已编码分割的可由邻近已编码分割的MVMV预测而得。预测而得。帧间预测 B B片预测片预测 B B片中的帧间编码宏块的每个子块都是由一个或两片中的帧间编码宏块的每个子块都是由一个或两个参考图像预测而得。该参考图像在当前图像的前个参考图像预测而得。该参考图像在当前图像的前面或者后面。参考图像存储于编解码器中,其选择面或者后面。参考图像存储于编解码器中,其选择有多种方式。图有多种方式。图6 6显示了三种方式:一个前向和一显示了三种方式:一个前向和一个后向的;两个前向;两个后向个后向的;两个前向;两个后向。帧间预测 图6 . 预测帧间预测 参考图像参考图像B
58、 B片用到了两个已编码图像列表:片用到了两个已编码图像列表:list0list0和和list1list1,帧间预测 举例举例:一个:一个H.264H.264解码器存储了解码器存储了6 6幅短期参考图像。幅短期参考图像。其其POCPOC分别为:分别为:123123,125125,126126,128128,129129和和130130。当前图像为当前图像为127127。所有。所有6 6幅短期参考图像在幅短期参考图像在list0list0和和l list1ist1中都标为中都标为“作用参考作用参考”,如表所示。,如表所示。表1帧间预测 预测模式选择预测模式选择 B B片的预测方式包括:宏块分割方式
59、、双向选择方片的预测方式包括:宏块分割方式、双向选择方式、参考列表选择方式等等。具体说,式、参考列表选择方式等等。具体说,B B片中宏块片中宏块分割可由多种预测方式中的一种实现,如直接模式、分割可由多种预测方式中的一种实现,如直接模式、利用利用list0list0的运动补偿模式、利用的运动补偿模式、利用list1list1的运动补偿的运动补偿模式或者利用模式或者利用list0list0和和list1list1的双向运动补偿模式。的双向运动补偿模式。每个分割可选择各自的不同的预测模式(如表每个分割可选择各自的不同的预测模式(如表2 2所所示)。如果示)。如果8 88 8分割被使用,每个分割被使用
60、,每个8 88 8分割所选则分割所选则的模式适用于分割中的所有亚分割。图的模式适用于分割中的所有亚分割。图7 7给出了例给出了例子,左边的两个子,左边的两个16168 8分割分别使用分割分别使用List0List0和双向预和双向预测模式,而右边的测模式,而右边的4 4个个8 88 8分割分别采用直接、分割分别采用直接、lislist0t0、list1list1和双向预测四种模式。和双向预测四种模式。帧间预测 表2 B片宏块预测选则分割选 择1616直接、list0、list1、双向168/816list0、list1、双向(每个分割独立选择)88直接、list0、list1、双向(每个分割独立
61、选择)图7 B片中分割预测模式举例帧间预测 双向预测双向预测从从list0list0和和list1list1分别得出两个运动补偿参考区域分别得出两个运动补偿参考区域(需要两个(需要两个MVMV),而预测块的像素取),而预测块的像素取list0list0和和list1list1相应像素的平均值。当不用加权预测时,用下列等式:相应像素的平均值。当不用加权预测时,用下列等式:帧间预测 举例举例: 一宏块用一宏块用B_Bi_16B_Bi_161616模式预测。图和图模式预测。图和图6.306.30分别给出分别给出了基于了基于list0list0和和list1list1参考图像的运动补偿参考区域。参考图
62、像的运动补偿参考区域。图图6.316.31给出了根据者两个参考区域的双向预测。给出了根据者两个参考区域的双向预测。图8 参考区域(list0) 图9 参考区域(list1) 图10 双向预测(无加权)图6.31 双向预测(无加权)帧间预测 直接预测直接预测 直接预测模式编码的直接预测模式编码的B B片宏块或宏块分割不传送片宏块或宏块分割不传送MVMV。帧间预测 加权预测加权预测 加权预测是一种用来修正加权预测是一种用来修正P P或或B B片中运动补偿预测像素方法。片中运动补偿预测像素方法。H.26H.264 4中有中有3 3种加权预测种加权预测类型:类型: P P片宏块片宏块“explicit
63、explicit”加权预测;加权预测; B B片宏块片宏块“explicitexplicit”加权预测;加权预测; B B片宏块片宏块“implicitimplicit”加权预测;加权预测;每个预测像素每个预测像素pred0(i,j)pred0(i,j)和和pred1(i,j)pred1(i,j)在运动补偿之前通过加在运动补偿之前通过加权系数权系数00和和11修正。在修正。在“explicitexplicit”类型中,加权系数由编码类型中,加权系数由编码器决定并在片头中传输。在器决定并在片头中传输。在“implicitimplicit”类型中,系数类型中,系数00和和11由相应由相应list0
64、list0和和list1list1参考图像的时间位置推出。大的系数用于时参考图像的时间位置推出。大的系数用于时间上接近当前图像的情况,小的则用于时间上远离当前图像的情间上接近当前图像的情况,小的则用于时间上远离当前图像的情况。况。变换与量化输入44的图像或残差块X对对X块进行块进行44整数离散余弦变换,得到W块块是色度块或帧内1616预测模式的亮度块?是对W中的直流分量进行中的直流分量进行Hadamard变换,得到YD块对W块进行比例缩放及量化块进行比例缩放及量化对YD块进行比例缩放及量化否输出图图1编码器中变换编码及量化过程编码器中变换编码及量化过程变换与量化图图2 2 Scanning o
65、rder of residual blocks within a macroblock变换与量化pH.264H.264对图像或预测残差采用了对图像或预测残差采用了4 4 4 4整数离散余弦变换整数离散余弦变换DCTDCT技术技术 pH.264H.264编码器中编码器中DCTDCT变换及量化过程如图所示。其中,如果输入块是色度变换及量化过程如图所示。其中,如果输入块是色度块或帧内块或帧内1616 1616预测模式的亮度块,则将宏块中各预测模式的亮度块,则将宏块中各4 4 4 4块的整数余弦变换块的整数余弦变换的直流分量组合起来再进行的直流分量组合起来再进行HadamardHadamard变换,进
66、一步压缩码率变换,进一步压缩码率 变换与量化p对实数的对实数的DCTDCT,由于在解码端的浮点运算精度问题,会造成解码后的数据的失配,由于在解码端的浮点运算精度问题,会造成解码后的数据的失配,进而引起漂移。,进而引起漂移。H.264H.264较其它图像编码使用了更多的预测过程,甚至内部编码较其它图像编码使用了更多的预测过程,甚至内部编码模式也依赖于空间预测。因此,模式也依赖于空间预测。因此,H.264H.264对预测漂移是十分敏感的。为此,对预测漂移是十分敏感的。为此,H.264H.264对对4 4 4DCT 4DCT 中的中的A A进行了改造,采用整数进行了改造,采用整数DCTDCT技术,有效地减少计算量,同时不损失技术,有效地减少计算量,同时不损失图像准确度图像准确度 变换与量化 pH.264H.264对对4 4 4 4的图像块(亮度块或的图像块(亮度块或CrCr、CbCb色度块)进行操作,则相应的色度块)进行操作,则相应的4 44 DCT4 DCT为(变换矩阵为(变换矩阵A A):):p其等价形式为:其等价形式为:其中,其中,d=c/bd=c/b( 0.4140.414)。)。符