H264 编解码框架简单介绍
2015-02-26 09:31
441 查看
阅读完H264/AVC 编解码器的介绍,脑海中仅仅是留下下面三条:
1、H264并没有明白规定一个编解码器怎样实现,仅仅是规定了一个编码后的视频比特流的句法,和该比特流的解码方法,这个与MPEG 类似。
2、H264和曾经的标准(如H261、H263、MPEG-1、MPEG-4)的编解码器实现流程没有太大差别,基本的不同在于各功能块的细节。
3、H264就是利用实现的复杂性获得压缩性能的明显改善。(至于复杂度的评估,以后会介绍)
以下介绍一下H264的编码器框图:
编码器採用的仍是变换和预測的混合编码法。在图6.1中,输入的帧或场Fn以宏块为单位被编码器处理。首先,按帧内或者帧间预測编码的方法进行处理。假设採用帧间预測编码,其预測值PRED是由当前片中前面已编码的參考图像经运动补偿(MC)后得到,当中參考图像用F'n-1表示。预測值PRED和当前块相减后,产生一个残差块Dn,经块变换、量化后产生一组量化后的变换系数X,再经熵编码,与解码所需的一些头信息一起组成压缩后的码流,经NAL(网络自适应层)供传输和存储用。
H264的解码器框图:
在图6.2中,将编码器的NAL输出的H264比特流经熵解码得到量化后的一组变换系数X,再经反量化、反变换,得到残差D'n。利用从该比特流中解码出的头信息,解码器就产生一个预測块PRED,它和编码器中的原始PRED是同样的。当该解码器产生的PRED与残差D'n相加后,就得到了uF'n,再经滤波后,最后就得到滤波后的解码输出图像F'n。
*以上的图片来自《H264 AND MPEG-4 VIDEO COMPRESSION》
1、H264并没有明白规定一个编解码器怎样实现,仅仅是规定了一个编码后的视频比特流的句法,和该比特流的解码方法,这个与MPEG 类似。
2、H264和曾经的标准(如H261、H263、MPEG-1、MPEG-4)的编解码器实现流程没有太大差别,基本的不同在于各功能块的细节。
3、H264就是利用实现的复杂性获得压缩性能的明显改善。(至于复杂度的评估,以后会介绍)
以下介绍一下H264的编码器框图:
编码器採用的仍是变换和预測的混合编码法。在图6.1中,输入的帧或场Fn以宏块为单位被编码器处理。首先,按帧内或者帧间预測编码的方法进行处理。假设採用帧间预測编码,其预測值PRED是由当前片中前面已编码的參考图像经运动补偿(MC)后得到,当中參考图像用F'n-1表示。预測值PRED和当前块相减后,产生一个残差块Dn,经块变换、量化后产生一组量化后的变换系数X,再经熵编码,与解码所需的一些头信息一起组成压缩后的码流,经NAL(网络自适应层)供传输和存储用。
H264的解码器框图:
在图6.2中,将编码器的NAL输出的H264比特流经熵解码得到量化后的一组变换系数X,再经反量化、反变换,得到残差D'n。利用从该比特流中解码出的头信息,解码器就产生一个预測块PRED,它和编码器中的原始PRED是同样的。当该解码器产生的PRED与残差D'n相加后,就得到了uF'n,再经滤波后,最后就得到滤波后的解码输出图像F'n。
*以上的图片来自《H264 AND MPEG-4 VIDEO COMPRESSION》
相关文章推荐
- H264 编解码框架简单介绍
- H264 编解码框架简单介绍
- H264 编解码框架简单介绍
- 关于Flex-Mvc的几个框架的简单介绍
- IOS中core Data框架的简单介绍
- Android多媒体框架OpenCore(PacketVideo)介绍之二:OSCL和文件编解码
- (转)网上流传的天龙源码框架分析之一 --- 客户端简单介绍
- J2EE 三大框架的简单介绍以及他们的下载地址
- Spring Batch 之 框架流程简单介绍(二)
- Jo——一个简单HTML5移动框架介绍
- JMF简单介绍-Java媒体框架_java media framwork
- Python开源抓取框架简单介绍,以及安装(ubuntu)常见问题解决
- 介绍Struts 1.1 框架基本原理,以及介绍Struts 1.1 安装和一个简单的例子。
- 使用Javascript和prototype.js框架创建类型及其相关的prototype属性的简单介绍
- H264 编解码框架简介
- 框架相关jar包简单介绍
- H264 编解码框架简介
- 一个最最简单的飞行射击游戏(J2ME)的大体框架介绍
- WebC.BBS 框架简单介绍说明
- H264 编解码框架简介