用于再现图形对象的方法

文档序号:6504979阅读:168来源:国知局
专利名称:用于再现图形对象的方法
技术领域
本发明涉及一种用于把输入图像映射到输出图像上的方法和设备。
本发明可以用于适于再现图形对象的数字设备,诸如视频解码器、3D图形加速器、视频游戏控制台、个人数字助理或移动电话。
在常规的数字图像中,在离散点,通常在具有整数坐标的点的栅格上采样输入和输出图像。输入图像具有其自己的坐标空间(u,v)。输入图像的单个元素被称作“纹元(texel)”。所述纹元位于输入坐标系(u,v)中的整数坐标。类似地,输出图像具有其自己的坐标空间(x,y)。输出图像的单个元素被称作“像素”。所述像素位于输出坐标系(x,y)中的整数坐标。
纹理映射的过程通常包括从输入图像中过滤纹元,以便计算用于输出图像中像素的强度值。通常,输入图像经由逆仿射变换(inverseaffine transform)T-1链接到输出图像,所述逆仿射变换T-1可以由以下方程式来表示u=uref+∂u∂xdx+∂u∂ydyv=vref+∂v∂xdx+∂v∂ydy---(1)]]>其中(u,v)是输入当前点的坐标,(uref,vref)是输入参考点的坐标, 和 是仿射系数,并且dx=x-xref,dy=y-yref。
类似地,输出图像经由直接仿射变换T链接到输入图像,所述直接仿射变换T可以由以下方程式来表示x=xref+∂x∂udu+∂x∂vdvv=yref+∂y∂udu+∂y∂vdv---(2)]]>其中(x,y)是输出当前点的坐标,(xref,yref)是输出参考点的坐标, 和 是仿射系数,并且du=u-uref,dv=v-vref。
方程式(1)被称作反向映射方程式(即输入坐标被表示为输出坐标的函数),并且方程式(2)被称作正向映射方程式(即输出坐标被表示为输入坐标的函数)。
如上所述,输出图像由多个三角形组成,所述三角形由它们在输出和输入坐标系中顶点的位置来定义。所述位置在输入图像中的三角形和输出图像中的三角形之间定义了唯一的仿射变换。为了产生所述输出图像,每个输出三角形被扫描转换以便根据纹元的强度值来计算三角形的每个像素的强度值。
借助逆仿射变换T-1来确定对于给定像素所过滤的纹元。给定像素的逆仿射变换的结果是在输入图像中所变换的点。然后在输入图像中所变换的点邻近的纹元被采样、加权并求和以便计算给定像素的强度值。对于输出图像中的所有像素来重复此过程。
为了使扫描转换只利用增量计算而相对简单,还要求昂贵的计算设置。此设置计算仿射系数 和 并且输出三角形边缘斜率a01、a02和a12。如果输入三角形的顶点坐标是(u0,v0)、(u1,v1)和(u2,v2),并且如果输出三角形的顶点坐标是(x0,y0)、(x1,y1)和(x2,y2),那么分别根据方程式(3)和(4)来确定所述系数和斜率
∂u∂x=(u1-u0).(y2-y0)-(y1-y0).(u2-u0)(x1-x0).(y2-y0)-(y1-y0).(x2-x0)∂u∂y=(x1-x0).(u2-u0)-(u1-u0).(x2-x0)(x1-x0).(y2-y0)-(y1-y0).(x2-x0)∂v∂x=(v1-v0).(y2-y0)-(y1-y0).(v2-v0)(x1-x0).(y2-y0)-(y1-y0).(x2-x0)∂v∂y=(x1-x0).(v2-v0)-(v1-v0).(x2-x0)(x1-x0).(y2-y0)-(y1-y0).(x2-x0)---(3)]]>a01=x1-x0y1-y0a02=x2-x0y2-y0a12=x2-x1y2-y1---(4)]]>能够计算这些系数的硬件系统要求很大的算术操作符。这增加了用于实现所述操作符所需要的硅面积,进而增加了硬件系统的价格。

