使用一般化平面编码的随机深度缓冲器压缩的制作方法

文档序号:8270311阅读:344来源:国知局
使用一般化平面编码的随机深度缓冲器压缩的制作方法
【专利说明】使用一般化平面编码的随机深度缓冲器压缩
[0001] 相关申请的交叉引用
[0002] 本申请要求2012年9月27日提交的临时申请序列号61/706, 177的优先权,该临 时申请通过引用被明确地并入本文。
【背景技术】
[0003] 深度缓冲是解决在光栅化管线中的对象之间的可见度的标准技术。深度缓冲器保 存每一个样本的深度值,表示与样本重叠的所有以前渲染的三角形的当前最靠近的深度。 可以用很多方式定义深度值d。
[0004] 在具有每像素很多样本的随机光栅化器中,深度缓冲器带宽要求比平常高得多, 且深度数据如果可能的话应被压缩。大部分深度缓冲器压缩方案利用以下的事实:来自三 角形的深度值可由平面表示。不幸的是,对于移动和离焦三角形,这不再是真。
[0005] 在静态(2D)光栅化器中,深度函数可被表示为平面。这由很多深度压缩方案利 用。平面编码不同于其它算法,因为它利用直接来自光栅化器的信息,且因此在压缩器中使 用与在光栅化器中的完全相同的平面等式表示。深度信息被存储为一组平面和每一个图块 (tile)的每样本平面选择掩码(mask)。当存在与图块重叠的几个三角形时,存储平面等式 和选择掩码比仅仅存储每样本深度更紧凑。然而,当太多的三角形与图块重叠时,多个深度 平面的存储成本比直接存储每样本深度值高。对于每一个图块,深度压缩可接着被禁用,或 另一压缩算法被应用(其通常不能压缩以及平面编码)。
[0006] 虽然平面编码对静态二维光栅化非常有用,它对为较高阶光栅化使用静态平面并 不是足够的,其中深度函数更加复杂。
【附图说明】
[0007] 关于下面的附图描述了一些实施例:
[0008] 图1是一个实施例的示意性描述;
[0009] 图2是根据一个实施例的序列的流程图;
[0010] 图3是具有由四层指示的每像素四个样本的4x4像素的运动模糊的描绘;
[0011] 图4是对离焦模糊的描绘;
[0012] 图5是一个实施例的系统描绘;以及
[0013] 图6是一个实施例的正视图。
【具体实施方式】
[0014] 平面编码可被一般化以包括随机效应,例如运动模糊和景深。深度函数系数在光 栅化器中被计算并传递到压缩器。标准平面编码以形式d = A*x+B*Y+C使用每深度函数 (即,平面)三个系数,以表示三角形的深度。当三角形经历随机效应例如运动模糊和景深 时,深度函数不再是平面。然而,我们仍然可通过存储每三角形更多的系数来得到以形式d =f(X,y,u,v,t)的深度函数。
[0015] 在一些实施例中,这种方法的益处包括实质上比前面的方法更有效的压缩算法。 这通过直接根据光栅化器设置来提供深度函数的分析表示而变得可能,避免了在压缩器中 找到较低阶表示的成本,如在以前的方法中的。与以前的平面压缩方法不同,这种方法非常 适合于运动模糊和景深效应,且对于这些情况不崩溃。此外,因为这种方法在分析表示上操 作,它在一些实施例中可同样适用于浮点精度深度缓冲器。
[0016] 可在运动模糊和景深的情况下分析深度函数的数学表达式。虽然表达式可能表现 得有些复杂,它们可被有效地简化,且深度函数的紧凑形式可用于设计用于随机光栅化的 具有实质上更好的平均压缩比的算法。
[0017] 通常,压缩器和解压缩器存在于深度系统中。压缩/解压缩应用于图块,其一般是 在矩形屏幕-空间区内部的深度样本的集合。
[0018] 假定我们有具有裁剪空间顶点位置(ke {〇,1,2})的三角形。 在均勾(homogeneous)光栅化中,二维均勾(2DH)边缘等式ek= nk · X对应于图像平面位 置X = (X,y, 1)和边缘平面的距离计算,边缘平面穿过原点,例如n2= p ZPp
[0019] 任意每顶点属性Ak可内插(interpolated)在三角形上。可通过估计和标准化对 应的2DH边缘等式来找到三角形的每一个重心坐标Btl, B1, B2,使得
【主权项】
1. 一种计算机执行的方法,包括: 计算经历运动模糊或景深中的至少一个的三角形的深度函数系数; 对于多个图块中的每一个,计算每样本覆盖和深度;以及 在图块深度压缩器中使用所述系数、每样本覆盖和深度来存储图块的样本的压缩深 度。
2. 如权利要求1所述的方法,包括使用光栅化器来进行计算。
3. 如权利要求2所述的方法,包括使用软件光栅化器来进行计算。
4. 如权利要求2所述的方法,包括直接根据光栅化器设置来准备深度函数的表示。
5. 如权利要求1所述的方法,包括对于运动模糊使用仅仅16个系数来表示所述深度函 数。
6. 如权利要求1所述的方法,包括对于景深使用仅仅13个系数来表示所述深度函数。
7. 如权利要求1所述的方法,包括使用投影矩阵来减少深度函数系数的数量。
8. 如权利要求1所述的方法,包括将指示压缩模式的图块头部存储在图块表中。
9. 如权利要求2所述的方法,包括将关于运动类型的信息从所述光栅化器转发到所述 压缩器。
10. 如权利要求1所述的方法,包括通过下列步骤来将三角形添加到压缩表示:将所述 三角形光栅化到每一个覆盖的图块以获得其每样本覆盖和深度值;在每一个图块内执行深 度测试;并且如果任何样本通过所述深度测试,则通过添加深度函数系数来更新所述压缩 表不。
11. 存储指令以执行序列的一个或多个计算机可读介质,所述序列包括: 计算经历运动模糊或景深中的至少一个的三角形的深度函数系数; 对于多个图块中的每一个,计算每样本覆盖和深度;以及 在图块深度压缩器中使用所述系数、每样本覆盖和深度来存储图块的样本的压缩深 度。
12. 如权利要求11所述的介质,所述序列还包括使用光栅化器来进行计算。
13. 如权利要求12所述的介质,所述序列还包括使用软件光栅化器来进行计算。
14. 如权利要求12所述的介质,所述序列还包括直接根据光栅化器设置来准备深度函 数的表示。
15. 如权利要求11所述的介质,所述序列还包括对于运动模糊使用仅仅16个系数来表 示所述深度函数。
16. 如权利要求11所述的介质,所述序列还包括对于景深使用仅仅13个系数来表示所 述深度函数。
17. 如权利要求11所述的介质,所述序列还包括使用投影矩阵来减少深度函数系数的 数量。
18. 如权利要求11所述的介质,所述序列还包括将指示压缩模式的图块头部存储在图 块表中。
19. 如权利要求12所述的介质,所述序列还包括将关于运动类型的信息从所述光栅化 器转发到所述压缩器。
20. -种装置,包括: 控制装置,其计算经历运动模糊或景深中的至少一个的三角形的深度函数系数,对于 多个图块中的每一个,计算每样本覆盖和深度,并且在图块深度压缩器中使用所述系数、每 样本覆盖和深度来存储图块的样本的压缩深度; 光栅化器,其耦合到所述控制装置;以及 压缩器,其耦合到控制装置。
21. 如权利要求20所述的装置,其中所述光栅化器是软件光栅化器。
22. 如权利要求20所述的装置,所述控制装置直接根据光栅化器设置来准备深度函数 的表示。
23. 如权利要求20所述的装置,所述光栅化器对于运动模糊使用仅仅16个系数来表示 所述深度函数。
24. 如权利要求20所述的装置,所述光栅化器对于景深使用仅仅13个系数来表示所述 深度函数。
25. 如权利要求20所述的装置,所述光栅化器使用投影矩阵来减少深度函数系数的数 量。
26. 如权利要求20所述的装置,所述控制装置将指示压缩模式的图块头部存储在图块 表中。
27. 如权利要求20所述的装置,包括操作系统。
28. 如权利要求20所述的装置,包括电池。
29. 如权利要求20所述的装置,包括固件和用于更新所述固件的模块。
30. 一种方法,包括: 对于多个图块中的每一个,对于经历运动模糊和景深的重叠三角形,存储在两个不同 的时间表示所述三角形的三角形顶点位置;以及 在图块深度压缩器中使用这些顶点位置来计算每样本覆盖和深度,以存储图块的样本 的压缩深度。
【专利摘要】与静态基元不同,在深度函数是平面处,移动和离焦三角形的深度函数是在时间和透镜参数中的有理函数。紧凑深度函数可用于设计有效的深度缓冲器压缩器/解压缩器,这明显降低总深度缓冲器带宽使用。此外,这个压缩器/解压缩器实质上在需要执行的操作的数量上更简单,这使它比以前的方法对硬件实现更经得起检验。
【IPC分类】H04N13-00, G06T5-00
【公开号】CN104584544
【申请号】CN201380044313
【发明人】M·安德松, C·J·蒙克贝里, T·G·阿可尼内-默勒, J·N·哈塞尔格伦
【申请人】英特尔公司
【公开日】2015年4月29日
【申请日】2013年6月27日
【公告号】DE112013003714T5, US9111392, US20140085300, WO2014051793A1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1