H.246的编解码框架是基于混合编码的方案,系统编码框如下图所示,编码期包含两个方向的数据流处理途径,一个是向前,另一个则是重构。编码时,首先把当前帧Fn划分成宏块 ,宏块有帧内和帧间两种模式,帧内模式使用当前帧内已编码的宏块进行预测,帧间模式使用以往一个或多个帧作为参考进行运动预测,然后,对预测值和原始值的差值进行变换,量化,重新排序和这编码。对量化系数进行反量化,反变换后,与预测数相加,得到未经滤波的帧,对帧进行行块键滤波,得到当前的重构帧。

在H。246中每帧图像的编解码过程都以16x16的宏块为基本单位进行,i帧编码的基本流程为:

1、进行帧内预测,决定所采用的帧内预测模式。

2、像素值减去预测值。得到残差

3、对残差进行变换和量化

4、变长编码和算术编码

5、重构图像并滤波,得到的图像作为其他帧的参考帧。

C9418958-474D-4F03-8E9B-A9D19B7C4D7B

 

P帧和B帧编码的基本流程为:

1、进行运动预估,计算采用帧间编码模式的率真函数值,P帧只参考前面的帧,B帧可以参考后面的帧

2、进行帧内预测,选取率真函数值最小的帧内模式与帧间模式比较,确定采用哪种编码模式。

3、计算实际值和预测值的差值Dn。

4、对残差进行变换和量化

5、变长编码和算术编码,如果是帧间编码模式,编码运动矢量。