H264基本概念之 宏块、片和片组 转自:http://blog.csdn.net/wanggp_2007/archive/2009/11/20/4842839.aspx
2011-10-28 16:13
519 查看
这几个概念对比音频信号处理可是全新的,下面简要介绍一下定义和作用:
1、宏块(Macro Block):一个编码图像首先要划分成多个块(4x4 像素)才能进行处理,显然宏块应该是整数个块组成,通常宏块大小为16x16个像素。宏块分为I、P、B宏块,I宏块只能利用当前片中已解码的像素作为参考进行帧内预测;P宏块可以利用前面已解码的图像作为参考图像进行帧内预测;B宏块则是利用前后向的参考图形进行帧内预测;
以下是宏块的句法单元,来自参考文献2
2、片(Slice):一帧视频图像可编码成一个或者多个片,每片包含整数个宏块,即每片至少一个宏块,最多时包含整个图像的宏块。
片的目的:为了限制误码的扩散和传输,使编码片相互间保持独立。片共有5种类型:I片(只包含I宏块)、P片(P和I宏块)、B片(B和I宏块)、SP片(用于不同编码流之间的切换)和SI片(特殊类型的编码宏块)。
以下是片的句法结构:片头规定了片的类型、属于哪个图像、有关的参考图像等;片的数据包含了一系列宏块和不编码数据。
3、片组是一个编码图像中若干宏块的一个子集,包含一个或若干个片。
一般一个片组中,每片的宏块是按扫描次序进行编码的,除非使用任意片次序(Arbitrary Slice Order, ASO)一个编码帧中的片之后可以跟随任一解码图像的片。
另外一种片组,灵活宏块次序(Flexible Macroblock Ordering, FMO)用灵活的方法,把编码的宏块宏块映射到相应的片组中,见下图:
参考文献:
1、新一代视频压缩编码标准;
2、H264 and MPEG-4 video compression
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wanggp_2007/archive/2009/11/20/4842839.aspx
1、宏块(Macro Block):一个编码图像首先要划分成多个块(4x4 像素)才能进行处理,显然宏块应该是整数个块组成,通常宏块大小为16x16个像素。宏块分为I、P、B宏块,I宏块只能利用当前片中已解码的像素作为参考进行帧内预测;P宏块可以利用前面已解码的图像作为参考图像进行帧内预测;B宏块则是利用前后向的参考图形进行帧内预测;
以下是宏块的句法单元,来自参考文献2
2、片(Slice):一帧视频图像可编码成一个或者多个片,每片包含整数个宏块,即每片至少一个宏块,最多时包含整个图像的宏块。
片的目的:为了限制误码的扩散和传输,使编码片相互间保持独立。片共有5种类型:I片(只包含I宏块)、P片(P和I宏块)、B片(B和I宏块)、SP片(用于不同编码流之间的切换)和SI片(特殊类型的编码宏块)。
以下是片的句法结构:片头规定了片的类型、属于哪个图像、有关的参考图像等;片的数据包含了一系列宏块和不编码数据。
3、片组是一个编码图像中若干宏块的一个子集,包含一个或若干个片。
一般一个片组中,每片的宏块是按扫描次序进行编码的,除非使用任意片次序(Arbitrary Slice Order, ASO)一个编码帧中的片之后可以跟随任一解码图像的片。
另外一种片组,灵活宏块次序(Flexible Macroblock Ordering, FMO)用灵活的方法,把编码的宏块宏块映射到相应的片组中,见下图:
参考文献:
1、新一代视频压缩编码标准;
2、H264 and MPEG-4 video compression
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wanggp_2007/archive/2009/11/20/4842839.aspx
相关文章推荐
- H264 编解码框架简介 转自:http://blog.csdn.net/wanggp_2007/article/details/4863129
- 开发MSN插件http://blog.csdn.net/Red_angelX/archive/2006/12/26/1462781.aspx
- http://blog.csdn.net/ol_beta/archive/2010/10/27/5968817.aspx
- CImageList使用指南(http://blog.csdn.net/panfei10000/archive/2006/12/21/1452278.aspx)
- 动态连接库入门(转载自光头的学习文档http://blog.csdn.net/yuguanglou/archive/2004/11/10/175879.aspx)
- linux下增加新硬盘(转:http://blog.csdn.net/magicbreaker/archive/2008/10/09/3040233.aspx)
- sql里的exists与in、not exists与not in的区别(转:http://blog.csdn.net/jkptthui/archive/2009/12/17/5024779.aspx)
- eclipse_plugin(http://blog.csdn.net/chrython/archive/2006/10/29/1355453.aspx)
- window.event(转自:http://blog.csdn.net/cnkiminzhuhu/archive/2008/02/22/2112408.aspx)
- ASP.net输出JS脚步的类(无AJAX框架)(原作者发布地址http://blog.csdn.net/zhoufoxcn/archive/2008/04/21/2312440.aspx)
- 无形胜有形——0day破解组织探秘 http://blog.csdn.net/jiangtao/archive/2002/11/30/1868.aspx
- 字符编码的奥秘(转自http://blog.csdn.net/hbrqlpf/archive/2007/09/24/1798935.aspx)
- Asp.net SESSION管理分析--http://blog.csdn.net/hnwanghb/archive/2006/01/18/582709.aspx
- http://blog.csdn.net/netjxz/archive/2007/10/28/1852343.aspx
- 命令行下管理本机或远程主机服务的工具 - SC命令简介(转http://blog.csdn.net/happywqw/archive/2005/10/26/517156.aspx)
- http://blog.csdn.net/z2007b/archive/2011/05/03/6388753.aspx
- 转:超级实用且不花哨的js代码大全(http://blog.csdn.net/panxuan/archive/2007/11/26/1902826.aspx)
- SQL Server临时表(转) (转自:http://blog.csdn.net/zh520/archive/2009/04/17/4087943.aspx)
- gcc生成静态库和动态库(转自http://blog.csdn.net/ast_224/archive/2009/03/13/3988244.aspx)
- http://blog.csdn.net/xiaominghimi/archive/2010/12/21/6090575.aspx