Presentation is loading. Please wait.

Presentation is loading. Please wait.

多媒体技术基础(第3版) 第13章 MPEG-4 AVC/H.264视像

Similar presentations


Presentation on theme: "多媒体技术基础(第3版) 第13章 MPEG-4 AVC/H.264视像"— Presentation transcript:

1 ftp://upload:upload@10.141.200.77:22

2 多媒体技术基础(第3版) 第13章 MPEG-4 AVC/H.264视像
张奇 复旦大学 计算机科学技术学院 2011年5月

3 第13章 MPEG-4 AVC/H.264视像目录 13.1 MPEG-4 AVC/H.264的由来 13.2 提高编码效率的主要技术
13.3 视像数据的编码结构 分层处理的结构 视像数据的组织 三种类型的视像 13.4 编译码器的结构 13.5 帧内预测 ×4亮度预测方式 ×16亮度预测方式 ×8色度预测方式 13.6 帧间预测 移动补偿块的大小 子像素移动矢量 移动矢量的预测 13.7 变换和量化 变换类型 DCT和IDTC变换简化 正变换与量化 逆变换与逆量化 ×4亮度DC残差系数的变换和量化 ×2色度DC系数的变换和量化 变换与量化过程举例 13.8 熵编码 指数葛洛姆编码介绍 CAVLC编码 CABAC编码 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

4 第13章 MPEG-4 AVC/H.264视像 前言 MPEG-4 AVC / H.264[1][2] [3][4]是ITU-T和ISO/IEC联合推荐的视像编码工业标准,在相同质量下,比先前的MPEG-Video的压缩效率提高2~3倍 为降低H.264的计算复杂度和提高压缩效率,ITU的专家组正在酝酿开发H.265 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

5 13.1 MPEG-4 AVC/H.264的由来 MPEG-4视像标准 从2003年开始,通常认为由两部分组成
MPEG-4 Visual—可视对象编码标准 ISO/IEC Part 2。版本1(1999年),版本2 (2001年) 主要处理自然对象、合成对象和混合对象的编码 MPEG-4 AVC/ H.264—高级视像编码 ISO/IEC Part 10:Advanced Video Coding (AVC), 2003年发布 主要处理自然视像的编码 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

6 13.1 MPEG-4 AVC/H.264的由来(续1) MPEG-4 Visual的问题 与传统视像编码的最大差别是引入了“对象编码”
设计思想:将某一确定场景中的不同部分作为视像对象,采用不同的编码技术分别予以编码和传送,在接收端解码之后重新组合还原出原来的场景 在理论上说,MPEG-4 Visual的这种设计思想是先进的,功能是强大的,应用是广泛的。许多观察家也曾预言,MPEG-4 Visual将成为因特网上视听对象的主要编码方法,并取代目前正在使用的、享有专利的各种编解码器,但时至今日这种情况还未出现 主要问题:技术上的困难。目前人工智能技术还不能轻而易举地识别场景中的各种对象。尽管自1999年发布以来已经开发了多个版本,但技术上还没有取得较大的突破,使用的视像压缩技术主要还是20世纪90年代开发的技术 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

7 13.1 MPEG-4 AVC/H.264的由来(续2) H.26L的出现 VCEG专家组
Video Coding Experts Group的缩写, ITU专家组 1995年完成H.263可视电话标准版本1的开发后开始两个新计划 开发H.263版本2的短期(short-term)计划 开发低位速率可视通信新标准的长期(long-term)计划 执行长期计划的结果是在1999年10月产生了H.26L标准草案, 提供的视像压缩性能明显优于以往的ITU-T标准 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

8 13.1 MPEG-4 AVC/H.264的由来(续3) H.264的出现 JVT联合视像组
MPEG专家组认识到H.26L的潜力,在2001年12月与VCEG成立了JVT(Joint Video Team) ,其主要任务就是将H.26L发展为国际标准 JVT专家们努力的结果是在2003年3月产生了两个名称不同而内容一致的标准 ISO MPEG-4 Part 10 ITU-T H.264 常写成:MPEG-4 AVC/H.264 或 H.264/ MPEG-4 AVC 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

