翻译版权所有,转载请注明出处~

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的更多相关文章

  1. 【一】H.264/MPEG-4 Part 10 White Paper 翻译之 Overview of H.264

    翻译版权所有,转载请注明出处~ xzrch@2018.09.14 ------------------------------------------------------------------- ...

  2. 【转】实现RTP协议的H.264视频传输系统

    1.  引言       随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动 ...

  3. 基于RTP协议的H.264传输

    1.  引言        随 着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免 的尴尬,就是在网络上看 ...

  4. 每天进步一点点------H.264学习 (一)

    分三个阶段学习1.第一个阶段: 学习H.264,首先要把最基本最必要的资料拿在手里.这些资料包括:标准文档+测试模型+经典文章,在本FTP中能找到.首先看 <H.264_MPEG-4 Part ...

  5. H.265 & H.264

    H.265 & H.264 HEVC (H.265) vs. AVC (H.264) https://en.wikipedia.org/wiki/High_Efficiency_Video_C ...

  6. H.264 / MPEG-4 Part 10 White Paper-翻译

    1. Introduction Broadcast(广播) television and home entertainment(娱乐) have been revolutionised(彻底改变) b ...

  7. H.264 White Paper学习笔记(二)帧内预测

    为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...

  8. H.264 White Paper学习笔记(一)总览

    H.264 White Paper对于264编码器的原理讲的比较透彻,在阅读学习的时候收获很大,这份文献网上有很多了,也有不少人翻译,不过想要理解更清楚我觉得还是得看英文原版的. 首先看一下白皮书里给 ...

  9. #《H.264和MPEG-4视频压缩》# 二. 图像质量

    为了规范.评价.比较不同的视频通信系统,我们需要建立评价图像质量的准则.视觉效果的测量非常困难,而且并不精确,因为影响结果的因素众多.图像质量的认定是一个主观化的东西,许多影响它的因素都难以给出完整而 ...

随机推荐

  1. DataGrid添加滚动条

    DataGrid中是没有滚动条的,要添加滚动条需要借助<div>层 <div style="overflow:auto;width:95%;height:95%" ...

  2. C#使用DotNetZip对zip压缩包进行添加删除操作

    参考:http://stackoverflow.com/questions/9855155/how-can-i-delete-a-directory-in-a-zip-file-using-net D ...

  3. java中数据类型的范围

    前言:最近:本菜鸡在准备pat,可以每次遇到数据类型的时候都得去查找范围,因此本着学习的目的,来总结一下java中的数据类型. 因此我用mindManager做了一个思维图

  4. Android客户端与服务器端通过DES加密认证

    转载地址:http://blog.csdn.net/spring21st/article/details/6730283 由于Android应用没有像web开发中的session机制,所以采用PHPS ...

  5. mime中间件

    mime中间件Demo,里面用到的有 1.path模块 //引入模块 var path=require('path'); 2.extname方法 //获取文件的扩展名 var extname=path ...

  6. 【转】NHIBERNATE的各种保存方式的区别 (SAVE,PERSIST,UPDATE,SAVEORUPDTE,MERGE,FLUSH,LOCK)

    前言 今天学学习NH这个框架,在新增对象的时候,看见大神用了persist而没有用Save,心中比较疑惑,查阅资料的时候,发现这篇写的非常不错,转载供大家参考. hibernate的保存hiberna ...

  7. 轻量ORM-SqlRepoEx (七)AspNetCore应用

    ORM-SqlRepoEx 是 .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵 ...

  8. Reading Notes : 180215 计算机系统

    读书<计算机组成原理>,<鸟哥的Linux私房菜 基础篇>百度百科,内容摘自<计算机组成原理>,<鸟哥的Linux私房菜 基础篇> 计算机系统 在前面几 ...

  9. JAVA交通规则

    第一个JAVA程序的编写和运行 1.使用记事本编辑: public class Welcome { public static void main(String[] args) { System.ou ...

  10. MySQL 5.7增强半同步测试

            we've know the machenism of semi-synchronous replication in my previous article,let's do som ...