【二】H.264/MPEG-4 Part 10 White Paper 翻译之 Prediction of Intra Macroblocks
翻译版权所有,转载请注明出处~
xzrch@2018.09.14
---------------------------------------------------------------------
1.介绍
ISO / IEC MPEG和ITU-T VCEG的联合视频组(JVT)正在最终确定自然视频图像编码(压缩)的新标准。 新标准[1,2]将被称为H.264以及MPEG-4第10部分,即“高级视频编码”。 本文描述了在H.264 CODEC中预测帧内编码宏块的方法。
如果以帧内模式编码块或宏块,则基于先前编码和重构(但未经滤波)的块来生成预测块。在编码之前从当前块中减去该预测块P。对于亮度(luma)采样,可以针对每个4×4子块或针对16×16宏块生成P。每个4x4亮度块总共有9种可选的预测模式,而可用于16x16亮度模块的有4种可选模式,还有一个始终应用于每个4x4色度块的模式。
2. 4×4 亮度预测模式
图1显示了一个QCIF帧中的亮度宏块和需要预测的4x4亮度块。上面和左边的采样先前已经被编码和重建,因此在编码器和解码器中可用以形成预测参考。如图中所示,预测块P基于图2中标记为采样A-M。注意在一些情况下,并非所有采样A-M在当前切片内都可用:为了保持切片的独立解码,仅当前切片内的样本可用于预测。 根据哪些样本A-M可用来修改DC预测(模式0); 只有在所有需要的预测样本都可用时才可以使用其他模式(1-8)(除非如果E,F,G和H不可用,则从样本D复制它们的值)。
图3中的箭头表示每种模式下的预测方向。对于模式3-8,预测样本由预测样本A-Q的加权平均生成。编码器可以为每个块选择预测模式,其目标是最小化P与要编码的块之间的残差。


示例:针对图1中所示的4×4块计算9个预测模式(0-8)。图4表示出了由每个预测创建的预测块P. 每个预测的误差绝对值之和(SAE)表示预测误差的大小。 在这种情况下,模式7(垂直右)给出了与实际当前块的最佳匹配,因为该模式给出了最小的SAE。视觉比较显示P块看起来与原始4x4块非常相似。

3. 16×16 亮度预测模式
作为上述4×4亮度模式的替代,可以预测宏块的整个16×16亮度分量。 有四种模式可供选择,如图5中的图表所示:
模式0(垂直):从上部样本(H)外推。
模式1(水平):从左样本(V)外推。
模式2(DC):上部和左侧样本的平均值(H + V)。
模式4(平面):线性“平面”函数适用于上部和左侧样本H和V.这适用于平滑变化亮度的区域。

例:
图6表示亮度宏块具有在上边缘和左边缘处的先前编码的样本。 预测结果(图7)表明最佳匹配由模式3给出。帧内16×16模式在图像的均匀区域中效果最佳。


4. 8×8色度预测模式
从先前已经编码和重构的上方和/或左侧的色度样本预测宏块的每个8×8色度分量。 除了模式编号的顺序不同之外,4种预测模式与第3节中描述的16x16亮度预测模式非常相似,不同之处在于:DC(模式0),水平(模式1),垂直(模式2) 和平面(模式3)。 始终将相同的预测模式应用于两个色度块。
从先前已经编码和重构的上方和/或左侧的色度样本预测宏块的每个8×8色度分量。 除了模式编号的顺序不同之外,4种预测模式与第3节中描述的16x16亮度预测模式非常相似,不同之处在于:DC(模式0),水平(模式1),垂直(模式2) 和飞机(模式3)。 始终将相同的预测模式应用于两个色度块。
注意:如果亮度分量中的任何8x8块以帧内模式编码,则两个色度块都是经过编码的。
5. 编码帧内预测模式
必须向解码器发信号通知每个4×4块的帧内预测模式的选择,并且这可能潜在地需要大量比特。 然而,相邻4×4块的帧内模式高度相关。 例如,如果使用模式2预测图8中的先前编码的4×4块A和B,则块C(当前块)的最佳模式可能也是模式2。
对于每个当前块C,编码器和解码器计算most_probable_mode。 如果A和B在4x4帧内模式中编码并且都在当前切片内,则most_probable_mode是A和B的预测模式的最小值; 否则,most_probable_mode设置为2(DCprediction)。
编码器为每个4x4块发送一个标志use_most_probable_mode。 如果标志为“1”,则使用参数most_probable_mode。 如果标志为“0”,则发送另一个parameterremaining_mode_selector以指示模式的改变。 如果remaining_mode_selector小于当前的most_probable_mode,则将预测模式设置为remaining_mode_selector;否则将预测模式设置为remaining_mode_selector + 1。 以这种方式,仅需要8个remaining_mode_selector值(0到7)来发信号通知当前帧内模式(0到8)。