9 13.2 提高编码效率的主要技术 MPEG-4 AVC/H.264是视像数据压缩技术取得重大进展的标志 编码效率明显提高 应用范围得到扩大
在视像质量相同的前提下,采用MPEG-4 AVC/H.264标准获得的视像数据压缩比是采用MPEG-2视像标准的2~3倍 应用范围得到扩大 可有效降低在有线网络、卫星网络和电信网络上传送高质量影视节目的成本,使应用范围得到进一步扩大。例如,原先使用MPEG-2视像技术的DVD影视和数字电视已经开始转向采用MPEG-4 AVC / H.264技术 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

10 13.2 提高编码效率的主要技术(续1) 提高编码效率的主要改进技术[5][6] 采用可变图块大小的帧间预测和移动补偿 采用空间的帧内预测
预测图块大小不再局限于16×16像素,可小到4×4像素,于是提高了预测精度,如将移动矢量精度提高到1/4个像素 采用空间的帧内预测 定义了多种预测方式,目的是找到相关性最大的预测 采用 “整数变换编码” 从DCT演变来的变换编码,提高了编码的运算速度 采用效率更高的熵编码 前后文自适应可变长度编码(context-based adaptive variable length coding, CAVLC) 前后文自适应二元算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)。 采用多参考帧和消除“块状失真”的滤波等技术 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

11 13.2 提高编码效率的主要技术(续2) 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

12 13.3 视像数据的编码结构 13.3.1 分层处理结构 AVC/ H.264标准分成两层,见图13-1
视像编码层(Video Coding Layer, VCL),用于有效地表达视像内容 网络抽象层(Network Abstraction Layer,NAL),用于组织VLC数据并提供标题(header)等信息,便于在各种不同的网络上传输 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

13 13.3 视像数据的编码结构(续1) 图13-1 MPEG-4 AVC/ H.264的分层结构 2018年12月2日

14 13.3 视像数据的编码结构(续2) 13.2.2 视像数据的组织 1. 画面划分 一帧画面当作一片像片或分割成若干像片,见图13-2(a)
一片像片包含若干宏块(MB),见图13-2(b) 每个宏块包含 1个16×16像素的亮度(luma)样本 2个8×8像素的色度(chroma)样本 一片或多片像片构成像片组(slice group),见图13-2(c) 在隔行扫描视像中,每一场可单独编码,2场构成的帧也可单独编码,偶数场和奇数场相应的宏块构成宏块对,见图13-2(d) 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

15 13.3 视像数据的编码结构(续3) 图13-2 MPEG-4 AVC_H.264的画面分割 2018年12月2日

16 13.3 视像数据的编码结构(续4) 2. 宏块与子宏块 宏块可划分成宏块区(macroblock partition)和子宏块(sub-macroblock),见图13-3(a) 子宏块(也称子块)可划分成子宏块区(sub-macroblock partition),见图13-3(b) 图13-3 宏块与子宏块的划分 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

17 13.3 视像数据的编码结构(续5) 宏块的结构 图13-4 树状结构分割法 图13-4表示16×16宏块的树状结构分割法
在编码时有可能使用8×8、4×8、8×4或4×4像素块的组合 图13-4 树状结构分割法 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

18 13.3 视像数据的编码结构(续6) 3. 像片的类型 5种类型的像片。前3种与MPEG-1,-2的图像I、P和B类似
I像片:由I宏块构成的像片。所有I宏块编码都是使用帧内方式(intra mode)的预测编码 P像片:由P宏块构成的像片。 宏块编码包含 使用帧内方式(intra mode)的预测编码 使用帧间方式(inter mode)的预测编码 B像片:由B宏块构成的像片。所有宏块的编码都是使用帧间方式的预测编码 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

19 13.3 视像数据的编码结构(续7) SP和SI的作用
SP像片(switching-P slice):由SP宏块构成的像片。SP宏块的编码是用帧间方式(inter mode)的预测编码 SI像片(switching-I slice):由SI宏块构成的像片。SI宏块的编码是用帧内方式的预测编码 SP和SI的作用 用于在同一视像源而位速率不同的视像流之间进行切换、随机访问和快进或快退 为简单起见,假设视像的一帧就是一片像片,使用SP和SI进行视像流切换的应用见图13-5 图中的视像流A是高数据率的播放视像流,视像流B是低数据率的播放视像流,它们之间可通过 “切换流切换图像SP ”进行切换,或用SI图像进行切换 SP 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

