图形数据的基于子集的压缩和解压缩的制作方法

文档序号:9476287阅读:321来源:国知局
图形数据的基于子集的压缩和解压缩的制作方法
【专利说明】图形数据的基于子集的压缩和解压缩
【背景技术】
[0001] 一般而言,图形再现可使用广泛的计算机实现的技术根据模型数据生成图像。在 一些图形再现实现中,可通过对不同函数(诸如例如可见度函数(例如确定同一点是否在 =角形内部的函数)和/或着色函数(例如确定在某一样本点的颜色的函数)等)采样来 使用光栅化再现图像。一般而言,用于可见度函数的样本可被称为可见度样本,并且用于着 色函数的样本可被称为着色样本。
[0002] 在一些实现中,诸如例如超采样抗混叠(SSAA)应用,每个像素的可见度样本的数 量可匹配每个像素的着色样本的数量。在其它实现中,诸如例如多采样抗混叠解决方案 (MSAA)应用,可能存在单个着色样本每像素和多个可见度样本每像素。在任一情况下,多个 样本可改进图像或视频质量,诸如例如减少图像中的银齿边效应和视频中的蠕动效应等。
[0003] -般而言,使用SSAA或MSAA或其它图形技术可能需要颜色缓冲器带宽增大或者 其它缓冲器中的带宽增大。此类带宽增大可降低系统性能,诸如引起更多高速缓存线事务、 增大存储器使用、增大功率使用等。因此,压缩图形数据可能是有利的。
【附图说明】
[0004] 本文描述的资料作为示例而非限制在附图中图示。为了图示的简洁和清晰起见, 在附图中图示的元件不一定按比例绘制。例如,为了清晰起见,一些元件的尺寸相对于其它 元件可能放大。另外,在适当的地方,附图标记在各图之间已经被重复W指示对应或类似元 件。附图中: 图1是具有关联值的像素的示例瓦片的示意图; 图2是具有关联值的像素的示例瓦片的示意图; 图3是示例编索引的子集的示意图; 图4是具像素索引值的像素的示例瓦片的示意图; 图5是示例压缩图形数据的示意图; 图6是图示示例过程的流程图; 图7是图示示例过程的流程图; 图8是图示示例过程的流程图; 图9是用于提供图形再现中的压缩和/或解压缩的示例系统和过程的示意图; 图10是用于提供图形再现的压缩和/或解压缩的示例系统的示意图; 图11是不例系统的不意图; 图12图示了全部按照本公开的至少一些实现布置的示例装置。
【具体实施方式】
[0005] 现在参考所附的附图描述一个或多个实施例或实现。虽然讨论了特定配置和布 置,但应该理解,运只是用于说明性目的。相关领域技术人员将认识到,在不脱离本公开的 精神和范围的情况下可采用其它配置和布置。相关领域技术人员将明白,本文描述的技术 和/或布置还可用在不同于本文所描述的各种其它系统和应用中。
[0006] 虽然如下描述阐述了可在例如诸如片上系统(SoC)架构的架构中表明的各种实 现,但本文描述的技术和/或布置的实现不限于具体架构和/或计算系统,而是可为了类似 目的由任何架构和/或计算系统实现。比如,例如采用多个集成电路(1C)忍片和/或封装 和/或各种计算装置和/或消费电子(C巧装置(诸如机顶盒、智能电话等)的各种架构可 实现本文描述的技术和/或布置。另外,虽然W下描述可阐述众多特定细节,诸如系统组件 的逻辑实现、类型和相互关系、逻辑分割/集成选择等,但是可在没有此类特定细节的情况 下实行所要求权利的主题。在其它实例中,一些资料(诸如例如控制结构和全软件指令序 列)可能未详细示出,W免使本文公开的资料模糊不清。
[0007] 本文公开的资料可用硬件、固件、软件或它们的任何组合来实现。本文公开的资料 还可实现为存储在机器可读介质上的指令,所述指令可由一个或多个处理器读取和执行。 机器可读介质可包含用于存储和传送由机器(例如计算装置)可读形式的信息的任何介质 和/或机制。例如,机器可读介质可包含只读存储器(ROM);随机存取存储器(RAM);磁盘存 储介质;光存储介质;闪存装置;电、光、声或其它形式传播信号(例如载波、红外信号、数字 信号等)W及其它介质。
[0008] 在说明书中提到"一个实现"、"实现"、"示例实现"等指示所描述的实现可包含具 体特征、结构或特性,但每一个实施例可能不一定都包含该具体特征、结构或特性。而且,此 类短语不一定是指同一实现。另外,当结合一个实施例描述具体特征、结构或特性时,认为 结合不管本文是否明确描述的其它实现来实现此类特征、结构或特性在本领域技术人员的 知识范围内。
[0009] 下面描述了与图形再现相关的系统、设备、制品和方法,包含用于通过使用编索引 的子集来压缩和/或解压缩图形数据的技术。
[0010] 如上所述,可能有利的是压缩(和解压缩)图形数据,诸如再现的图形数据。如将 在下面更详细描述的,在一些示例中,图形再现和压缩技术可在瓦片上操作。一般而言,瓦 片可包含任何数量的各个像素,诸如矩形区域的WXH像素,其中W是瓦片的宽度,并且H是 像素中瓦片的高度。例如,瓦片可包含具有32个像素的8X4像素区域。在一些示例中,可 对于各个像素确定诸如颜色值的值,使得每个像素具有一个值。运些值可W任何方式确定, 并且可包含任何适合的信息。例如,运些值可包含颜色值、低频着色颜色值、表面法线值、多 采样抗混叠颜色平面值等。可生成值的子集,使得子集包含来自像素值的不同的值。例如, 子集可包含一个或多个值(例如,如果对于所有像素,值都相同,则子集可包含一个值)。值 的子集可被编索引,使得索引值可与子集中的每个值关联。对于各个像素中的每个像素,可 确定关联的像素索引值。例如,对于各个像素值,可向各个像素指配匹配各个像素值的与子 集中不同的值关联的索引值。用运种方式,各个像素可被索引到值的子集。
[0011] 另外,如在下面更详细讨论的,一般而言,所讨论的压缩技术的目的可W是实现位 预算。例如,存储器带宽可与限制或高速缓存线等关联,其可提供存储器事务的限制(例如 512位等)。如果压缩技术可传送或存储小于或等于限制的数据,则与数据关联的事务的数 量可降低W节能并增加性能。如所讨论的,可索引各个像素的瓦片,并且可生成值的子集 (也被索引)。一般而言,如果像素索引值、索引的值的子集和子集的索引小于期望位预算, 则压缩可能已经成功。在此类示例中,包括值(即,不同的值)子集、与值的子集关联的索 引值和多个像素索引值的图形数据可被存储在存储器中。一般而言,如果位预算不满足,贝u压缩可能已经失败,并且可使用标准技术存储未压缩的各个像素值。如所讨论的,压缩像素 瓦片的像素值可节省大量带宽,同时在各种计算机实现中传送或存储图形数据。
[0012] 图1是按照本公开的至少一些实现布置的具有关联值V1-V32的像素120的示例 瓦片110的示意图。如所示,瓦片110可包含多个像素120-1、1-120-4、8。一般而言,瓦片 110可包含任何数量的像素。在一些示例中,瓦片110可W是8像素宽X4像素高(并且因 此可包含32个像素,如所示)。还如所示,各个像素120-1、1-120-4、8可具有或包含关联值 V1-V32。一般而言,值V1-V32可包含任何适合的图形数据或再现数据等。例如,值V1-V32 可包含颜色值、低频着色颜色值、表面法线值、多采样抗混叠颜色平面值等。如所描述的,在 一些示例中,值V1-V32可W是颜色值,诸如低频像素着色颜色值或多采样抗混叠颜色平面 值等。一般而言,任何数量的值V1-V32可W不同。例如,如果所有值V1-V32都相同,则可 能存在单个不同的值。如果所有值V1-V32都不同,则可能存在32个不同的值。一般而言, 如果存在较少不同的值,则本文下面讨论的压缩技术可能更有效。此类示例更有可能发生 在各种再现上下文中,或者使用各种技术,诸如例如当值V1-V32是表面法线值时,使用较 低频着色技术生成值V1-V32时。
[0013] 如所讨论的,在一些实现中,可使用低频着色技术生成值V1-V32。使用低频着色技 术,可W比每像素一次更低的速率计算着色。例如,可对于每1x2像素、每2x1像素、每2x2 像素、每4x2像素、每2x4像素、每4x4像素等生成颜色值。在其它示例中,像素着色可被划 分成两部分,使得着色的一部分可按像素(或按样本)进行,而着色的另一部分可W较低速 率进行,如所描述的,并且结果组合起来。在此类示例中,由于对于大于按像素基础的区域 生成颜色值,因此用于瓦片110的值的一定量的复制将发生。另外,在再现真实对象时,可 W频繁发生:一组像素可具有相同颜色,或者像素的整个瓦片可具有相同颜色。因此,用低 频像素着色,本文讨论的技术可能特别有利,不过所描述的技术不限于此类示例。
[0014] 图2是按照本公开的至少一些实现布置的具有关联值230的像素220的示例瓦片 210的示意图。如所示,在一些示例中,值230可包含颜色值或低频像素着色颜色值等。在 所图示的示例中,为了清楚呈现的目的,使用描述(即"蓝"、"紫"、"白"和"黄")示出了值 230。一般而言,颜色值可包含红绿蓝al地a(RGBA)颜色值、RAGB值的子集(诸如8位红绿 蓝曰1地a(R8G8B8A8))颜色值、伪亮度/强度橘色色度绿色色度al地a灯CoCgA)颜色值等。 另外,尽管相对于颜色值描述,但一般而言,值230可包含任何图形数据或再现值,诸如例 如表面法线值等。在图2的示例中,瓦片210可包含4个不同的值(即"蓝"、"紫"、"白"和 "黄")。如将认识到的,瓦片210可包含从1到32个不同的值。一般而言,可使用任何适合 的图形处理技术或多个技术确定值320。例如,可通过再现瓦片210生成值230。再现可包 含光栅化技术,诸如应用可见度函数或应用着色函数等。在一些示例中,再现可包含应用超 采样抗混叠技术、多采样抗混叠技术或低频像素着色技术等中的至少一项。
[0015] 现在转到图3,图3是按照本公开的至少一些实现布置的包含值320的子集和关联 的索引值330的示例编索引的子集310的示意图。例如,可通过确定值320的子集使得值 320的子集包含值230的不同的值(如图2中所示)并将索引值320与值320的子集的每 个值关联,来生成编索引的子集310。如所讨论的,值320的子集可包含根据值230的不同 值的数量的任何数量的值。类似地,索引值320的数量可匹配值的子集中的值的数量。在 图3的示例中,存在值320的子集中的四个值(即"蓝"、"紫""白"和"黄")化及四个索引 值330 (即"rV' 2 "、" 3 "和"3 ")。在值320的子集包含颜色值的示例中,值320的子集可 被描述为调色板或颜色调色板等。一般而言,值320的子集中的值的数量(W及索引值的 数量)可包含#个值(例如在给定示例中k=2),使得索引值330可W是k位索引值。也就 是,为了索引i个值,索引值必须至少具有k位。例如,为了索引两个值,对于索引值330可 使用单个位(即k=l)。为了索引3个或4个值,可能需要2位(即k=2)。为了索引5到8 个值,可能需要3位(即k=3)。如果要存储单个值,则可能不需要索引位(因为所有值都是 相同的)。在所图示的示例中,值320的子集包含4个值,并且索引值330是2位值。
[0016] 现在转到图4,图4是按照本公开的至少一些实现布置的具有关联像素索引值430 的像素420的示例瓦片410的示意图。例如,可对于各个像素420中的每个像素确定像素 索引值430,使得可用索引值430索引或替换值230(请参考图2),使得索引值430在编索 引的子集310内参考值320的子集(请参考图3)。如将认识到的,在从值230变换到索引 值430和编索引的子集310时,可能已经发生了没有信息损耗的压缩。如上面所讨论的,每 一个像素索引值430的位数可取决于值320的子集中值的数量。在所图示的示例中,索引 值430可包含2位。
[0017] 如上面所讨论的,所讨论的压缩技术的目的可W是实现位预算。例如,如果瓦片 210可使用未压缩格式的位,则期望的位预算B可W是猎;鄉:位。在其它示例中,期望的 位预算B可W是鶴位、觀巧雜化等。在其它示例中,位预算可与系统设计规则或约 束等关联。例如,存储器带宽可与限制或高速缓存线尺寸等关联,其可提供存储器事务的限 制(例如512位等)。另外,在一些示例中,多于一位的预算可能是可用的,使得目的或目标 可满足最低可用位预算。在任何情况下,如果压缩技术可传送或存储小于位预算或限制的 数据,则与数据关联的事务的数量可降
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1