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

文档序号:9476287阅读:来源:国知局
分。在其它示例中,确定像素索引值可包含至少部 分基于图形数据读取和解压缩图形数据的一部分。
[0045] 处理可从操作808继续到操作810 "基于子集值和像素索引值确定像素瓦片的各 个像素的像素值",在此可至少部分基于多个值的子集、与多个值的子集的每个值关联的索 引值和多个像素索引值确定与像素瓦片的各个像素关联的多个值。例如,可基于值320的 子集、索引值330和像素索引值430确定像素220的瓦片210的值230 (请参考图2-4)。
[0046] -般而言,过程800可提供本文所讨论的图形再现中的解压缩。过程800可根据 需要串行或并行重复任何次数。另外,一般而言,过程800可经由硬件、软件、固件或它们的 组合实现,如在本文中进一步讨论的。
[0047] 与过程600、700或800相关的一些附加和/或备选细节可在下面相对于图9更详 细讨论的实现的一个或多个示例中图示。
[0048] 图9是按照本公开的至少一些实现布置的用于提供图形再现中的压缩和/或解 压缩的示例系统100和过程900的示意图。在所图示的实现中,过程900可包含由块901、 902、903、904、905、906、907、908、909和/或910中的一个或多个动作所图示的一个或多个 操作、功能或动作。作为非限制性示例,本文还将参考图10的示例视频译码系统100描述 过程900。
[0049] 在所图示的实现中,系统100可包含逻辑模块910等和/或它们的组合。例如,模 块910可包含存储库920、图形处理单元930 (其可包含图形数据压缩/解压缩("编解码 器")模块935)和图形缓冲器940等和/或它们的组合。在各种示例中,图形数据编解码 器模块935可提供压缩或解压缩或二者。
[0050] 图形数据编解码器模块935例如可配置成:确定与像素瓦片的各个像素关联的多 个值;生成多个值的子集,使得多个颜色值的子集包含来自多个颜色值的一个或多个不同 的值;将索引值与多个值的子集中的每个值关联;对于所述各个像素中的每个像素,确定 关联的像素索引值W生成与所述像素瓦片的所述各个像素关联的多个像素索引值;和/或 在图形缓冲器中存储包含多个值的子集的图形数据、关联的索引值和多个像素索引值。用 运种方式,图形数据编解码器模块935例如可提供图形数据(诸如与像素瓦片的像素关联 的值)的压缩。
[0051] 图形数据编解码器模块935(或图形处理单元930的另一模块)可还配置成:访问 包含多个值的子集、关联的索引值和多个像素索引值的图形数据,如本文所讨论的;基于图 形数据确定多个值的子集;确定与多个值的子集中的每个值关联的索引值;至少部分基于 图形数据确定多个像素索引值;W及基于多个值的子集、与多个值的子集中的每个值关联 的索引值和多个像素索引值,确定与像素瓦片的各个像素关联的多个值。用运种方式,图形 数据编解码器模块935 (或图形处理单元930的另一模块)例如可提供图形数据(诸如与 像素瓦片的像素关联的值)的解压缩。如所讨论的,在一些示例中,图形数据编解码器模块 935可配置成提供压缩和解压缩。在另一示例中,压缩和解压缩可由单独的模块(例如压缩 模块和解压缩模块)提供。
[0052] 过程900可被用作用于提供图形再现中的压缩和/或解压缩的计算机实现的方 法。过程900可开始于块901 "再现到瓦片",在此可再现像素瓦片。瓦片可使用任何适合 的技术再现,并且可生成像素瓦片,如本文所讨论的。再现可基于任何适合的数据,诸如图 像数据、模型、多个模型或模型数据、场景数据、向量数据、栅格数据等。
[0053] 处理可继续从操作901到操作902 "访问图形数据",在此图形数据编解码器模块 935可经由存储库920的图形缓冲器940访问图形数据。图形数据可含有本文所讨论的任 何数据(或者压缩了或者未压缩)。在一些示例中,图形数据可包含像素值,诸如例如像素 值 230。
[0054]处理可从操作902继续到操作903 "确定与各个像素关联的值",在此可确定与像 素瓦片的各个像素关联的多个值。例如,可确定瓦片110的值V1-V32或瓦片210的值230。 如所示,在一些示例中,确定多个值可包含经由图形缓冲器940访问图形数据945。例如,图 形数据945可包含多个值。此类访问图形数据例如可发生在高速缓存驱逐时。
[00巧]处理可从操作903继续到操作904 "生成子集并关联索引值",在此可确定多个值 的子集,包含来自多个值的一个或多个不同的值。例如,如本文所讨论的,可基于值230确 定值320的子集。
[0056]处理可从操作904继续到操作905 "确定像素索引值",在此对于各个像素中的每 个值,可确定关联的像素索引值,W生成与像素瓦片的各个像素关联的多个像素索引值。例 如,可对于各个像素420的每个像素生成像素索引值430。
[0057]处理可从操作905继续到操作906 "压缩值的子集和/或像素索引值",在此在存 储图形数据之前,可压缩多个值的子集或多个像素索引值中的至少一项。
[0058]例如,在存储器中存储之前可压缩多个值的子集。如所讨论的,在一些示例中,运 些值可包含颜色值。在此类示例中,颜色值可压缩如下。如所讨论的,颜色调色板至多可包 含;i耶颜色,诸如例如颜色的总数给出为P。一般而言,在存储之前可使用任何颜色压缩方 案压缩P个颜色。例如,可确定每个颜色成分的最小值,并且颜色成分可存储实际颜色成分 值与最小颜色成分值之间的残差。此类压缩可提供指示对于每个颜色成分的残差需要多少 位的位。在一些示例中,对于红色残差可提供3位,对于绿色残差可提供2位,诸如此类。
[0059]另外,可压缩像素索引值。在一些实现中,许多像素索引值可W是相同的。一般而 言,任何压缩技术或多个技术都可用于压缩像素索引值。例如,像素索引值可被放入队列 中,并且可向队列应用行程长度编码。在其它示例中,如果2x2像素区域(等)中的像素索 引值相同,则可对于2x2区域存储单个索引。
[0060] 处理可从操作906继续到操作907 "确定图形数据中的位数并与位预算比较",在 此可确定用于与多个值的子集、关联的索引值和多个像素索引值关联的图形数据的位数, 并且可确定位预算。例如,可通过从多个值的子集、关联的索引值和多个像素索引值中添加 位成分来确定位数,如本文所讨论的。
[0061] 处理可从操作907继续到操作908 "存储图形数据",在此可存储包括多个值的子 集、关联的索引值和多个像素索引值的图形数据。例如,图形数据可存储在存储器中。例如, 可存储值320的子集、索引值330和像素索引值430。在一些示例中,图形数据可包含图形 数据500。
[0062]一般而言,操作901-908可提供图形数据压缩。当将图形数据存储到图形缓冲器 940中时,在图形缓冲器940的高速缓存驱逐时,诸如此类,此类压缩可发生。
[0063]列举如下,操作909-912可提供图形数据解压缩。例如,处理可从操作908继续到 操作909 "访问图形数据",在此可访问图形数据。例如,图形数据可包含多个值的子集、关 联的索引值和多个像素索引值。例如,图形数据可经由存储器访问,并且可包含值320的子 集、索引值330和像素索引值430,如本文所讨论的。在一些示例中,图形数据可包含图形数 据 500。
[0064]处理可从操作909继续到操作910 "解压缩值的子集和/或像素索引值",在此可 解压缩值的子集或像素索引值或二者。例如,图形数据可包含用于值的子集的一部分数据 (其可被解压缩W生成值320的子集)和/或用于像素索引值的另一部分数据(其可被解 压缩W生成像素索引值430)。一般而言,在既不压缩值的子集也不压缩像素索引值的实现 中可跳过操作910。在此类实现中,处理可从操作909继续到操作911。
[0065]在任一情况下,处理可继续操作911 "确定值的子集、关联的索引值和像素索引 值",在此可确定多个值的子集、与多个值的子集的每个值关联的索引值和多个像素索引 值。例如,可确定值320的子集。一般而言,可使用任何适合的技术或多个技术确定多个值 的子集。如所讨论的,在各种示例中,多个值的子集可W压缩形式或W未压缩形式存储在存 储器中,作为图形数据诸如图形数据500的一部分。在一些示例中,确定多个值的子集可包 含从图形缓冲器940中读取图形数据的一部分。在其它示例中,确定多个值的子集可包含 读取并解压缩图形数据的一部分。类似地,可确定索引值330。在一些示例中,可从图形缓 冲器940中读取索引值,作为图形数据945的一部分。类似地,可确定多个像素索引值。如 所讨论的,在各种示例中,像素索引值可W压缩形式或未压缩形式存储。在一些示例中,确 定像素索引值可包含从图形缓冲器940中读取图形数据945的一部分。在其它示例中,确 定像素索引值可包含读取和解压缩图形数据945的一部分。
[0066]处理可从操作911继续到操作912 "确定像素值",在此可至少部分基于多个值的 子集、与多个值的子集的每个值关联的索引值和多个像素索引值确定与像素瓦片的各个像 素关联的多个值。例如,可基于值320的子集、索引值330和像素索引值430确定像素220 的瓦片210的值230 (请参考图2-4)。
[0067]-般而言,操作909-912可提供图形数据解压缩。此类解压缩可发生在使用或预 备使用图形数据945时。例如,此类解压缩图形数据可用于再现瓦片,显示图像等。
[0068]一般而言,过程900可根据需要串行或并行重复任何次数。另外,一般而言,图形 数据编解码器模块935可经由硬件、软件和/或固件实现。如所示,在一些实现中,可经由 图形处理单元930实现图形数据编解码器模块935。在其它实现中,图形数据编解码器模块 935可经由借助一个或多个处理单元实现的软件实现。一般而言,例如,可启用图形数据编 解码器模块935和/或本文讨论的操作,或者在系统级或用户级启用。
[0069]虽然本文讨论的示例过程600、700、800、900的实现可包含承担按所图示的次序 示出的所有块,但本公开不限于运方面,并且在各种示例中,本文讨论的过程的实现可包含 仅承担所示出的块的子集和/或按不同于所图示的次序的次序。
[0070]此外,可响应于由一个或多个计算机程序产品提供的指令而承担本文讨论的任一 个或多个块或操作(诸如相对于图1-9图示和讨论的操作)。此类程序产品可包含提供指 令的信号承载介质,所述指令例如当由处理器执行时可提供本文描述的功能性。计算机程 序产品可W任何形式的计算机可读介质提供。从而,例如,包含一个或多个处理器核的处理 器可承担本文讨论的一个或多个块或操作。
[0071]如在本文中描述的任何实现中所使用的术语"模块"是指配置成提供本文描述的 功能性的软件、固件和/或硬件的任何组合。软件可实施为软件包、代码和/或指令集或指 令,并且在本文描述的任何实现中所使用的"硬件"例如可包含单个或任何组合的硬连线电 路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可共同或个 别地实施为形成部分更大系统(例如集成电路(1C)、片上系统(SoC)等)的电路。
[0072] 图10是按照本公开的至少一些实现布置的用于提供图形再现中的压缩的示例系 统100的示意图。在所图示的实现中,系统100可包含一个或多个中央处理单元1006、一个 或多个存储库920、一个或多个图形处理单元930、图形缓冲器940和/或显示装置1070。 中央处理单元1006、存储库920、图形处理单元930、缓冲器940和/或显示装置1070可能 能够例如经由总线或其它接入彼此通信。在各种实现中,显示装置1070可集成在系统100 中,或与系统100分开实现。
[0073] 如图10中所示,并且如上面所讨论的,可经由图形处理单元930实现图形数据编 解码器模块935。在一些示例中,可经由中央处理单元1006实现图形数据编解码器模块 935。如所示,图形处理单元930可包含图形数据编解码器模块935。图形处理单元930可 W通信方式禪合到图形缓冲器940。图形数据编解码器模块935可配置成:确定与像素瓦 片的各个像素关联的多个值;生
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1