20 13.3 视像数据的编码结构(续8) 图13-5 使用SP和SI切换视像流的概念 2018年12月2日
第13章 MPEG-4 AVC/H.264视像

21 13.3 视像数据的编码结构(续9) 13.3.3 三种类型的视像 基本型(Baseline Profile)
支持使用I像片和P像片的帧内编码和帧间编码 使用基于前后文自适应可变长度编码(CAVLC) 具有基本的性能和抗错能力 用于要求低延时的电视会议和可视电话等应用 主流型(Main Profile) 支持逐行扫描和隔行扫描视像 支持帧内编码和帧间编码 支持使用B像片的帧间编码和使用加权预测的帧间编码 使用基于前后文自适应二元算术编码(CABAC) 用于质量要求比较高的电视广播和DVD等 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

22 13.3 视像数据的编码结构(续10) (3) 扩展型(Extended Profile) 不支持隔行扫描视像和CABAC
附加SP像片和SI像片的切换功能 使用数据分割改进抗错能力 用于各种网络上的流播(streaming) 图13-6 MPEG-4 AVC/H.264的三种类型 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

23 13.4 编解码器的结构 MPEG-4 AVC/H.264编解码器概要 与先前的视像压缩编码标准类似 编码器和解码器包含的功能块见图13-7
除了用于消除重构图像的块状失真的“消块滤波器(Deblocking Filter)”、减少帧内空间冗余的“帧内移动估算(Intra-frame Estimation)”与“帧内预测(Intra-frame Prediction)”外,大多数功能块在以前的标准中都存在,只是其中的细节有较大变化 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

24 13.5 帧内预测 帧内预测 在以前的视像标准中,I图像只利用宏块内部的空间相关性,而没有利用宏块之间的空间相关性。AVC/ H.264引入了帧内预测(intra prediction)技术 帧内预测:在同一像片中从过去编码后重构的相邻图块对当前图块进行预测 编码时用实际的样本值与预测值相减得到预测误差 对预测误差进行变换和编码。 预测块大小:亮度(luma)样本可在4×4(用于带细节的图像区域)、8×8或16×16 (用于过渡较平缓的图像区域)之间选择 预测方式 亮度块:8×8和4×4有9种,16×16有4种 两个色度(chroma)块:8×8和4×4,有4种 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

25 13.5 帧内预测(续1) 4×4亮度预测方式 4×4亮度样本的标记
见图13-8。位于a,b,…,p上面和左边的样本是已编码和重构的样本,标记为A~M(共13个) 亮度块的预测块可根据A~M样本计算。注意 在当前像片中不一定都有A~M样本可用,为保持像片解码的独立性,只使用当前像片中的样本进行预测 如果E,F,G和H样本不存在,则可用D取代。使用帧内预测编码时有两个问题需要解决 (1) 如何计算预测块 (2) 如何选择预测块 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

26 13.5 帧内预测(续2) 预测块的计算 M A B C D E F G H I a b c d J e f g h K i j k l L
n o p 图13-8 4×4亮度块 预测样本的标记 预测块的计算 每个样本的预测值可按指定预测方式下的预测方法计算 9种预测方式见图13-9,箭头表示预测方向 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

27 13.5 帧内预测(续3) 方式0~2:例如 方式3~8:预测值为A~M的加权平均。例如
在预测方式0下,a,e,i和m的样本预测值用A样本值,…,d,h,l和p的样本预测值用D样本值 在预测方式2下,a~p的样本预测值都用的平均值: (A+B+C+D+I+J+K+L)/8 方式3~8:预测值为A~M的加权平均。例如 在预测方式4下,a的样本预测值可用round(I/4 + M/2 + A/4)计算,d的样本预测值可用round (B/4 + C/2 + D/4)计算 在预测方式8下,a的样本预测值可用round(I/2 + J/2)计算,d的样本预测值可用round(J/4 + K/2 + L/4)计算 其中的round表示四舍五入 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

