说起视频解码器,我们常常提到mpeg2、mpeg4、h264等。它们的区别是什么?它们是如何演变的?我想尝试回答这些问题。 mpeg4 Visual或mpeg4 part II严格说来,当我们提到mpeg4视频时,最好称它为MPEG4 Visual或MPEG4 part II (ISO/IEC 14496-2)。原因是: mpeg4 part 10定义mpeg4 part II中的另一种Video规范:AVC(H264),视觉概念包括:视频(video),网格(mesh)和FBA(Face and Body Animation,面部和躯体动画)。 mpeg4 visual概述我很想将本节放在后面一点,因为这里提到的许多概念没有广泛使用(或者说,还没有实现)。mpeg4 visual引入了许多先进的观念,使其成为一个丰富的体系,具有更好的互用性。例如: <!--[if !supportLists]-->l <!--[endif]-->非矩形(任意形状)物体; <!--[if !supportLists]-->l <!--[endif]-->来自传统图形(Graphics)的2D网格和3D网格; <!--[if !supportLists]-->l <!--[endif]-->纹理(texture)也可以作为来自图形(Graphics)的术语,但大都数mpeg4称其为:动态补偿后的残留帧数据; <!--[if !supportLists]-->l <!--[endif]-->我个人认为Sprite也来自图形(Graphics)纹理;这意味着您有一个大纹理(从图像创建),当您将这个纹理映射到一个物体时,您只使用它的一部分; <!--[if !supportLists]-->l <!--[endif]-->来自动画的FBA。 为使这个体系更加灵活和丰富,mpeg4 visual定义的外形多达19个(通过mpeg4 visual中定义的工具的各种组合)。 现实中的mpeg4尽管mpeg4 visual定义了各种外形,实际使用的只有传统的视频(Video)对象。我们仍旧从摄影机观察这个世界(像素组成的矩形对象),没有来自计算机生成内容的复合成分:动画或多边形(网格)。关于BAB (binary alpha block)(甚至grayscale alpha block)的新奇功能,即(针对数据分区的,时间的,空间的)可量测性(scalability)和小波转换(wavelet transform)也没有广泛使用。 只有三种外形广泛使用:Simple profile(SP),Advance Simple profile (ASP)和 Advance RealTime Simple profile(ARTS),而libva只支持SP和ASP。因此,如果我们只是检查这个有价值的部分,mpeg2到mpeg4的演变和mpeg4到h264演变都没有令人惊奇的地方。它们都是相同的DPCM/DCT框架混合体系。 mpeg2,mpeg4和h264的区别再次声明,这里我们只关注mpeg4 visual (SP, ASP)有价值的部分。 ==待定== mpeg4 visual和H263H26x和MPEG x之间往往容易混淆,尤其是H262等同于mpeg 2 video,H264等同于mpeg 4 part 10 (AVC)。mpeg4等同于H263吗? 答案是:相似,但不相同。
H26x是ITU-T VCEG (Video Coding Expers Group)发布的,而mpeg x是ISO/IEC MPEG (Motion Picture Expert Group)发布的;有时JVT (Joint Video Team)以不同的名字发布相同的标准。 mpeg 4 visual最初采用H263(的工具)作为核心工具,后来它发布的最终产品加入了更多工具。 H263也有它自己的升级版本H263+和H263++。 不管怎样,我们能够将H263 base profile等同于mpeg 4 visual simple profile。本文译自Moblin.org技术社区,点击此处,查看原文 更多内容,到“Moblin技术中国”专区 |
>>更多交流,请到 ChinaUnix【移动开发论坛】:http://linux.chinaunix.net/bbs/forum-80-1.html |
MPEG IV Visual basic视频解码器剖析
最新推荐文章于 2020-05-08 09:55:33 发布