熟悉多种视频标准,如h.264, MPEG-2/MPEG-4, AVS.
全部博文(47)
分类: 嵌入式
2014-03-10 09:57:37
from:
视频编码标准
MPEG-2视频
MPEG-4 AVC/H.264视频
AVS视频
AVS视频与AVC/H.264性能差异估计
(采用信噪比dB估算,括号内的百分比为码率差异)
帧内预测
只在频域内进行DC系数差分预测
基于4×4块,9种亮度预测模式,4种色度预测模式
基于8×8块,5种亮度预测模式,4种色度预测模式
基本相当
多参考帧预测
只有1帧
最多16帧
最多2帧
都采用两帧时相当,帧数增加性能提高不明显
变块大小运动补偿
16×16
16×8(场编码)
16×16、16×8、8×16、8×8、8×4、4×8、4×4
16×16、16×8、8×16、8×8
降低约0.1dB
(2-4%)
B帧宏块直接编码模式
无
独立的空域或时域预测模式,若后向参考帧中用于导出运动矢量的块为帧内编码时只是视其运动矢量为0,依然用于预测
时域空域相结合,当时域内后向参考帧中用于导出运动矢量的块为帧内编码时,使用空域相邻块的运动矢量进行预测
提高0.2-0.3dB
(5%)
B帧宏块双向预测模式
编码前后两个运动矢量
编码前后两个运动矢量
称为对称预测模式,只编码一个前向运动矢量,后向运动矢量由前向导出
基本相当
?像素运动补偿
仅在半像素位置进行双线性插值
?像素位置采用6拍滤波,? 像素位置线性插值
?像素位置采用4拍滤波,?像素位置采用4拍滤波、线性插值
基本相当
变换与量化
8×8浮点DCT变换,除法量化
4×4整数变换,编解码端都需要归一化,量化与变换归一化相结合,通过乘法、移位实现
8×8整数变换,编码端进行变换归一化,量化与变换归一化相结合,通过乘法、移位实现
提高约0.1dB(2%)
熵编码
单一VLC表,适应性差
CAVLC:与周围块相关性高,实现较复杂
CABAC:计算较复杂
上下文自适应2D-VLC,编码块系数过程中进行多码表切换
降低约0.5dB(10-15%)
环路滤波
无
基于4×4块边缘进行,滤波强度分类繁多,计算复杂
基于8×8块边缘进行,简单的滤波强度分类,滤波较少的像素,计算复杂度低
——
容错编码
简单的条带划分
数据分割、复杂的FMO/ASO等宏块、条带组织机制、强制Intra块刷新编码、约束性帧内预测等
简单的条带划分机制足以满足广播应用中的错误隐藏、恢复需求
——
AVS与MPEG-2、MPEG-4 AVC/H.264使用的技术对比和性能差异估计
DCT(Discrete Cosine Transform):离散余弦变换
VLC(Variable Length Coding):变长编码
CAVLC(Context-based Adaptive Variable Length Coding):基于上下文的自适应变长码
CABAC(Context-based Adaptive Binary Arithmetic Coding):基于上下文的自适应二进制算术编码
FMO(Flexible Macroblock Ordering):灵活的宏块排序
ASO(Arbitrary Slice Ordering):任意条带排列