从一系列源帧中经过仅从刚好前面源帧合成一个或多个中间帧用于生成显示帧的方法和装置的制作方法

文档序号:7585046阅读:162来源:国知局
专利名称:从一系列源帧中经过仅从刚好前面源帧合成一个或多个中间帧用于生成显示帧的方法和装置的制作方法
背景技术
本发明涉及一个如权利要求1所述的方法。US 4736248公开了如何通过在源帧对之间进行内插从而生成显示帧的方法。从两个连续源帧中均出现的点对中推导出这样变换运算法则。这种内插对在这些源帧均出现的其他的像素对也利用相同的变换运算法则。有时一个特殊的源像素仅出现在该两个帧中的一个帧中,因此内插就必须仅对该特殊源像素有效。该参考趋于按照动态空间测量(aerial survey)提高图像绘制(picture rendering)。
高交互式计算机游戏和类似的多媒体环境类型适合使用不同的场。这里,重要的是具有一个高帧频,只有这样所显示的运动才能够尽可能地平滑。原则上还将允许用户初始化的事件(event)与连接的可视反馈之间的最短的反应时间(latency)。与在飞行模拟游戏中一样,对于航海控制来说,这最短的反应时间也是尤其重要的。已经建议提高帧频到类似于显示刷新率的一个值,即可以是60-72Hz。人们还进一步发现虚拟现实(VR)系统要求低反应时间以保护用户个人不得运动疾病。不过,依据该参考所进行的通常的内插,就会引入额外的反应时间,因为只有接收到后面的源帧之后,才能够知道各种各样的内插系数,即使在所有的像素之中,某个显示帧的像素只取决于后源帧像素(past source pixel)也是如此。
发明概述因此,本发明的一个目的是避免完全内插所导致的反应时间增加。因此,根据本发明目的的一个方面,本发明的特征在于权利要求1的特征部分。Z-缓冲器是在源帧的绘制(rendering)期间生产的,这不是本发明的部分。该Z-缓冲器可以用来把2-D-帧转换成3-D-空间,因此就能够进行透视变化以及任意3-D摄像机旋转和平移(等式8)。这两个变换类型是场景变换的主要原因。
外插所带来的一个特殊问题是,一个较早源帧中所掩盖的场景部分就随后被在一个外插的帧中揭示出来,这是因为该掩盖对象(obscuring object)已经被相对该掩盖部分横向地运动了。解决办法是通过从在前面源帧中没有受到掩盖的相邻像素横向外插达到的。该外插可以是沿着或反向于扫描方向。如果在一个背景图形(background pattern)上或者另外的粗的粒度(coarsegranularity)实体上操作外插,则其结果通常是真实的或者近乎真实的。另一方面,将忽略小项目效应(effect of small item)直至下一个源帧的到来,这个小项目效应是被突然从一个掩盖对象之后揭示出来的。通常,允许这种伪装效应(effect of faking)。与上述相反,限制外插成2D-仿射变换(2D-affine transform),就会在外插帧中产生无条件损坏,这是因为一个至今掩盖并且移动的部分现在将被极大地扩展。通过特别取决于按照等式12的视坐标所表示的深度(zv2)进行外插,可以解决这个问题。
一个显示序列可以是由带中间帧的源帧构成。换言之,如果这些中间帧出现的次数足够的话,则可以把所有的或者某个源帧剩下不用。该发明的技术保持显示帧小的反映时间。另一方面,内插显示帧可能经常使反映时间增加至一个不希望的程度。
本发明还涉及用于实现上述方法所设计的以帧为基础的设备。在从属权利要求中叙述了本发明的其他优点。
本发明允许计算用于在3-D透视传递途径(3-D renderingpipeline)本身所生成的帧之间产生中间帧的像素位移。通过沿扫描线持续地使用适合刚好相邻的像素的结果,在源帧的逆程扫描期间可以增加地计算这个像素位移。这样在被视为较早的像素的基础上,对每下一个像素就仅需要进行少数的数学运算。
本发明允许使用针对一个最新的源帧的已知的摄像机运动,用于产生在这个源帧的像素与紧跟着的按照Eq.9所合成的显示帧的像素之间瞬时相干性(instantaneous coherence)。
图的简介结合优选实施例的描述,尤其是结合下面附图,下面将更加详细地讨论本发明的这些以及其他的优点

