分析多视图栅格化的制作方法

文档序号:7989726阅读:282来源:国知局
分析多视图栅格化的制作方法
【专利摘要】多视图栅格化可以通过计算相机线上的可见性来执行。可以沿着扫描线反复评估边缘公式。可以使用单指令多数据指令集来评估边缘公式。
【专利说明】分析多视图栅格化
[0001]直量
[0002]本文一般涉及计算机,尤其涉及图形处理。
[0003]存在显示器技术上的转变,并且3D显示器和3D电视正在变为主流,而影院的3D已经在全世界很广泛。下一代任天堂(Nintendo)手持式游戏设备,即任天堂3DS,将具有自动立体显示器。此外,公共立体电视2010年I月在韩国启动,且广告公司越来越多地使用3D显示器。总而言之,显然,3D显示器是一个热的领域,但是,用于这样的显示器的3D图形的专门算法非常少。[0004]附图简沭
[0005]图1是根据本发明的一个实施例的起始位置t=0处的一个三角形,以及起始位置t=l处的另一个三角形;
[0006]图2是根据一个实施例的边缘公式对时间的图表,且示出了在间隔V (t) =1内在三角形内部的样本点;
[0007]图3是根据一个实施例的在10处的对极(epipolar)平面中的x,y坐标的描绘;
[0008]图4根据一个实施例的用于多视图图形的快速分析栅格化的算法的一对流程图;
[0009]图5示出了根据本发明的另一个实施例的多个流程图;以及
[0010]图6是本发明的一个实施例的示意图描绘。
[0011]详细描沭
[0012]优化的栅格化算法可以用于立体和3D多视图图形。该算法基于分析计算,该算法与对于多视图图形的标准栅格化相对比,后者使用类累积缓冲(accumulationbuffering-like)技术或者随机栅格化。为了对于立体或多视图显示呈现实时图形,需要相当高的质量,特别是对于在焦点之外的对象。当前解决方案不能很好地解决此问题,因为在这些困难区域达成高质量就计算和存储器带宽使用而言是非常昂贵的。
[0013]在下文中,粗体字符是同质2D空间中的矢量(x,y,W)。已知,时间连续的边缘公式可以写作:
[0014]e (t) = a (t) x+b (t) y+c,
[0015]对于通过两个顶点P1和P。的边缘,
[0016]其中
[0017](a, b, c) = (P1XPtl) = t2f+tg+h,
[0018]假设顶点线性地移动:
[0019]Pi (t) = (1-Oqftrp
[0020]矢量f,g,以及h被计算为:
[0021]f = (m) X (r0_q0)
[0022]g = q! X (r0-q0) + Ofq1) X q0
[0023]h = qx X q0
[0024]如果聚焦于单个像素,则可以表明,对于运动模糊的边缘公式变为:
[0025]e(t) = a t2+ β t+ Y.[0026]请注意,qiy=riy并且qiw=riw,(对于多视图设置)。即,移动顶点Pi(t)的7坐标和w坐标,对于起始位置Qi和结束位置是相同的,如图1所描述。由于这些约束,r0-q0= (r0x-q0x,0,0)和,并且我们使用此来优化上面对f和g的计算。对于最高次数的项,即f,这是有利的,因为f= (0,0,0)。当对于g简化表示式时,得到:g=(0,Qiw (r0x_q0x) -Qow (rlx-qlx),q0y (rlx_qlx) _qly (rox-q0x)),而 I^q1 X q0 保持任意矢量。
[0027]如此,概括地说,我们获得:
[0028]f = (0,0,0),
[0029]g= (O,qlw (r0x-q0x) _q0w (rlx-qlx),q0y (rlx-qlx) _qly (r0x-q0x)),并且 I^q1 X q0。
[0030]这比以前的对于一般化的运动模糊的表示式计算起来成本低廉得多。这些计算将在三角形建立时执行,并且虽然具有更快的三角形建立是有益的,但是实际收益来自这一事实:利用我们的公式,求根变得快得多。这正是因为f= (0,0,0),意味着,e(t) = at2+^t+Y变为e(t) = at+β,即,一次多项式代替二次多项式(注意,a和β在二次多项式中不一定是相同a和β)。如此,在我们的优化情况下,对于边缘公式,参数(a, b, c)变为:
[0031](a, b, c) = (hx, gyt+hy, gzt+hz)
[0032]可以看出,a不再是t的函数,且直观地,这可以通过作出与非同质的边缘公式的类比来理解,其中,n= (a, b)是边缘的“法线”。此法线被计算为,X1-Xtl),其中,(x0, Y0)和Upy1)是屏幕空间边缘顶点。可以看出,a只取决于y分量,而对于多视图情况,Y坐标对于所有t仍保持不变,如我们在上文看到的。结论变为,a必须是常量。
[0033]对于特定样本点(Xtl, Ytl),边缘公式变为:
[0034]e(t) = t (gyy0+gz) + (hxx0+hyy0+hz) = a t+ β。
[0035]如果e(t)>0,则内部函数i(t)等于0,否则,等于I。可见性函数被定义为V (t) =i0 (t) I1 (t) i2 (t),如由 Gribel 等人在 2010 年的 High-Performance Graphics (高性能图形),PP.163-172, “Analytical Motion Blur Rasterization With Compression (米用压缩的分析运动模糊栅格化)”所描述的。样本点在整个间隔内在三角形内部,其中,v(t)=l,在图2中可以看出。
[0036]时间连续的边缘公式的二次本质使得三角形对于每一个样本在t内覆盖多个跨距(span)成为可能。与此相比,由于多视图边缘函数的一次特征,对于t中的一个连续(contiguous)的间隔,可见性函数将只是V(t)=l,这进一步简化了算法。
[0037]让我们现在聚焦于带有y=y0的特定扫描线,且令x沿着此扫描线变化。在此情况下,我们得出简化的边缘公式:
[0038]e (x, t) = a t+ Y +hxx,
[0039]其中,a=gyy0+gz,并且、=hyyQ+hz。
[0040]让我们看看对于两个相邻像素(X,y(!)和(x+l,yci)发生了什么,并求解e(x, tQ)=0和 e (x+1, 1:)=0 中的 t:
[0041]t0= (- Y -hxx) / α ,
[0042]/ α。
[0043]这可以在对极平面中在lo处被可视化,如图3所示。
[0044]基于这些观察,我们为对于多视图图形的快速分析栅格化设计了新算法。这里有几个不同的实施例。
[0045]计算η个扫描线的每一个边缘公式的t的初始值,且利用η的单指令多数据(SIMD)宽度,我们利用SIMD指令来计算接下来的η个t值。
[0046]在算法的一个实施例中,如图4所示,传入三角形被包围在屏幕空间(框12),并且并行地处理η个扫描线(框14)。对于每一个扫描线(框20),为边界框中的最左边的像素计算初始t值(框22)。另外,还计算被用来增大t的At=hx / α。接下来,进入循环,其中,按从左到右的顺序来处理被边界框和扫描线覆盖的每一个像素。对于每一个像素,评估可见性函数(框24),且如果测试通过,则处理像素片段(框26)。此处理可以,例如,包含通过点采样在(X,I, [to, tl))处的三角形的某种阴影积分逼近(shading integralapproximation)。在框28中递增变量x,并且在框30进行检查,以判断x是否落在边界框之外。如果不,则对于每一个边缘,更新ti;其中,tfti+At(框32)。否则,忽略像素,因为在该扫描线上完成栅格化。
[0047]在框16,y被设置为等于y+n。框18中的检查确定y_n是否落在边界框之外。若是,则三角形栅格化完成,否则,流程回到处理扫描线。
[0048]在算法的另一个实施例中,如图5所示,一次处理mxn大小的瓦片(tile),如初始流程中所示的在左边标记为40a。接收三角形,并如框42中所指出的,计算三角形的边界框。然后,在框44中,流程移动到下一瓦片。对于每一个瓦片,如在框46和中间流程40b中所指出的那样,处理瓦片。
[0049]首先,在流程40b,对于η个扫描线中的每一个,计算初始t值,以及Δ t=hx / α增量(框52)。然后,并行地计算瓦片中所有像素的X和t值(流程40b,框54,流程40c,框56和58)。也并行地评估可见性函数,流程40c框60,并且成功时,处理存活样本(框62)(如前一实施例所描述的,流程40a,框44-48)。否则,瓦片被处理(框64)。
[0050]然后,流程返回到图5中的最左边的流程40a,且菱形48中的检查确定是否已经处理完所有瓦片。如果没有,则流程回到框44,否则,栅格化完成。
[0051]在某些实施例中,通过用分析法解决多视图栅格化问题,我们避免了就可见性而言的各种类型的噪声。在某些实施例中,就可见性而言的质量是确切的,即,它不能改善到超出我们的解决方案以外。
[0052]我们还设计了用于高效遍历多视图三角形的技术。在某些数学之后,我们得出结论,只需要简单的加法即可从一个像素遍历到相邻像素(在X中),并且这使得我们的遍历算法(我们具有两个不同的实施例)特别快。
[0053]代替点抽样,我们在相机线上使用分析可见性计算。我们开发了专门的边缘公式,这些公式沿着扫描线,或通过使用SMD指令集在多个扫描线上反复评估起来非常快。在某些实施例中,所有这些都有助于带有高质量的非常快速的算法。
[0054]如图6所示的计算机系统130,可以包括通过总线104耦合到芯片组核逻辑110的硬驱动器134和可移动介质136。计算机系统可以是任何计算机系统,包括诸如智能电话、平板电脑或移动因特网设备之类的智能移动设备。键盘和鼠标120,或其他常规组件,可以通过总线108耦合到芯片组核逻辑。在一个实施例中,核逻辑可以通过总线105耦合到图形处理器112,以及中央处理器100。图形处理器112也可以通过总线106耦合到帧缓冲器114。帧缓冲器114可以通过总线107耦合到显示屏幕118。在一个实施例中,图形处理器112可以是使用单指令多数据(SMD)体系结构的多线程、多核并行处理器。
[0055]在软件实现的情况下,相关的代码可以存储在任何合适的半导体、磁性,或光存储器中,包括主存储器132(如在139所示出的)或图形处理器内的任何可用存储器。如此,在一个实施例中,执行图4或5的序列的代码可以存储在非瞬时机器或计算机可读介质中,诸如存储器132,和/或图形处理器112,并在一个实施例中,可以由处理器100和/或图形处理器112来执行。
[0056]图4和5是流程图。在某些实施例中,此流程图中所描绘的序列可以以硬件、软件,或固件来实现。在软件实施例中,诸如半导体存储器、磁存储器,或光存储器之类的非瞬态计算机可读介质可以被用来存储指令,并可以由处理器执行以实现如图4和5所示的序列。
[0057]此处所描述的图形处理技术可以以各种硬件体系结构来实现。例如,图形功能可以集成在芯片组内。可另选地,可以使用单独的图形处理器。作为再一个实施例,图形功能可以通过通用处理器(包括多核处理器)来实现。
[0058]说明书中对“一个实施例”、“实施例”的引用意味着结合该实施例所描述的特定特征、结构或特性被包括在本发明内涵盖的至少一个实现中。如此,短语“一个实施例”或“在一个实施例中”的出现不一定是指同一个实施例。此外,还可以以除所示出的特定实施例以外的其他合适的形式构成特定特征、结构或特性,所有这样的形式都可以涵盖在本申请的权利要求书内。
[0059]尽管是参考数量有限的实施例来描述本发明的,但是,那些精通本技术的人将从其中理解很多修改和变体。所附权利要求书涵盖所有这样的修改和变体都将在本发明的真正的精神和范围内。
【权利要求】
1.一种方法,包括: 通过经由求解边缘公式计算相机线上的分析可见性,来执行多视图栅格化。
2.如权利要求1所述的方法,其特征在于,包括当样本点在整个间隔内在三角形内部时,确定所述间隔。
3.如权利要求2所述的方法,其特征在于,包括沿着扫描线反复评估边缘公式。
4.如权利要求3所述的方法,其特征在于,包括通过只使用简单加法,从一个像素到相邻水平像素,遍历多视图三角形。
5.如权利要求4所述的方法,其特征在于,包括并行地处理多个扫描线。
6.如权利要求4所述的方法,其特征在于,包括每次一个瓦片地处理瓦片中的所述像素。
7.如权利要求6所述的方法,其特征在于,并行地计算所述瓦片中的像素的值。
8.如权利要求2所述的方法,其特征在于,包括沿着扫描线使用乘法-和-加法运算来评估边缘公式。
9.如权利要求8所述的方法,其特征在于,包括并行地处理多个扫描线。
10.如权利要求8所述的方法,其特征在于,包括每次一个瓦片地处理瓦片中的所述像素。
11.如权利要求10所述的方法 ,其特征在于,并行地计算所述瓦片中的像素的值。
12.—种存储用于使计算机执行下列操作的指令的非瞬态计算机可读介质: 通过经由求解边缘公式计算相机线上的分析可见性,来执行多视图栅格化。
13.如权利要求12所述的介质,其特征在于,还存储用于当样本点在整个间隔内在三角形内部时确定所述间隔的指令。
14.如权利要求12所述的介质,其特征在于,还存储用于沿着扫描线反复评估边缘公式的指令。
15.如权利要求14所述的介质,其特征在于,还存储用于通过只使用简单加法,从一个像素到相邻水平像素,遍历多视图三角形的指令。
16.如权利要求15所述的介质,其特征在于,还存储用于并行地处理多个扫描线的指令。
17.如权利要求16所述的介质,其特征在于,还存储用于对像素执行可见性测试并且如果所述可见性测试通过,则处理像素片段的指令。
18.如权利要求13所述的介质,其特征在于,还存储用于沿着扫描线使用乘法-和-加法运算来评估边缘公式的指令。
19.如权利要求18所述的介质,其特征在于,还存储用于并行地处理多个扫描线的指令。
20.如权利要求8所述的介质,其特征在于,还存储用于每次一个瓦片地处理瓦片中的所述像素的指令。
21.如权利要求20所述的介质,其特征在于,还存储用于并行地计算所述瓦片中的像素的值的指令。
22.—种系统,包括: 处理器,用于通过经由求解边缘公式计算相机线上的分析可见性,来执行多视图栅格化;以及 耦合到所述处理器的存储。
23.如权利要求22所述的系统,其特征在于,所述处理器是图形处理单元。
24.如权利要求23所述的系统,其特征在于,所述图形处理单元用于使用单指令多数据指令集。
25.如权利要求22所述的系统,其特征在于,所述处理器用于当样本点在整个间隔内在三角形内部时确定所述间隔。
26.如权利要求22所述的系统,其特征在于,所述处理器用于沿着扫描线反复评估边缘公式。
27.如权利要求26所述的系统,其特征在于,所述处理器用于通过只使用简单加法,从一个像素到相邻水平像素,遍历多视图三角形。
28.如权利要求27所述的系统,其特征在于,所述处理器用于将并行地处理多个扫描线。
29.如权利要求28所述的系统,其特征在于,所述处理器用于对像素执行可见性测试并且如果所述可见性测试通过,则处理像素片段。
30.如权利要求22所述的系统,其特征在于,所述处理器用于并行地计算所述瓦片中的值。`
【文档编号】H04N13/00GK103503058SQ201280020121
【公开日】2014年1月8日 申请日期:2012年4月17日 优先权日:2011年4月25日
【发明者】T·G·阿凯奈-莫勒, M·安德森, B·约翰森 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1