CN104113757B - 颜色缓冲压缩 - Google Patents
颜色缓冲压缩 Download PDFInfo
- Publication number
- CN104113757B CN104113757B CN201410160631.XA CN201410160631A CN104113757B CN 104113757 B CN104113757 B CN 104113757B CN 201410160631 A CN201410160631 A CN 201410160631A CN 104113757 B CN104113757 B CN 104113757B
- Authority
- CN
- China
- Prior art keywords
- pixel
- sample
- values
- block
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
根据一些实施方式,可以维护掩码或表以便记录关于在块内的每一像素是否已被清除的信息。在此所使用的,“已清除”块是不被任何其他所描绘的物体所覆盖的块。清除掩码可以每个像素或样本存储1比特,以便指示该像素或样本是包含颜色值还是已被清除。结果,在一些实施方式中,对于部分覆盖的块,可以提高压缩率。
Description
技术领域
本发明通常涉及计算机的图形处理,且尤其涉及在颜色缓存中缓存数据。
背景技术
为了提高图形处理单元(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。在以下论文中进一步描述了各种配置:等人的统一编解码器体系结构中的浮点缓冲器压缩(FloatingPoint Buffer Compression in a Unified Codec Architecture),图形硬件(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个未被清除的比特,则将获得2+32+12×24等于322个比特,很好地适应缓存线的512比特预算。
对于恒定的α情况,如果未被清除的比特的数量大于或等于20,则可以照常使用任何其他压缩方案。例如,可以使用Δ颜色压缩。在Δ颜色压缩中,对于每一块或一组像素,对于每一颜色通道存储单个参考值。然后,将各种像素颜色编码成偏离参考值的Δ值。与Δ颜色压缩进行比较的差异是:随着未被清除的比特的数量改变,该数量可以与颜色组件的Δ比特的变化的数量组合起来。作为示例,在下表中指示这些情况的Δ比特分布:
N(C) | 压缩方法 | 杂项 | 未经使用的比特 |
1,2,3,...,19 | 存储未经压缩的RGB | 总是起作用 | 不起作用 |
20 | Δ颜色压缩 | Δ比特:7+8+7 | 14 |
21 | Δ颜色压缩 | Δ比特:7+7+7 | 13 |
22 | Δ颜色压缩 | Δ比特:7+7+6 | 14 |
23 | Δ颜色压缩 | Δ比特:6+7+6 | 17 |
24 | Δ颜色压缩 | Δ比特:6+6+6 | 22 |
25 | Δ颜色压缩 | Δ比特:6+6+6 | 4 |
26 | Δ颜色压缩 | Δ比特:6+6+5 | 12 |
27 | Δ颜色压缩 | Δ比特:5+6+5 | 22 |
28 | Δ颜色压缩 | Δ比特:5+6+5 | 6 |
29 | Δ颜色压缩 | Δ比特:5+5+5 | 19 |
30 | Δ颜色压缩 | Δ比特:5+5+5 | 4 |
31 | Δ颜色压缩 | Δ比特:5+5+4 | 20 |
上表也可以直截了当地推广到RGBA。在各种比特分布中留下的剩余的未使用的比特也可以用来增加块中的像素的子集的Δ范围。例如,在其中未被清除的比特的数量是24的情况中,对于24个像素中的22个,22个未使用的比特可以用来将Δ比特的数量从6+6+6增加到6+7+6。也存在略好一点地利用未使用的比特的可能性。例如,可以将剩余未使用的比特散布在块中的前M个颜色上,以使得Δ比特的数量在一些像素中较高,且在一些像素中较低。
块尺寸和缓存线尺寸的不同组合允许不同的最大压缩率,如下标所示出的。借助于32字节的缓存线,最大可以以8:1率压缩8x8像素的块,这意味着该块被存储在一个缓存线中而不是8个缓存线中。在这种情况中,假定有恒定的α值,可以以全分辨率存储高达9个像素颜色值(256-2-32)/24)):
在另一实施方式中,代替将清除掩码存储成每像素比特字段一个比特,相同的信息可以被合并到现有的压缩方法中。在给出Δ压缩方案时,RGB-Δ值的一种预先确定的比特组合可以用来指示已清除的像素。例如,如果具体的像素的所有Δ值全都被设置为1,则改为暗示所缓冲的清除的颜色用于该像素。这种方法减少压缩器的成功率,这是由于它将所描绘的颜色的数量缩减了一倍。然而,在多种情况中,表示已清除的像素的能力会比这种轻微损失更重要。
对于特定的块,光栅化三角形,且下面叙述所得到的覆盖。盒0-2、9-11、18-20和27-29是块的已覆盖像素,且存储这些像素的颜色信息。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
在这一示例中,经压缩的块的内容看上去类似于:
模式 | 清除 | 掩码 | 0 | 1 | 2 | 9 | 10 | 11 | 18 | 20 | 27 | 28 | 29 | 未使用 |
总比特数是2+32+12×24=32,这很好地适应缓存线的512比特预算。
图3阐释系统700的实施方式。在各实施方式中,系统700可以是媒体系统,但系统700不限于这一上下文。例如,系统700可以合并到个人计算机(PC)、膝上型计算机、超薄膝上型计算机、平板、触控板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝式电话、组合式蜂窝式电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动因特网设备(MID)、消息收发设备、数据通信设备等等。
在各实施方式中,系统700包括平台702,其耦合到显示器720。平台702可以接收来自诸如内容服务设备730等的内容设备或内容传输设备740或其他相似的内容源的内容。导航控制器750包括可以用来例如与平台702和/或显示器720交互的一个或多个导航功能部件。下面更详细地描述这些组件中的每一个。
在各实施方式中,平台702可以包括芯片组705、处理器710、存储器712、存储714、图形子系统715、应用716和/或无线电装置718的任何组合。芯片组705可以提供在处理器710、存储器712、存储714、图形子系统715、应用716和/或无线电装置718当中的相互通信。例如,芯片组705可以包括能够为存储714提供相互通信的存储适配器(未叙述)。
处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容的处理器、多核心或任何其他微处理器或中央处理单元(CPU)。在各实施方式中,处理器710可以包括双核心处理器、双核心移动处理器等等。处理器可以与存储器712一起实现图2的序列。
存储器712可以被实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储714可以被实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备、闪速存储器、电池备援的SDRAM(同步DRAM)和/或网络可访问的存储设备。在各实施方式中,存储714可以包括例如在包括多个硬盘驱动器时增加用于有价值的数字媒体的增强了存储性能的保护的技术。
图形子系统715可以执行图像的处理,例如用于显示的静态图像或视频。例如,图形子系统715可以是图形处理单元(GPU)或视频处理单元(VPU)。模拟接口或数字接口可以用来将图形子系统715和显示器720通信上耦合起来。例如,该接口可以是高清多媒体接口、显示端口(DisplayPort)、无线HDMI和/或兼容无线HD的技术中的任何一种。图形子系统715可以被集成到处理器710或芯片组705中。图形子系统715可以是通信上耦合到芯片组705的独立板卡。
可以在各种硬件体系结构中实现在此描述的图形和/或视频处理技术。例如,图形和/或视频功能性可以集成在芯片组内。替代地,可以使用分立的图形和/或视频处理器。作为又另一实施方式,图形和/或视频功能可以由包括多核心处理器的通用处理器实现。在进一步的实施方式中,这些功能可以在消费电子设备中实现。
无线电装置718可以包括能够使用各种合适的无线通信技术来传送和接收信号的一个或多个无线电装置。这样的技术可以涉及跨越一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝式网络和卫星网络。在跨越这样的网络通信时,无线电装置718可以根据任何版本的一个或多个适用标准来操作。
在各实施方式中,显示器720可以包括任何电视型的监视器或显示器。显示器720可以包括例如计算机显示器屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视。显示器720可以是数字显示器和/或模拟显示器。在各实施方式中,显示器720可以是全息显示器。而且,显示器720可以是可以接收可视投影的透明表面。这样投影可以表达各种形式的信息、图像和/或物体。例如,这样的投影可以是移动增量现实(MAR)应用的可视覆盖物。在一个或多个软件应用716的控制下,平台702可以在显示器720上显示用户界面722。
在各实施方式中,内容服务设备730可以由任何国内的、国际的和/或独立的服务托管,且因而可以例如经由因特网访问平台702。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760以便传输(例如,发送和/或接收)去往和来自网络760的媒体信息。内容传输设备740也可以耦合到平台702和/或显示器720。
在各实施方式中,内容服务设备730可以包括电缆电视盒子、个人计算机、网络、电话、启用因特网的设备或能够传输数字信息和/或内容的装置,以及能够经由网络760或直接地在内容提供商和平台702和/显示器720之间单向或双向传输内容的任何其他类似的设备。应明白,可以经由网络760将内容单向地或双向地传输到系统700中的组件中的任何一个和内容提供商(或者传输来自系统700中的组件中的任何一个和内容提供商的内容)。内容的示例可以包括任何媒体信息,例如,包括视频、音乐、医疗信息和游戏信息等等。
内容服务设备730接收诸如有线电视节目等的内容,包括媒体信息、数字信息和/或其他内容。内容提供商的示例可以包括任何电缆或卫星电视或无线电装置或因特网内容提供商。所提供的示例不旨在限制本发明的各实施方式。
在各实施方式中,平台702可以接收来自具有一个或多个导航功能部件的导航控制器750的控制信号。控制器750的导航功能部件可以例如用来与用户界面722交互。在各实施方式中,导航控制器750可以是指点设备,该指点设备可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机的计算机硬件组件(具体地是人机界面设备)。诸如图形用户界面(GUI)和电视机及监视器等的多种系统允许用户使用物理手势控制计算机或电视并向其提供数据。
可以由指针、光标、对焦环或显示器上所显示的其他可视指示符的移动来在显示器(例如,显示器720)上回显控制器750的导航功能部件的移动。例如,在软件应用716的控制下,位于导航控制器750上的导航功能部件可以被映射到例如在用户界面722上显示的虚拟导航功能部件。在各实施方式中,控制器750可以不是分立的组件,而是被集成到平台702和/或显示器720中。然而,各实施方式不限于在此所示出或描述的上下文中的元件。
在各实施方式中,驱动器(未示出)可以包括允许用户(例如在初始引导之后、在允许时)即时开启和关闭平台702的技术,类似于带有触摸按钮的电视。在平台“关闭”时,程序逻辑可以允许平台702使得内容流入到媒体适配器或其他内容服务设备730或内容传输设备740。另外,芯片组705可以包括例如对5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在各实施方式中,图形驱动器可以包括外围组件互连(PCI)Express图形卡。
在各种实施方式中,系统700中所示出的组件中的任何一个或多个可以是集成的。例如,平台702和内容服务设备730可以是集成的,或者平台702和内容传输设备740可以是集成的,或者例如平台702、内容服务设备730和内容传输设备740可以是集成的。在各种实施方式中,平台702和显示器720可以是集成的单元。例如,显示器720和内容服务设备730可以是集成的,或者显示器720和内容传输设备740可以是集成的。这些示例不旨在限制本发明。
在各种实施方式中,系统700可以被实现为无线系统、有线系统或两者的组合。在被实现为无线系统时,系统700可以包括适用于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等等。无线共享介质的示例可以包括无线谱的多个部分,例如RF谱等等。在被实现为有线系统时,系统700可以包括适用于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接起来的物理连接器、网卡(NIC)、盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可以包括有线、电缆、金属导线、印刷电路板(PCB)、背板、交换机织物结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台702可以建立一个或多个逻辑的或物理的通道以便通信信息。信息可以包括媒体信息和控制信息。媒体信息可以指表示对用户有意义的内容的任何数据。内容的示例可以包括,例如,来自语音会话、视频会议、流传播视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音会话的数据可以是例如语言信息、静默期、背景噪声、舒适噪声、音调等等。控制信息可以是指表示对自动化系统有意义的命令、指令或控制字的任何数据。例如,控制信息可以用来将媒体信息路由为通过系统,或指示节点按预先确定的方式处理媒体信息。然而,实施方式,不限于上下文图3中所示出或描述中的元素。
如上所述,可按照不同的物理样式或形状因子实现系统700。图4阐释其中可以实现系统700的小形状因子的设备800的实施方式。在各实施方式中,例如,设备800可以被实现为具有无线能力的移动计算设备。移动计算设备可以是指具有处理系统和诸如例如一个或多个电池等的移动电力或电源的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超薄膝上型计算机、平板、触控板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝式电话、组合式蜂窝式电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动因特网设备(MID)、消息收发设备、数据通信设备等等。
移动计算设备的示例也可以包括被布置为可由个人穿戴的计算机,诸如腕带式计算机、手指计算机、戒指式计算机、眼镜式计算机、皮带夹式计算机、臂带式计算机、鞋式计算机、服装式计算机和其他可穿戴计算机。在各实施方式中,例如,移动计算设备可以被实现为智能电话,其能够执行计算机应用以及语音通信和/或数据通信。尽管作为示例借助于被实现为智能电话的移动计算设备来描述一些实施方式,但应明白,也可以实现使用其他无线移动计算设备的其他实施方式。各实施方式不限于这一上下文。
在一些实施方式中,处理器710可以与照相机722和全球定位系统传感器720通信。在软件和/或固件实施方式中,耦合到处理器710的存储器712可以存储用于实现图2中所示出的序列的计算机可读指令。
如图中所示出4,设备800可以包括机壳802、显示器804、输入/输出(I/O)设备806和天线808。设备800也可以包括导航功能部件812。显示器804可以包括用于显示适用于移动计算设备的信息的任何合适的显示器单元。I/O设备806可以包括用于将信息输入到移动计算设备的任何合适的I/O设备。I/O设备806的示例可以包括字母数字键盘、数字键区、触控板、输入键、按钮、交换机、摇臂开关、话筒、扬声器、语音识别设备和软件等等。也可以通过话筒将信息输入到设备800。这样的信息可以由语音识别设备数字化。各实施方式不限于这一上下文。
各种实施方式可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序编程接口(API)、指令集、计算代码、计算机代码、代码片段、计算机代码片段、字、值、符号或其任何组合。实施方式是使用硬件元件和/或使用软件元件来实现的判断可以根据任何数量的因素而改变,这些因素例如期望的计算率、功率水平、耐热性、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度以及其他设计或性能约束。
下列条文和/或示例涉及进一步的实施方式:
一个示例实施方式可以是计算机执行的方法,其包括判断像素或样本的块具有恒定的还是变化的α值,判断块的已清除的像素或样本的数量,且基于α值判断和已清除的像素或样本的数量,判断如何存储块。该方法也可以包括使用两个比特来存储α值判断。该方法也可以包括提供三个α值判定,包括恒定为0、恒定为1和变化。该方法也可以包括为块的每一像素或样本存储一个清除比特,以便指示该像素或样本是否已被清除。该方法也可以包括判断可以存储在一个缓存线中的块的清除比特的最大数量。该方法也可以包括判断恒定的和变化的α值中的每一个的清除比特的最大数量,以便压缩块以供存储在一个缓存线中。
在另一示例实施方式中,一个或多个非瞬态计算机可读介质存储引起处理器执行序列的指令,该序列包括判断像素或样本的块具有恒定的还是变化的α值,判断块的已清除的像素或样本的数量,且基于α值判断和已清除的像素或样本的数量,判断如何存储块。介质还可以存储所述序列,包括使用两个比特来存储α值判断。介质还可以存储所述序列,包括提供三个α值判定,包括恒定为0、恒定为1和变化。介质还可以存储所述序列,包括为块的每一像素或样本存储一个清除比特,以便指示像素或样本是否已被清除。介质还可以存储所述序列,包括判断可以存储在一个缓存线中的块的清除比特的最大数量。介质还可以存储所述序列,包括判断恒定的和变化的α值中的每一个的清除比特的最大数量,以便压缩块以供存储在一个缓存线中。
在另一示例实施方式中可以是一种装置,其包括执行序列的处理器和耦合到所述处理器的存储,该序列包括判断判断像素或样本的块具有恒定的还是变化的α值,判断块的已清除的像素或样本的数量,且基于α值判断和已清除的像素或样本的数量,判断如何存储块。装置可以包括所述序列,包括使用两个比特来存储α值判断。该装置可以包括所述序列,包括提供三个α值判定,包括恒定为0、恒定为1和变化。该装置可以包括所述序列,包括为块的每一像素或样本存储一个清除比特,以便指示像素或样本是否已被清除。该装置可以包括所述序列,包括判断可以存储在一个缓存线中的块的清除比特的最大数量。该装置可以包括所述序列,包括判断恒定的和变化的α值中的每一个的清除比特的最大数量,以便压缩块以供存储在一个缓存线中。该装置可以包括操作系统、电池和固件和更新所述固件的模块。
另一示例实施方式可以是装置,其包括存储器和耦合到所述存储器的处理器以便判断像素是否因为像素不受任何其他所描绘的物体覆盖而被清除,且仅将未被清除的像素的颜色值存储在所述存储器中。该装置可以包括所述处理器,所述处理器是图形处理单元。该装置可以包括所述处理器,以便存储每一经压缩的块中的每个像素1比特的清除掩码。该装置可以包括所述处理器,以便使用两个掩码比特来指示在整个块上α值是0、1或非恒定。该装置可以包括所述处理器,以便以全精度存储颜色值。该装置可以包括所述处理器,以便使用比特的Δ值来指示已清除的像素。该装置可以包括操作系统、电池和固件以及更新所述固件的模块。
在此描述的图形处理技术可以以各种硬件体系结构实现。例如,图形功能性可以被集成在芯片组内。替代地,可以使用分立的图形处理器。作为又一实施方式,图形功能可以由包括多核心处理器的通用处理器来实现。
贯穿本说明书对“一种实施方式”或“一个实施方式”的引用意指结合该实施方式描述的具体特征、结构或特性被包括在本公开内容内包含的至少一种实现中。因而,短语“一种实施方式”或“在一种实施方式中”的出现并不必定是指相同的实施方式。此外,具体的特征、结构或特性可以是以不同于所阐释的具体实施方式的其他合适的形式建立,且所有这样的形式包含在本申请的权利要求内。
尽管描述了有限数量的实施方式,但本领域中的技术人员将明白从其得到的众多修改和变更。预期所附权利要求覆盖落在本公开内容的真实精神和范围内的所有这样的修改和变更。
Claims (16)
1.一种计算机执行的方法,包括:
对块的每个像素或样本存储清除比特以指示所述像素或样本是否已被清除;
判断像素或样本的块具有恒定的还是变化的α值;
判断所述块的已清除的像素或样本的数量;以及
基于所述α值判断和已清除的像素或样本的所述数量,判断如何存储所述块。
2.如权利要求1所述的方法,其特征在于,包括使用两个比特来自存储所述α值判断。
3.如权利要求1所述的方法,其特征在于,包括提供三个α值判断,包括恒定为0、恒定为1和变化。
4.如权利要求1所述的方法,其特征在于,包括判断可以以压缩形式存储的块的清除比特的最大数量。
5.如权利要求4所述的方法,其特征在于,包括为恒定和变化的α值中的每一个判断清除比特的最大数量,以便压缩块以供以压缩形式存储。
6.一个或多个存储指令的非瞬态计算机可读介质,所述指令引起处理器执行包括以下步骤的序列:
为块的每一像素或样本存储清除比特,以指示所述像素或样本是否已被清除;
判断像素或样本的块具有恒定的还是变化的α值;
判断所述块的已清除的像素或样本的数量;以及
基于所述α值判断和已清除的像素或样本的所述数量,判断如何存储所述块。
7.如权利要求6所述的介质,其特征在于,所述序列包括使用两个比特来存储所述α值判断。
8.如权利要求6所述的介质,其特征在于,所述序列包括提供三个α值判定,包括恒定为0、恒定为1和变化。
9.如权利要求6所述的介质,其特征在于,所述序列包括判断可以以压缩形式存储的块的清除比特的最大数量。
10.如权利要求9所述的介质,其特征在于,所述序列包括判断恒定的和变化的α值中的每一个的清除比特的最大数量,以便压缩块以供以压缩形式存储。
11.一种用于图形处理的装置,包括:
处理器,其执行序列,其中,为了执行所述序列,所述处理器:为块的每一像素或样本存储清除比特,以指示所述像素或样本是否已被清除;判断像素或样本的块具有恒定的还是变化的α值;判断所述块的已清除的像素或样本的数量;且基于所述α值判断和已清除的像素或样本的所述数量,判断如何存储所述块;以及
存储器,其耦合到所述处理器。
12.如权利要求11所述的装置,其特征在于,为了执行所述序列,所述处理器使用两个比特来存储所述α值判断。
13.如权利要求11所述的装置,其特征在于,为了执行所述序列,所述处理器提供三个α值判定,包括恒定为0、恒定为1和变化。
14.如权利要求11所述的装置,其特征在于,为了执行所述序列,所述处理器判断可以以压缩形式存储的块的清除比特的最大数量。
15.如权利要求14所述的装置,其特征在于,为了执行所述序列,所述处理器判断恒定的和改变的α值中的每一个的清除比特的最大数量,以便压缩块以供以压缩形式存储。
16.一种计算机实现的系统,包括用于执行如权利要求1-5中的任一项所述的方法的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/867,250 US9582847B2 (en) | 2013-04-22 | 2013-04-22 | Color buffer compression |
US13/867,250 | 2013-04-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104113757A CN104113757A (zh) | 2014-10-22 |
CN104113757B true CN104113757B (zh) | 2018-06-26 |
Family
ID=50624410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410160631.XA Expired - Fee Related CN104113757B (zh) | 2013-04-22 | 2014-04-21 | 颜色缓冲压缩 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9582847B2 (zh) |
EP (1) | EP2797049B1 (zh) |
JP (2) | JP5870145B2 (zh) |
KR (1) | KR101587347B1 (zh) |
CN (1) | CN104113757B (zh) |
BR (1) | BR102014009378A2 (zh) |
TW (1) | TWI615805B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2538856B (en) * | 2014-02-06 | 2018-04-25 | Imagination Tech Ltd | Opacity testing for processing primitives in a 3D graphics processing system |
US9552620B2 (en) * | 2014-06-30 | 2017-01-24 | Intel Corporation | Depth offset compression |
US9466124B2 (en) * | 2014-11-10 | 2016-10-11 | Intel Corporation | Compression using index bits in MSAA |
US10410398B2 (en) * | 2015-02-20 | 2019-09-10 | Qualcomm Incorporated | Systems and methods for reducing memory bandwidth using low quality tiles |
CN111726639B (zh) * | 2016-11-18 | 2023-05-30 | 上海兆芯集成电路有限公司 | 纹理砖压缩及解压缩方法以及使用该方法的装置 |
CN108322722B (zh) * | 2018-01-24 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 基于增强现实的图像处理方法、装置及电子设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282428A (ja) * | 1992-04-03 | 1993-10-29 | Fujitsu Ltd | 3次元コンピュータグラフィクス用図形データ作成方法 |
US5684939A (en) * | 1993-07-09 | 1997-11-04 | Silicon Graphics, Inc. | Antialiased imaging with improved pixel supersampling |
US8698840B2 (en) * | 1999-03-05 | 2014-04-15 | Csr Technology Inc. | Method and apparatus for processing video and graphics data to create a composite output image having independent and separate layers of video and graphics display planes |
JP2000268191A (ja) * | 1999-03-17 | 2000-09-29 | Hitachi Ltd | 隠面処理方法 |
JP2001184521A (ja) * | 1999-12-27 | 2001-07-06 | Mitsubishi Electric Corp | 3次元グラフィックスシステム |
SE0401850D0 (sv) * | 2003-12-19 | 2004-07-08 | Ericsson Telefon Ab L M | Image processing |
EP1548573A1 (en) * | 2003-12-23 | 2005-06-29 | Barco N.V. | Hierarchical control system for a tiled large-screen emissive display |
US7519899B2 (en) * | 2004-05-03 | 2009-04-14 | Microsoft Corporation | Planar mapping of graphical elements |
JP4656497B2 (ja) * | 2005-03-07 | 2011-03-23 | 株式会社リコー | 画像処理装置、画像処理方法、プログラム及び情報記録媒体 |
US7652677B2 (en) * | 2006-08-03 | 2010-01-26 | Qualcomm Incorporated | Graphics system employing pixel mask |
JP4328363B2 (ja) * | 2007-03-13 | 2009-09-09 | 株式会社アクセル | 画像圧縮装置、画像圧縮プログラムおよび画像伸張装置 |
US20080284780A1 (en) * | 2007-05-15 | 2008-11-20 | R-Ming Hsu | Method for enabling alpha-to-coverage transformation |
GB0809631D0 (en) * | 2008-05-28 | 2008-07-02 | Mirriad Ltd | Zonesense |
EP2327058A4 (en) * | 2008-09-23 | 2017-03-29 | Telefonaktiebolaget LM Ericsson (publ) | Pixel block processing |
JP2011049764A (ja) * | 2009-08-26 | 2011-03-10 | Toshiba Corp | データ圧縮伸長装置 |
GB0922126D0 (en) * | 2009-12-17 | 2010-02-03 | Advanced Risc Mach Ltd | Graphics processing systems |
US9038034B2 (en) * | 2009-12-22 | 2015-05-19 | Intel Corporation | Compiling for programmable culling unit |
US9437025B2 (en) * | 2012-07-12 | 2016-09-06 | Nvidia Corporation | Stencil data compression system and method and graphics processing unit incorporating the same |
CN103024246B (zh) * | 2012-11-29 | 2015-06-24 | 华东师范大学 | 一种文书档案图像压缩方法 |
US9093021B2 (en) * | 2013-03-11 | 2015-07-28 | Qualcomm Incorporated | Methods, apparatuses, and devices for rendering indoor maps on a display |
-
2013
- 2013-04-22 US US13/867,250 patent/US9582847B2/en active Active
-
2014
- 2014-04-07 JP JP2014078380A patent/JP5870145B2/ja not_active Expired - Fee Related
- 2014-04-09 TW TW103113019A patent/TWI615805B/zh active
- 2014-04-16 EP EP14165018.4A patent/EP2797049B1/en active Active
- 2014-04-17 KR KR1020140046039A patent/KR101587347B1/ko active IP Right Grant
- 2014-04-17 BR BR102014009378A patent/BR102014009378A2/pt not_active Application Discontinuation
- 2014-04-21 CN CN201410160631.XA patent/CN104113757B/zh not_active Expired - Fee Related
-
2016
- 2016-01-08 JP JP2016002707A patent/JP6182225B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP6182225B2 (ja) | 2017-08-16 |
US20140313211A1 (en) | 2014-10-23 |
EP2797049B1 (en) | 2020-12-16 |
BR102014009378A2 (pt) | 2015-10-13 |
JP2014216011A (ja) | 2014-11-17 |
EP2797049A2 (en) | 2014-10-29 |
EP2797049A3 (en) | 2018-02-28 |
TWI615805B (zh) | 2018-02-21 |
KR101587347B1 (ko) | 2016-01-20 |
US9582847B2 (en) | 2017-02-28 |
JP5870145B2 (ja) | 2016-02-24 |
CN104113757A (zh) | 2014-10-22 |
TW201504990A (zh) | 2015-02-01 |
JP2016103288A (ja) | 2016-06-02 |
KR20140126256A (ko) | 2014-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113757B (zh) | 颜色缓冲压缩 | |
CN104205161B (zh) | 用于块压缩图象的解压缩的系统、方法和计算机程序产品 | |
CN103546158B (zh) | 用于图形处理的方法、系统和装置 | |
DE102015002218B4 (de) | Vermeiden des Sendens unveränderlicher Gebiete zur Anzeige | |
US10621691B2 (en) | Subset based compression and decompression of graphics data | |
CN104756150B (zh) | 深度缓冲 | |
US9754345B2 (en) | Compression and decompression of graphics data using pixel region bit values | |
TWI537880B (zh) | 使用選擇性顏色轉換之顏色壓縮技術 | |
CN105164994A (zh) | 半固定色调色域压缩 | |
US20140333662A1 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
TWI517089B (zh) | 色彩緩衝器快取技術 | |
CN106133791B (zh) | 用于颜色压缩的群聚和编码 | |
US20140347385A1 (en) | Lossy color merge for multi-sampling anti-aliasing compression | |
US9613394B2 (en) | Lossy color compression using adaptive quantization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180626 Termination date: 20210421 |