帧间编码的预测自适应量化系数扫描排序
自适应扫描顺序算法的实现步骤分三步:
- 对于每帧之间的预测,初始化为一组二维数组{S1[n][n] ,S2[n][n],……, Sm[n][n]},其中m是多少帧间预测模式,n是转换的每个维度的大小。
对于4*4的转换,n=4;8*8,n=8;S用来保存系数矩阵的总和。
2. 对于每一个n*n大小的块
(a)如果这是第一个P帧,用标准的zig-zag扫描顺序,否则就根据帧间预测模式产生自适应排序。
(b)把这个块内的量化系数的绝对值进行加和存储到Si[n][n],i就是选择的这个块的帧间预测模式。
3. 对于每一个帧间预测模式i(i=1,。。。。m)
(a)按降序对Si[n][n]排序,排序的过程中保存好每一个值在顺序中的原坐标。
(b)建立一个有原指数顺序的2维数组,这个将变成下一个帧间预测在这个模式的新的扫描顺序。
具体的理解:
首先把一帧分成m块,产生m个预测模式:{S1[n][n], S2[n][n], …, Sm[n][n]},
对于每一个n*n的块,如果它是第一个p帧,则按照标准的zig-zag顺序扫描,否则就用帧内模式的自适应扫描。
自适应扫描方法中:就会把每一个块的量化系数的绝对值加到Si[n][n]中。
然后把Si[n][n]里面的数字按降序排列,并保存好每一个数字原来的位置,扫描的时候就按照降序进行。
作者:绿茶叶
出处:http://www.cnblogs.com/greenteaone/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。