6. References
1 ITU-T Rec. H.264 / ISO/IEC 11496-10, “Advanced Video Coding”, Final Committee Draft, Document JVTF100,
December 2002
2 Iain E G Richardson, “H.264 and MPEG-4 Video Compression”, John Wiley & Sons, to be published late
2003
【二】H.264/MPEG-4 Part 10 White Paper 翻译之 Prediction of Intra Macroblocks的更多相关文章
- 【一】H.264/MPEG-4 Part 10 White Paper 翻译之 Overview of H.264
翻译版权所有,转载请注明出处~ xzrch@2018.09.14 ------------------------------------------------------------------- ...
- 【转】实现RTP协议的H.264视频传输系统
1. 引言 随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动 ...
- 基于RTP协议的H.264传输
1. 引言 随 着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免 的尴尬,就是在网络上看 ...
- 每天进步一点点------H.264学习 (一)
分三个阶段学习1.第一个阶段: 学习H.264,首先要把最基本最必要的资料拿在手里.这些资料包括:标准文档+测试模型+经典文章,在本FTP中能找到.首先看 <H.264_MPEG-4 Part ...
- H.265 & H.264
H.265 & H.264 HEVC (H.265) vs. AVC (H.264) https://en.wikipedia.org/wiki/High_Efficiency_Video_C ...
- H.264 / MPEG-4 Part 10 White Paper-翻译
1. Introduction Broadcast(广播) television and home entertainment(娱乐) have been revolutionised(彻底改变) b ...
- H.264 White Paper学习笔记(二)帧内预测
为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...
- H.264 White Paper学习笔记(一)总览
H.264 White Paper对于264编码器的原理讲的比较透彻,在阅读学习的时候收获很大,这份文献网上有很多了,也有不少人翻译,不过想要理解更清楚我觉得还是得看英文原版的. 首先看一下白皮书里给 ...
- #《H.264和MPEG-4视频压缩》# 二. 图像质量
为了规范.评价.比较不同的视频通信系统,我们需要建立评价图像质量的准则.视觉效果的测量非常困难,而且并不精确,因为影响结果的因素众多.图像质量的认定是一个主观化的东西,许多影响它的因素都难以给出完整而 ...
随机推荐
- SSM框架构建多模块之业务拆分实践
在如下这两篇篇文章我都或多或少强调过业务分层方面的的方法和注意事项,感兴趣的可以看看: 系统设计和系统划分有定律可循 业务拆分的思考 之前是说,现在是做.以我个人博客为例,我的博客最初只是一个单体应用 ...
- CVPR 2016 paper reading (2)
1. Sketch me that shoe, Qian Yu, Feng Liu, Yi-Zhe Song, Tao Xiang, Timothy M. Hospedales, Cheng Chan ...
- Arduino 入门之小星星
原理:通过编号映射不同的频率音频信号,配合延时输出,达到演奏音乐和跑马灯的效果. 优酷视频链接:https://v.youku.com/v_show/id_XMzcxODQ4NjA3Mg==.html ...
- Jmeter--随机生成浮点数
post接口中需要随机生成目标对象的地理位置: 所以就使用了javaScript函数,如下所示: { "Location": { "Altitude": ${_ ...
- 如果js设置移动端有两种方式 大家可以参考
//使用em单位 var scaleObj = { documentEle : document.documentElement, deviceWidth : document.documentEle ...
- HDU 1789 Doing Homework again(非常经典的贪心)
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 2.java编辑器和java大致内容
离开了宇宙第一IDE.对java的编辑的选择有点茫然. .net只有一个你不用选择.java好几个.对于追求完美的我来说.总想选个完美的.上网百度可一下.最经典的当然是eclipse了. 但是觉得有点 ...
- Oracle的分析函数
Oracle的分析函数row_number(),rank(),dense_rank()的用法与区别 比如查询工资排名第7的员工信息,可以用分析函数来做. --查询工资排名第7的员工信息select * ...
- Spring知识点小结汇总
Spring部分 1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控 ...
- js 变速动画函数
//获取任意一个元素的任意一个属性的当前的值---当前属性的位置值 function getStyle(element, attr) { return window.getComputedStyle ...