CN105229695B - 图形数据的基于子集的压缩和解压缩 - Google Patents
图形数据的基于子集的压缩和解压缩 Download PDFInfo
- Publication number
- CN105229695B CN105229695B CN201480029296.8A CN201480029296A CN105229695B CN 105229695 B CN105229695 B CN 105229695B CN 201480029296 A CN201480029296 A CN 201480029296A CN 105229695 B CN105229695 B CN 105229695B
- Authority
- CN
- China
- Prior art keywords
- values
- subset
- graphics data
- value
- color
- 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.)
- Active
Links
Images
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/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Abstract
描述了与图形再现相关的技术,包含用于通过使用编索引的子集来压缩和/或解压缩图形数据的技术。
Description
背景技术
一般而言,图形再现可使用广泛的计算机实现的技术根据模型数据生成图像。在一些图形再现实现中,可通过对不同函数(诸如例如可见度函数(例如确定同一点是否在三角形内部的函数)和/或着色函数(例如确定在某一样本点的颜色的函数)等)采样来使用光栅化再现图像。一般而言,用于可见度函数的样本可被称为可见度样本,并且用于着色函数的样本可被称为着色样本。
在一些实现中,诸如例如超采样抗混叠(SSAA)应用,每个像素的可见度样本的数量可匹配每个像素的着色样本的数量。在其它实现中,诸如例如多采样抗混叠解决方案(MSAA)应用,可能存在单个着色样本每像素和多个可见度样本每像素。在任一情况下,多个样本可改进图像或视频质量,诸如例如减少图像中的锯齿边效应和视频中的蠕动效应等。
一般而言,使用SSAA或MSAA或其它图形技术可能需要颜色缓冲器带宽增大或者其它缓冲器中的带宽增大。此类带宽增大可降低系统性能,诸如引起更多高速缓存线事务、增大存储器使用、增大功率使用等。因此,压缩图形数据可能是有利的。
附图说明
本文描述的资料作为示例而非限制在附图中图示。为了图示的简洁和清晰起见,在附图中图示的元件不一定按比例绘制。例如,为了清晰起见,一些元件的尺寸相对于其它元件可能放大。另外,在适当的地方,附图标记在各图之间已经被重复以指示对应或类似元件。附图中:
图1是具有关联值的像素的示例瓦片的示意图;
图2是具有关联值的像素的示例瓦片的示意图;
图3是示例编索引的子集的示意图;
图4是具像素索引值的像素的示例瓦片的示意图;
图5是示例压缩图形数据的示意图;
图6是图示示例过程的流程图;
图7是图示示例过程的流程图;
图8是图示示例过程的流程图;
图9是用于提供图形再现中的压缩和/或解压缩的示例系统和过程的示意图;
图10是用于提供图形再现的压缩和/或解压缩的示例系统的示意图;
图11是示例系统的示意图;
图12图示了全部按照本公开的至少一些实现布置的示例装置。
具体实施方式
现在参考所附的附图描述一个或多个实施例或实现。虽然讨论了特定配置和布置,但应该理解,这只是用于说明性目的。相关领域技术人员将认识到,在不脱离本公开的精神和范围的情况下可采用其它配置和布置。相关领域技术人员将明白,本文描述的技术和/或布置还可用在不同于本文所描述的各种其它系统和应用中。
虽然如下描述阐述了可在例如诸如片上系统(SoC)架构的架构中表明的各种实现,但本文描述的技术和/或布置的实现不限于具体架构和/或计算系统,而是可为了类似目的由任何架构和/或计算系统实现。比如,例如采用多个集成电路(IC)芯片和/或封装和/或各种计算装置和/或消费电子(CE)装置(诸如机顶盒、智能电话等)的各种架构可实现本文描述的技术和/或布置。另外,虽然以下描述可阐述众多特定细节,诸如系统组件的逻辑实现、类型和相互关系、逻辑分割/集成选择等,但是可在没有此类特定细节的情况下实行所要求权利的主题。在其它实例中,一些资料(诸如例如控制结构和全软件指令序列)可能未详细示出,以免使本文公开的资料模糊不清。
本文公开的资料可用硬件、固件、软件或它们的任何组合来实现。本文公开的资料还可实现为存储在机器可读介质上的指令,所述指令可由一个或多个处理器读取和执行。机器可读介质可包含用于存储和传送由机器(例如计算装置)可读形式的信息的任何介质和/或机制。例如,机器可读介质可包含只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存装置;电、光、声或其它形式传播信号(例如载波、红外信号、数字信号等)以及其它介质。
在说明书中提到“一个实现”、“实现”、“示例实现”等指示所描述的实现可包含具体特征、结构或特性,但每一个实施例可能不一定都包含该具体特征、结构或特性。而且,此类短语不一定是指同一实现。另外,当结合一个实施例描述具体特征、结构或特性时,认为结合不管本文是否明确描述的其它实现来实现此类特征、结构或特性在本领域技术人员的知识范围内。
下面描述了与图形再现相关的系统、设备、制品和方法,包含用于通过使用编索引的子集来压缩和/或解压缩图形数据的技术。
如上所述,可能有利的是压缩(和解压缩)图形数据,诸如再现的图形数据。如将在下面更详细描述的,在一些示例中,图形再现和压缩技术可在瓦片上操作。一般而言,瓦片可包含任何数量的各个像素,诸如矩形区域的W×H像素,其中W是瓦片的宽度,并且H是像素中瓦片的高度。例如,瓦片可包含具有32个像素的8×4像素区域。在一些示例中,可对于各个像素确定诸如颜色值的值,使得每个像素具有一个值。这些值可以任何方式确定,并且可包含任何适合的信息。例如,这些值可包含颜色值、低频着色颜色值、表面法线值、多采样抗混叠颜色平面值等。可生成值的子集,使得子集包含来自像素值的不同的值。例如,子集可包含一个或多个值(例如,如果对于所有像素,值都相同,则子集可包含一个值)。值的子集可被编索引,使得索引值可与子集中的每个值关联。对于各个像素中的每个像素,可确定关联的像素索引值。例如,对于各个像素值,可向各个像素指配匹配各个像素值的与子集中不同的值关联的索引值。用这种方式,各个像素可被索引到值的子集。
另外,如在下面更详细讨论的,一般而言,所讨论的压缩技术的目的可以是实现位预算。例如,存储器带宽可与限制或高速缓存线等关联,其可提供存储器事务的限制(例如512位等)。如果压缩技术可传送或存储小于或等于限制的数据,则与数据关联的事务的数量可降低以节能并增加性能。如所讨论的,可索引各个像素的瓦片,并且可生成值的子集(也被索引)。一般而言,如果像素索引值、索引的值的子集和子集的索引小于期望位预算,则压缩可能已经成功。在此类示例中,包括值(即,不同的值)子集、与值的子集关联的索引值和多个像素索引值的图形数据可被存储在存储器中。一般而言,如果位预算不满足,则压缩可能已经失败,并且可使用标准技术存储未压缩的各个像素值。如所讨论的,压缩像素瓦片的像素值可节省大量带宽,同时在各种计算机实现中传送或存储图形数据。
图1是按照本公开的至少一些实现布置的具有关联值v1-v32的像素120的示例瓦片110的示意图。如所示,瓦片110可包含多个像素120-1、1-120-4、8。一般而言,瓦片110可包含任何数量的像素。在一些示例中,瓦片110可以是8像素宽×4像素高(并且因此可包含32个像素,如所示)。还如所示,各个像素120-1、1-120-4、8可具有或包含关联值v1-v32。一般而言,值v1-v32可包含任何适合的图形数据或再现数据等。例如,值v1-v32可包含颜色值、低频着色颜色值、表面法线值、多采样抗混叠颜色平面值等。如所描述的,在一些示例中,值v1-v32可以是颜色值,诸如低频像素着色颜色值或多采样抗混叠颜色平面值等。一般而言,任何数量的值v1-v32可以不同。例如,如果所有值v1-v32都相同,则可能存在单个不同的值。如果所有值v1-v32都不同,则可能存在32个不同的值。一般而言,如果存在较少不同的值,则本文下面讨论的压缩技术可能更有效。此类示例更有可能发生在各种再现上下文中,或者使用各种技术,诸如例如当值v1-v32是表面法线值时,使用较低频着色技术生成值v1-v32时。
如所讨论的,在一些实现中,可使用低频着色技术生成值v1-v32。使用低频着色技术,可以比每像素一次更低的速率计算着色。例如,可对于每1x2像素、每2x1像素、每2x2像素、每4x2像素、每2x4像素、每4x4像素等生成颜色值。在其它示例中,像素着色可被划分成两部分,使得着色的一部分可按像素(或按样本)进行,而着色的另一部分可以较低速率进行,如所描述的,并且结果组合起来。在此类示例中,由于对于大于按像素基础的区域生成颜色值,因此用于瓦片110的值的一定量的复制将发生。另外,在再现真实对象时,可以频繁发生:一组像素可具有相同颜色,或者像素的整个瓦片可具有相同颜色。因此,用低频像素着色,本文讨论的技术可能特别有利,不过所描述的技术不限于此类示例。
图2是按照本公开的至少一些实现布置的具有关联值230的像素220的示例瓦片210的示意图。如所示,在一些示例中,值230可包含颜色值或低频像素着色颜色值等。在所图示的示例中,为了清楚呈现的目的,使用描述(即“蓝”、“紫”、“白”和“黄”)示出了值230。一般而言,颜色值可包含红绿蓝alpha(RGBA)颜色值、RAGB值的子集(诸如8位红绿蓝alpha(R8G8B8A8))颜色值、伪亮度/强度橘色色度绿色色度alpha(YCoCgA)颜色值等。另外,尽管相对于颜色值描述,但一般而言,值230可包含任何图形数据或再现值,诸如例如表面法线值等。在图2的示例中,瓦片210可包含4个不同的值(即“蓝”、“紫”、“白”和“黄”)。如将认识到的,瓦片210可包含从1到32个不同的值。一般而言,可使用任何适合的图形处理技术或多个技术确定值320。例如,可通过再现瓦片210生成值230。再现可包含光栅化技术,诸如应用可见度函数或应用着色函数等。在一些示例中,再现可包含应用超采样抗混叠技术、多采样抗混叠技术或低频像素着色技术等中的至少一项。
现在转到图3,图3是按照本公开的至少一些实现布置的包含值320的子集和关联的索引值330的示例编索引的子集310的示意图。例如,可通过确定值320的子集使得值320的子集包含值230的不同的值(如图2中所示)并将索引值320与值320的子集的每个值关联,来生成编索引的子集310。如所讨论的,值320的子集可包含根据值230的不同值的数量的任何数量的值。类似地,索引值320的数量可匹配值的子集中的值的数量。在图3的示例中,存在值320的子集中的四个值(即“蓝”、“紫”“白”和“黄”)以及四个索引值330(即“0”、“1”、“2”和“3”)。在值320的子集包含颜色值的示例中,值320的子集可被描述为调色板或颜色调色板等。一般而言,值320的子集中的值的数量(以及索引值的数量)可包含个值(例如在给定示例中k=2),使得索引值330可以是k位索引值。也就是,为了索引个值,索引值必须至少具有k位。例如,为了索引两个值,对于索引值330可使用单个位(即k=1)。为了索引3个或4个值,可能需要2位(即k=2)。为了索引5到8个值,可能需要3位(即k=3)。如果要存储单个值,则可能不需要索引位(因为所有值都是相同的)。在所图示的示例中,值320的子集包含4个值,并且索引值330是2位值。
现在转到图4,图4是按照本公开的至少一些实现布置的具有关联像素索引值430的像素420的示例瓦片410的示意图。例如,可对于各个像素420中的每个像素确定像素索引值430,使得可用索引值430索引或替换值230(请参考图2),使得索引值430在编索引的子集310内参考值320的子集(请参考图3)。如将认识到的,在从值230变换到索引值430和编索引的子集310时,可能已经发生了没有信息损耗的压缩。如上面所讨论的,每一个像素索引值430的位数可取决于值320的子集中值的数量。在所图示的示例中,索引值430可包含2位。
如上面所讨论的,所讨论的压缩技术的目的可以是实现位预算。例如,如果瓦片210可使用未压缩格式的位,则期望的位预算B可以是位。在其它示例中,期望的位预算B可以是位、位等。在其它示例中,位预算可与系统设计规则或约束等关联。例如,存储器带宽可与限制或高速缓存线尺寸等关联,其可提供存储器事务的限制(例如512位等)。另外,在一些示例中,多于一位的预算可能是可用的,使得目的或目标可满足最低可用位预算。在任何情况下,如果压缩技术可传送或存储小于位预算或限制的数据,则与数据关联的事务的数量可降低以节能并增加性能。
在所描述的示例中,存储编索引的子集310(包含值320的子集和索引值330)和像素索引值430所需的最大位数可给出如下:W*H*k+C*P(其中W可以是瓦片410的宽度,H可以是瓦片410的高度,C可以是值320的子集中的值的数量,并且P可以是瓦片中各个颜色的数量,其中,并且可以是索引值330和/或像素索引值430的位数)。如果位数小于或等于期望的位预算(即,如果W*H*k+C*P<=B),则图形数据(例如编索引的子集310和像素索引值430)可以压缩形式存储。一般而言,如果位数小于或等于期望的位预算,则位数可被描述为“小于”期望的位预算,或者位预算可以被描述为满足。如果位数大于期望的位预算,则图形数据可以未压缩形式存储,使得值230(请参考图2)可直接使用标准技术存储在存储器中。在位数小于(或等于)期望的位预算的示例中,压缩可能已经被视为成功,而在位数大于期望的位预算的示例中,压缩可能已经被视为失败。
在一些示例中,压缩的图形数据(即,编索引的子集310和像素索引值430)或其部分可在存储之前进一步压缩。在一些示例中,压缩可响应于不满足位预算的压缩图形数据。在一些示例中,在存储图形数据之前,可压缩值320的子集。在其它示例中,在存储图形数据之前,可压缩像素索引值430。在一些示例中,压缩像素索引值430可以是delta编码等。
现在转到图5,图5是按照本公开的至少一些实现布置的示例压缩图形数据500的示意图。如图5中所示,图形数据500可包含报头部分502和/或数据部分504。还如所示,报头部分502可包含一个或多个指示符508。例如,指示符508可包含标志等,指示是否根据本文描述的技术压缩数据部分504。报头部分502可包含其它指示符,诸如指示是否压缩值320的子集的指示符、指示是否压缩索引值330的指示符、指示是否压缩像素索引值430的指示符等。如所示,数据部分504可包含值320的子集、索引值330和/或像素索引值430。数据部分504或报头部分502还可包含值k(即,索引值中的位数,如上面所讨论的)。如在本文中进一步描述的,图形数据500可存储在存储器中,或者从存储器中检索,并且解压缩。在一些实现中,报头部分502和数据部分504可被存储在单独的物理存储区域中,并且通过不同高速缓存机制支持。
如将在下面更详细讨论的,可使用诸如计算机实现的系统的系统来执行本文结合图1-5讨论的一些或所有各种操作。
图6是图示按照本公开的至少一些实现布置的示例过程600的流程图。一般而言,过程600可提供用于提供图形再现中的压缩的计算机实现的方法。在所图示的实现中,过程600可包含由块602、604、606、608和/或610中的一个或多个块所图示的一个或多个操作、功能或动作。作为非限制性示例,过程600在本文将参考上面相对于图1-5讨论的操作和下面讨论的示例系统100描述。
过程600可被用作用于提供图形再现中的压缩的计算机实现的方法。过程600可开始于块602“确定与像素瓦片的各个像素关联的值”,在此可确定与像素瓦片的各个像素关联的多个值。例如,可确定瓦片110的值v1-v32或瓦片210的值230。一般而言,值可通过任何适合的技术(诸如例如各种再现技术)确定。在一些示例中,再现可包含应用超采样抗混叠技术、多采样抗混叠技术或低频像素着色技术中的至少一项。在其它示例中,确定多个值可包含访问与像素瓦片关联的图形数据(例如经由高速缓存或缓冲器等)。例如,第一图形数据可包含多个值。此类访问图形数据例如可发生在高速缓存驱逐时。
处理可从操作602继续到操作604“生成包含值的不同值的值的子集”,在此可确定多个值的子集,包含来自多个值的一个或多个不同的值。例如,如本文所讨论的,可基于值230确定值320的子集。
处理可从操作604继续到操作606“将索引值与子集的每个值关联”,在此索引值可与多个值的子集的每个值关联。例如,索引值330可与值320的子集关联以生成编索引的子集310。
处理可从操作606继续到操作608“对于每个各个像素确定关联的像素索引值以生成像素索引值”,在此对于各个像素中的每个值,可确定关联的像素索引值,以生成与像素瓦片的各个像素关联的多个像素索引值。例如,可对于各个像素420的每个像素生成像素索引值430。
处理可从操作608继续到操作610“存储包含值的子集、关联的索引值和像素索引值的图形数据”,在此可存储包括多个值的子集、关联的索引值和多个像素索引值的图形数据。例如,图形数据可存储在存储器中。例如,可存储值320的子集、索引值330和像素索引值430。在一些示例中,图形数据可包含图形数据500。如所讨论的,在一些示例中,图形数据可以压缩格式存储,仅当它满足位预算的情况下。在此类示例中,用于与多个值的子集、关联的索引值和多个像素索引值关联的图形数据的位数可与位预算相比较。如果用于与多个值的子集、关联的索引值和多个像素索引值关联的图形数据的位数小于位预算,则可在存储器中存储与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据。如果用于与多个值的子集、关联的索引值和多个像素索引值关联的图形数据的位数大于位预算,则在存储器中存储包含与像素瓦片的各个像素关联的多个值的其它图形数据。
如图6中所示,在一些示例中,块604、604和608可连续执行。然而,如本文所讨论的,一般而言,图6的块可按任何次序执行,并且一些块可被完全跳过。在一些示例中,块604、606和608的分组630可并行或基本上并行执行。
例如,图7是图示按照本公开的至少一些实现布置的示例过程700的流程图。在各种示例中,过程700可执行分组630的操作。一般而言,过程700可提供用于提供图形再现中的压缩的计算机实现的方法。在所图示的实现中,过程700可包含由块702、704、706、708、710、712、714、716和/或718中的一个或多个块所图示的一个或多个操作、功能或动作。作为非限制性示例,过程700在本文将参考上面相对于图1-6讨论的操作和下面讨论的示例系统100描述。
过程700可被用作用于提供图形再现中的压缩的计算机实现的方法。过程700可开始于块702“将子集中的值的数量设置成0”,在此值的子集中的值的数量可被设置成0。例如,值320的子集中的值的数量(以及索引值330的数量)可被设置成0。例如,值的子集可被清空。
处理可从操作702继续到操作704“对于像素Pi,关联值Vi在子集中”,在此可对于当前像素确定与当前像素值关联的值是否在子集中。例如,在操作704的第一实例,计数器值i可被设置成1。对于像素1,可以确定与像素1关联的值是否在子集中。如将认识到的,在一些示例中,在操作704的第一实例中,由于子集可能已经被清空,因此基本上可跳过该操作。在操作704的随后迭代,与当前像素关联的值可与子集中的每个值相比较,以确定关联的值是否在子集中。例如,对于像素220-2,1(请参考图2),“蓝”的值230-2,1可能已经被存储在编索引的子集310中(为了这个示例的目的,假定像素从左到右和从上到下排序)。例如,可能已经存储了与像素220-1,1关联的“蓝”的值。
在此类示例中,过程700可在操作706继续“将现有索引值与像素P关联”,在此与该值关联的索引值可与当前像素关联。例如,对于像素420-2,1(请参考图4),“0”的索引值430-2,1可与像素420-2,1关联。
在操作704的随后迭代的其它示例中,与当前像素关联的值可不在子集中。例如,对于像素220-1,7(请参考图2),“白”的值可能尚未存储在编索引的子集中(为了这个示例的目的,假定像素从左到右和从上到下排序)。
在此类示例中,过程700可在操作708继续“将值Vi添加到子集”,在此该值可被添加到子集。继续上面的示例,“白”值(例如用于像素220-1,7的)可被存储在值320的子集中。
过程700可从操作708继续到操作710“将索引值与值V关联”,在此索引值可与添加的值关联。继续上面的示例,索引值330中的索引值“2”可与值320的子集的值“白”关联。
过程700可从操作710继续到操作712“将添加的索引值与像素P关联”,在此与添加的值关联的索引值可与当前像素关联。继续上面的示例,对于像素420-1,7(请参考图4),“2”的像素索引值可与像素420-1,7关联。
过程700可从操作712或操作706(如上面所讨论的)继续到操作714,“i=i+1”,在此计算器变量i可增加1。例如,对于过程700,将i增加1可从一个像素移动到下一个。
过程700可从操作714继续到操作716“i>像素的数量”,在此可以确定i是否大于像素的数量。也就是说,如果i大于像素的数量,则先前迭代可能已经用于最后像素,并且过程700可结束在操作718“结束”。如果i不大于像素的数量,则过程700可在操作704对于另一迭代继续,如上所述。
一般而言,过程600和/或700可提供本文所讨论的图形再现中的压缩。过程600和/或过程700可根据需要串行或并行重复任何次数。另外,一般而言,过程600和/或过程700可经由硬件、软件、固件或它们的组合实现,如在本文中进一步讨论的。
图8是图示按照本公开的至少一些实现布置的示例过程800的流程图。一般而言,过程800可提供用于提供图形再现中解压缩的计算机实现的方法。在所图示的实现中,过程800可包含由块802、804、806、808和/或810中的一个或多个块所图示的一个或多个操作、功能或动作。作为非限制性示例,过程800在本文将参考上面相对于图1-5讨论的操作和下面讨论的示例系统100描述。
过程800可被用作用于提供图形再现中解压缩的计算机实现的方法。过程800可开始于块802“访问图形数据”,在此可访问图形数据。例如,图形数据可包含多个值的子集、关联的索引值和多个像素索引值。例如,图形数据可经由存储器访问,并且可包含值320的子集、索引值330和像素索引值430,如本文所讨论的。在一些示例中,图形数据可包含图形数据500。
处理可从操作802继续到操作804“确定值的子集”,在此可确定多个值的子集。例如,可确定值320的子集。一般而言,可使用任何适合的技术或多个技术确定多个值的子集。在一些示例中,可从存储器诸如高速缓冲存储器或图形缓冲器等中读取值的子集。如所讨论的,在各种示例中,多个值的子集可以压缩形式或以未压缩形式存储在存储器中,作为图形数据诸如图形数据500的一部分。在一些示例中,确定多个值的子集可包含从存储器中读取图形数据的一部分。在其它示例中,确定多个值的子集可包含读取并解压缩图形数据的一部分。
处理可从操作804继续到操作806“确定与值的子集关联的索引值”,在此可确定与多个值的子集的每个值关联的索引值。例如,可确定索引值330。一般而言,可使用任何适合的技术或多个技术确定索引值。在一些示例中,可从存储器中读取索引值,作为图形数据诸如图形数据500的一部分。
处理可从操作806继续到操作808“基于图形数据确定像素索引值”,在此可确定多个像素索引值。例如,可确定像素索引值430。一般而言,可使用任何适合的技术或多个技术确定像素索引值。在一些示例中,可从存储器诸如高速缓冲存储器或图形缓冲器等中读取像素索引值。如所讨论的,在各种示例中,像素索引值可以压缩形式或以未压缩形式存储在存储器中,作为图形数据诸如图形数据500的一部分。在一些示例中,确定像素索引值可包含从存储器中读取图形数据的一部分。在其它示例中,确定像素索引值可包含至少部分基于图形数据读取和解压缩图形数据的一部分。
处理可从操作808继续到操作810“基于子集值和像素索引值确定像素瓦片的各个像素的像素值”,在此可至少部分基于多个值的子集、与多个值的子集的每个值关联的索引值和多个像素索引值确定与像素瓦片的各个像素关联的多个值。例如,可基于值320的子集、索引值330和像素索引值430确定像素220的瓦片210的值230(请参考图2-4)。
一般而言,过程800可提供本文所讨论的图形再现中的解压缩。过程800可根据需要串行或并行重复任何次数。另外,一般而言,过程800可经由硬件、软件、固件或它们的组合实现,如在本文中进一步讨论的。
与过程600、700或800相关的一些附加和/或备选细节可在下面相对于图9更详细讨论的实现的一个或多个示例中图示。
图9是按照本公开的至少一些实现布置的用于提供图形再现中的压缩和/或解压缩的示例系统100和过程900的示意图。在所图示的实现中,过程900可包含由块901、902、903、904、905、906、907、908、909和/或910中的一个或多个动作所图示的一个或多个操作、功能或动作。作为非限制性示例,本文还将参考图10的示例视频译码系统100描述过程900。
在所图示的实现中,系统100可包含逻辑模块910等和/或它们的组合。例如,模块910可包含存储库920、图形处理单元930(其可包含图形数据压缩/解压缩(“编解码器”)模块935)和图形缓冲器940等和/或它们的组合。在各种示例中,图形数据编解码器模块935可提供压缩或解压缩或二者。
图形数据编解码器模块935例如可配置成:确定与像素瓦片的各个像素关联的多个值;生成多个值的子集,使得多个颜色值的子集包含来自多个颜色值的一个或多个不同的值;将索引值与多个值的子集中的每个值关联;对于所述各个像素中的每个像素,确定关联的像素索引值以生成与所述像素瓦片的所述各个像素关联的多个像素索引值;和/或在图形缓冲器中存储包含多个值的子集的图形数据、关联的索引值和多个像素索引值。用这种方式,图形数据编解码器模块935例如可提供图形数据(诸如与像素瓦片的像素关联的值)的压缩。
图形数据编解码器模块935(或图形处理单元930的另一模块)可还配置成:访问包含多个值的子集、关联的索引值和多个像素索引值的图形数据,如本文所讨论的;基于图形数据确定多个值的子集;确定与多个值的子集中的每个值关联的索引值;至少部分基于图形数据确定多个像素索引值;以及基于多个值的子集、与多个值的子集中的每个值关联的索引值和多个像素索引值,确定与像素瓦片的各个像素关联的多个值。用这种方式,图形数据编解码器模块935(或图形处理单元930的另一模块)例如可提供图形数据(诸如与像素瓦片的像素关联的值)的解压缩。如所讨论的,在一些示例中,图形数据编解码器模块935可配置成提供压缩和解压缩。在另一示例中,压缩和解压缩可由单独的模块(例如压缩模块和解压缩模块)提供。
过程900可被用作用于提供图形再现中的压缩和/或解压缩的计算机实现的方法。过程900可开始于块901“再现到瓦片”,在此可再现像素瓦片。瓦片可使用任何适合的技术再现,并且可生成像素瓦片,如本文所讨论的。再现可基于任何适合的数据,诸如图像数据、模型、多个模型或模型数据、场景数据、向量数据、栅格数据等。
处理可继续从操作901到操作902“访问图形数据”,在此图形数据编解码器模块935可经由存储库920的图形缓冲器940访问图形数据。图形数据可含有本文所讨论的任何数据(或者压缩了或者未压缩)。在一些示例中,图形数据可包含像素值,诸如例如像素值230。
处理可从操作902继续到操作903“确定与各个像素关联的值”,在此可确定与像素瓦片的各个像素关联的多个值。例如,可确定瓦片110的值v1-v32或瓦片210的值230。如所示,在一些示例中,确定多个值可包含经由图形缓冲器940访问图形数据945。例如,图形数据945可包含多个值。此类访问图形数据例如可发生在高速缓存驱逐时。
处理可从操作903继续到操作904“生成子集并关联索引值”,在此可确定多个值的子集,包含来自多个值的一个或多个不同的值。例如,如本文所讨论的,可基于值230确定值320的子集。
处理可从操作904继续到操作905“确定像素索引值”,在此对于各个像素中的每个值,可确定关联的像素索引值,以生成与像素瓦片的各个像素关联的多个像素索引值。例如,可对于各个像素420的每个像素生成像素索引值430。
处理可从操作905继续到操作906“压缩值的子集和/或像素索引值”,在此在存储图形数据之前,可压缩多个值的子集或多个像素索引值中的至少一项。
例如,在存储器中存储之前可压缩多个值的子集。如所讨论的,在一些示例中,这些值可包含颜色值。在此类示例中,颜色值可压缩如下。如所讨论的,颜色调色板至多可包含种颜色,诸如例如颜色的总数给出为P。一般而言,在存储之前可使用任何颜色压缩方案压缩P个颜色。例如,可确定每个颜色成分的最小值,并且颜色成分可存储实际颜色成分值与最小颜色成分值之间的残差。此类压缩可提供指示对于每个颜色成分的残差需要多少位的位。在一些示例中,对于红色残差可提供3位,对于绿色残差可提供2位,诸如此类。
另外,可压缩像素索引值。在一些实现中,许多像素索引值可以是相同的。一般而言,任何压缩技术或多个技术都可用于压缩像素索引值。例如,像素索引值可被放入队列中,并且可向队列应用行程长度编码。在其它示例中,如果2x2像素区域(等)中的像素索引值相同,则可对于2x2区域存储单个索引。
处理可从操作906继续到操作907“确定图形数据中的位数并与位预算比较”,在此可确定用于与多个值的子集、关联的索引值和多个像素索引值关联的图形数据的位数,并且可确定位预算。例如,可通过从多个值的子集、关联的索引值和多个像素索引值中添加位成分来确定位数,如本文所讨论的。
处理可从操作907继续到操作908“存储图形数据”,在此可存储包括多个值的子集、关联的索引值和多个像素索引值的图形数据。例如,图形数据可存储在存储器中。例如,可存储值320的子集、索引值330和像素索引值430。在一些示例中,图形数据可包含图形数据500。
一般而言,操作901-908可提供图形数据压缩。当将图形数据存储到图形缓冲器940中时,在图形缓冲器940的高速缓存驱逐时,诸如此类,此类压缩可发生。
列举如下,操作909-912可提供图形数据解压缩。例如,处理可从操作908继续到操作909“访问图形数据”,在此可访问图形数据。例如,图形数据可包含多个值的子集、关联的索引值和多个像素索引值。例如,图形数据可经由存储器访问,并且可包含值320的子集、索引值330和像素索引值430,如本文所讨论的。在一些示例中,图形数据可包含图形数据500。
处理可从操作909继续到操作910“解压缩值的子集和/或像素索引值”,在此可解压缩值的子集或像素索引值或二者。例如,图形数据可包含用于值的子集的一部分数据(其可被解压缩以生成值320的子集)和/或用于像素索引值的另一部分数据(其可被解压缩以生成像素索引值430)。一般而言,在既不压缩值的子集也不压缩像素索引值的实现中可跳过操作910。在此类实现中,处理可从操作909继续到操作911。
在任一情况下,处理可继续操作911“确定值的子集、关联的索引值和像素索引值”,在此可确定多个值的子集、与多个值的子集的每个值关联的索引值和多个像素索引值。例如,可确定值320的子集。一般而言,可使用任何适合的技术或多个技术确定多个值的子集。如所讨论的,在各种示例中,多个值的子集可以压缩形式或以未压缩形式存储在存储器中,作为图形数据诸如图形数据500的一部分。在一些示例中,确定多个值的子集可包含从图形缓冲器940中读取图形数据的一部分。在其它示例中,确定多个值的子集可包含读取并解压缩图形数据的一部分。类似地,可确定索引值330。在一些示例中,可从图形缓冲器940中读取索引值,作为图形数据945的一部分。类似地,可确定多个像素索引值。如所讨论的,在各种示例中,像素索引值可以压缩形式或未压缩形式存储。在一些示例中,确定像素索引值可包含从图形缓冲器940中读取图形数据945的一部分。在其它示例中,确定像素索引值可包含读取和解压缩图形数据945的一部分。
处理可从操作911继续到操作912“确定像素值”,在此可至少部分基于多个值的子集、与多个值的子集的每个值关联的索引值和多个像素索引值确定与像素瓦片的各个像素关联的多个值。例如,可基于值320的子集、索引值330和像素索引值430确定像素220的瓦片210的值230(请参考图2-4)。
一般而言,操作909-912可提供图形数据解压缩。此类解压缩可发生在使用或预备使用图形数据945时。例如,此类解压缩图形数据可用于再现瓦片,显示图像等。
一般而言,过程900可根据需要串行或并行重复任何次数。另外,一般而言,图形数据编解码器模块935可经由硬件、软件和/或固件实现。如所示,在一些实现中,可经由图形处理单元930实现图形数据编解码器模块935。在其它实现中,图形数据编解码器模块935可经由借助一个或多个处理单元实现的软件实现。一般而言,例如,可启用图形数据编解码器模块935和/或本文讨论的操作,或者在系统级或用户级启用。
虽然本文讨论的示例过程600、700、800、900的实现可包含承担按所图示的次序示出的所有块,但本公开不限于这方面,并且在各种示例中,本文讨论的过程的实现可包含仅承担所示出的块的子集和/或按不同于所图示的次序的次序。
此外,可响应于由一个或多个计算机程序产品提供的指令而承担本文讨论的任一个或多个块或操作(诸如相对于图1-9图示和讨论的操作)。此类程序产品可包含提供指令的信号承载介质,所述指令例如当由处理器执行时可提供本文描述的功能性。计算机程序产品可以任何形式的计算机可读介质提供。从而,例如,包含一个或多个处理器核的处理器可承担本文讨论的一个或多个块或操作。
如在本文中描述的任何实现中所使用的术语“模块”是指配置成提供本文描述的功能性的软件、固件和/或硬件的任何组合。软件可实施为软件包、代码和/或指令集或指令,并且在本文描述的任何实现中所使用的“硬件”例如可包含单个或任何组合的硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可共同或个别地实施为形成部分更大系统(例如集成电路(IC)、片上系统(SoC)等)的电路。
图10是按照本公开的至少一些实现布置的用于提供图形再现中的压缩的示例系统100的示意图。在所图示的实现中,系统100可包含一个或多个中央处理单元1006、一个或多个存储库920、一个或多个图形处理单元930、图形缓冲器940和/或显示装置1070。中央处理单元1006、存储库920、图形处理单元930、缓冲器940和/或显示装置1070可能能够例如经由总线或其它接入彼此通信。在各种实现中,显示装置1070可集成在系统100中,或与系统100分开实现。
如图10中所示,并且如上面所讨论的,可经由图形处理单元930实现图形数据编解码器模块935。在一些示例中,可经由中央处理单元1006实现图形数据编解码器模块935。如所示,图形处理单元930可包含图形数据编解码器模块935。图形处理单元930可以通信方式耦合到图形缓冲器940。图形数据编解码器模块935可配置成:确定与像素瓦片的各个像素关联的多个值;生成多个值的子集,使得多个颜色值的子集包括来自多个颜色值的一个或多个不同的值;将索引值与多个值的子集中的每个值关联;对于所述各个像素中的每个像素,确定关联的像素索引值以生成与所述像素瓦片的所述各个像素关联的多个像素索引值;以及在所述图形缓冲器中存储包含所述多个值的所述子集的图形数据、所述关联的索引值和所述多个像素索引值,和/或提供本文所讨论的其它操作。一般而言,存储库920可以通信方式耦合到图形处理单元930。存储库920可包含图形缓冲器940,其可由图形数据编解码器模块935访问以检索图形数据945。另外,显示装置1070可配置成至少部分基于图形数据945显示输出图像数据(未示出)。如所讨论的,图形数据编解码器模块935可还配置成访问和/或解压缩图形数据945,如本文所讨论的。
如将认识到的,在图10中图示的模块可包含各种各样的软件和/或硬件模块和/或可经由软件和/或硬件实现的模块。例如,模块可经由中央处理单元1006和/或图形处理单元930实现为软件,或者模块可经由图形处理单元930的专用硬件部分或多个部分实现。另外,示出的存储库920例如可以是中央处理单元906和/或图形处理单元920的共享存储器。另外,图形缓冲器940可经由存储库920实现或与存储库920分开,和/或图形缓冲器940可经由可包含其它缓冲器部分(诸如再现器缓冲器等)的通用缓冲器实现。还有,系统100可以各种方式实现。例如,系统100(排除了显示装置1070)可实现为具有图形处理器、四核中央处理单元、板上高速缓存和存储器控制器输入/输出(I/O)模块(未示出)的单个芯片或装置。在其它示例中,系统100(再次排除显示装置1070)可实现为芯片集。
中央处理单元1006可包含任何适合的实现,例如包含微处理器、多核处理器、专用集成电路、芯片、芯片集等。另外,图形处理单元930可包含任何适合的实现,例如包含处理器、多核处理器、专用集成电路、可编程逻辑装置、图形卡、集成图形、通用图形处理单元等。此外,存储库920和/或图形缓冲器940可以是任何类型存储器,诸如易失性存储器(例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如闪存等)诸如此类。在非限制性示例中,存储库920和/或图形缓冲器940可经由高速缓冲存储器实现。在各种示例中,系统100可实现为芯片集或片上系统。
图11图示了按照本公开的示例系统1100。在各种实现中,系统1100可以是媒体系统,不过系统1100不限于此上下文。例如,系统1100可被结合到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等中。
在各种实现中,系统1100包含耦合到显示器1120的平台1102。平台1102可从内容装置(诸如内容服务装置1130或内容递送装置1140或其它类似内容源)接收内容。包含一个或多个导航特征的导航控制器1150可用于例如与平台1102和/或显示器1120交互。下面更详细描述这些组件中的每个组件。
在各种实现中,平台1102可包含芯片集1105、处理器1110、存储器1112、存储装置1114、图形子系统1115、应用1116和/或无线电1118的任何组合。芯片集1105可提供处理器1110、存储器1112、存储装置1114、图形子系统1115、应用1116和/或无线电1118之间的互通信。例如,芯片集1105可包含能够提供与存储装置1114的互通信的存储装置适配器(未描绘)。
处理器1110可实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集可兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器1110可以是双核处理器、双核移动处理器等等。
存储器1112可实现为易失性存储器装置,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储装置1114可实现为非易失性存储装置,诸如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储装置、附连的存储装置、闪存、电池备份的SDRAM(同步DRAM)和/或网络可访问存储装置。在各种实现中,例如当包含多个硬驱时,存储装置1114可包括增加有价值数字媒体的存储性能增强保护的技术。
图形子系统1115可执行图像处理,诸如静止图像或视频以便显示。图形子系统1115例如可以是图形处理单元(GPU) 或视觉处理单元(VPU)。可使用模拟接口或数字接口以通信方式耦合图形子系统1115和显示器1120。例如,接口可以是依从高清多媒体接口、显示 端口、无线HDMI和/或无线HD的技术中的任何技术。图形子系统1115可集成到处理器1110或芯片集1105中。在一些实现中,图形子系统1115可以是以通信方式耦合到芯片集1105的独立卡。
本文描述的图形和/或视频处理技术可实现在各种硬件架构中。例如,图形和/或视频功能性可集成在芯片集内。备选地,可使用分立图形和/或视频处理器。作为又一实现,图形和/或视频功能可由通用处理器(包含多核处理器)提供。在其它实施例中,功能可在消费电子装置中实现。
无线电1118可包含能够使用各种适合的无线通信技术传送和接收信号的一个或多个无线电。此类技术可涉及在一个或多个无线网络上的通信。示例无线网络包含(但不限于)无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在此类网络上的通信中,无线电1118可按照任何版本的一个或多个可应用标准进行操作。
在各种实现中,显示器1120可包含任何电视型监视器或显示器。显示器820例如可包含计算机显示屏、触摸屏、视频监视器、电视类装置和/或电视。显示器1120可以是数字的和/或模拟的。在各种实现中,显示器1120可以是全息显示器。还有,显示器1120可以是可接收视觉投影的透明表面。此类投影可输送各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动扩增实境(MAR)应用的视觉重叠。在一个或多个软件应用1116的控制下,平台1102可在显示器1120上显示用户界面1122。
在各种实现中,内容服务装置1130可由任何国家、国际和/或独立服务托管,并且从而例如可经由因特网访问平台1102。内容服务装置1130可耦合到平台1102和/或显示器1120。平台1102和/或内容服务装置1130可耦合到网络1160以向网络1160和从网络860传递(例如发送和/或接收)媒体信息。内容递送装置1140还可耦合到平台1102和/或显示器1120。
在各种实现中,内容服务装置1130可包含有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的因特网使能装置或电器以及能够在内容提供商与平台1102和/或显示器1120之间经由网络1160或直接单向或双向传递内容的任何其它类似装置。将认识到,可经由网络1160向和从系统1100中的任一组件和内容提供商单向和/或双向传递内容。内容的示例可包含任何媒体信息,例如包含视频、音乐、医疗和游戏信息等等。
内容服务装置1130可接收诸如有线电视节目编排的内容,包含媒体信息、数字信息和/或其它内容。内容提供商的示例可包含任何有线电视或卫星电视或者无线电或因特网内容提供商。所提供的示例不打算以任何方式限制根据本公开的实现。
在各种实现中,平台1102可从具有一个或多个导航特征的导航控制器1150接收控制信号。控制器1150的导航特征例如可用于与用户接口1122交互。在实施例中,导航控制器1150可以是定点装置,定点装置可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(特别是人工接口装置)。许多系统诸如图形用户界面(GUI)以及电视和监视器允许用户使用身体姿势控制和提供数据给计算机或电视。
移动控制器1150的导航特征可通过移动指针、光标、焦圈或显示在显示器上的其它视觉指示符来在显示器(例如显示器1120)上复制。例如,在软件应用1116的控制下,位于导航控制器1150上的导航特征例如可被映射到在用户接口1122上显示的虚拟导航特征。在实施例中,控制器1150可以不是单独组件,而是可集成到平台1102和/或显示器1120中。然而,本公开不限于本文示出或描述的元件或上下文。
在各种实现中,驱动器(未示出)可包含在初始引导后(例如当启用时)使用户能够通过触摸按钮而立即打开和关闭平台1102(如电视)的技术。平台逻辑可允许平台1102向媒体适配器或其它内容服务装置1130或内容递送装置1140流播内容,甚至当平台“关闭”时。此外,芯片集1105例如可包含对于7.1环绕声音频和/或高清(7.1)环绕声音频的硬件和/或软件支持。驱动器可包含用于集成图形平台的图形驱动器。在实施例中,图形驱动器可包括外围组件互连(PCI)快速图形卡。
在各种实现中,可集成系统1100中示出的组件中的任何一个或多个。例如,平台1102和内容服务装置1130可被集成,或者平台1102和内容递送装置1140可被集成,或者例如平台1102、内容服务装置1130和内容递送装置1140可被集成。在各种实施例中,平台1102和显示器1120可以是集成单元。例如,显示器1120和内容服务装置1130可被集成,或者显示器1120和内容递送装置1140可被集成。这些示例不打算限制本公开。
在各种实施例中,系统1100可被实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统1100可包含适合于通过无线共享介质(诸如一个或多个天线、传送器、接收器、收发器、放大器、滤波器、控制逻辑等)通信的组件和接口。无线共享介质的示例可包含无线频谱部分,诸如RF频谱等。当实现为有线系统时,系统1100可包含适合于通过有线通信介质(诸如输入/输出(I/O)适配器、连接I/O适配器与对应有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等)通信的组件和接口。有线通信介质的示例可包含有线、电缆、金属引线、印刷电路板(PCB)、底板、开关构造、半导体材料、双绞线、同轴电缆、光纤等等。
平台1102可建立一个或多个逻辑或物理信道以传递信息。信息可包含媒体信息和控制信息。媒体信息可指的是表示送往用户的内容的任何数据。内容的示例例如可包含来自语音转换、视频会议、流播视频、电子邮件(email)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据例如可以是言语信息、沉默周期、背景噪声、舒适噪声、音调等等。控制信息可指的是表示送往自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或指令节点按预定方式处理媒体信息。然而,实施例不限于在图11中示出或描述的元件或上下文。
如上所述,系统1100可按变化的物理样式或形状因子实施。图12图示了可实施系统1100的小形状因子装置1200的实现。在实施例中,例如,装置1100可实现为具有无线能力的移动计算装置。移动计算装置例如可指的是具有处理系统和移动电源或电力供应(诸如一个或多个电池)的任何装置。
如上所述,移动计算装置的示例可包含个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等。
移动计算装置的示例还可包含布置成由人穿戴的计算机,诸如腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂带计算机、鞋计算机、衣服计算机以及其它可穿戴计算机。在各种实施例中,例如,移动计算装置可实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管一些实施例可作为示例用实现为智能电话的移动计算装置进行描述,但可认识到,其它实施例也可使用其它无线移动计算装置实现。实施例不限于此上下文。
如图12中所示,装置1200可包含外壳1202、显示器1204、输入/输出(I/O)装置1206和天线1208。装置1200还可包含导航特征1212。显示器1204可包含用于显示对于移动计算装置适当的信息的任何适合显示单元。I/O装置1206可包含用于将信息输入到移动计算装置中的任何适合的I/O装置。I/O装置1206的示例可包含字母数字键盘、数字键区、触摸盘、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别装置和软件等等。
信息还可通过麦克风(未示出)输入到装置1200中。此类信息可通过语音识别装置(未示出)数字化。实施例不限于此上下文。
各种实施例可使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可包含处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑装置(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等等。软件的示例可包含软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件界面、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任何组合。确定是否使用硬件元件和/或软件元件来实现实施例可根据许多因素变化,诸如期望的计算速率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储资源、数据总线速度以及其它设计或性能约束。
至少一个实施例的一个或多个方面可由存储在表示处理器内各种逻辑的机器可读介质上的代表性指令实现,这些指令当由机器读取时使机器制造执行本文描述的技术的逻辑。称为“IP核”的此类表示可存储在有形机器可读介质上,并提供给各种消费者或制造设施,以加载到实际上制定逻辑或处理器的制作机器中。
虽然已经参考各种实现描述了本文阐述的某些特征,但此描述不打算视为限制意义。因此,对本公开涉及的领域的技术人员显然的本文描述的实现的各种修改以及其它实现被认为位于本公开的精神和范围内。
如下示例涉及附加实施例。
在一个示例中,用于提供图形再现中的压缩的计算机实现的方法可包含:确定与像素瓦片的各个像素关联的多个颜色值;生成所述多个颜色值的子集,使得所述多个颜色值的所述子集包含来自所述多个颜色值的一个或多个不同的颜色值;将索引值与所述多个颜色值的所述子集中的每个颜色值关联;对于所述各个像素中的每个像素,确定关联的像素索引值以生成与所述像素瓦片的所述各个像素关联的多个像素索引值;在存储器中存储包含所述多个颜色值的所述子集的图形数据、所述关联的索引值和所述多个像素索引值。
在用于提供图形再现中的压缩的计算机实现的方法的其它示例中,可再现像素瓦片。再现像素瓦片可包含光栅化,包含应用可见度函数或着色函数中的至少一个。再现像素瓦片可包含应用超采样抗混叠技术、多采样抗混叠技术或低频像素着色技术中的至少一项。在存储图形数据之前,可压缩多个颜色值的子集或多个像素索引值中的至少一项。压缩多个像素索引值可包含多个索引值的delta编码。在存储器中可存储与子集中的值的数量关联的子集数量值。可确定用于与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据的位数。可确定位预算。用于与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据的位数可与位预算相比较。如果用于与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据的位数小于或等于位预算,则可在存储器中存储与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据。如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数大于所述位预算,则在存储器中存储包含与所述像素瓦片的所述各个像素关联的所述多个颜色值的第二图形数据。位预算可以是多个可用位预算之一。可访问子集数量值和图形数据。可基于图形数据确定多个颜色值的子集,使得确定多个值的子集可包含读取图形数据的一部分或解压缩图形数据的所述部分中的至少一项。可确定与多个颜色值的子集中的每个颜色值关联的索引值。可基于图形数据确定多个像素索引值,使得确定多个像素索引值可包含读取图形数据的第二部分或解压缩图形数据的第二部分中的至少一项。可基于多个颜色值的子集、与多个值的子集中的每个颜色值关联的索引值和多个像素索引值,确定与像素瓦片的各个像素关联的多个颜色值。确定多个颜色值可包含访问与像素瓦片关联的第一图形数据,使得第一图形数据可包含多个颜色值,并且使得访问与瓦片关联的第一图形数据可包含在高速缓存驱逐时访问与瓦片关联的第一图形数据。生成多个颜色值的子集、将索引值与多个颜色值的子集中的每个值关联以及对于各个像素中的每个像素确定关联的像素索引值可包含将多个值的子集中的值的数量设置成0,并且对于各个像素中的每个像素,确定与当前像素值关联的颜色值是否在子集中。如果与当前像素值关联的颜色值在所述子集中,则可将与值关联的索引值与当前像素关联。如果与当前像素值关联的颜色值不在子集中,则可将该值添加到子集,索引值可与添加的颜色值关联,并且与添加的颜色值关联的索引值可与当前像素关联。多个颜色值可包含低频像素着色颜色值或多采样抗混叠颜色平面值中的至少一项。像素瓦片可以是8像素宽×4像素高。
在另一示例中,用于计算机上图形再现中的压缩的系统可包含图形缓冲器、图形处理单元和显示装置。图形处理单元可包含图形编解码器模块。图形处理单元可以通信方式耦合到图形缓冲器,并且图形编解码器模块可配置成:确定与像素瓦片的各个像素关联的多个颜色值;生成多个颜色值的子集,使得所述多个颜色值的子集包括来自多个值的一个或多个不同的颜色值;将索引值与所述多个颜色值的所述子集中的每个颜色值关联;对于所述各个像素中的每个像素,确定关联的像素索引值以生成与所述像素瓦片的所述各个像素关联的多个像素索引值;以及在图形缓冲器中存储包含多个颜色值的子集的图形数据、关联的索引值和多个像素索引值。显示装置可配置成至少部分基于图形数据显示输出图像数据。
在用于提供计算机上图形再现中的压缩的系统的其它示例中,图形编解码器模块可还配置成再现像素瓦片,使得再现像素瓦片可包含光栅化,包含应用可见度函数或着色函数中的至少一项,并且使得再现像素瓦片可包含应用超采样抗混叠技术、多采样抗混叠技术或低频着色技术中的至少一项。将多个颜色值的子集中的值的数量设置成0;在存储图形数据之前压缩多个颜色值的子集或多个索引值中的至少一项,其中压缩多个索引值包括应用多个索引值的delta编码,在存储器中存储与子集中的颜色值的数量关联的子集数量值;确定用于与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据的位数;确定位预算;将用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数与位预算相比较;以及如果用于与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据的位数小于位预算,则在存储器中存储与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据,并且如果用于与多个颜色值的子集、关联的索引值和多个像素索引值关联的图形数据的位数大于位预算,则在存储器中存储包括与像素瓦片的各个像素关联的多个颜色值的第二图形数据,使得位预算包括多个可用位预算之一;访问子集数量值和图形数据;至少部分基于图形数据确定多个值的子集,使得确定多个颜色值的子集包含读取图形数据的一部分或解压缩图形数据的部分中的至少一项;至少部分基于多个颜色值的子集、与多个值的子集中的每个颜色值关联的索引值和多个像素索引值,确定与像素瓦片的各个像素关联的多个颜色值。图形数据编解码器模块可配置成通过确定与像素瓦片关联的第一图形数据来确定多个颜色值,使得第一图形数据可包含多个颜色值,并且使得访问与瓦片关联的第一图形数据包括在高速缓存驱逐时访问与瓦片关联的第一图形数据。图形数据编解码器模块可配置成:生成多个颜色值的子集,将索引值与多个值的子集中的每个值关联;以及对于各个像素中的每个像素,通过确定与当前像素值关联的颜色值是否在子集中来确定关联的像素索引值,并且如果与当前像素值关联的颜色值在子集中,则图形数据编解码器模块可还配置成将与颜色值关联的索引值与当前像素关联;以及如果与当前像素值关联的颜色值不在子集中,则图形数据压缩编解码器可还配置成:将颜色值添加到子集;将索引值与添加的颜色值关联;以及将与所述添加的颜色值关联的所述索引值与所述当前像素关联。多个颜色值可包含低频像素着色颜色值或多采样抗混叠颜色平面值中的至少一项。像素瓦片可以是8像素宽×4像素高。
在另一示例中,至少一个机器可读介质可包含多个指令,所述指令响应于在计算装置上的执行而使所述计算装置执行根据以上示例中任一示例的方法。
在又一示例中,设备可包含用于执行根据以上示例中任一示例的方法的部件。
以上示例可包含特征的特定组合。然而,此类以上示例不限于这方面,并且在各种实现中,以上示例可包含仅采取此类特征的子集、采取此类特征的不同次序、采取此类特征的不同组合和/或采取不同于明确列出的那些特征的附加特征。例如,相对于示例方法描述的所有特征都可相对于示例设备、示例系统和/或示例制品实现,并且反之亦然。
Claims (20)
1.一种用于提供图形再现中的压缩的计算机实现的方法,包括:
确定与像素瓦片的各个像素关联的多个颜色值;
生成所述多个颜色值的子集,其中所述多个颜色值的所述子集包括来自所述多个颜色值的一个或多个不同的颜色值;
将索引值与所述多个颜色值的所述子集中的每个颜色值关联;
对于所述各个像素中的每个像素,确定关联的像素索引值以生成与所述像素瓦片的所述各个像素关联的多个像素索引值;以及
在存储器中存储包括所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值的图形数据。
2.如权利要求1所述的方法,其中所述多个颜色值包括低频像素着色颜色值或多采样抗混叠颜色平面值中的至少一项。
3.如权利要求1所述的方法,其中确定所述多个颜色值包括访问与所述像素瓦片关联的第一图形数据,其中所述第一图形数据包括所述多个颜色值,并且其中访问与所述瓦片关联的所述第一图形数据包括在高速缓存驱逐时访问与所述瓦片关联的所述第一图形数据。
4.如权利要求1所述的方法,还包括:
在存储器中存储与所述子集中的颜色值的数量关联的子集数量值;
访问所述子集数量值和所述图形数据;
至少部分基于所述图形数据确定所述多个颜色值的所述子集,其中确定所述多个颜色值的所述子集包括读取所述图形数据的一部分;
确定与所述多个颜色值的所述子集中的每个颜色值关联的所述索引值;
至少部分基于所述图形数据确定所述多个像素索引值,其中确定所述多个像素索引值包括读取所述图形数据的第二部分;
至少部分基于所述多个颜色值的所述子集、与所述多个颜色值的所述子集中的每个颜色值关联的所述索引值以及所述多个像素索引值,确定与所述像素瓦片的各个像素关联的所述多个颜色值。
5.如权利要求1所述的方法,其中生成所述多个颜色值的所述子集、将所述索引值与所述多个颜色值的所述子集中的每个颜色值关联,以及对于所述各个像素中的每个像素确定所述关联的像素索引值包括将所述多个值的所述子集中的值的数量设置成0,并且对于所述各个像素中的每个像素,确定与当前像素值关联的所述颜色值是否在所述子集中;并且
如果与所述当前像素值关联的所述颜色值在所述子集中,则将与所述值关联的所述索引值与所述当前像素关联;以及
如果与所述当前像素值关联的所述颜色值不在所述子集中,则:
将所述颜色值添加到所述子集;
将索引值与添加的颜色值关联;以及
将与所述添加的颜色值关联的所述索引值与所述当前像素关联。
6.如权利要求1所述的方法,还包括:
在存储所述图形数据之前,压缩所述多个颜色值的所述子集。
7.如权利要求1所述的方法,还包括:
在存储所述图形数据之前,压缩所述多个像素索引值。
8.如权利要求1所述的方法,还包括:
确定用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数;
将用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数与位预算相比较;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数小于或等于所述位预算,则在存储器中存储与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数大于所述位预算,则在存储器中存储包括与所述像素瓦片的所述各个像素关联的所述多个颜色值的第二图形数据。
9.如权利要求1所述的方法,还包括:
再现所述像素瓦片,其中再现所述像素瓦片包括光栅化,光栅化包括应用可见度函数或着色函数中的至少一项,并且其中再现所述像素瓦片包括应用超采样抗混叠技术、多采样抗混叠技术或低频像素着色技术中的至少一项;
在存储所述图形数据之前,压缩所述多个颜色值的所述子集或所述多个像素索引值中的至少一项,其中压缩所述多个像素索引值包括所述多个索引值的delta编码;
在存储器中存储与所述子集中的颜色值的数量关联的子集数量值;
确定用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数;
确定位预算;
将用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数与位预算相比较;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数小于或等于所述位预算,则在存储器中存储与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数大于所述位预算,则在存储器中存储包括与所述像素瓦片的所述各个像素关联的所述多个颜色值的第二图形数据,其中所述位预算包括多个可用位预算之一;
访问所述子集数量值和所述图形数据;
至少部分基于所述图形数据确定所述多个颜色值的所述子集,其中确定所述多个颜色值的所述子集包括读取所述图形数据的一部分或解压缩所述图形数据的所述部分中的至少一项;
确定与所述多个颜色值的所述子集中的每个颜色值关联的所述索引值;
至少部分基于所述图形数据确定所述多个像素索引值,其中确定所述多个像素索引值包括读取所述图形数据的第二部分或解压缩所述图形数据的所述第二部分中的至少一项;以及
至少部分基于所述多个颜色值的所述子集、与所述多个值的所述子集中的每个值关联的所述索引值和所述多个像素索引值,确定与所述像素瓦片的各个像素关联的所述多个颜色值,
其中确定所述多个颜色值包括访问与所述像素瓦片关联的第一图形数据,其中所述第一图形数据包括所述多个颜色值,并且其中访问与所述瓦片关联的所述第一图形数据包括在高速缓存驱逐时访问与所述瓦片关联的所述第一图形数据,
其中生成所述多个颜色值的所述子集、将所述索引值与所述多个颜色值的所述子集中的每个颜色值关联,以及对于所述各个像素中的每个像素确定所述关联的像素索引值包括将所述多个值的所述子集中的值的数量设置成0,并且对于所述各个像素中的每个像素,确定与当前像素值关联的所述颜色值是否在所述子集中;并且
如果与所述当前像素值关联的所述颜色值在所述子集中,则将与所述颜色值关联的所述索引值与所述当前像素关联;以及
如果与所述当前像素值关联的所述颜色值不在所述子集中,则:将所述颜色值添加到所述子集;
将索引值与添加的颜色值关联;以及
将与所述添加的颜色值关联的所述索引值与所述当前像素关联;
其中所述多个颜色值包括低频像素着色颜色值或多采样抗混叠颜色平面值中的至少一项,并且
其中所述像素瓦片包括8像素宽×4像素高。
10.一种用于在计算机上提供图形再现中的压缩的系统,包括:
图形缓冲器;
图形处理单元,包括图形数据编解码器模块,其中所述图形处理单元以通信方式耦合到所述图形缓冲器,并且其中所述图形数据压缩模块配置成:
确定与像素瓦片的各个像素关联的多个颜色值;
生成所述多个颜色值的子集,其中所述多个颜色值的所述子集包括来自所述多个颜色值的一个或多个不同的颜色值;
将索引值与所述多个颜色值的所述子集中的每个颜色值关联;
对于所述各个像素中的每个像素,确定关联的像素索引值以生成与所述像素瓦片的所述各个像素关联的多个像素索引值;以及
在所述图形缓冲器中存储包括所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值的图形数据。
11.如权利要求10所述的系统,还包括:
显示装置,配置成至少部分基于所述图形数据显示输出图像数据。
12.如权利要求10所述的系统,其中所述多个颜色值包括低频像素着色颜色值或多采样抗混叠颜色平面值中的至少一项。
13.如权利要求10所述的系统,其中所述图形数据编解码器模块配置成生成所述多个颜色值的所述子集、将所述索引值与所述多个颜色值的所述子集中的每个值关联,以及通过对于所述各个像素中的每个像素,确定与当前像素值关联的所述颜色值是否在所述子集中来对于所述各个像素中的每个像素确定关联的像素索引值;并且
如果与所述当前像素值关联的所述颜色值在所述子集中,则所述图形数据编解码器模块还配置成将与所述颜色值关联的所述索引值与所述当前像素关联;以及
如果与所述当前像素值关联的所述颜色值不在所述子集中,则所述图形数据压缩编解码器还配置成:
将所述颜色值添加到所述子集;
将索引值与添加的颜色值关联;以及
将与所述添加的颜色值关联的所述索引值与所述当前像素关联。
14.如权利要求10所述的系统,其中所述图形数据编解码器模块配置成通过以下步骤来确定所述多个颜色值:确定与所述像素瓦片关联的第一图形数据,其中所述第一图形数据包括所述多个颜色值,并且其中访问与所述瓦片关联的所述第一图形数据包括在高速缓存驱逐时访问与所述瓦片关联的所述第一图形数据。
15.如权利要求10所述的系统,其中所述图形数据编解码器模块还配置成:在存储所述图形数据之前,压缩所述多个颜色值的所述子集。
16.如权利要求10所述的系统,其中所述图形数据编解码器模块还配置成:在存储所述图形数据之前,压缩所述多个索引值。
17.如权利要求10所述的系统,其中所述图形数据编解码器模块还配置成:
确定用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数;
确定位预算;
将用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数与位预算相比较;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数小于或等于所述位预算,则在存储器中存储与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数大于所述位预算,则在存储器中存储包括与所述像素瓦片的所述各个像素关联的所述多个颜色值的第二图形数据。
18.如权利要求10所述的系统,还包括:
显示装置,配置成至少部分基于所述图形数据显示输出图像数据,
其中所述图形数据编解码器模块还配置成:
再现所述像素瓦片,其中再现所述像素瓦片包括光栅化,光栅化包括应用可见度函数或着色函数中的至少一项,并且其中再现所述像素瓦片包括应用超采样抗混叠技术、多采样抗混叠技术或低频像素着色技术中的至少一项;
将所述多个颜色值的所述子集中的值的数量设置成0;
在存储所述图形数据之前,压缩所述多个颜色值的所述子集或所述多个索引值中的至少一项,其中压缩所述多个索引值包括应用所述多个索引值的delta编码;
在存储器中存储与所述子集中的值的数量关联的子集数量值;
确定用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数;
确定位预算;
将用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的位数与位预算相比较;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数小于或等于所述位预算,则在存储器中存储与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据;以及
如果用于与所述多个颜色值的所述子集、所述关联的索引值和所述多个像素索引值关联的所述图形数据的所述位数大于所述位预算,则在存储器中存储包括与所述像素瓦片的所述各个像素关联的所述多个颜色值的第二图形数据,其中所述位预算包括多个可用位预算之一;
访问所述子集数量值和所述图形数据;
至少部分基于所述图形数据确定所述多个颜色值的所述子集,其中确定所述多个颜色值的所述子集包括读取所述图形数据的一部分或解压缩所述图形数据的所述部分中的至少一项;
确定与所述多个颜色值的所述子集中的每个值关联的所述索引值;
至少部分基于所述图形数据确定所述多个像素索引值,其中确定所述多个像素索引值包括读取所述图形数据的第二部分或解压缩所述图形数据的所述第二部分中的至少一项;以及
至少部分基于所述多个颜色值的所述子集、与所述多个值的所述子集中的每个值关联的所述索引值和所述多个像素索引值,确定与所述像素瓦片的各个像素关联的所述多个颜色值,
其中所述图形数据编解码器模块配置成通过以下步骤确定所述多个值:确定与所述像素瓦片关联的第一图形数据,其中所述第一图形数据包括所述多个颜色值,并且其中访问与所述瓦片关联的所述第一图形数据包括在高速缓存驱逐时访问与所述瓦片关联的所述第一图形数据,
其中所述图形数据编解码器模块配置成生成所述多个颜色值的所述子集、将所述索引值与所述多个颜色值的所述子集中的每个颜色值关联,以及通过对于所述各个像素中的每个像素,确定与当前像素值关联的所述颜色值是否在所述子集中来对于所述各个像素中的每个像素确定关联的像素索引值;并且
如果与所述当前像素值关联的所述颜色值在所述子集中,则所述图形数据编解码器模块还配置成将与所述颜色值关联的所述索引值与所述当前像素关联;以及
如果与所述当前像素值关联的所述颜色值不在所述子集中,则所述图形数据压缩编解码器还配置成:
将所述颜色值添加到所述子集;
将索引值与添加的颜色值关联;以及
将与所述添加的颜色值关联的所述索引值与所述当前像素关联,
其中所述多个颜色值包括低频像素着色颜色值或多采样抗混叠颜色平面值中的至少一项,并且
其中所述像素瓦片包括8像素宽×4像素高。
19.至少一个机器可读介质,包括:
多个指令,所述指令响应于在计算装置上执行而使所述计算装置执行如权利要求1-9中任一项所述的方法。
20.一种用于提供图形再现中的压缩的设备,包括:
用于执行如权利要求1-9中任一项所述的方法的部件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/922404 | 2013-06-20 | ||
US13/922,404 US9466090B2 (en) | 2013-06-20 | 2013-06-20 | Subset based compression and decompression of graphics data |
PCT/US2014/041622 WO2014204703A1 (en) | 2013-06-20 | 2014-06-10 | Subset based compression and decompression of graphics data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105229695A CN105229695A (zh) | 2016-01-06 |
CN105229695B true CN105229695B (zh) | 2021-06-25 |
Family
ID=52105117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480029296.8A Active CN105229695B (zh) | 2013-06-20 | 2014-06-10 | 图形数据的基于子集的压缩和解压缩 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9466090B2 (zh) |
CN (1) | CN105229695B (zh) |
WO (1) | WO2014204703A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9466090B2 (en) | 2013-06-20 | 2016-10-11 | Intel Corporation | Subset based compression and decompression of graphics data |
KR102535825B1 (ko) * | 2015-06-03 | 2023-05-23 | 삼성전자주식회사 | 시스템 온 칩 및 시스템 온 칩의 동작 방법 |
WO2016192053A1 (zh) * | 2015-06-03 | 2016-12-08 | 富士通株式会社 | 拷贝信息的编码方法、装置以及图像处理设备 |
US10453169B2 (en) * | 2016-03-28 | 2019-10-22 | Intel Corporation | Method and apparatus for multi format lossless compression |
US10387991B2 (en) | 2016-07-01 | 2019-08-20 | Intel Corporation | Method and apparatus for frame buffer compression |
US10460418B2 (en) * | 2017-02-10 | 2019-10-29 | Microsoft Technology Licensing, Llc | Buffer index format and compression |
US9912957B1 (en) | 2017-04-01 | 2018-03-06 | Intel Corporation | Lossless compression for multisample render targets alongside fragment compression |
US10134115B2 (en) | 2017-04-17 | 2018-11-20 | Intel Corporation | Progressive multisample anti-aliasing |
US10325341B2 (en) | 2017-04-21 | 2019-06-18 | Intel Corporation | Handling pipeline submissions across many compute units |
US11176908B1 (en) * | 2020-07-22 | 2021-11-16 | Hung-Cheng Kuo | Method for reducing a size of data required for recording a physical characteristic of an optical device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904943A (zh) * | 2006-08-03 | 2007-01-31 | 上海交通大学 | 一种数字图像数据编码方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659631A (en) | 1995-02-21 | 1997-08-19 | Ricoh Company, Ltd. | Data compression for indexed color image data |
US5682152A (en) | 1996-03-19 | 1997-10-28 | Johnson-Grace Company | Data compression using adaptive bit allocation and hybrid lossless entropy encoding |
US6078619A (en) * | 1996-09-12 | 2000-06-20 | University Of Bath | Object-oriented video system |
US5883633A (en) * | 1997-04-15 | 1999-03-16 | Microsoft Corporation | Method and system of variable run length image encoding using sub-palette |
JP2001507823A (ja) | 1997-10-28 | 2001-06-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像の圧縮及び復元 |
US6535633B1 (en) | 1999-09-24 | 2003-03-18 | Bank One | Method and apparatus for re-classifying color image pixels classified by single channel segmentation |
US6377702B1 (en) | 1999-12-08 | 2002-04-23 | Sony Corporation | Color cast detection and removal in digital images |
JP2001298652A (ja) | 2000-04-17 | 2001-10-26 | Sony Corp | 画像圧縮方法及び画像圧縮装置、並びにソフトウェア記憶媒体 |
US8111928B2 (en) * | 2003-02-13 | 2012-02-07 | Ati Technologies Ulc | Method and apparatus for compression of multi-sampled anti-aliasing color data |
JP2008510357A (ja) | 2004-08-13 | 2008-04-03 | インダストリー・アカデミック・コーオペレーション・ファウンデーション・キョンヒ・ユニヴァーシティ | 画像のエンコーディング方法、エンコーディング装置、画像のデコーディング方法及びデコーディング装置 |
US7126615B2 (en) | 2004-11-12 | 2006-10-24 | Via Technologies, Inc. | Color compression using multiple planes in a multi-sample anti-aliasing scheme |
JP4952657B2 (ja) | 2007-07-19 | 2012-06-13 | 株式会社Jvcケンウッド | 擬似立体画像生成装置、画像符号化装置、画像符号化方法、画像伝送方法、画像復号化装置及び画像復号化方法 |
US8165204B2 (en) * | 2008-02-29 | 2012-04-24 | Michael Bronstein | Resource allocation for frame-based controller |
WO2009124248A1 (en) | 2008-04-04 | 2009-10-08 | Advanced Micro Devices, Inc. | Filtering method and apparatus for anti-aliasing |
US9124874B2 (en) | 2009-06-05 | 2015-09-01 | Qualcomm Incorporated | Encoding of three-dimensional conversion information with two-dimensional video sequence |
US9406149B2 (en) | 2009-10-07 | 2016-08-02 | Nvidia Corporation | Selecting and representing multiple compression methods |
CN101789129A (zh) * | 2010-01-26 | 2010-07-28 | 深圳市五巨科技有限公司 | 快速显示压缩格式图片对称变化后的图片的方法和装置 |
CN102289829A (zh) * | 2011-07-12 | 2011-12-21 | 北京朗玛数联科技有限公司 | 图像存储、还原的方法、装置及图像处理系统 |
US9466090B2 (en) | 2013-06-20 | 2016-10-11 | Intel Corporation | Subset based compression and decompression of graphics data |
-
2013
- 2013-06-20 US US13/922,404 patent/US9466090B2/en active Active
-
2014
- 2014-06-10 WO PCT/US2014/041622 patent/WO2014204703A1/en active Application Filing
- 2014-06-10 CN CN201480029296.8A patent/CN105229695B/zh active Active
-
2016
- 2016-08-31 US US15/253,580 patent/US10621691B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904943A (zh) * | 2006-08-03 | 2007-01-31 | 上海交通大学 | 一种数字图像数据编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105229695A (zh) | 2016-01-06 |
US10621691B2 (en) | 2020-04-14 |
US20140375665A1 (en) | 2014-12-25 |
US20180005350A1 (en) | 2018-01-04 |
WO2014204703A1 (en) | 2014-12-24 |
US9466090B2 (en) | 2016-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229695B (zh) | 图形数据的基于子集的压缩和解压缩 | |
US9754345B2 (en) | Compression and decompression of graphics data using pixel region bit values | |
US20130268569A1 (en) | Selecting a tile size for the compression of depth and/or color data | |
CN110072033B (zh) | 使用选择性色彩变换的色彩压缩 | |
US9251731B2 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
JP6182225B2 (ja) | カラーバッファ圧縮 | |
US20140168244A1 (en) | Color Buffer Caching | |
US10373288B2 (en) | Transpose of image data between a linear and a Y-tiled storage format | |
US10186236B2 (en) | Universal codec | |
US9245324B2 (en) | Lossy color merge for multi-sampling anti-aliasing compression | |
US20150062139A1 (en) | Lossy color compression using adaptive quantization | |
US9501864B2 (en) | Adaptive depth offset compression | |
US9615104B2 (en) | Spatial variant dependency pattern method for GPU based intra prediction in HEVC | |
US10846142B2 (en) | Graphics processor workload acceleration using a command template for batch usage scenarios |
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 |