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

颜色缓冲压缩制造技术

技术编号:10568213 阅读:95 留言:0更新日期:2014-10-22 18:29
根据一些实施方式,可以维护掩码或表以便记录关于在块内的每一像素是否已被清除的信息。在此所使用的,“已清除”块是不被任何其他所描绘的物体所覆盖的块。清除掩码可以每个像素或样本存储1比特,以便指示该像素或样本是包含颜色值还是已被清除。结果,在一些实施方式中,对于部分覆盖的块,可以提高压缩率。

【技术实现步骤摘要】
颜色缓冲压缩
本专利技术通常涉及计算机的图形处理,且尤其涉及在颜色缓存中缓存数据。
技术介绍
为了提高图形处理单元(GPU)的性能,采用了存储器带宽减少技术。减少带宽要求的一种方式是执行缓冲器压缩。图形系统可以使用颜色缓冲器和深度缓冲器,在颜色缓冲器中绘制像素的颜色,在深度缓冲器中存储每一像素的深度。在渲染期间,读取并写入这些缓冲器,且对于这两种缓冲器来说往往多次访问相同的像素。这些读访问和写访问在能量消耗方面是昂贵的,且尽可能地减少是有利的,对于诸如移动设备等的具有有限电源的用户终端来说尤其如此。附图说明相对于下列附图描述一些实施方式:图1是一种实施方式的示意性描述;图2是使用8x4像素的块(tile)尺寸的一种实施方式的流程图;图3是一种实施方式的系统描述;以及图4是一种实施方式的正视图。具体实施方式根据一些实施方式,可以维护一个掩码或表以便记录关于在块内的每一像素是否已经被清除的信息。在此所使用的“已清除”块、像素或样本是不被任何其他所描绘的物体所覆盖的块、像素或样本。清除掩码可以为每个像素或样本存储1比特,以便指示该像素或样本是包含颜色值还是已被清除。结果,在一些实施方式中,对于部分地覆盖的块,可以增加压缩率。缓冲器压缩/解压缩可以用于三维(3D)图形,例如游戏,3D地图和景物、3D消息,例如所制作的动画消息、屏幕保护程序、人机界面(MMI)等等,但不限于此。因而,压缩/解压缩也可以用于编码其他类型的图像或图形,例如一维(1D)、二维(2D)或3D图像。压缩和解压缩共同处理多个像素,通常以像素的区块(block)或块(tile)的形式。在一种实施方式中,像素区块具有MxN像素的尺寸,其中M,N是整数,且附带条件为M和N两者不同时为1。优选地,M=2m和N=2n,其中m,n是0或整数,且附带条件为m和n不同时为0。在典型的实现中,M=N,且这样的区块实施方式可以是4x4像素、8x4、8x8像素或16x16像素。表示方法像素或“区块元素”是指区块或区块的经编码表示中的元素。这种区块又对应于图像、纹理或缓冲器的部分。因而,像素可以是(1D、2D、3D)纹理纹素(texel)(纹理元素),(1D或2D)图像的像素或3D图像的体积元素(voxel)(体积元素)。一般地,像素由关联的像素参数或属性值或特征来表征。可以指派给像素存在不同的特性属性值,这通常依赖于正在处理什么种类的像素区块。举例来说,属性值可以是指派给像素的颜色值。不同的颜色空间可用于表示像素颜色值。一个颜色空间是所谓的红、绿、蓝(RGB)颜色空间。因此,像素属性值可以是RGB颜色的红色值、绿色值或蓝色值。也可以以亮度和色度分量的形式来表示像素颜色。在这样的情况中,可以使用一种变换来将RGB颜色值转换成一个亮度值以及通常两个色度分量。亮度-色度空间的示例包括YUV、YCoCg和YCrCb。因此,属性值可以也是亮度值(Y)或色度值(U,V,Co,Cg,Cr,或Cb)。压缩/解压颜色缓冲器的像素区块的情况中,像素的RGB颜色可以被转换成亮度/色度颜色空间。这不仅使得RGB数据不再相关,得到改善的压缩率,而且也允许具有用于亮度和色度分量的不同压缩策略的可能性。因而,由于人类视觉系统对亮度分量中的误差更加敏感,色度分量可以通常比亮度分量压缩得更激进。图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。在以下论文中进一步描述了各种配置:等人的统一编解码器体系结构中的浮点缓冲器压缩(FloatingPointBufferCompressioninaUnifiedCodecArchitecture),图形硬件(GraphicsHardware)(2008)。参见图2,颜色缓冲器压缩的序列70可以以硬件、软件和/或固件实现。在软件和固件实施方式中,它可以由被存储在诸如磁、光或半导体存储介质等的一个或多个非瞬态计算机可读介质中的计算机执行的指令实现。仅举出一些示例,这样的存储介质的示例可以包括颜色缓冲器缓存本身、动态随机存取存储器或与其关联的处理器,例如图形处理单元。该序列可以从设置模式比特开始(框72)。在一种实施方式中,提供两个模式比特。颜色的压缩涉及α颜色通道在块上分别恒定的常见情况,以及其中α值在块上改变的情况。因而,两个模式比特可以被用来覆盖三种可能的情形:首先,α值可以恒定,且对整个块来说可以是0;其次,在整个块上α值可以是恒定为1(其中对于8比特渲染目标1通常被编码为255);以及再次,α值不恒定,即是说,在整个块上不是0或1。典型的块尺寸是8x4像素。但本专利技术不限于任何具体的块尺寸。另外,当前缓存线尺寸是64字节。即是说,未经压缩的块适合两个缓存线且经压缩的块适合一个缓存线。但本公开内容不限于任何具体的压缩率或任何具体的缓存线尺寸。接下来,对于每一块,存储清除掩码比特,如框74中所指示的。在其中块尺寸为8x4的实施方式中,对于每一块,存在32个这样的清除掩码比特。在一种实施方式中,清除掩码C中的1指示像素被清除。使用清除掩码的一个益处,仅对于未被清除的像素需要存储颜色值。在一种实施方式中,掩码中未被清除的像素(即0)的总数通过n(C)表示。如果使用了清除掩码,那么在具有512比特缓存线的一种实施方式中,在考虑到32比特用于清除掩码之后,480比特保留,以表示未被清除的颜色。然后,考虑到两个模式比特并假定恒定的α,在具有24比特RGB值的情况中,对于每个像素仅存储三个颜色值。对于恒定的α值(菱形76),给定了比特预算剩余和颜色通道精度,那么,只要未被清除的像素或样本的数量少于20(菱形78),则可以以全精度存储未清除的颜色值,且因此可以总是压缩块,如框80中所指示的。换句话说,如果采用剩余的480比特减去两个模式比特并除以每像素24比特(在一种实施方式中使用24比特RGB方案),那么得到19.92像素。对于非恒定α值(即菱形76处的“否”选项),那么,未被清除的比特的数量应少于15(菱形82),以便在一个缓存线中以全精度存储(框84)。这是通过由478除以每像素32比特等于每块14.94个未被清除的比特来确定的。因而,通常经压缩的块内容将包括两个模式比特,后面是32个清除掩码比特,后面是实际上使用的压缩比特。作为示例,如果存在12个未被本文档来自技高网...
颜色缓冲压缩

