SDT代码学习:http://blog.csdn.net/lin453701006/article/details/79158700
在JEM中,变化编码的改进可以分为两个阶段,如下图。
第一阶段是使用自适应多核变换AMT(http://blog.csdn.net/lin453701006/article/details/79026631)或信号决定变换SDT的主变换,两者通过率失真优化进行选择。第二阶段是使用模式依赖的不可分二次变换MDNSST(http://blog.csdn.net/lin453701006/article/details/79030862)的二次变换。这里介绍第一阶段:信号决定变换SDT。
考虑帧内帧间都有很多相似的块,提出信号决定变换探索通过KLT增强编码性能。这个训练后的KLT可以更有效的集中能量。
利用非局部相关性训练KLT
利用非局部相关性训练KLT流程如下:
1.获取当前块C的参考块R,包含模板tb和当前块的预测块p。
2.在重构区域搜索N个最接近块。
3.使用残差(最接近块减预测块)训练一维KLT。
因为编码的原始块在解码器端搜索相似候选块时是未知的,所以用预测块和重构模板替代原始块进行相似块搜索。这个处理对于4x4,8x8,16x16和32x32多种块尺寸可用。
KLT
KLT理论知识学习:http://blog.csdn.net/lin453701006/article/details/79083760
众所周知,KLT是能量集中效率最优的变换。通过对重构区域进行搜索,获得N个和参考块最近似的块 xi,i=1,2,...,N x i , i = 1 , 2 , . . . , N 。这里 xi=(xi1,xi2,