图1A-1C,三种显示帧产生方法;图2,生成的透视图3,设备与视轴之间的关系;图4,与透视图所示相同;图5,执行本发明的设备;表1给出各种各样的数学表达式。
优选实施例详细说明图1A示出第一种提高显示帧频的方法。顶行有均匀间隔的源帧“a”的一个时间序列。在每对连续源帧之间,内插一个额外的帧“b”,如箭头所示。通过把原始帧a和内插帧b都作为显示帧来使用,就使帧频加倍。因为在出现下一个帧a之前,不能产生b帧,因此其反映时间是可估计的。
图1B示出第二种提高显示帧频的方法。在每对连续源帧之间,仅根据最后的前面的a帧,外插一个额外的帧“c”,如箭头所示。通过把原始帧a和内插帧c都作为显示帧来使用,就使帧频加倍。因为当前面的a帧已经出现时,就立即可以产生c帧,因此反映时间就小于图1A。
图1C示出第三种提高显示帧频的方法。在每对紧紧连续的源帧之间,仅根据最后的前面的a帧,外插一个额外的帧“d”,如箭头所示。与图1B相比不同,源帧与其外插的d帧之间的延时是不均匀的。使用一半原始帧a和内插帧d,将使帧频提高50%。因为当前面的a帧已经出现时,就立即可以产生d帧,因此反映时间就小于图1A。
图2示出根据一个XYZ坐标系统的产生环境的透视图。实际摄像位置是在反向沿Z轴的视轴的原点,摄象机有正向沿Y轴的一个“上”的方向。
图3示出在设备与视坐标之间的几何关系。该摄象机再次位于反向Z方向的其轴的原点OR。图中的水平轴是XVIEW轴,YVIEW轴则垂直于图的表面。在位于x坐标xs的屏幕上显示,已经投视的对象OBJ。如图所示,该图具有透视或者中央投视。另外一种平行投视是可行的。
图4示出三维空间的几何关系。左边远处是摄象机的眼点的位置。右边远截面fcp以及靠近中心的近截面ncp垂直于视轴,它们一起限定了一个视角平截头体(frustum)。沿x轴和y轴,延伸相似的截面。在投视面中,已经表示出标识顶、底、左和右距离t、b、l和r。另外,还已经表示出在原始和投视面与对象面之间的距离远和近n和f。还示出了高度角fi。
图5示出执行本发明的设备。通信总线20和主存储器30附近的中间是该建立(set-up)。从存储器取出的信息被处理并且送到处理模块22、24、26,这些处理模块串联连接,按照下面表所示的符号连续操作。这些处理模块可以集体影射到诸如CPU的共响软件上。在进行处理和可能的暂时存储之后,连续显示帧进入子系统34,显示给用户。通过控制线23、25、27,还可以通过总线20,使总控制子系统28连接到处理模块。这样,在CPU中的数据就被转变成图像。控制子系统28接收诸如来自实际用户的手动或者其他输入32的各种各样源的控制和数据信号;在交互式环境上来自另外用户的外部信号;或者来自摄象机或者其他便于简化而未示出的子系统的外部信号。处理程序的数学公式通常,由于旋转、平移或者变焦摄象机,因此整个帧内容就随时间而变化。如果已经知道了,原来摄象机位置和方向与现在摄象机位置和方向之间的几何关系,则就也会知道旧源帧的像素与要外插的中间显示帧之间的相干性。表1给出各种各样数学表达式,包括各种各样坐标之间的关系,诸如视空间坐标、投视坐标、标准化设备坐标以及屏幕空间坐标。
首先,等式(1)是各个投视矩阵。它定义了如图4所示的视平截头体(viewing frustrum)的各种各样的数量,近、远、顶、底、左和右面的位置r、f、t、b、l和r。等式(2)定义了一个对称视平截头体,也可以使用不对称视平截头体。其次,等式(3)定义了利用高度角fi和宽高比a进一步规定视平截头体。等式(4)通过投视矩阵P定义了投视坐标(附录p)与同类坐标(homogeneouscoordinate)(附录v)之间的关系。也可以使用其他的诸如直角投视。等式(5)给出标准化设备坐标(下标n)。最后,等式(6)给出屏幕坐标(下标s)。直接前向插入就可以导出如等式(7)所给出的屏幕坐标与视坐标之间的最后关系。利用{xv1,yv1,zv1}和{xs1,ys1}作为源帧中的坐标,然后就可以按照等式(8)写出{xv1,yv1}。
在等式(9)在给出了由于摄象机运动和/或对象变化所导致的视坐标的矩阵变换。等式(10)给出在外插帧中的坐标,因此可以直接前向建立如等式(11)所给出的用于{xs2,ys2}的等式。另外,等式(12)是zv2的等式。现在,fz与屏幕坐标xs1和ys1是线性关系,并且通过加入一个恒定的delta,在逆程扫描期间,就可以增加地计算fz,恒定的delta是移动的时间导数。因此,需要按照如下方式计算zv-把delta加给fz-乘以zv1-加上m23另外,根据等式(13)可以写出xs2和ys2。fx和fy与屏幕坐标xs1和ys1也是线性关系,因此,通过加入一个恒定的delta,也可以增加地计算出它们。因此,除了计算zv2以外,还需要按照如下方式计算xs2和ys2的增加的计算-计算zv2倒数(即1除以zv2)-把delta加到fx以及把delta加到fy-它们的结果都乘以zv1-分别加两个乘积成h*k*m03/2和h*k*m13/2-用倒数的zv2乘两个结果-分别加上w/2和h/2。
上述总共八次加法、五次乘法以及一次除法。
另外,许多游戏将在屏幕上出现一个或者更多的对象,它们可以显示与摄象机运动无关的动态行为。这种行为可以通过每个这样的对象的相对摄象机的一个相对变化来表示,通常将表示成一个固定物体(rigid body),或者由各种各样内连的固定的物体所组成的作品。通过对要求的对象的所有像素,把摄象机变换矩阵与固定物体变换Mobj相乘,就可以实现对象的移动。前述的位移操作就计算各种各样像素的运动矢量。每个像素都应当有其所属于的对象的标识符,该标识符应当指示在最近绘制的源帧的视空间中那个对象的最后变换矩阵M=Mcam.Mobj。通过引入一个包含对象或者矩阵指针的额外的说明面,就可以使之有效。通常任何场景中这样的固定物体的数量少于256,因此每个像素有一个额外比特就足够了。利用游程长度编码RLE就可以有效地压缩该对象面,因为该面通常包含属于单个固定物体的大面积的相同的像素值。表1定义视坐标xv,yv,zv (0)投视矩阵P=n2r-l0l+rr-l002nt-bb+lt-b000-f+nf-n-2fnf-n00-l0;---(1)]]>通过b=-t;l=-r (2)就得到对称视平截头体使用高度角fi和宽高比a限定平截头体k=1/Tan(2fi)a=w/h;t=n/k; (3)r=ta;投视坐标{xp,yp,zp,wp}=p.{xv,yv,zv,l};(4)规一化设备坐标{xn,yn}={xp,yp}/wp;(5)屏幕坐标{xs,ys}={12w(xn+1),12h(yn+1)};--(6)]]>相减就等于{w2-hkxv2zv,h2-hkyv2zv};--(7)]]>因此,使用{xv1,yv1,zv1}和{xs1,ys1}作为源帧中的坐标,则{xv1,yv1}就可以写成{xv1,yv1}={(w-2xsl)zvlhk,(h-2ysl)zvlhk}---(8)]]>
由于摄象机和/或对象改变,视坐标的矩阵变换成M=m00m01m02m03m10m11m12m13m20m21m22m230001;---(9)]]>中间帧中的坐标{xv2,yv2,zv2,wv2}=M.{xv1,yv1,zv1,1};(10)因此,{xs2,ys2}={w2-hkxv22zv2,h2-hkyv22zv2}=]]>{12w[1-hk(m03+m02zvl+m00(w-2xsl)zvlhk+m01(h-2ysl)zvlhk)wzv2],]]>12h[1-k(m13+m12zvl+m10(w-2xsl)zvlhk+ml1(h-2ysl)zvlhk)zv2]}---(11)]]>并且zv2等于zv2=m23+(m23+m20(w-2xsl)hk+m21(h-2ysl)hk)zvl=m23+fz zvl--(12)]]>fz与屏幕坐标sc1和ys1成线性关系,因此,通过在逆程扫描期间加上一个恒定的增加量,就可以增加地计算fz。因此zv2的增加地计算就需要-把delta加给fz-乘以zv1-加上m23xs2和ys2可以重新写成{w2-hkm03/2+(hkm02+m00(w-2xsl)+m01(h-2ysl))zvl/2zv2,]]>h2-hkm13/2+(hkm12+m10(w-2xsl)+m11(h-2ysl))zvl/2zv2--(13)]]>={w2-hkm03/2+fxzvlzv2,h2-hkm13/2+fyvzlzv2}]]>fx和fy也与屏幕坐标sc1和ys1成线性关系,因此,通过加上一个恒定的增加量delta,就可以增加地计算它们。因此(除xv2的计算外)fx2和ys2的增加地计算就需要-计算zv2倒数(即1除以zv2)-把delta加到fx以及把delta加到fy-它们的结果都乘以zv1-分别加两个乘积成h k m03/2和h k m13/2-用倒数的zv2乘两个结果-分别加上w/2和h/2。总共1个除,5个乘以及8个加。
权利要求
1.一种显示第一显示帧序列的方法,该方法包括以下步骤按照源帧频接收第二源帧序列,并且在所述第二源帧序列的一对紧紧相邻源帧的基础上,通过使用几何变换方法合成一个或者多个中间帧,并且其特征在于仅仅根据一个刚好前面的源帧,通过从摄象机变换的外插,以及通过在Z-缓冲器信息的基础上,帧间外插来自同样深度并且目前连续可视这样的深度的像素所揭示深度的像素,得到每个中间帧,在所述中间帧的序列的基础上,并且该情况还可以是在所述源帧的基础上,按照相比所述源帧频提高的一个显示帧频,选择所述显示帧。
2.如权利要求1所要求的方法,同时还使用针对一个最近源帧已知的摄象机运动,用于生产以后源帧的像素与紧紧跟着合成显示帧的像素中间的暂时相干性。
3.如权利要求1所要求的方法,并且仅仅沿着或者反向沿着显示线扫描运动来操作以帧间外插为基础的过程。
4.如权利要求1所要求的方法,同时还进一步显示按照变换矩阵M=Mcam*Mobj的一个外插帧中的一个实体。
5.如权利要求1所要求的方法,同时忽略与不连续的可视像素有关的揭示项目(uncovered item),直至具有这样的透视的项目的下一个源帧的到来为止。
6.为显示第一显示序列所设计的以帧为基础的设备,该设备包括接收装置,用于按照源帧频接收第二源帧序列,以及合成装置,用于在所述第二源帧序列的一对紧紧相邻源帧的基础上,通过使用几何变换方法合成一个或者多个中间帧,其特征至于所述合成装置被设置成用于在专门以一个刚好前面的源帧为基础上的每个中间帧,通过从摄象机变换的外插,以及通过在Z-缓冲器信息的基础上,帧间外插来自同样深度并且目前连续可视这样的深度的像素所揭示的深度像素,以及与所述合成装置相馈接的输出装置,用于在所述中间帧的序列的基础上,并且该情况还可以是在所述源帧的基础上,按照相比所述源帧频提高的显示帧频,输出所述显示帧。
7.如权利要求6所要求的设备,其中所述合成装置被设置成接收针对一个最近源帧的摄象机运动信息,用于生产以后源帧的像素与紧紧跟着合成显示帧的像素之间的暂时相干性。
8.如权利要求6所要求的设备,所述合成装置具有帧间外插装置,该帧间外插装置仅沿着或者反向沿着显示线扫描运动进行工作。
9.如权利要求6所要求的设备,该设备还具有矩阵乘装置,用于显示按照变换矩阵M=Mcam*Mobj的一个外插帧中的一个实体。
10.如权利要求6所要求的设备,该设备还具有忽略装置,用于忽略与不连续的可视像素有关的揭示项目(uncovered item),直至具有这样的透视的项目的下一个源帧的到来为止。
全文摘要
为了提高帧频,按照源帧频接收第一源帧序列。对于这个序列的一对紧紧相邻源帧,通过几何变换合成一个或多个中间帧。具体来说,每个中间帧仅以刚好前面源帧为基础。从这个中间帧序列中选择显示帧,该情况还可以是从这个源帧中选择显示帧。
文档编号H04N5/44GK1273001SQ99800874
公开日2000年11月8日 申请日期1999年3月22日 优先权日1998年4月1日
发明者P·F·P·迈耶斯, H·迪克斯特拉 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1