发明内容
本发明的目的是提出一种用于把输入图像映射到输出图像上的方法和设备,其与现有技术的方法和设备相比在计算上较为便宜。
为此,依照本发明的映射方法其特征在于包括步骤确定用于把中间矩形三角形变换为输入三角形的逆仿射变换;确定用于把中间矩形三角形变换为输出三角形的直接仿射变换;向所述中间矩形三角形的中间点应用逆仿射变换以便根据纹元的输入强度值来确定对应于所述中间点的中间强度值;并且向所述中间点应用直接仿射变换以便根据中间强度值来确定像素的输出强度值。
如以下更详细地解释,在输入图像和输出图像之间引入中间空间使得与其中确定逆或直接仿射变换更复杂的现有技术相比,可以容易地确定逆仿射变换和直接仿射变换。从而,依照本发明的映射方法使得能够节省硅面积并且消耗较少电力。
本发明还涉及一种用于实现这种映射方法的设备和包括所述设备的便携式设备。
本发明最后涉及一种包括用于实现所述映射方法的程序指令的计算机程序产品。
参考以下描述的实施例将阐明本发明的这些及其它方面并使其更加清楚。


举例来说,现在将参考附图来更详细地描述本发明,其中图1示出了包括三角形网格的图像;图2图示了依照本发明的映射方法的第一实施例;图3示出了基于有限脉冲响应FIR滤波器的过滤步骤;图4图示了依照本发明的映射方法的另一实施例;图5图示了在中间空间和输出图像之间变换的特定情况;图6示出了依照本发明用于解决图5的特定情况的映射方法的另一实施例;和图7示出了依照本发明的再现设备的框图。
具体实施例方式
本发明涉及一种用于把被拆分成输入三角形的输入图像的纹理数据(即亮度或色度数据)映射到也被拆分成相应输出三角形的输出图像上的方法。如图1所示,输入和输出三角形网格可以由任何可能的三角形组成。
分别对于对应于方程式(1)的反向映射或对应于方程式(2)的正向映射,输出网格和输入网格可能都是不规则的,因此引入附加扫描转换空间(s,t),以下称为中间空间。分别根据所述中间空间中的当前点来计算输出图像和输入图像中的当前位置(x,y)和(u,v)。
图2图示了依照本发明的映射方法的第一实施例。中间空间包括中间矩形三角形T0,其具有三个顶点(s0,t0)=(0,0),(s1,t1)=(b,0)和(s2,t2)=(0,a)。具有顶点(u0,v0)、(u1,v1)和(u2,v2)的输入三角形T1经由逆仿射变换BT被链接到中间矩形三角形T0,所述逆仿射变换BT可以由反向映射方程式(1)来表示。借助使用中间矩形三角形,如以下方程式(5)所表示来简化仿射系数 和 的计算∂u∂s=u1-u0b∂u∂t=u2-u0a∂v∂s=v1-v0b∂v∂t=v2-v0a---(5)]]>类似地,具有顶点(x0,y0)、(x1,y1)和(x2,y2)的输出三角形T2经由逆仿射变换FT被链接到中间矩形三角形T0,所述逆仿射变换FT可以由正向映射方程式(2)表示。借助使用矩形三角形,同样如以下方程式(6)所表示来简化仿射系数 和 的计算∂x∂s=x1-x0b∂x∂t=x2-x0a∂y∂s=y1-y0b∂y∂t=y2-y0a---(6)]]>从而计算两组仿射系数一组用于在中间空间和输入图像之间的反向映射,和一组用于在中间空间和输出图像之间的正向映射。在相对计算空闲的装置中计算这些系数组,这节省了硅面积并且消耗了较少的电力。
一旦已经计算了两组系数,那么依照本发明的映射方法对于中间矩形三角形T0的中间点p0(n),适于使用逆仿射变换BT来确定输入三角形T1中的输入变换点p1(n),其中n是整数。属于输入三角形的输入变换点p1(n)大体上并不位于具有整数坐标的纹元的栅格上。然后依照过滤在输入变换点p1(n)周围的输入三角形的纹元组的步骤来导出对应于所述输入变换点p1(n)的、所过滤的强度值I(n)。
作为第一例子,过滤步骤是基于使用适于实现双线性插值的双线性滤波器的。所述双线性插值借助图2中的图像放大来图示,并且例如基于使用在输入变换点p1(n)周围的4个纹元t1到t4的纹理值I(t1)到I(t4)以及基于点p1(n)相对于所述4个纹元的距离a1到a4的。然后如下导出所过滤的强度值I(n)I(n)=a1.I(t1)+a2.I(t2)+a3.I(t3)+a4.I(t4)a1+a2+a3+a4---(7)]]>此双线性插值特别易于实现。对一个本领域技术人员来说清楚地是,可以依照其它等效原理来计算双线性插值。例如,系数a1到a4还可以对应于由穿过输入变换点p1(n)的水平和垂直线所界定的四个象限的表面。
作为另一例子,过滤步骤是基于使用在水平方向和垂直方向上所顺序应用的两个一维有限脉冲响应FIR滤波器的。根据脉冲响应IR1或IR2以及具有整数坐标的纹元的栅格GR来确定滤波器的分接头,所述脉冲响应IR1或IR2依照给定方向(即水平或垂直方向)以输入变换点p1(n)为中心,在四个分接头滤波器的情况下如图3中所图示。这对于每个FIR滤波器产生四个系数h1到h4和v1到v4。水平FIR滤波器被应用到16个纹元组的四个水平段,产生4个中间过滤的强度值。然后,垂直FIR滤波器被应用到4个中间过滤的强度值,产生最终过滤的强度值I(n)。对本领域技术人员来说清楚的是,滤波器分接头的数目不局限于4并且可以增加或减少所述数目。取决于所想要的视觉质量和/或可用的计算能力,也可以应用其它滤波器,例如多相滤波器。
一旦已经确定与中间矩形三角形T0的中间点p0(n)相关联的、所过滤的强度值I(n),那么依照本发明的映射方法对于所述中间点p0(n),适于使用直接仿射变换FT来确定输出三角形T2中的输出变换点p2(n),然后把所过滤的强度值与输出变换点p2(n)相关联。
然后依照本发明的映射方法包括根据所过滤的强度值I(n)以及输出点相对于在输出变换点p2(n)周围的像素组的位置来计算所述像素组的基值(contribution)。
作为第一例子,计算步骤是基于输出变换点p2(n)相对于像素组的距离,所述像素组属于具有整数坐标的像素栅格并且在所述输出变换点周围。例如,如果d1到d4是在输出变换点p2(n)和在所述点p2(n)周围4个像素之间的距离,那么如图2中的图像放大所示,如下计算四个基值j1(n)到j4(n)ji(n)=D-diD.I(n),---(8)]]>其中D=d1+d2+d3+d4并且其中i=1,2,3或者4所述计算步骤还可以包括借助表面S2加权基值ji(n)的子步骤,该表面S2对应于与中间点p0(n)相关联的单一表面S0的直接仿射变换FT。然后如下计算所述基值ji(n)=S2.D-diDI(n)=ki.I(n)---(9)]]>对于给定像素,所述基值可以源自不同的输出变换点。对于给定像素添加所述基值直到系数ki的和等于1。
图4图示了依照本发明的映射方法的另一实施例。映射方法包括确定用于定义逆仿射变换BT的第一系数组的步骤,所述逆仿射变换能够把中间矩形三角形变换为输入三角形。所述映射方法还包括确定对应于直接仿射变换FT的第二仿射系数组的步骤,所述直接仿射变换适于把中间矩形三角形变换为输出三角形。
一旦已经计算了两个系数组,那么依照另一实施例的映射方法对于中间矩形三角形T0的中间点p0(n),适于使用直接仿射变换FT来确定输出三角形中的输出变换点p2(n)。所述变换还适于把由中间点所形成的表面S0(n)变换为表面S2(n)。然后确定在(x,y)坐标系中具有整数坐标的像素pix(n)(如果存在的话),其中所述像素属于表面S2(n)。因而计算对应于把输出变换点p2(n)向所转换的像素pix(n)转换的输出矢量V2(p,q)。因而如下导出中间空间中的相应中间向量V0(p’,q’)p′=p||dp→||]]>和q′=q||dq→||.]]>然后执行依照中间向量V0来把中间点p0(n)向所转换的中间点p’0(n)的转换。那么依照本发明的映射方法对于所转换的中间点p’0(n),适于使用逆仿射变换BT来确定输入三角形中的输入变换点p’1(n)(参见图4中的连续箭头)。然后如先前所描述,根据过滤在输入变换点p’1(n)周围的输入三角形的纹元组的步骤来导出对应于点p’1(n)的、所过滤的强度值I(n)。另一实施例与第一实施例相比较只要求过滤步骤并因而节省了计算资源。
作为选择,并不计算所转换的中间点p’0(n)。作为替代,映射方法对于中间点p0(n),适于使用逆仿射变换BT来确定输入三角形中的输入变换点p1(n)(参见图4中的连续箭头)。因而如下导出对应于中间空间中的中间向量V0(p’,q’)的输入向量V1(p”,q”)p′′=∂u∂sp′+∂u∂tq′]]>和q′′=∂v∂sp′+∂v∂tq′.]]>然后如先前所描述,使用输入向量V1(p”,q”)来确定所转换的输入变换点p’1(n),继而根据过滤在点p’1(n)周围的输入三角形的纹元组的步骤来导出对应于所述点p’1(n)的、所过滤的强度值I(n)。
依照本发明的映射方法创建中间扫描转换空间并且适于执行从中间空间到输入图像的反向映射以便根据输入图像的纹元的输入强度值来确定对应于所述中间空间的点的中间强度值,以及执行从中间空间到输出图像的正向映射以便根据中间强度值来确定对应于所述输出图像的像素的强度值。
可以依照不同的实施例来精炼所述映射方法。
依照本发明的第一实施例,由长度a和b来定义中间矩形三角形,所述长度a和b是对准s和t轴(即相对于斜边)的边缘长度。这两个长度a和b优选被选择为2的幂以便简化仿射系数的计算。
为了保证在输出图像中没有洞,基于仿射系数 和 的向量优选还被选择为低于1的长度。例如,两个长度a和b等于2的幂,大于输出三角形中的相应边缘e1和e2的长度。
在一些特定情况中,在中间矩形三角形和输出三角形之间可能存在很大失真。图5图示了对于扫描转换所请求的计算功率的较糟的情况。中间三角形的面积远大于输出三角形,以致与所要计算的实际像素数目相比较,所扫描的中间点的数目不平衡。所以依照本发明另一实施例,输出三角形被割为两个子三角形。然后如图6所示在输出三角形的最长边缘上引入新的顶点,例如在一个三角形高的基点。在图6中,中间点(s0,t0)、(s1,t1)、(s2,t2)和(s3,t3)分别对应于输出变换点(x0,y0)、(x1,y1)、(x2,y2)和(x3,y3)。然后,执行中间三角形的扫描转换。对于中间点,确定输入图像中的输入变换点。随后如先前所描述,过滤在输入变换点周围的纹元。还确定输出变换点在输出三角形中的位置。然后如先前所描述,使用输入驱动的滤波器来重新采样中间点,所述滤波器产生位于栅格上的像素的强度值,其中所述栅格在输出图像中具有整数坐标。把一个矩形三角形映射到另一个矩形三角形确保在中间点和像素之间匀称的比率。
图7示出了依照本发明的再现设备的框图。所述再现设备是基于硬件协处理器实现方式的。此协处理器被假设为共享存储器系统的一部分。动态存储器访问DMA部件把协处理器与主存储器(未示出)相对接。控制器CTRL控制内部进程调度。输入存储器IM包含输入图像的本地拷贝。初始化INIT部件借助DMA部件来访问几何参数,即不同三角形的顶点。根据所述几何参数,INIT部件对于扫描转换过程计算仿射系数和边缘斜率。
然后这些几何参数由再现REND部件来处理,所述再现REND部件负责在由INIT部件的初始化过程期间扫描转换中间三角形设置。扫描转换过程的结果被存储在本地输出存储器OM中。
再现REND部件包括三角形扫描TSC部件,所述三角形扫描TSC部件对于中间三角形的线的每个像素p0,适于计算输入图像内的相应位置p1以及输出图像内的相应位置p2。输入点p1的坐标随后用于寻址输入存储器IM以便获取要由第一滤波器INF部件过滤的、具有整数坐标(u,v)的纹元组,产生所过滤的强度值。连同输出点p2的坐标一起向第二滤波器OUTF部件的输入提供所过滤的强度值,所述第二滤波器OUTF部件是输入驱动的。所述第二滤波器部件适于计算具有整数坐标(x,y)以及在输出点p2周围的输出图像的像素的基值。输出存储器OM存储累加的基值。一旦已经再现了所有的三角形,那么输出存储器被写回到系统存储器中,视频控制器适于访问所述系统存储器中的输出图像以便显示该图像。
依照本发明的映射方法可以借助于硬件或软件项或其组合来实现。所述硬件或软件项可以采用几种手段来实现,诸如分别借助于硬接线的电子电路或借助于适当编程的集成电路。集成电路可以包含在便携式设备中。集成电路包括指令集。因而,例如在便携式设备的存储器中所包含的指令集可以使集成电路执行映射方法的不同步骤。可以通过读取诸如磁盘之类的数据载体来把指令集加载到存储器中。服务提供者还可以经由诸如因特网之类的通信网络来使指令集可用。
在下面权利要求中的任何参考符号不应当被解释为对权利要求的限制。很明显动词“包括”及其变形的使用并不排除在任何权利要求中所定义的步骤或元件之外存在任何其它步骤或元件。位于元件或步骤之前的词“一个”或“一种”并不排除存在多个这种元件或步骤。
权利要求
1.一种用于把被拆分成包括纹元的输入三角形的输入图像映射到也被拆分成包括像素的相应输出三角形的输出图像上的方法,所述方法包括步骤确定用于把中间矩形三角形(T0)变换为输入三角形(T1)的逆仿射变换(BT);确定用于把中间矩形三角形(T0)变换为输出三角形(T2)的直接仿射变换(FT);向所述中间矩形三角形(T0)的中间点应用逆仿射变换以便根据纹元的输入强度值来确定对应于所述中间点的中间强度值;并且向所述中间点应用直接仿射变换以便根据所述中间强度值来确定像素的输出强度值。
2.如权利要求1所述的方法,其中应用逆仿射变换的步骤适于把中间点(p0(n))变换为所述输入三角形中的输入变换点(p1(n)),并且对于所述中间点,适于根据在所述输入变换点周围的纹元的过滤操作来确定中间强度值。
3.如权利要求2所述的方法,其中所述过滤操作包括使用在所述输入变换点周围的四个纹元的双线性插值。
4.如权利要求2所述的方法,其中所述过滤操作包括顺序地在水平方向上应用第一个一维有限脉冲响应滤波器并且在垂直方向上应用第二个一维有限脉冲响应滤波器。
5.如权利要求1所述的方法,其中应用所述直接仿射变换的步骤适于把中间点(p0(n))变换为输出三角形中的输出变换点(p2(n)),并且对于所述中间点,适于根据所述中间强度值来确定在所述输出变换点周围的像素的输出强度值的基值。
6.如权利要求1所述的方法,还包括确定与斜边相对的中间矩形三角形的长度(a,b),所述长度(a,b)等于2的幂,大于输出三角形中相应边缘(e1,e2)的长度。
7.如权利要求1所述的方法,还包括在应用所述直接仿射变换的步骤之前把输出三角形划分为两个子三角形的步骤。
8.如权利要求1所述的方法,其中应用所述直接仿射变换的步骤适于根据中间点(p0(n))和相应中间单一表面(S0(n))来确定输出三角形(T2)中的输出点(p2(n))和相应的输出表面(S2(n)),以及适于确定属于所述输出表面、具有整数坐标的像素(pix(n)),并适于确定由所述输出点和具有整数坐标的像素所定义的输出矢量(V2);和应用所述逆仿射变换的步骤适于根据中间点和输出矢量来确定输入三角形(T1)中的输入变换点(p’1(n)),并且适于过滤在所述输入变换点周围的纹元的输入强度值以便导出具有整数坐标的像素的输出强度值。
9.一种用于根据被拆分成包括纹元的输入三角形的输入图像的纹理数据来再现被拆分成包括像素的相应输出三角形的输出图像的设备,所述设备包括用于确定用来把中间矩形三角形变换为输入三角形的逆仿射变换(BT)、以及用于确定用来把中间矩形三角形变换为输出三角形的直接仿射变换(FT)的装置(INIT);用于向中间矩形三角形(T0)的中间点应用所述逆仿射变换以便根据纹元的输入强度值来确定对应于所述预定点的中间强度值的装置(TSC,IM,INF);和用于向中间点应用所述直接仿射变换以便根据所述中间强度值来确定像素的输出强度值的装置(TSC,OM,OUTF)。
10.一种便携式设备,包括如权利要求9所述的设备。
11.一种计算机程序产品,包括用于当由处理器执行时实现如权利要求1所述的方法的程序指令。
全文摘要
一种用于把被拆分成包括纹元的输入三角形的输入图像映射到也被拆分成包括像素的相应输出三角形的输出图像上的方法。所述方法包括步骤确定用于把中间矩形三角形(T0)变换为输入三角形(T1)的逆仿射变换(BT);确定用于把中间矩形三角形(T0)变换为输出三角形(T2)的直接仿射变换(FT);向所述中间矩形三角形(T0)的中间点应用逆仿射变换以便根据纹元的输入强度值来确定对应于所述中间点的中间强度值;并且向所述中间点应用直接仿射变换以便根据所述中间强度值来确定像素的输出强度值。
文档编号G06T15/04GK1902661SQ200480039901
公开日2007年1月24日 申请日期2004年12月29日 优先权日2004年1月6日
发明者C·库纳特, Y·马蒂厄 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1