Duanxx的HEVC学习(三)HEVC编码框架(一)框架说明

来源:互联网 发布:windows mount ext4 编辑:程序博客网 时间:2024/05/21 10:15

从编码框架上来看,HEVC和H264在整体框架差不多,此处只分析HEVC的VCL(Video Coding Layer)。和之前的视频编码协议一样HEVC的VCL使用的是混合编码技术:inter-/intrapicture prediction and 2-D transform coding。粗鲁的说就是HEVC把图片内静态压缩、图片间的动态压缩、以及码流层的压缩等等能使用的压缩都使用了,就成了混合压缩编码技术。

         下图是这个Encoder的编码框架:

         在这个编码框架图中,虚线代表的是控制信息,实线代表的是数据流,Encoder最终的输出是编码完成后的码流。关于输入的视频文件分析可参见《Duanxx的HEVC学习(一)输入视频文件YUV文件的分析》。

  

 我在这里将整个Encoder分成了主要的四个区域块,此处仅仅简要的说明一下这四个区域分别是什么,在后面文章中会详细的说明其由来。

         (1)代表的是预测模块,包括帧内预测和帧间预测,帧内预测用于消除空间冗余;帧间预测则主要用于消除时间上的冗余。帧内预测所使用的帧我们称为I帧;帧间预测所使用的帧分为P帧和B帧,P帧指的是向前预测帧,而B帧指的是双向预测帧。

         (2)代表的是变换和量化,在(2)模块的左边有一个特殊的数据处理符号,这个符号下面还有一个减号,此处代表的是求残差,就是说,我们从(1)模块中得到的预测后的图片和原始图片的差值,称为残差。可以看到,变换和量化的输入就是刚刚得到的残差

         (3)这个一个完整的解码器,包括反量化、反变换、滤波。之所以编码器中要有一个完整的解码器,是因为编码器中最重要的是模块(1)预测模块,而做预测是要有参考帧的,基于已有的参考帧才可以对当前帧做帧内或者帧间预测。为了实现编码器和解码器的一致性(简单点说,就是我们用电脑或者其他的什么东东看HEVC的视频的时候,我们得到HEVC的比特流后,只需要一个解码器就可以了,通过解码器,我们得到一幅幅的图片,解码器在解码的时候其参考图片是前面已解码的图片,为了预测的准确性,编码器和解码器做预测的时候所参考的图片必须是一样的,所以在编码器中寸在了一个完整的解码器,这个解码器的作用就是为了实现参考帧的一致性)。

         (4)这个模块是从码流的视角进一步对视频流压缩,主要是消除编码冗余。

         

1 0
原创粉丝点击