12.2 体系作业原理剖析
如前所述,本体系首要完结对输入视频图画的两倍扩大。图画的扩大首要是通过插值算法来完结的,下面详细剖析怎么运用双线性插值算法来完结倍焦功用。
1.符号约好
首要对体系作业原理剖析中用到的符号做一个约好:
表明像素点坐标,在本体系中。
表明原始图画,其宽度为,高度为。
表明倍焦后图画,其宽度为,高度为。
通过双线性插值完结数字倍焦功用,行将原始图画插值为本来2倍巨细,依然以本来的分辨率输出,即´x。
2.双线性插值原理描绘
对新图画中每一点为,在本体系中,查找其在原图画中的相邻方位。
点的灰度值的核算公式为(12-1)。
(12.1)
公式(12-1)中需求核算的数值为,如公式(12-2)~(12-5)所示。
(12.2)
(12.3)
(12.4)
(12.5)
3.硬件完结的简化
为削减硬件核算的复杂性,对的算法做如下处理。
(1)硬件乘法器是有必要的,用以完结和的核算,但由于:
所以能够考虑只用8bit´8bit硬件乘法器(而不是16bit´8bit硬件乘法器),即如公式(12-6)所示。
公式(12-6)
(2)求权重的公式现已写成关于、的函数的方式,该函数能够通过离线核算并存储一张表格(“权重表”)的办法完结。该表的巨细为256´8bit。留意求查询的是相同的表格。
4.算法优化
(1)乘法器规划的简化。
在的核算进程中,需求一个常数乘法器(´181),通过查表完结。而也需求查表,查表也需求一个周期来完结。假如用同一个表,那么需求串行查出,速度太慢。假如要一起查出来,需求多个表,片内存储器太大。
因而,在核算进程中需求运用移位和加法进行合作,来进步运算速度。
根据这个考虑,将放到2倍的条件放宽到2.25倍,即用1.5´1.5来代替1.414´1.414。这样,公式(12-2)~(12-5)就简化为公式(12-7)~(12-10)的方式。
公式(12-7)
公式(12-8)
公式(12-9)
公式(12-10)
这样,不用查表发生,而是1/3和2/3替换。关于除3的操作,能够通过一个256´8bit的查找表来完结。
需求阐明的是,通过上面的调整,扩大的倍数为2.25倍,而不是2倍。
(2)队伍的处理次序的优化。
原算法中水平缓笔直方向一起插值,需求4个像素类核算。可是,实践硬件完结进程中假如读取4个数据来核算一个像素点,那么输出很难确保接连,并且速度太慢。因而,完结进程中,对整场图画先做行插值,再做列插值。行将二维线性插值转为两个一维线性插值,如公式(12-11)所示。
公式(12-11)
其间顺次取1/3和2/3。这样每次插值操作只与两个像素值有关,一个是前一个像素(寄存器中),另一个是当时读出的像素。
当接纳原始帧时,在裁剪后写入SRAM进程中完结行插值;从SRAM读出进程完结列插值,并输出。
考虑到视频信号是按行扫描的,并且是隔行扫描,因而处理进程以场为单位。
(3)硬件完结简化前后的成果比照。
从图12.1和12.2的比照图中能够看出,扩大2.25倍的图画视野上要比扩大2倍的图画小一些,可是图画质量并没有显着下降。
图12.1 扩大2倍后的图画 图12.2 扩大2.25倍后的图画