下午主要看了下H264里面CAVLC的编解码部分
先把编码的思想介绍一下:这边提到的所谓上下文的意思其实是根据NC(Number Current)来选择码表
除了色度系数NC=-1外,其他系数类型的NC值是根据当前块左边4×4块的非零系数数目(NA)和当前块上面4×4块的非零系数数目(NB)来求。
下面具体根据例子来把详细的CAVLC的编码过程走一遍:
CAVLC编码过程详解
分类:视频
编码过程:
假设有一个4*4数据块
{
0, 3, -1, 0,
0, -1, 1, 0,
1, 0, 0, 0,
0, 0, 0, 0
}
数据重排列:0,3,0,1,-1,-1,0,1,0……
1) 初始值设定:
非零系数的数目(TotalCoeffs) = 5;
拖尾系数的数目(TrailingOnes)= 3;
最后一个非零系数前零的数目(Total_zeros) = 3;
变量NC=1; 这边是直接拿来用了(略去了上下文计算的过程)
(说明:NC值的确定:色度的直流系数NC=