28 13.5 帧内预测(续4) 图13-9 4×4亮度块帧内预测方式 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

29 13.5 帧内预测(续5) 预测块的选择法 全搜索法(full searching)是其中之一,过程如下
步骤1:分别计算9种方式下的4×4样本预测块 步骤2:分别计算9种方式下的4×4原始样本块与样本预测块之间的差值,然后计算绝对误差的和 通常用SAD (sum of absolute difference)或SAE (sum of absolute errors)表示,或计算均方误差MSE (mean square error) 步骤3:比较9种方式下的SAD或MSE。通常认为误差最小的就是预测精度最高的样本预测块 选择最佳样本预测块需要大量的计算,许多学者在减少计算量方面做了许多卓有成效的研究 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

30 13.5 帧内预测(续6) 16×16亮度预测方式 8×8色度预测方式 4种预测方式见图13-10
Mode 0: 垂直外插预测,每列的所有样本预测值与顶部(H)的样本值相同 Mode 1: 水平外插预测,每行的所有样本预测值与左边(V)的样本值相同 Mode 2: 平均插值预测,每个样本预测值均为相应的顶部和左边样本值之和的平均值 Mode 3: “平面(plane)”预测,用顶部和左边的样本采用空间插值法得到样本预测值 8×8色度预测方式 8×8和4×4色度块都指定了相同的4种预测方式 mode 0 (DC), mode 1 (水平), mode 2 (垂直)和mode 3 (平面) 预测方式与16×16亮度的含义相同,只是编号不同 2个8×8或2个4×4的色度块要使用相同的预测方式 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

31 13.5 帧内预测(续7) 图 ×16亮度块帧内预测方式 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

32 13.6 帧间预测 帧间预测(inter prediction) 帧间预测(inter prediction)概念 编码以块为基础
从过去编码后重构的相邻帧的样本预测当前待编码帧的样本的过程 编码以块为基础 编码时用实际的样本值与预测值相减得到预测误差 对预测误差进行变换和编码,以消除时间方向上的冗余性。 比较MPEG-1和-2 H.264可支持大小可变的移动补偿块 移动矢量可精确到1/4像素 支持多参考帧的预测 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

33 13.6 帧间预测(续1) 13.6.1移动补偿块的大小 见如图13-3 16×16的帧间编码宏块可以分割成16×8,8×16 或8×8个样本的宏块区 8×8的子宏块可分分割成8×4,4×8或4×4个样本的子宏块区 两个色度块(Cb和Cr)的大小都是亮度块的1/2,移动矢量也是亮度块的移动矢量的1/2 编码宏块的分区移动补偿方法称为树型结构移动补偿(tree-structured motion compensation)法 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

34 13.6 帧间预测(续2) 13.6.2子像素移动矢量 子像素的概念 子像素移动补偿是什么
在计算移动矢量和移动补偿量时需参考帧的样本,因采样的样本数有限,在无样本的位置可用该位置附近的样本值通过插值得到插值样本,这个像素称为子像素(sub-pixel) 图13-11(a)中的符号 实际样本位置:用○表示 半像素位置:两个样本中间的插值位置,用□表示 1/4像素位置:两个样本之间1/4的插值位置,用△表示 子像素移动补偿是什么 通过搜索插值样本为当前图块寻找比较准确的移动矢量和移动补偿量的方法 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

35 13.6 帧间预测(续3) 图13-11 子像素移动估算概念 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

36 13.6 帧间预测(续4) 子像素移动估算 在图13-11(b)中的符号 移动估算举例 实心圆(●)表示整像素搜索得到的最佳匹配
实心方块(■)表示半像素搜索得到的最佳匹配 实心三角形(▲)表示1/4搜索得到的最佳匹配像素 移动估算举例 开始用整像素搜索得到最佳匹配(●) 然后用半像素搜索得到的最佳结果(■)与整像素搜索得到的最佳匹配相比,看看匹配是否有改善,如果需要还可用1/4像素搜索 最后将当前图块的样本值减去最终匹配图块的样本值,就得到当前图块的移动补偿量,通常用绝对误差之和(SAE)表示。SAE值越低,表示移动补偿效果越好 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

