当前位置: 首页 > 专利查询>英特尔公司专利>正文

使用一般化平面编码的随机深度缓冲器压缩制造技术

技术编号:11404026 阅读:49 留言:0更新日期:2015-05-03 20:05
与静态基元不同,在深度函数是平面处,移动和离焦三角形的深度函数是在时间和透镜参数中的有理函数。紧凑深度函数可用于设计有效的深度缓冲器压缩器/解压缩器,这明显降低总深度缓冲器带宽使用。此外,这个压缩器/解压缩器实质上在需要执行的操作的数量上更简单,这使它比以前的方法对硬件实现更经得起检验。

【技术实现步骤摘要】
【国外来华专利技术】使用一般化平面编码的随机深度缓冲器压缩相关申请的交叉引用本申请要求2012年9月27日提交的临时申请序列号61/706,177的优先权,该临时申请通过引用被明确地并入本文。
概括地说,本专利技术涉及深度缓冲,具体地说,本专利技术涉及使用一般化平面编码的随机深度缓冲器压缩的方法和装置。
技术介绍
深度缓冲是解决在光栅化管线中的对象之间的可见度的标准技术。深度缓冲器保存每一个样本的深度值,表示与样本重叠的所有以前渲染的三角形的当前最靠近的深度。可以用很多方式定义深度值d。在具有每像素很多样本的随机光栅化器中,深度缓冲器带宽要求比平常高得多,且深度数据如果可能的话应被压缩。大部分深度缓冲器压缩方案利用以下的事实:来自三角形的深度值可由平面表示。不幸的是,对于移动和离焦三角形,这不再是真。在静态(2D)光栅化器中,深度函数可被表示为平面。这由很多深度压缩方案利用。平面编码不同于其它算法,因为它利用直接来自光栅化器的信息,且因此在压缩器中使用与在光栅化器中的完全相同的平面等式表示。深度信息被存储为一组平面和每一个图块(tile)的每样本平面选择掩码(mask)。当存在与图块重叠的几个三角形时,存储平面等式和选择掩码比仅仅存储每样本深度更紧凑。然而,当太多的三角形与图块重叠时,多个深度平面的存储成本比直接存储每样本深度值高。对于每一个图块,深度压缩可接着被禁用,或另一压缩算法被应用(其通常不能压缩以及平面编码)。虽然平面编码对静态二维光栅化非常有用,它对为较高阶光栅化使用静态平面并不是足够的,其中深度函数更加复杂。
技术实现思路
本专利技术提供了一种计算机执行的方法,包括:使用硬件处理器计算经历运动模糊或景深中的至少一个的三角形的深度函数系数;对于多个图块中的每一个,使用硬件处理器计算每样本覆盖;以及在硬件图块深度压缩器中使用所述每样本覆盖来存储图块的样本的压缩深度。本专利技术还提供了一种用于深度缓冲器压缩的装置,包括:用于计算经历运动模糊或景深中的至少一个的三角形的深度函数系数的单元;用于对于多个图块中的每一个,计算每样本覆盖和深度的单元;以及用于在图块深度压缩器中使用所述每样本覆盖来存储图块的样本的压缩深度的单元。本专利技术还提供了一种用于深度缓冲器压缩的装置,包括:控制装置,其计算经历运动模糊或景深中的至少一个的三角形的深度函数系数,对于多个图块中的每一个,计算每样本覆盖,并且在图块深度压缩器中使用所述每样本覆盖来存储图块的样本的压缩深度;光栅化器,其耦合到所述控制装置;以及压缩器,其耦合到控制装置。本专利技术还提供了一种用于深度缓冲器压缩的方法,包括:对于多个图块中的每一个,对于经历运动模糊和景深的重叠三角形,使用硬件处理器来存储在两个不同的时间表示所述三角形的三角形顶点位置;以及在图块深度压缩器中使用这些顶点位置来计算每样本覆盖,以存储图块的样本的压缩深度。附图说明关于下面的附图描述了一些实施例:图1是一个实施例的示意性描述;图2是根据一个实施例的序列的流程图;图3是具有由四层指示的每像素四个样本的4x4像素的运动模糊的描绘;图4是对离焦模糊的描绘;图5是一个实施例的系统描绘;以及图6是一个实施例的正视图。具体实施方式平面编码可被一般化以包括随机效应,例如运动模糊和景深。深度函数系数在光栅化器中被计算并传递到压缩器。标准平面编码以形式d=A*x+B*Y+C使用每深度函数(即,平面)三个系数,以表示三角形的深度。当三角形经历随机效应例如运动模糊和景深时,深度函数不再是平面。然而,我们仍然可通过存储每三角形更多的系数来得到以形式d=f(x,y,u,v,t)的深度函数。在一些实施例中,这种方法的益处包括实质上比前面的方法更有效的压缩算法。这通过直接根据光栅化器设置来提供深度函数的分析表示而变得可能,避免了在压缩器中找到较低阶表示的成本,如在以前的方法中的。与以前的平面压缩方法不同,这种方法非常适合于运动模糊和景深效应,且对于这些情况不崩溃。此外,因为这种方法在分析表示上操作,它在一些实施例中可同样适用于浮点精度深度缓冲器。可在运动模糊和景深的情况下分析深度函数的数学表达式。虽然表达式可能表现得有些复杂,它们可被有效地简化,且深度函数的紧凑形式可用于设计用于随机光栅化的具有实质上更好的平均压缩比的算法。通常,压缩器和解压缩器存在于深度系统中。压缩/解压缩应用于图块,其一般是在矩形屏幕-空间区内部的深度样本的集合。假定我们有具有裁剪空间顶点位置的三角形。在均匀(homogeneous)光栅化中,二维均匀(2DH)边缘等式ek=nk·x对应于图像平面位置x=(x,y,1)和边缘平面的距离计算,边缘平面穿过原点,例如n2=p0×p1。任意每顶点属性Ak可内插(interpolated)在三角形上。可通过估计和标准化对应的2DH边缘等式来找到三角形的每一个重心坐标B0,B1,B2,使得可然后通过标准重心内插来找到给定的样本点x的内插属性A:通过单独地内插z和w来形成深度值d,且然后执行除法:如果我们考虑分母,我们看到:∑wkek=(∑wkpi×pj)·x(3)=(0,0,det(pk,pi,pj))·(x,y,1)=det(pk,pi,pj),其独立于(x,y)。这是由原点和三角形跨越的四面体的带符号体积的六倍,这可用于检测三角形是否面向背面。如果我们使用标准保护矩阵,使得(zcam,1)到裁剪空间((z,w)的变换可被表示为(参看标准Direct3D投影矩阵):z=azcam+b,w=zcam,(4)然后可简化深度函数。系数a和b只取决于znear和zfar。组合等式2和4并简化给了我们:我们现在得到2D深度函数,其今天广泛用于渲染系统。然而,等式5可增大,使得它对在较高维度中采样的深度成立。例如,添加运动模糊和景深意味着z、w和边缘等式是快门时间t和透镜位置(u,v)的函数。因此我们可以更一般的形式写出深度函数:其中…应以新的增加的维度代替。对于包括运动模糊和离焦模糊的较高阶光栅化,静态平面等式不适合于表示深度函数,因为深度函数在那些情况下复杂得多。对于运动模糊,深度函数是例如三次有理多项式。因此,平面编码方法被一般化,以便也处理运动模糊和离焦模糊。一般化平面编码(GPE)算法几乎与静态平面编码相同,除了运动模糊的平面等式和/或离焦平面等式使用更多的存储空间,以及深度函数估计起来更昂贵以外。这可在等式6中看到,等式6基于更复杂的边缘等式ek和分量。然而,对特定情况的系数的所需数量可实质上减小,这使在压缩本文档来自技高网...
使用一般化平面编码的随机深度缓冲器压缩

【技术保护点】
一种计算机执行的方法,包括:计算经历运动模糊或景深中的至少一个的三角形的深度函数系数;对于多个图块中的每一个,计算每样本覆盖和深度;以及在图块深度压缩器中使用所述系数、每样本覆盖和深度来存储图块的样本的压缩深度。

【技术特征摘要】
【国外来华专利技术】2012.09.27 US 61/706,177;2012.12.20 US 13/721,1631.一种计算机执行的方法,包括:使用硬件处理器计算经历运动模糊或景深中的至少一个的三角形的深度函数系数;对于多个图块中的每一个,使用硬件处理器计算每样本覆盖;以及在硬件图块深度压缩器中使用所述每样本覆盖来存储图块的样本的压缩深度。2.如权利要求1所述的方法,包括使用光栅化器来进行计算。3.如权利要求2所述的方法,包括使用软件光栅化器来进行计算。4.如权利要求2所述的方法,包括直接根据光栅化器设置来准备深度函数的表示。5.如权利要求2所述的方法,包括将关于运动类型的信息从所述光栅化器转发到所述压缩器。6.如权利要求1所述的方法,包括对于运动模糊使用仅仅16个系数来表示深度函数。7.如权利要求1所述的方法,包括对于景深使用仅仅13个系数来表示深度函数。8.如权利要求1所述的方法,包括使用投影矩阵来减少深度函数系数的数量。9.如权利要求1所述的方法,包括将指示压缩模式的图块头部存储在图块表中。10.如权利要求1所述的方法,包括通过下列步骤来将三角形添加到压缩表示:将所述三角形光栅化到每一个覆盖的图块以获得其每样本覆盖和深度值;在每一个图块内执行深度测试;并且如果任何样本通过所述深度测试,则更新所述压缩表示。11.如权利要求1所述的方法,包括减少深度函数系数的数量。12.一种用于深度缓冲器压缩的装置,包括:用于计算经历运动模糊或景深中的至少一个的三角形的深度函数系数的单元;用于对于多个图块中的每一个,计算每样本覆盖和深度的单元;以及用于在图块深度压缩器中使用所述每样本覆盖来存储图块的样本的压缩深度的单元。13.如权利要求12所述的装置,所述装置还包括用于使用光栅化器来进行计算的单元。14.如权利要求13所述的装置,所述装置还包括用于使用软件光栅化器来进行计算的单元。15.如权利要求13所述的装置,所述装置还包括...

【专利技术属性】
技术研发人员:M·安德松C·J·蒙克贝里T·G·阿可尼内默勒J·N·哈塞尔格伦
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1