【技术保护点】
一种计算机执行的方法,包括:判断像素或样本的块具有恒定的还是变化的α值;判断所述块的已清除的像素或样本的数量;以及基于所述α值判断和已清除的像素或样本的所述数量,判断如何存储所述块。

【技术特征摘要】
2013.04.22 US 13/867,2501.一种计算机执行的方法,包括:对块的每个像素或样本存储清除比特以指示所述像素或样本是否已被清除;判断像素或样本的块具有恒定的还是变化的α值;判断所述块的已清除的像素或样本的数量;以及基于所述α值判断和已清除的像素或样本的所述数量,判断如何存储所述块。2.如权利要求1所述的方法,其特征在于,包括使用两个比特来自存储所述α值判断。3.如权利要求1所述的方法,其特征在于,包括提供三个α值判断,包括恒定为0、恒定为1和变化。4.如权利要求1所述的方法,其特征在于,包括判断可以以压缩形式存储的块的清除比特的最大数量。5.如权利要求4所述的方法,其特征在于,包括为恒定和变化的α值中的每一个判断清除比特的最大数量,以便压缩块以供以压缩形式存储。6.一个或多个存储指令的非瞬态计算机可读介质,所述指令引起处理器执行包括以下步骤的序列:为块的每一像素或样本存储清除比特,以指示所述像素或样本是否已被清除;判断像素或样本的块具有恒定的还是变化的α值;判断所述块的已清除的像素或样本的数量;以及基于所述α值判断和已清除的像素或样本的所述数量,判断如何存储所述块。7.如权利要求6所述的介质,其特征在于,所述序列包括使用两个比特来存储所述α值判断。8.如权利要求6所述的介质,其特征在于,所述序列包括提供三个α值判定...

【专利技术属性】
技术研发人员:T·阿凯奈莫勒J·尼尔森J·哈塞尔格林M·安德森
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1