分级线性插值算法思想——最大邻点权值生成过程用查找表实现,A-Cublic6为例

Cubic 6点插值公式:

示意图:

原始插值点计算公式:

从硬件实现角度考虑,如果采用Cubic6点精确插值算法放大,插值点在原始图像中两点之间的位置可能是任意的,这样势必需要一个乘法器一直来算这个位置,计算量很大。如果把捅值点位于原始图像中两A之间的位置固定在0,1/8,2/8,3/8,4/8,5/8,6/8,7/8 8个位置(即当实际位置不在这8个点1/_时,也把它移到这8个点上),那么滤波系数就是8组固定值。只需要一个大小为6×8的LUT(查找表)就可以存储了。实际插值时,根据插值点的实际位置调用查找表中的对应系数,通过简单的乘加运算就可以完成缩放了。Cubic6点捅值的硬件实现得到大幅度简化。

当然也可以考虑量化为16个点或32个点以提高精度,但实验证实8点精度已经可以得到良好的效果了。

计算后,8组滤波参数如下:

确定X所处的区间之后,选择对应的滤波器参数,代入下式:

分级算法思想处理结果虽然有影响,但是大大简化了计算量。对于硬件处理来说是一种不错的选择。

 

 

欢迎关注我的公众号,两只摩羯程序员的日常更新~~

 


版权声明:本文为yovino原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。