h.246学习(二)

编码数据流(从左到右编码,从右到左重建)


(一)编码

1.以宏块(16*16亮度区域和相应的色度区域)为单位,对输入视频帧Fn进行编码;

2.运动估计函数从参考帧(如重建帧F‘n-1或子采样后的F'n-1)中寻找当前宏块的匹配区域(相似区域),该区域和当前宏块的位置偏移即为运动矢量MV;

3.根据MV生成运动补偿的预测P(16*16区域);

4.用当前宏块减去P生成残差宏块D;

5.将D划分成8*8或4*4的子块,分别进行DCT变换;

6.子块量化(X);

7.子块的DCT系数重新排序,再进行run-level游戏编码;

8.编码后的系数、运动矢量和相关的宏块头信息经过熵编码后生成压缩比特流;

(二)重建数据流如下

1.每个量化后的宏块X经过尺度变换、反DCT变换生成解码后的残差D'.由于量化过程是不可逆的,所以D'和D并不相同(有失真);

2.残差D'与运动补偿预测P相加得到重建宏块,所有重建宏块一起得到重建帧F'n.

Fn编码结束后,其重建帧F'n可以用来作为参考帧并用于Fn+1的编码。

解码数据流

1.熵解码器从压缩比特流中解码除变换系数、运动矢量和宏块头信息;

2.反向run-level编码并重排序之后,得到量化的变换域宏块X;

3.X经过尺度变换。反DCT变换生成解码后的残差D';

4.根据解码后的运动矢量,在解码器重建的图像F'n-1中找到16*16的匹配区域,作为运动补偿的预测P;

5.残差D'与P相加得到重建宏块,所有重建宏块一起得到重建帧F'n;

F'n解码后可以用来显示或作为下一帧的参图像存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值