首页> 中国专利> 一种基于双三次插值的数字视频图像缩放的方法及其电路

一种基于双三次插值的数字视频图像缩放的方法及其电路

摘要

本发明公开了一种基于双三次插值的数字视频图像缩放的方法及其电路,将24位的YUV格式或RGB格式的数字视频数据在输入行场信号作用下写入数据存储器,再由输入行场信号产生模块调制产生输出行场信号,数据读出存储器的读地址通过在输出行场信号作用下的缩放比例因子的累加映射运算产生,读出的数据通过加权运算得出插值后的数据。该方法的实现电路简单,在同一电路中,可实现图像的放大和缩小。通过输出行场信号产生方法和缩放比例因子地累加映射运算,以较少的硬件资源、简单的数据存储器的读写控制逻辑实现数字视频图像缩放的双三次插值算法。同时,本发明的方法和电路也可以作为独立的IP核使用,应用于各种需要视频图像缩放的场合。

著录项

  • 公开/公告号CN1761312A

    专利类型发明专利

  • 公开/公告日2006-04-19

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN200510096292.4

  • 申请日2005-11-03

  • 分类号H04N7/01(20060101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人李郑建

  • 地址 710049 陕西省西安市咸宁路28号

  • 入库时间 2023-12-17 17:08:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-23

    未缴年费专利权终止 IPC(主分类):H04N7/01 授权公告日:20090121 终止日期:20141103 申请日:20051103

    专利权的终止

  • 2009-01-21

    授权

    授权

  • 2006-06-07

    实质审查的生效

    实质审查的生效

  • 2006-04-19

    公开

    公开

说明书

                        技术领域

本发明属于数字视频图像处理与显示技术领域,具体涉及一种基于双三次插值的数字视频图像缩放的方法及其电路。

                        背景技术

数字视频图像缩放芯片(Scaler)是平板显示器件不可或缺的一部分。由于平板显示器件有着固有分辨率,即一台平板显示器件的分辨率是固定的,所以分辨率不同的视频源要在平板显示器件上显示,必须将其分辨率转换为平板显示器件的固有分辨率。数字视频图像缩放芯片即是实现这样的图像分辨率转换功能,而图像缩放插值算法是数字视频图像缩放芯片的核心算法。

图像缩放插值算法常用的有最近邻插值、双线性插值和双三次插值,其中双三次插值的效果最好,能够较好的保留图像的高频信息,图像边缘更锐利,细节更清晰,改善了最近邻插值的马赛克现象和双线性插值的图像模糊问题,但计算量和硬件实现复杂度要比前两种算法大得多。

                        发明内容

针对上述现有技术存在的缺陷或不足,本发明的目的在于,提出一种基于双三次插值的数字视频图像缩放的方法及其装置,该方法能够节省硬件资源,数据存储器前后无需fifo缓存,就可以保证不会发生读写追赶问题,存储器读写控制逻辑简单。该方法的实现电路简单,在同一电路中,可实现图像的放大和缩小。

为了达到上述目的,本发明的技术方案是,一种基于双三次插值的数字视频图像缩放的方法,其特征在于,24位的YUV格式或RGB格式的数字视频数据在输入行场信号作用下写入数据存储器,再由输入行场信号产生模块调制产生输出行场信号,数据读出存储器的读地址通过在输出行场信号作用下的缩放比例因子的累加映射运算产生,读出的数据通过加权运算得出插值后的数据。这一过程既适用于垂直缩放也适用于水平缩放。其中最关键的是输出行场信号的产生和缩放比例因子的累加映射运算。

一种实现上述方法的电路,其特征在于,该电路包括:

一数据存储器,用于存储24位的YUV格式或RGB格式的数字视频数据,数据串行输入,并行输出,每次并行读出4个数据;

一行/场信号产生模块,用于保证数据写入、读出存储器的同步性;

一写入控制模块,用于在输入行场信号的作用下,通过对输入行/点的计数,取计数结果的低3位,产生数据存储器的写使能和写地址,将YUV格式或RGB格式的数字视频数据串行写入存储器;

一缩放映射模块,用于完成缩放比例因子累加映射计算,得到代表当前插值点所需的原图像中象素点的位置信息和当前插值点与所需的原图像中象素点之间的距离信息;

一读出控制模块,用于由缩放映射模块提供的原图像中象素点的位置信息产生数据存储器的读使能和读地址,将当前插值点计算所需的4个数据同时从存储器中读出;

一插值计算模块,用于根据插值计算公式进行加权计算,由前端模块送来的数据和d值,计算插值结果;

在输入行/场信号作用下,由写入控制模块产生写使能和写地址,将24位的YUV格式或RGB格式的数字视频数据写入数据存储器;行场产生模块由输入行场信号调制产生输出行场信号;在输出行/场信号作用下,缩放映射模块完成对缩放比例因子的累加映射运算,产生当前插值点所需的原图像中象素点的位置信息i及当前插值点与所需的原图像中象素点之间的距离信息d;读出控制模块由缩放插值模块送来的i值产生读使能和读地址,同时从存储器中读出所需的4个数据,送入插值计算模块,结合缩放映射模块送来的d值,加权运算得出插值后的数据。

本发明通过巧妙地设计输出行场信号产生方法和缩放比例因子地累加映射运算,以较少的硬件资源、简单的数据存储器的读写控制逻辑实现数字视频图像缩放的双三次插值算法。同时,本发明的方法实现的数字视频图像缩放装置也可以作为独立的IP核使用,应用于各种需要视频图像缩放的场合,如视频格式扫描芯片。其缩放倍数可达(1/4~4)之间,输入支持各种VGA信号及高清晰电视信号,支持输入分辨率可高达1280×1024,输出图像分辨率可达1280×1024,时钟频率可达108M。

                        附图说明

图1是本发明一维方向插值的硬件实现结构图;

图2是垂直缩放时数据存储器结构示意图;

图3是水平缩放时数据存储器结构示意图;

图4是一维的双三次插值的计算公式中在垂直方向上各点的位置关系图。

下面结合附图对本发明进行进一步的详细说明。

                        具体实施方式

本发明的基于双三次插值的数字视频图像缩放的方法其原理如下:

1、输出行场信号的产生

设缩放比例因子为m/n,为了便于硬件实现,要求该比例因子为最简质数比,并且m,n<64。要满足在数据存储器前后无需fifo缓存即可保证不发生读写追赶的问题,简化存储器读写控制逻辑,要求输出行场信号特性为:(1)周期性的行场信号,(2)场频不变,输入、输出场有效信号之间相差输入3行的时延,并且输入行同步及有效信号m行的时间跟输出行同步及有效信号n行的时间相等。

设输入、输出的每行传输时间,即行同步信号周期分别为hperiod_in和hperiod_out,输入每行总象素点数为htotal_in,输入时钟周期Tclk,则它们的关系为

>>hperiod>_>out>=>hperiod>_>in>*>>m>n>>=>Tclk>*>htotal>_>in>*>>m>n>>>s>

因此只要对输入时钟计数,每输入个象素点的时间就是输出一行的时间,通过对输出时钟的计数可生成输出行同步及有效信号;输出场同步及有效信号通过对输出行同步头的计数产生,其周期与输入场同步信号周期相同,时间上相差输入3行的延迟。

为消除累加误差对输出行场信号周期性的影响,上述输入行计数操作每输入m行即清零重新开始新一轮计数循环,这样把累加计数误差只存在每个循环的最后一行,但是这个误差对于平板显示器件是可以接受的。

2、缩放比例因子的累加映射运算

用累加运算代替乘法,硬件实现简化,并且累加运算的一个循环长度控制在63(行/点)以内,基本消除了累加误差对运算结果的影响。

双三次插值是利用当前插值点对应于原图像位置的周围4邻域内的16个象素点值,根据当前插值点与它们的位置关系进行加权计算,得到新的象素点值。我们把二维的计算分为垂直方向和水平方向两次一维运算,可以降低计算复杂度,简化硬件实现。

一维的双三次插值的计算公式如下:

V[I,j]=-d(1-d)2V[i-1,j]+(1-2d2+d3)V[i,j]

                          +d(1+d-d2)V[i+1,j]-d2(1-d)V[i+2,j]

其中,V[*,*]是坐标为[*,*]的点的像素值(即YUV值或RGB值),d为点[I,j]与点[i,j]的距离。若为垂直方向,式中各点的位置关系如图4所示,只要找到其中的四个象素点并确定d值即可计算出插值点的象素值,而这一过程即是通过缩放比例因子的累加映射计算完成的。

设原图象为A,缩放后的图象为B。截取A中某列象素格点A1到Am,对应于B中B1到Bn。插值计算以B的n个点(即A的m个点)为一个循环,这样可以基本上消除累加误差对计算结果的影响。

令缩放前后A和B的面积大小相等,则A1到Am与B1到Bn的长度相等。设A的像素格点边长为1,则B的像素格点边长为m/n,特别的,位于两端的象素点A1,Am和B1,Bn距离边缘分别为1/2和m/2n。

在A中建立一个坐标系,A1到Am的坐标为1到m。BI为B1到Bm之间某点,则BI在A中的坐标为

>>x>=>>m>>2>n>>>+>>(>I>->1>)>>*>>m>n>>+>0.5>>s>

上式的结果x的整数部分就是BI对应的A中Ai点的坐标值,也就是i值;小数部分就是BI与Ai在坐标系中的距离d值。

为了便于硬件实现,的乘法运算由因子的累加运算代替,垂直缩放时输出每行累加一次,水平缩放时每点(即每个输出时钟)累加一次。本发明巧妙地将这个累加因子转化成计算机易于表示的12位的二进制数:

>>bit>_>rate>[>11>:>0>]>=>>m>n>>*>64>>s>

其中,高6位表示整数部分,低6位表示小数部分。这样,bit_rate的累加结果高6位即是i值,低6位除以64即是d值。

但是因为累加因子的这种近似表示形式会对累加计算造成误差,累加次数越多,误差越大。所以本发明将累加次数到达n时为一个循环,即累加每n行/点清零一次,重新开始累加。这样累加误差不会超过整数1,可以基本上抵消累加误差对结果的影响。

实现上述方法的一维方向的电路结构参见图1,它包括:数据存储器1、行场信号产生模块2、写入控制模块3、缩放映射模块4、读出控制模块5、插值计算模块6。详述如下:

1、数据存储器

缩放前后数据传输的时钟频率要发生变化,所以数据必须要经过数据存储器。垂直方向缩放时数据存储器为4条寄存器组构成的行存,参见图2,每条行存存储两行。水平方向缩放时数据存储器为8个触发器构成的点存,参见图3。因为输入数据为24位的YUV格式或RGB格式,所以存储器的位宽为24位,而寄存器组的容量根据数字视频图像信号的最大水平尺寸决定。

数据串行输入,并行输出,每次并行读出4个数据。

2、行场信号产生模块

由输入场同步的某个同步头下降沿开始触发,所有操作均在触发信号有效时进行,保证输入输出行场信号的同步性;

对输入行同步计数,每输入m个行同步头(为缩放比例因子)产生一个脉冲,生成循环清零信号,下面的累加计数操作遇到这个信号的脉冲即清零重新开始新一轮循环;

对输入时钟计数,每输入个象素点产生一个输出行同步清零信号,然后对输出时钟计数在此信号作用下清零,通过设置低电平开始和结束位置产生输出行同步及有效信号;

由输入场同步头后的某个输出行同步头下降沿产生一个脉冲,生成输出场同步清零信号,对输出行同步信号进行行计数,通过设置低电平开始和结束位置,并考虑到输出场有效信号要滞后输入场有效信号3行输入的时间,产生输出场同步及有效信号。

产生的满足要求的输出行场信号,送入缩放映射模块用于缩放比例因子的累加映射运算。

3、写入控制模块

在输入行场信号的作用下,通过对输入行/点的计数,取计数结果的低3位,产生数据存储器的写使能和写地址,将数据按照图2和图3中的行/点标号依次串行写入存储器。

4、缩放映射模块

这个模块完成关键的缩放比例因子累加映射计算过程。在输出行场信号作用下,变量bit_rate输出每行/点累加一次,累加每n行/点清零一次,得到的结果adder的高6位代表当前插值点所需的原图像中象素点的位置信息(i值),送入读出控制模块用于产生读地址;低6位代表当前插值点与所需的原图像中象素点之间的距离信息(d值),送入插值计算模块用于加权计算。

5、读出控制模块

由缩放映射模块送来的i值,取其低3位,产生数据存储器的读使能和读地址,将所需数据读出送入插值计算模块。

6、插值计算模块

根据插值计算公式,由前端模块送来的数据和d值,计算插值结果。式中的四个关于d的多项式系数的计算通过查找表来实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号