多媒体知识点整理(6)

视频压缩基础

为什么要对视频进行压缩

传输成本,存储成本太高

motionJPEG:对于图像序列,对序列中的每一帧逐帧进行压缩,并不能利用视频序列各帧图像之间的相关性。

对于视频来说,存在时间冗余,可以通过帧间预测的方式进一步进行视频序列的压缩。


运动估计(运动向量搜索)的基本原理,三种算法及其运算量

运动估计:将一帧图像的块,按照一定的匹配准则在前一帧的搜索范围内查找最匹配的块,得到的位移差称为运动矢量。
运动补偿:按照运动矢量,对上一帧进行唯一,然后求出对当前帧的预测值。

搜索.PNG

顺序搜索:全搜索,搜索整个窗口,将窗口内每个宏块逐个像素的和目标帧中的宏块进行比较。
运算量高,O(p2n2)
运算量:(2p+1)x(2p+1)N2 x3
2D对数搜索:不是最优但最有效
迭代。
运算量(8log2(p+1)+1)x(8log2(p+1)+1)N2 x3
分层搜索:初始的运动向量估计是从显著降低分辨率的图像获得的,然后一层层做修正。
分层搜索运算量.PNG


视频中的时间空间冗余如何去除

H.261使用的编码算法是运动补偿和变换编码的混合,运动补偿去除(时间)冗余,变换编码去除(空间)冗余
H.261是后来开发的所有视频编码标准的基础。


I/B/P帧定义和特性

I帧:intra帧内编码帧 消除空间冗余
P帧:inter帧间编码帧,前向预测编码(通过前面的I和P) 消除时间冗余


I帧编码.PNG

P帧编码.PNG

当预测误差太大,则将宏块本身编码(宏块不进行运动补偿)
宏块间差值的熵通常比目标宏块的熵小很多,所以压缩率较高。
运动矢量传送的是前向量和当前向量的差值。

B帧:由前帧和后帧共同预测得到。在不牺牲质量前提下提高压缩率。(为何要有B帧

压缩性能:I<P<B

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容