H264 帧内压缩技术整理

帧内压缩,解决的是空域数据冗余问题(一张图片内部的数据压缩问题)。
比如:一张天然色背景图片的压缩,背景天然色是可以用一部分很小的数据量存储,解压缩时可以通过很少的数据量还原回去。对于帧内的物体也有实际的算法。

帧间压缩,解决的是时域数据冗余问题
随着时间推移每个时间段是有帧数据的,他们是有参考的。

整数离散余弦变换(DCT),将空间上的相关性变为频域上无关的数据然后进行量化

CABAC压缩
 

宏块
宏块是视频压缩的基本单元
帧内、帧间的基本单元
将原始图像划分成很多个宏块单元,如果有很多细节的图片需要划分成更小的宏块。

宏块的尺寸有:16x16 8x16 16x8 8x8  4x8 4x4 8x4

帧内压缩理论
1、相邻像素差别不大,所以可以进行宏块预测
2、人对亮度的敏感度超过色度
3、YUV很容易将亮度与色度分开
根据已知的模块来推测下一个模块的数据。
帧内预测,九种预测模式
从某一个宏块为基础,在这个宏块下边或者右边的宏块是什么,进行推算的时候实际用九种模式的一种来计算,哪种最近接原来的模块就选择哪种模式,有相关的论文。
把所有宏块进行处理,标记每个宏块具体使用的模式。

根据宏块所选用的模式来预测宏块的值,以下是具体的九种模式


上图横向A-H和竖向I-L是已经知道的值,白色方格子就是待预测的宏块,中小写字母的值是待预测填充的部分。
如果是竖向预测,图中第一中,那么小方格的值就是按箭头所指的方向填充,宏块中第一列的值就全是A, 第二例全是B,以此类推。

如果是横向预测,图中第二中,那么小方格的值就是按箭头所指的方向填充,宏块中第一行的值就全是A, 第二行全是B,以此类推。
第三个图就是求平均值,即宏块的值是其周围已经预测宏块横向和竖向所有像素的值。
其他几种模式按箭头方向预测,如上箭头方式类推。

不同模式的预测结果是不一样的,第一个图是垂直预测,第二个水平预测,第三个求平均,如下;

帧内预测举例

1、根据所选定的模式预测各个模块的值,之后得到一张预测图。

 2、预测图与原始图进行比较得到残差值。

 

3、将图片预测时使用的模式信息(prediction mode info ) 和预测的图片残差值(residual)进行压缩,之后进行传输。

 

4、解码端根据传输过来的I帧和预测模式信息,以及残差值还原图像。 

帧内压缩帧类型
I 帧
IDR 帧

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值