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

用于自适应深度偏移压缩的方法和设备技术

技术编号:11689978 阅读:83 留言:0更新日期:2015-07-08 00:08
本发明专利技术涉及自适应深度偏移压缩。由于使用每残余物相同数目的比特的深度偏移压缩不是最佳的比特分布,因此可以代之以根据瓦片的深度的内容来分布每残余物的比特。例如,如果与Zmax接近的深度差较小,则可以针对相对于Zmax编码的样本在残余物上花费更少的比特。因此,可以针对相对于Zmin编码的样本在残余物上花费更多的比特。由此,更多瓦片成功压缩至所需数目的比特。

【技术实现步骤摘要】

本专利技术总体涉及用于计算机的图形处理,并且具体涉及深度偏移压缩。
技术介绍
在深度偏移压缩中,存储了像素的瓦片或矩形区域的最小深度(Zmin)和最大深度(Zmax)。相对于Zmin或Zmax对每个样本的深度进行编码。使用剩余比特来存储掩码,该掩码指示每个样本是相对于Zmin还是Zmax而取得的并对所谓的“残余比特”进行编码,“残余比特”指定相对于Zmin或Zmax的每个样本的差值。现有深度偏移压缩技术使用每残余物(residuals)相同数目的比特。压缩方法正在变得对图形硬件架构来说越来越重要,这是由于它们可以降低功率和/或提高性能。如果所有残余物足够小以适合于瓦片的期望比特预算内,则压缩是成功的。否则,可以以未压缩的形式存储数据,或者可以使用某种其他技术来压缩数据。还可以在用于颜色缓冲压缩的各个颜色分量上使用相同深度偏移压缩。【附图说明】关于下面的附图来描述一些实施例: 图1是一个实施例的示意描绘; 图2是一个实施例的流程图; 图3是根据一个实施例的分割残余物的流程图; 图4是另一种用于分割残余物的技术的流程图; 图5是根据一个实施例的示出如何测试如图4中所示的所有可能Zmin比特的流程图; 图6是根据一个实施例的用于处理Zmin和Zmax的偏态分布的流程图; 图?是在垂直轴上为针对Zmin分配的比特且在水平轴上为跨瓦片的样本位置的曲线图; 图8是根据一个实施例的示出可如何处理分布的相同曲线图的假设示例的描绘; 图9是一个实施例的系统描绘;以及图10是一个实施例的正面立视图。【具体实施方式】由于使用每残余物相同数目的比特不是最佳的比特分布,因此可以代之以根据瓦片的深度的内容来分布每残余物的比特。例如,如果与Zmax接近的深度差较小,则可以针对相对于Zmax编码的样本在残余物上花费更少的比特。因此,可以针对相对于Zmin编码的样本在残余物上花费更多的比特。由此,可以将更多瓦片向下压缩至所需数目的比特。在图1中,图形处理器10可以包括光栅化管线,该光栅化管线包括光栅化单元40、纹理和片段处理单元42以及深度或Z比较和混合单元44。在一些实施例中,这些单元中的每一个可以整体地或部分地由软件或硬件实现。纹理和片段处理单元42耦合至纹理高速缓存46。高速缓存46进而通过纹理解压缩模块54耦合至存储器分区60。因此,可以在存储器分区与高速缓存之间解压缩高速缓存中存储的纹理信息。深度比较和混合单元44耦合至深度缓冲高速缓存48、颜色缓冲高速缓存50和瓦片表高速缓存52。进而,深度缓冲高速缓存48通过深度缓冲编码器/解码器(编解码器)56耦合至存储器分区60。同样地,颜色缓冲高速缓存50通过颜色缓冲编码器/解码器(编解码器)58耦合存储器分区60。存储器分区60可以耦合至可作为系统存储器的一部分的动态随机存取存储器(DRAM)62、64、66和68。在一些实施例中,可以使用统一高速缓存,其包括纹理高速缓存、深度缓冲高速缓存和颜色缓冲高速缓存。在一些实施例中,统一编解码器可以替换单兀54、56和58。在Str5m等人在Graphics Hardware (2008)饱文韋Floating Point Buffer Compress1n in a UnifiedCodec Architecture中进一步详细地描述了各种配置。根据自适应深度偏移压缩的一个实施例,通过测试Zmin是否小于Zmax来提取比特。如果是,则将所提取的比特设置为等于0,并且否则,将所提取的比特设置为等于I。在一个实施例中,如果使用了标准深度偏移压缩,则通过将比特设置成O来标记这一点,而如果使用了自适应深度偏移压缩,则通过将比特设置成I来标记它(但是,还可以使用相反比特方案)。在一个实施例中,将规则深度偏移和自适应深度偏移压缩二者应用于瓦片,并且选择可成功压缩瓦片的第一算法。还可以使用试探法以基于瓦片属性来预先选择使用哪种压缩算法,从而节约运行所有两种压缩算法的额外工作。由此,自适应结果始终好于或至少等于标准深度偏移压缩。当瓦片的一部分被清除时,可以针对相对于Zmax编码的样本(SP,经清除的样本)分配零比特。并且可以给其他残余物分配更多比特。用于利用给定比特分布重新平衡残余物的机制进一步增加了成功压缩瓦片的可能性。自适应深度偏移压缩存储每瓦片的Zmin和Zmax值以及每深度样本一比特,以指示该深度样本是相对于Zmin还是Zmax编码的。这些后者比特一起被称为瓦片的选择掩码。在经压缩的表示中,对Zmin、Zmax和选择掩码进行编码。如果Zmin小于Zmax,则表示的其余部分包含标准深度偏移压缩,其中,每个残余物具有相同数目的比特。然而,如果Zmin大于或等于Zmax,则经压缩的表示包含自适应深度偏移压缩瓦片,其中,Zmin和Zmax值被交换。如果瓦片处于自适应深度偏移压缩模式中,则存储Zmin、Zmax和选择掩码,并且然后存储N个比特以指示残余比特的分布。这N个比特的值可以由Zminbits表示,其是用于相对于Zmin编码的深度样本的比特数目。类似的标记法Zmaxbits可以被用于相对于Zmax的对应比特。如果存在每瓦片的S个深度样本,并且存在相对于Zmin编码的M个深度样本,则因此存在相对于Zmax编码的S-M个深度样本。注意,可以从选择掩码提取M。在对Zmin、Zmax、选择掩码、以及深度偏移还是自适应深度偏移压缩被使用的指示符进行编码之后,存在L个比特供残余物而省出。相对于Zmax编码的值的最大比特数目可以被计算为:Zmaxbits = floor ((L_Zminbits*M) / (S-M))。图2中所示的用于实现自适应深度偏移压缩的序列可以以软件、固件和/或硬件实现。在软件和固件实施例中,其可以由在诸如磁、光或半导体储存器之类的一个或多个非瞬变计算机可读介质中存储的计算机执行指令实现。例如,参照图1,指令可以被存储在高速缓存50或者DRAM 62、64、66或68中,仅举几例。序列开始于:如框72中所指示,存储Zmin、Zmax和选择掩码。然后,菱形74处的检验确定是规则深度偏移算法还是自适应深度偏移算法可以成功地压缩瓦片。如果可以使用规则深度偏移来压缩瓦片,则根据现有技术来存储经压缩的表示。如果可以使用自适应深度偏移来存储瓦片(菱形75),则如框76中所指示,交换Zmin和Zmax值。接下来,如框78中所指示,存储N个比特以指示残余比特的分布。然后,如框80中所指示,存储残余物。如果规则深度偏移和自适应深度偏移均不能成功地压缩瓦片,则以未压缩的形式存储瓦片(框83),或者使用另一算法来压缩瓦片(框82)。参照图7,在该示例中,标准深度偏移算法未能压缩瓦片,这是由于样本R不可表示在残余范围内。相比而言,如图8中所示,可以通过针对Zmin和Zmax自适应地分配残余比特的数目来处理相同分布,使得针对所适配的Zmin范围存在更多比特,并且由此,可以在比特预算内表示瓦片,这在两个图中相同。用于将每个深度样本分类为属于Zmin或Zmax范围的算法减少了对瓦片进行编码所需的比特数目,而不是使用与Zmin/Zmax参考深度的距离。例如,如果大多数样本位于接近Zmin处,则最好相对于Zmax表示偏远样本并增加本文档来自技高网...

【技术保护点】
一种方法,包括:使用处理器来决定是使用深度偏移压缩还是自适应深度偏移压缩;以及将不同数目的残余比特用于Zmin残余物和用于Zmax残余物。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:TG阿肯尼莫勒M安德斯森JN哈斯塞格伦CJ芒克伯格RM托斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1