37 13.6 帧间预测(续5) 子像素移动矢量 图13-12(a)表示在当前帧中要预测的4×4亮度块
图13-12(b)表示整像素移动矢量,当前块在过去编码后重构的参考帧中找到的最佳匹配块 图13-12(c)表示1/2像素移动矢量,当前块在过去编码后重构的参考帧中找到的最佳匹配块 图13-12 整像素和子像素移动矢量举例 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

38 13.6 帧间预测(续6) 13.6.3移动矢量预测 必要性 预测方法
每个分量的移动矢量都要编码和传送,这将降低视像数据的压缩比,选择小的移动补偿块时将更严重 预测方法 通过已编码的相邻分区的移动矢量进行预测,然后对实际的移动矢量和预测的移动矢量之差进行编码和传送 见13-13,该方法与移动补偿块的大小和相邻块的移动矢量是否可用有关 在图13-13(a)中,当前块E的预测矢量用块大小相同(如16×16)的相邻块A、B和C进行预测 在图13-13(b)中,当前块E的预测矢量用块大小不同的A、B和C进行预测 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

39 13.6 帧间预测(续7) 当前块E的预测矢量基本上取左(A)、上(B)和右上(C)宏块的移动矢量的中值(median value),通常写成 其中, 是3个相邻的移动矢量 图13-13 预测矢量的预测方法 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

40 第13章 MPEG-4 AVC/H.264视像(参考文献)
The MPEG Home Page, MPEG Industry Forum, ISO/IEC , Information technology — Coding of audio-visual objects — Part 10: Advanced Video Coding,Second edition, ITU-T Recommendation H.264, Advanced Video Coding for Generic Audiovisual Services, 03/ 2005 T. Wiegand, G.J. Sullivan, G. Bjntegaard, and A. Luthra, Overview of the H.264/AVC video coding standard, IEEE Trans.Circuits Syst.Video Technol., vol.13, no.7,pp.560–576, July 2003 Gary J. Sullivan AND Thomas Wiegand, Video Compression—From Concepts to the H.264/AVC Standard, Proceedings of the IEEE, vol. 93, no. 1, pp18~31, January 2005 Iain E.G. Richardson, H.264 and MPEG-4 Video Compression – video coding for next generation multimedia, ISBN ,John Wiley & Sons, 2003 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

41 第13章 MPEG-4 AVC/H.264视像(参考文献续1)
H.264/AVC JM Reference Software: J. Liang,ENSC 424 – Multimedia Communications Engineering, Simon Fraser University,2005 A. Hallapuro and M. Karczewicz, Low complexity transform and quantization – Part 1: Basic Implementation, JVT document JVT-B038.doc, February Henrique S. Malvar, Antti Hallapuro, Marta Karczewicz, and Louis Kerofsky, Low-Complexity Transform and Quantization in H.264/AVC, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp: , July 2003 Y. H. Moon, G. Y. Kim, and J. H. Kim, An Efficient Decoding of CAVLC in H.264/AVC Video Coding Standard, IEEE Trans. Consumer Electron., vol. 51, Aug. 2005,. pp D. Marpe, H. Schwarz, T. Wiegand, Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard, IEEE Transactions on Circuits and Systems for Video Technology, pp: , Jul. 2003 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

42 第13章 MPEG-4 AVC/H.264视像(参考文献续2)
P. List, A. Joch, J. Lainema, G. Bjntegaard, and M. Karczewicz, Adaptive deblocking filter, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, pp , 2003 ISO/IEC JTC 1/SC 29/WG 11 N 8241, DRAFT ISO/IEC , July 2006, Klagenfurt, Austria Bart Masschelein, Jiangbo Lu and Iole Moccagatta, Overview of International Video Coding Standards, (preceding H.264/AVC), 2007 IEEE International Conference on Consumer Electronics (ICCE) 免费H264/AVC encoder下载网址: 2018年12月2日 第13章 MPEG-4 AVC/H.264视像

43 END 第13章 MPEG-4 AVC/H.264视像


Download ppt "多媒体技术基础(第3版) 第13章 MPEG-4 AVC/H.264视像"

Similar presentations


Ads by Google