视频编码原理
去除视觉冗余(有损压缩)
- 人眼特性:对亮度变化比对色度敏感
- YUV编码:Y(亮度)U(色度)V(浓度)的亮度与色度是分开的,可以适当放弃些色度的数据
- 人眼特性:不易察觉高频变化
- 变换(H264\H265 采用DCT):通过变换找出高频变换数据
- 量化:对高频变换数据离散取值,量化是图像失真的根本原因
- 滤波:主要包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的主要作用是去方块效应,而SAO的主要作用是去除振铃效应
去除数据冗余
去除空域数据冗余
- 帧内预测(I帧):根据像素空间上具有相关性(连续性、周期性),用像素与预测方向上的差值表示像素信息
去除时域数据冗余
- 帧间预测(P帧,B帧(双向预测,有延时性))
- 划分子块
- 运动估计:根据搜索算法,找到当前块最相似的块,即预测块(匹配块)
- 补偿残差:获取预测块和当前块之间的差值
- 补偿残差经DCT变换、量化、编码后与运动矢量共同编码传送
去除编码数据冗余
熵编码:给出现概率大的数据赋予较短的码字,给出现概率小的数据赋予较长的码字
H.265与H.264区别的核心
- 不断增长的分辨率。
- 不断增长的并行计算结构问题。