对数据通道信息的基于可编程模式的解压缩及压缩的制作方法

文档序号:7936577阅读:316来源:国知局
专利名称:对数据通道信息的基于可编程模式的解压缩及压缩的制作方法
技术领域
本申请案涉及对图像、音频及/或视频数据的处理,且更明确地说,涉及对以各种格 式及模式存储的图像、音频及/或视频数据的处理。
背景技术
图形及图像装置广泛用于渲染各种应用程序的二维(2-D)及三维(3-D)图像,所 述应用程序例如为视频游戏、图形程序、计算机辅助设计(CAD)应用程序、仿真及可 视化工具、成像等。音频装置可与这些装置结合使用以提供声音或甚至潜在地处理语音。
这些装置中所使用的图形处理器、显示处理器、音频处理器或多媒体处理器可经配 置以执行对数据的并行及/或向量处理。具有或不具有SIMD (单指令多数据)扩展的通 用CPU (中央处理单元)还可经配置以处理数据。在向量处理中,单一指令同时对多个 数据项起作用。在并行处理中,指令一次对一个数据项起作用。在图形处理领域中,处 理器经常对像素数据执行指令。像素数据描述像素的各种属性,包括像素在特定色彩空 间中的色彩且时常包括待显示、打印及/或存储的像素的透明度(a)。
像素数据的共同色彩空间尤其包括RGB (红-绿-蓝)、YUV (亮度-蓝色亮度差-红色 亮度差)、YCbCr (亮度-蓝色色度差-红色色度差)及CMYK (青-品红-黄-黑)。色彩空 间通常不会将色彩表示为单一值,而是以多个信息通道表示色彩,所述多个信息通道还 称为色彩分量元组。作为一个实例,RGB色彩空间包括分别描述特定像素的红色、绿色 及蓝色含量的三个通道。同样地,YCbCr色彩空间描述特定色彩的亮度值、蓝色色度差 值及红色色度差值。某些高级色彩空间还可在某些情况下且以某些技术来实施。举例来 说, 一些打印机现可使用六种或八种油墨,这可能需要六到八个不同色彩通道来驱动操作。
处理像素数据的处理器通常使用并行处理来进行此操作。因而,每一通道的像素数 据通常单独地在不同处理管线中进行处理。然而,此多通道像素数据存储于存储器或其 它装置中所使用的模式可能对于不同应用程序而有所不同。

发明内容
一般来说,本发明描述用于对数据通道信息的基于运行时可编程模式的解压縮及压 缩的各种技术,所述数据通道信息包括静止图像、视频及音频分量数据。将指示所接收 数据分量(例如像素数据分量)的模式的信息提供到处理器或软件模块。基于此模式信 息,解压縮引擎能够将所述数据分量提供到其选定处理管线。还可利用压缩引擎以在输 出数据分量已由其相应处理管线处理之后将所述输出数据分量排序成特定模式。而且, 向压缩引擎提供指示在压缩所述经处理的数据分量时应使用什么模式的信息。以此型 式,可向解压縮引擎及/或压縮引擎提供用以将数据分量排列成适合于特定应用程序的模 式的信息。作为一个实例,如果将在处理之后立即显示像素数据,则将指示显示器的帧 缓冲器的预期数据排列的模式信息提供到压縮引擎经常是有益的。压縮引擎及解压縮引 擎可以硬件来实施,但可以软件来实施。在许多情况下,例如对于较大数据,由模式数 据指定的输入或输出数据分量的模式可重复。
在一个方面中, 一种方法包括接收指定用于多个输入数据分量的模式的模式信息, 其中所述模式信息包括各自与所述输入数据分量中的一者或一者以上相关联的多个模 式元素,且其中所述输入数据分量包括静止图像数据分量、视频数据分量及/或音频数据 分量。所述方法进一步包括根据所述模式信息而将每一输入数据分量提供到选定处理管 线。
在一个方面中, 一种装置包括具有多个处理管线的可编程处理器。所述处理器经配 置以接收指定用于多个输入数据分量的模式的模式信息,其中所述模式信息包括各自与 所述输入数据分量中的一者或一者以上相关联的多个模式元素,且其中所述输入数据分 量包括静止图像数据分量、视频数据分量及/或音频数据分量。举例来说,所述输入数据 分量可包括像素数据分量,例如色彩通道。所述处理器进一步经配置以根据所述模式信 息而将每一输入数据分量提供到所述处理器的选定处理管线。
在一个方面中, 一种方法包括接收指定用于由多个处理管线处理的多个输出数据分 量的模式的模式信息,其中所述模式信息包括各自与所述输出数据分量中的一者或一者 以上相关联的多个模式元素,且其中输出数据分量包括静止图像数据分量、视频数据分量及/或音频数据分量。所述方法进一步包括根据所述模式信息而处理来自选定处理管线 的每一输出数据分量。
在--个方面中, 一种装置包括具有多个处理管线的可编程处理器。所述处理器经配 置以接收指定用于由所述处理管线处理的多个输出数据分量的模式的模式信息,其中所 述模式信息包括各自与所述输出数据分量中的一者或一者以上相关联的多个模式元素, 且其中输出数据分量包括静止图像数据分量、视频数据分量及/或音频数据分量。所述处 理器进一步经配置以根据所述模式信息而处理来自所述处理器的选定处理管线的每一 输出数据分量。
本发明的一个或一个以上方面的细节在附图及以下描述中陈述。将从所述描述及图 式以及从权利要求书容易明白其它特征、目标及优点。


图1为根据本发明的一方面说明可用于实施对数据通道信息的基于模式的解压縮及 压缩的装置的框图。
图2A为根据本发明的一方面说明可用于实施对数据通道信息的基于模式的解压縮
及压縮的具有可编程显示处理器的实例性装置的框图。
图2B为根据本发明的一方面说明图2A中所示的显示处理器的额外细节的框图。
图2C为根据本发明的一方面说明图2B中所示的处理管线的额外细节的框图。
图3为根据本发明的一方面的软件处理管线的框图,所述软件处理管线可由图2A
中所示的装置实施以提供对数据通道信息的基于模式的解压缩及压縮。
图4为根据本发明的一方面的可由图2A中所示的显示处理器执行的方法的流程图。 图5A到图5C为根据本发明的一方面说明实例性模式以及模式信息的实例的图表,
所述模式信息可由图2A中所示的显示处理器使用以指定或以另外方式描述实例性模式。
图6A到图6D为根据本发明的一方面说明实例性模式以及模式信息的实例的额外 图表,所述模式信息可由图2A中所示的显示处理器使用以指定或以另外方式描述实例 性模式。
图7A到图7B为根据本发明的一方面说明实例性模式及模式信息的实例的额外图 表,所述模式信息可由图2A中所示的显示处理器使用以指定或以另外方式描述实例性 模式。
图8为根据本发明的一方面说明模式信息的另一实例的额外图表,所述模式信息可由图2A中所示的显示处理器使用以指定或以另外方式描述实例性瓦片式模式。
图9A到图9B为根据本发明的一方面说明模式信息的实例的图表,所述模式信息可 由图1中所示的处理器使用以指定或以另外方式描述多通道音频数据的实例性模式。
具体实施例方式
图1为根据一个方面说明可用于实施对数据通道信息的基于模式的解压縮及压缩的 装置100的框图。装置IOO可为独立装置或可为较大系统的部分。在一个方面中,装置 IOO可包含无线通信装置(例如,无线手持机),或可为数码相机或其它视频装置的部分。
在一个方面中,装置ioo可包括于一个或一个以上集成电路或芯片中。
装置100能够处理多种不同的数据类型及格式。举例来说,如下文将更详细地描述, 装置IOO可处理静止图像数据、音频数据、视频数据或其它多媒体数据。如贯穿本发明 所使用,音频数据可包括声音数据及/或语音数据。装置100包括可编程处理器106。处 理器106可具有多个处理管线。在一个方面中,处理器106可为标量或向量处理器。在 一个方面中,处理器106可为显示处理器、图形处理器、图像处理器、音频处理器、视 频处理器或其它形式的多媒体处理器。在一个方面中,处理器106可为基带处理器或用 于向量拌和实施方案的DSP (数字信号处理器)。
装置100可利用可下载到硬件以描述数据分量的次序或格式的软件可编程模式,例 如像素数据的色彩分量的模式。无论何时添加或更新模式,均可更新在装置ioo上运行 的希望实施新的或经更新的模式的应用程序的软件驱动程序。以此型式,不必改变装置 100的硬件以支持新的或经更新的模式。通过使用装置100内的可编程模式,不存在对 装置100可支持的数据模式的数目的理论限制。另外,装置100可支持用于处理传入数 据及传出数据的不同模式。
在一个方面中,处理器106经配置以接收指定用于多个输入数据分量的模式的模式 信息。这些输入数据分量可包括静止图像数据分量、视频数据分量及/或音频数据分量。 举例来说,所述输入数据分量可包括像素数据分量,例如色彩通道。如下文将更详细地 描述,处理器106进一步经配置以根据所述模式信息而在处理器106的选定处理管线中 处理每一输入数据分量。在一个方面中,处理器106能够接收模式信息或模式定义,以 针对经更新的或新的模式而更新装置100的模式信息处理能力。在此方面中,装置100 在可由处理器106支持的模式的数目的类型中提供附加灵活性。所述模式及相关联的模 式信息可为可由装置100所实施的软件配置的。在一个方面中,在装置100上运行的软 件应用程序能够定义新的模式并将与这些模式相关联的模式信息下载到处理器106。装置100能够执行各种不同的应用程序,例如图形应用程序、图像应用程序、音频 应用程序、视频应用程序或其它多媒体应用程序。举例来说,装置100可用于图像应用 程序、音频应用程序、视频游戏应用程序、视频应用程序、数码相机应用程序、实时消 息传递应用程序、移动应用程序,或音频或视频串流应用程序。在图1中,处理器106 为处理系统102的部分。处理系统102可进一步包括一个或一个以上引擎108A到108N (总体称为108)及一个或一个以上存储器模块IIOA到110N (总体称为110)。引擎108 可包括图形引擎、音频引擎及/或视频引擎。处理器106耦合到引擎108及存储器模块 110两者且可与所述两者交换信息。引擎108可包括一个或一个以上处理器,且存储器 模块UO可包括一个或一个以上高速缓冲存储器以存储数据及指令以供处理器106及引 擎108使用。
根据一个方面,相对于存储器模块110,主存储器104可为较大、较慢的存储器。 在一个方面中,相对于处理系统102,主存储器104可位于芯片外。主存储器104可存 储可接着被加载到存储器模块110中的一者或一者以上中的数据及指令。
装置IOO还包括一个或一个以上输出装置112A到U2N(总体称为112)。在一个方 面中,输出装置112包括显示装置,例如LCD (液晶显示器)或其它形式的显示装置。 在一个方面中,输出装置112包括能够以有形形式提供图像数据的打印机或其它装置。 许多不同形式的输出装置212可用于装置200内。
在装置100的操作期间,处理器106可能能够使用输入数据来执行生成输出数据作 为结果的一个或一个以上指令。处理器106可从引擎108中的一者或一者以上、存储器 模块110中的一者或一者以上或主存储器104接收指令以用于执行。另外,处理器106 可从引擎108中的一者或一者以上、存储器模块110中的一者或一者以上或主存储器104 接收在指令执行期间所使用的输入数据。所述输入数据可包括一个或一个以上输入数据 分量。举例来说,如果输入数据为像素数据,则输入数据分量将包括像素数据分量,例 如色彩通道。
处理器106可接收具有各种不同格式或模式(依据数据的来源而定)的输入数据及 输入数据分量。举例来说,引擎108可提供各种不同格式的输入数据,且存储器模块110 及/或存储器104同样可以各种不同格式存储数据。在许多例子中,由处理器106接收的 输入数据作为经压縮群组的数据分量而到达。根据由数据的来源(例如由引擎108中的 一者或一者以上、存储器模块110中的一者或一者以上或主存储器104)排列数据分量 的方式,经压縮群组内的输入数据分量可以特定模式排列。举例来说,所述数据分量可 以交错模式排列在所述经压缩群组内,其中数据分量以重复型式相互混合。或者,数据分量可使用不同模式(例如平面模式)来排列,在平面模式中类似类型的数据分量被分 组在一起。
处理器106可能能够处理具有多种不同格式的输入数据分量。在一个方面中,处理 器106可经配置以从引擎108中的一者或一者以上及/或存储器模块110中的一者或一者 以上接收模式信息。所述模式信息指定用于也由处理器106接收的多个输入数据分量的 模式。举例来说,处理器106可从引擎108A接收模式信息,所述模式信息指定由引擎 108A提供到处理器106的输入数据分量的模式。处理器106可进一步经配置以根据所 述模式信息而在处理器106的选定处理管线中处理每一输入数据分量。通过知道所述输 入数据分量的模式,处理器106能够选择其处理管线中的一者或一者以上并根据所述模 式信息而在选定管线中处理每一输入数据分量。
在一个方面中,处理器106的处理管线处理输入数据分量并产生输出数据分量。在 此方面中,处理器106可进一步经配置以接收指定用于由所述处理管线处理的输出数据 分量的模式的额外模式信息。处理器106可从引擎108中的一者或一者以上及/或存储器 模块110中的一者或一者以上接收额外模式信息。处理器106可经配置以根据所述额外 模式信息而处理来自选定处理管线的每一输出数据分量。在一个方面中,处理器106可 将所述输出数据分量提供到输出装置112中的一者或一者以上、主存储器104、存储器 模块110中的一者或一者以上及/或引擎108中的一者或一者以上以用于存储或用于其它 用途。
所述额外模式信息可指定接收所述输出数据分量以用于输出(例如,用于进一步处 理、显示及/或打印)的输出装置112中的一者或一者以上及/或引擎108中的一者或一 者以上所预期的数据分量的模式。以此型式,处理器106能够处理指定静止图像数据、 音频数据、视频数据或其它多媒体数据的数据分量(例如,输入数据分量、输出数据分 量)的排序的模式信息。处理器106不限于可使用的预定数目的模式。而是,处理器106 可处理任何数目的不同可编程模式的数据。另外,处理器106能够在未必需要任何硬件 改变的情况下使用新的或经更新的模式来处理数据。而是,处理器106使用模式信息来 确定如何基于模式信息中所指定的模式而处理传入数据分量及传出数据分量。这对可由 处理器106实施的模式处理提供极大灵活性。
图2A为根据一个方面说明包括可编程显示处理器206的实例性装置200的框图。 在此方面中,图2A中所示的装置200为图1中所示的装置100的实例性示例,且类似 于装置100,装置200还可能能够实施对数据通道信息的基于模式的解压缩及压縮。装 置200包括处理系统202、主存储器204及一个或一个以上输出装置212A到212N (总体称为212)。
可编程显示处理器206包括于装置200的处理系统202内。在一个方面中,显示处 理器206处理像素数据以用于显示。所述处理可尤其包括旋转、縮放、透明化及覆盖。 处理系统202可进一步包括一个或一个以上引擎208,所述引擎208可包括控制处理器 209、图形处理器211、音频处理器213及视频处理器215。在一个方面中,处理系统202 包括控制处理器209、图形处理器211、音频处理器213及视频处理器215中的至少一 者。处理系统202进一步包括高速缓存存储器210。
显示处理器206可包括处理管线222 (在图2B中展示)。处理器206可经配置以接 收指定用于输入像素数据分量的模式的模式信息。处理器206可从引擎208中的一者或 一者以上、高速缓存存储器210或存储器204接收此模式信息。处理器206进一步经配 置以根据所述模式信息而在管线222内的选定处理管线中处理每一输入像素数据分量。
处理器206可进一步经配置以接收指定用于由管线222处理的输出像素数据分量的 模式的额外模式信息。处理器206可从引擎208中的一者或一者以上、高速缓存存储器 210或存储器204接收此额外模式信息。处理器206接着经配置以根据所述额外模式信 息而将来自选定处理管线的每一输出像素数据分量提供到输出装置212中的一者或一者 以上。以此方式,处理器206能够通过可以存取描述这些模式的模式信息来动态及适应 性地处理各种不同模式的数据分量。处理器206可接收来自各种来源的模式信息,且可 在不需要对处理器206做出任何硬件改变的情况下更新或甚至添加待由处理器206处理 的数据分量的模式。因而,处理器206不限于处理预定数目的数据模式,而是能够处置 可由在装置200上运行的软件应用程序定义的多种不同模式。
图2B为根据一个方面说明显示处理器206的额外细节的框图。在此方面中,处理 器206包括命令控制器220、寄存器221、处理管线222、输出装置区段224A到224N (总体称为224)及缓冲器226。根据一个方面,处理器206将处理管线222用于对数据 分量的并行处理。当数据分量包含图像数据的像素数据分量时,处理管线222可包括并 行运行的三个或三个以上管线。在某些例子中,当像素数据包括cx通道(例如,RGBa) 或用于CMYK色彩空间时,可利用四个管线。 一般来说,处理管线222可包括各自能 够处理数据通道的数据分量的一个或一个以上管线。在一个方面中,处理管线222可包 括能够并行地执行指令的个别执行单元。
在一个方面中,处理管线222对数据分量(例如图像数据的分量)执行操作。当数 据为图像数据时,处理管线222可对图像数据分量执行操作,例如旋转操作或縮放操作。 像素数据分量可从存储器204 (图2A)、高速缓存存储器210接收,或从引擎208中的一者或一者以上接收(未图示)。
根据一个方面,命令控制器220接收用于由处理器206执行的指令。命令控制器220 还可接收指示数据的信息,所述数据例如为待由处理器206接收及/或存取的像素数据。 在一个方面中,这些指令及信息可由控制处理器209提供。在一个方面中,这些指令及 信息可从引擎208中的一者或一者以上、存储器204或高速缓存存储器210提供。
根据一个方面,输出装置区段224将完成帧(例如,已由管线222处理的像素数据 的帧)传递到输出装置212中的一者或一者以上,例如显示器。处理器206包括一个或 一个以上输出装置区段224。输出装置区段224可经常在一个或一个以上输出装置212 为需要同步的物理目标的情形下使用。举例来说,输出装置区段224A可用于电视输出, 而输出装置区段224N可处置基于RGB的LCD目标。举例来说,区段224可使由管线 222创建的帧的输出与目标显示器(输出装置212中的一者)的垂直刷新时序同步以防 止撕裂。或者,当同步可能较不重要时,处理管线222可将完成帧直接传递到输出装置 212中的一者或一者以上。
在图2B的实例中,处理器206还包括一个或一个以上缓冲器226。在一个方面中, 处理管线222可将缓冲器226用于内部图像缓冲。举例来说,缓冲器226可包括内部缓 冲器,例如"iBufs"。可每输出装置212A到212N提供缓冲器226内的一个或一个以 上内部缓冲器。在一个方面中,缓冲器226内的内部缓冲器可顺序地(环形缓冲器式样) 使用,以构成接着交递(例如)到输出装置212中的一者或一者以上的帧。
在一个方面中,处理器206还包括一个或一个以上寄存器221。处理器206可将数 据存储于寄存器221内以供在处理管线222内的指令执行期间使用。在一个方面中,处 理器206还可将信息存储于寄存器221内,所述信息可与所接收的模式信息结合使用以 在管线222中处理输入数据分量或处理来自管线222的输出数据分量。在此方面中,当 处理器206处理一个或一个以上图像的图像数据时,关于数据格式及模式的某些信息可 保持大致恒定。在所述情况下,处理器206可将保持大致恒定的某些格式或模式信息存 储于寄存器221内。当处理器206从引擎208中的一者或一者以上、存储器204或高速 缓存存储器210接收与图像数据的特定群组的数据分量有关的动态模式信息时,处理器 206可结合存储于寄存器221中的格式或模式信息使用此所接收的信息来管理对数据分 量的处理。将在下文中更详细地描述各种实例。
图2C为根据一个方面说明处理管线222的额外细节的框图。在此方面中,处理管 线222包括解压縮引擎230、并行处理管线232A到232N (总体称为232)及压缩引擎。 根据一个方面,管线232能够并行地执行指令。如图2C中所示,每一管线232A到232N可包括执行单元。
在图2C的实例中,当处理图像数据时,解压縮引擎230接收输入像素数据分量228。 解压缩引擎230还可能能够直接或通过命令控制器220来接收模式信息238,所述模式 信息238指定输入像素数据分量228的模式。在一个方面中,此模式信息238可由引擎 208中的一者所执行的用户应用程序指定且通过所述应用程序的软件驱动程序而供应给 处理器206。基于模式信息238,解压縮引擎230基于由模式信息238指定的模式而解 压缩一群组输入像素数据分量228并在其选定处理管线232A到232N中处理像素数据 的经解压縮输入像素数据分量228A到228N。在一个方面中,每一像素数据分量228A 到228N在选定管线232A到232N中进行处理。在此方面中,管线232接着能够并行地 处理输入数据分量228A到228N。举例来说,如果输入像素数据分量228包含RGB色 彩空间的像素色彩分量,则像素数据分量228可包含三个分量228A、 228B及228C。在 此实例中,管线232A可处理数据分量228A,管线232B可处理数据分量228B,且管线 232C可处理数据分量228C。
在一个方面中,输出装置区段224 (图2B)中的一者或一者以上可包括类似于解压 縮引擎230的解压縮引擎。在此方面中,输出装置区段224中的一者或一者以上中所使 用的解压縮引擎可用于在将由处理管线222提供的数据分量处理到输出装置212中的一 者或一者以上之前解压縮所述分量。
当执行指令239时,每一管线232A到232N使用相应输入数据分量228A到228N。 根据一个方面,指令239可由引擎208中的一者或一者以上、存储器204或高速缓存存 储器210提供,且可由命令控制器220加载。作为指令执行的结果,管线232A到232N 生成或产生输出像素数据分量236A到236N。
在输出像素数据分量236A到236N已由其相应管线232A到232N处理之后,压縮 引擎234将所述输出像素数据分量236A到236N重新排序成特定模式。压縮引擎234 被提供模式信息240,其指示应使用什么模式来压缩一群组所述经处理的输出像素数据 分量236A到236N。在一个方面中,压缩引擎234基于由模式信息240描述的模式而将 一群组输出数据分量236A到236N压缩成经压缩数据分量236的排列。可向压縮引擎 234提供模式信息240以将一群组所述经处理的像素数据分量236A到236N排列成适合 于特定应用程序或适合于输出装置212中的一者或一者以上的在输出像素数据分量236 内的任何指定模式。作为一个实例,如果输出像素数据分量236将在处理之后立即显示, 则将指示显示器(其将为输出装置212中的一者)的帧缓冲器的预期数据排列的模式信 息240提供到压縮引擎234可为有益的。模式信息240可不同且相异于模式信息238。在一个方面中,压缩引擎234从引擎 208中的一者或一者以上、主存储器204或高速缓存存储器210接收模式信息240。
压縮引擎234及解压縮引擎230可基于各种不同模式而压縮及解压缩数据分量。解 压縮引擎230可能能够使用由模式信息238指定的任何次序或排列来将一群组输入数据 分量228解压縮成数据分量228A到228N。类似地,压縮引擎234能够使用由模式信息 240指定的任何次序或排列来将一群组输出数据分量236A到236N压縮成经压縮数据分 量236。
可由模式信息238或240指定任何类型的模式。举例来说,模式信息238或240可 指定交错模式(例如,用于RGBa格式的RGBARGBARGBARGBA)、平面模式(例如, RRRR、 GGGG、 BBBB及AAAA)、部分交错模式(例如,RRGGBBAARRGGBBAA)
或各种其它模式,其中R表示红色数据,G表示绿色数据,B表示蓝色数据,且A表示 a (透明度)数据。
根据一个方面,当对色度通道进行子取样时,由模式信息238或240指定的伪平面 模式可用于YCb(^色彩空间。在此模式中,所有亮度样本可类似于平面模式而存储在一 起。然而,两个色度通道可类似于交错模式而相互混合。可像亮度一样处理a (如果使 用的话)。伪平面模式可用于视频硬件中以使亮度流及色度流保持相对同步。这些仅为 可由模式信息238或240指定的模式的类型及种类的少许非限制性实例。
图3为根据一个方面的可由装置200实施的软件处理管线322的框图。在此方面中, 处理管线322为实施于软件应用程序内而非直接以硬件实施的模块,且可由具有或不具 有SIMD向量扩展的通用CPU实施。此软件模块可包括存储于主存储器204及/或高速 缓存存储器210中的程序指令。根据一个方面,所述软件可由显示处理器206执行,或 可由引擎208中的一者或一者以上执行。当所述软件被执行时,其提供软件处理管线322 的功能性,所述功能性类似于由图2C的实例中所示的处理管线222提供的功能性。在 一些方面中,显示处理器206或引擎208中的一者或一者以上可包含通用CPU。
在图3中,用于软件处理管线322的模块包括解压缩引擎330、管线342A到342N 及压縮引擎334。解压縮引擎330接收输入像素数据分量328及模式信息338,所述模 式信息338可从一个或一个以上软件应用程序提供。解压縮引擎330根据由模式信息338 指定的模式而将一群组输入像素数据分量328解压縮成个别数据分量328A到328N,且 在选定管线342A到342N (总体称为342)中处理经解压縮数据分量328A到328N。每 一管线328A到328N能够处理数据分量328A到328N中的一者以生成或产生输出数据 分量336A到336N,其接着被提供到压縮引擎334。压縮引擎334接收模式信息340,其可由一个或一个以上软件应用程序提供。压缩 引擎334指定压縮引擎334用来将一群组输出数据分量336A到336N排列成经压縮群 组的输出像素数据分量336的模式。这些数据分量336可接着作为输出而提供到一个或 一个以上软件应用程序。
图4为根据一个方面的可由显示处理器206执行的方法的流程图。在图4的实例中, 所述方法包括动作400、 402、 404、 406、 408及410。
如图4中所示,处理管线222内的解压縮引擎230 (图2C)可接收多个输入数据分 量228 (400),例如像素数据色彩分量。解压縮引擎230可进一步接收指定用于输入数 据分量228的模式的第一模式信息238 (402)。解压縮引擎230接着解压縮一群组所述 输入数据分量228并根据包括于模式信息238内的模式元素而将每一经解压縮分量228A 到228N提供到选定处理管线232A到232N (404)。在一个方面中,如下文将更详细地 描述,模式信息238包括各自与输入数据分量228中的一者或一者以上相关联的多个模 式元素。
在指令执行期间在选定管线232A到232N中处理所述经解压缩数据分量228A到 228N以生成输出数据分量236A到236N (406)。将这些输出数据分量236A到236N提 供到压縮引擎234。压縮引擎234可接着接收指定用于输出数据分量236A到236N的模 式的第二模式信息240 (408)。压縮引擎234根据包括于模式信息240内的模式元素而 将一群组输出数据分量236A到236N压縮成数据分量236 (410)。
图5A到图5C为根据一个方面说明实例性模式500及可用于描述模式500的模式信 息502及504的实例的图表。在此方面中,实例性模式信息502及/或504可作为模式信 息238提供到解压缩引擎230 (图2C),或可作为模式信息240提供到压縮引擎234。
在图5A中展示实例性模式500。在此实例中,模式500定义RGB色彩空间内的多 个像素色彩数据分量的模式。模式500定义用于与四个像素相关联的十二个色彩数据分 量的平面模式格式。模式500以四个R (红色)数据分量Rpo、 RP1、 RP2、 RP3开始,四 个像素PO到P3中的每一者具有一个R数据分量。模式500接着指定四个G (绿色)数 据分量Gpo、 GP1、 GP2、 GP3,每一像素P0到P3具有一个G数据分量。最后,模式500 指定四个B (蓝色)数据分量Bpo、 BP1、 BP2、 BP3,每一像素P0到P3具有一个B数据 分量。
在一个实例性方面中,由解压縮引擎230接收的输入像素数据分量228 (图2C)或 由压縮引擎234提供的输出像素数据分量236可具有由模式500指定的格式。在此情况 下,可提供图5B中所示的模式信息502或图5C中所示的模式信息504以指定模式500。
27模式信息502包括用于每一个别数据分量的多个分量识别符。在图5B中展示可使 用的实例性分量识别符(1=红色,O-绿色,2=蓝色)。当然,可使用任何形式的分量识 别符。根据-一个方面,模式信息502内的每一单独分量识别符(或,模式信息502的所 表示表的每一行)对应于模式信息502的模式元素。在图5B中,每一模式元素与一个 色彩数据分量相关联。在此方面中,解压縮引擎(例如解压縮引擎230)或压縮引擎(例 如压缩引擎234)可以顺序的逐个元素(或逐行)型式来处理模式信息502的模式元素。 模式信息502使用十二个相异的模式元素来指定具有四个红色分量、随后为四个绿色分 量、随后为四个蓝色分量的模式,其为模式500的排列。以此型式,模式信息502为可 用于指定模式500的信息的一个实例。根据一个方面,当解压縮引擎230或压縮引擎234 已处理了模式信息502的每一模式元素时,其可接着针对模式信息502中的所述模式元 素中的每一者重复所述处理以使用由模式信息502指定的模式来连续处理额外数据分
图5C说明可用于指定模式500的模式信息504的另一实例。模式信息504包括游 程长度信息。游程长度描述顺序地排列在模式内的相同类型数据分量(例如红色色彩分 量)的数目。在此方面中,每一模式元素包含游程长度及分量识别符。因此,模式信息 504仅使用三个相异模式元素(如图5C中的行所表示)来指定具有四个红色分量、随 后为四个绿色分量、随后为四个蓝色分量的模式。在此实例中,当个别模式元素具有大 于l的游程长度时,所述模式元素与多个数据分量(例如多个红色数据分量)相关联, 其中相关联的数据分量的数目等于所述模式元素的游程长度的值。根据一个方面,游程 长度值可作为二位二进制表示来提供。在此方面中,游程长度4可由二位值3 (即,二 进制"11")表示。(游程长度1可由二位二进制值"00"表示,游程长度2可由二位 二进制值"01"表示,且游程长度3可由二位二进制值"10"表示。)
图5B到图5C中所示的分量识别符及游程长度的值仅为示范性的。这些值可使用各 种格式来表示或存储。举例来说,在一些情形中,每一模式元素可包含1字节字段,其 中预定义位值与分量识别符及游程长度值相关联。在表示模式元素时,可使用各种不同 格式。另外,模式信息502及模式信息504可包括一个或一个以上模式元素。在一些情 况下,装置200可限制模式信息内所含有的模式元素的数目(例如,十六个模式元素), 但在其它情况下,不存在此类限制。
图6A到图6D为根据一个方面说明实例性模式600及可用于描述模式600的模式 信息602、 604及606的实例的图表。模式信息602、 604及/或606可被包括于提供到解 压縮引擎230的模式信息238 (图2C)内或被包括于提供到压縮引擎234的模式信息
28240内。在一些例子中,数据分量(例如像素数据分量)可以瓦片式或块格式来处理或 存储,而非以水平行或线格式来处理或存储。因此,在这些例子中,处理器206接收具 有此格式的输入数据分量。图6A展示定义数据分量的一个此类瓦片式或块排列的实例 性模式。在此实例中,模式600定义数据分量的两个块x两个块的瓦片。所述四个块中 的每一者对应于给定像素的三个有序RGB色彩分量。因此,左上块包括像素0的三个 有序数据分量(RpoGpoBh)),右上块包括像素1的三个有序数据分量(RP1GP1BP1),左下 块包括像素2的三个有序数据分量(RP2GP2BP2),且右下块包括像素3的三个有序数据 分量(RP3GP3BP3)。
图6B展示可用于指定或描述图6A中所示的模式600的模式信息602的第一实例。 在图6B的实例中,模式信息602包括三个相异模式元素(出于说明目的,再次将所述 模式元素展示为图6B中所示的模式602的表格表示内的行)。每一模式元素具有先前已 描述的分量识别符及游程长度。然而,为了帮助指定模式600的瓦片式格式,每一模式 元素进一步包括"小块"高度(Ph)及"小块"宽度(Pw)。小块高度指定(模式600 中的)瓦片的垂直块的数目,且小块宽度指定瓦片的水平块的数目。因此,因为模式600 包括两个块x两个块的瓦片,所以针对每一模式元素将小块高度及小块宽度各自指定为 2。
针对每一模式元素而指定的游程长度为4。(如先前所论述,根据一个方面,游程长 度值可作为二位二进制表示来提供,其中游程长度4可表示为二进制"11"。)当小块 高度及小块宽度对于一模式元素而各自等于2且游程长度等于4时,处理器206能够使 用模式602来指定用于数据分量的模式600。处理器206可使用解压缩引擎230或压縮 引擎234来处理模式信息602中的第一模式元素(P^2, Pw=2,游程长度=4,分量ID4) 以确定每一像素的一个红色数据分量包括于所述瓦片的每一块内。类似地,处理器206 处理第二及第三模式元素以确定每一像素的一个绿色数据分量及一个蓝色数据分量也 包括于所述瓦片的每一块内。
图6C展示当处理器206使用额外信息时可用于指定模式600的模式信息604的第 二实例。在此方面中,模式信息604内的模式元素仅包括分量识别符及游程长度。然而, 在指定当在处理管线222内处理数据分量时应使用的模式(例如模式600)时,处理器 206可结合存储于寄存器221 (图2B)中的一者或一者以上内的额外信息使用模式信息 604。在图6C的实例中,小块高度值及小块宽度值可存储于寄存器221中的一者或一者 以上内。
在某些情况下,当小块高度值及小块宽度值在多个数据分量的处理期间保持大致恒定时,例如小块高度值及小块宽度值等额外信息可存储于寄存器221中。在本实例中, 如果数据分量以两个块x两个块的瓦片式排列由处理器206连续接收或从处理器206连 续输出,则小块高度值2及小块宽度值2将保持大致恒定。在此情况下,这些值可存储 于寄存器221中。因而,模式信息604内的每一模式元素的大小可得以减小。
图6D展示可用于指定或以另外方式描述图6A中所示的模式600的模式信息606 的第三实例。模式信息606包括三个模式元素。类似于图6B中所示的模式元素,每一 模式元素包括分量识别符、游程长度、小块高度及小块宽度。但是,另外,图6D中的 模式信息606的模式元素还包括水平扫描次序(Sh)及垂直扫描次序(Sv)。 Sh及Sv 的值指定模式600的瓦片内的个别块的水平及垂直扫描次序。在一个方面中,这些值为 布尔(Boolean)值,在图6D中展示所述值的实例。如果Sh等于O,则水平扫描次序指 定从左到右的扫描次序。如果Sh等于1,则水平扫描次序指定从右到左的扫描次序。如 果Sv等于O,则垂直扫描次序指定从上到下的扫描次序。如果Sv等于l,则垂直扫描 次序指定从下到上的扫描次序。
因此,模式信息606内的模式元素通过针对每一模式元素使用Sh値0及Sv值0来 描述模式600。然而,从图6D的实例可见,每一个别模式元素可指定Sh及Sv的值。因 而,在指定或描述数据分量的模式时,每一模式元素可对水平扫描次序及垂直扫描次序 指定任何值。
另外,模式信息606的模式元素还包括每像素位数(Bpp)值。此值表示与每一模式 元素相关联的分量的每像素的位的数目。每像素的位的数目与分量的色彩分辨率或深度 有关。在图6D的实例中,红-绿-蓝色彩空间的每一色彩分量具有每像素八个位的Bpp 值。然而,在模式信息606内可使用Bpp的各种其它值。举例来说,红色色彩分量可具 有Bpp值5,绿色色彩分量可具有Bpp值6,且蓝色色彩分量可具有Bpp值5。在模式信 息606内可使用例如这些值的各种不同值。
在一个方面中,如果Sh及Sv的值在处理多个数据分量时保持大致恒定,则这些值 可存储于处理器206的寄存器221中,而不是包括于模式信息606内。在此方面中,解 压縮引擎230及/或压縮引擎234 (图2C)可从寄存器221存取Sh及Sv的值且结合所接 收的模式信息使用这些值来处理输入数据分量或输出数据分量。类似地,如果Bpp值在 处理多个数据分量时保持大致恒定,则这些值也可存储于处理器206的寄存器221中, 而不是包括于模式信息606内。
图7A到图7B为根据一个方面说明实例性模式700及可用于描述模式700的模式信 息702的实例的图表。根据一个方面,模式信息702可包括于提供到解压缩引擎230的模式信息238 (图2C)内或包括于提供到压縮引擎234的模式信息240内。图7A的实 例性模式700为使用a (透明度)的YCrCb色彩空间内的像素色彩分量数据的四个块x 四个块的瓦片。每一块包括用于一个或一个以上个别像素(即,十六个所表示像素PO 到P15中的一者或一者以上)的多个像素色彩数据分量。如从此模式700可见,瓦片内 的每一块包括一个Y色彩数据分量及一个ot色彩数据分量。然而,每一块进一步包括 Cr或Cb数据分量及其水平相邻者,而非所述两者。如从模式700可见,对于每一对像 素,数据分量G及Cb在瓦片内从一个块到下一块交替,其中假设在瓦片内有从左到右 及从上到下的扫描次序。
模式700定义可与422H (H2V1)子取样器一起利用的所指定瓦片内的色彩数据分 量的格式。在422H子取样中,针对每一像素取样Y分量及a分量一次,这正是在模式 700中Y分量及a分量包括于瓦片的每一块内的原因。然而,在422H子取样中,针对 每一对像素仅取样Cr分量及Cb分量一次。因此,正如上文所描述,在模式700中,Cr 分量与Cb分量每隔一个块而交替。当422H子取样在处理管线222外部执行时,处理器 206可处理与模式700相符的数据分量(例如,图2C中所示的输入数据分量228及/或 输出数据分量236)。 422H<->444重取样器可操作性地耦合到解压縮引擎230及/或压縮 引擎234。在一个方面中,这些重取样器可包括于处理器206、引擎208中的一者或一 者以上或者输出装置212中的一者或一者以上内。在一个方面中,超级取样器(上取样 器)耦合到解压縮引擎230,且子取样器耦合到压缩引擎234。 422H子取样经常用于电 视及JPEG (联合照相专家组)应用程序中。
在一个方面中,代替422H子取样器或除422H子取样器外,各种其它子取样器可 用于装置200内。举例来说,可使用422V (H1V2)子取样器(经常与JPEG应用程序 一起使用)、420子取样器(经常与JPEG、 MPEG或相机应用程序一起使用)及411子 取样器,仅列举少许。提供到处理器206的模式信息可经定制且调适以指定可用于由这 些类型的子取样器处理的像素数据分量的各种模式。
图7B根据一个方面展示可用于指定或以另外方式描述模式700的模式信息702的 实例。模式信息702包括四个模式元素。每一模式元素包括分量识别符(在图7B中针 对YC《ba色彩空间展示分量识别符的实例)、游程长度、小块高度及小块宽度。然而, 每一模式元素进一步包括垂直子取样值(Vss)及水平子取样值(Hss)。在一个方面中, 用于所识别数据分量的Hss值1指示对于瓦片式模式700内的在水平方向上的每隔一个 块存在这些数据分量。在此方面中,用于所识别数据分量的Vss值1指示对于瓦片式模 式700内的在垂直方向上的每隔一个块存在这些数据分量。根据一个方面,Hss值0及方向及垂直方向上的每一块存在所述数据分量。
在图7B中所示的实例性模式信息702中,对应于Cr及Cb数据分量的模式元素具 有Hss值1,从而指示对于瓦片式模式700内的在水平方向上的每隔一个块存在这些数 据分量。假定对于每隔一个块存在这些数据分量,则这些模式元素的游程长度等于8。 这些模式元素的小块高度值及小块宽度值各自等于4,从而指示模式700为四个块x四个 块的瓦片。
对应于Y (亮度)及a数据分量的模式元素还具有小块高度值4及小块宽度值4。 因为这些模式元素具有等于16的游程长度,但Vss值及HM值为O,所以Y及a数据分 量包括于瓦片式模式700的每一块内。因此,根据一个方面,模式信息702中的所述模 式元素描述模式700内的分量排列。
在此实例中,V^及H^的值为二进制值,其中值O指示无子取样且值1指示在垂直 或水平方向上的每隔一个块的数据分量的子取样或间隔。然而,在一个方面中,Vss及 H^的值可不限于1及0的二进制值。在此方面中,Vm及Hss的值可指定用于特定模式
元素的特定取样值。另外,Vss及Hss的值可在多个数据分量的处理期间保持大致恒定是
可能的。在此情况下,根据一个方面,这些值可存储于处理器206的寄存器221内,而 不是包括于模式信息702的每一模式元素内。在此方面中,解压縮引擎230及/或压缩引 擎234 (图2C)可从寄存器221存取Vm及Hss的值且结合所接收的模式信息使用这些 值来处理输入数据分量或输出数据分量。
图8为根据一个方面说明可用于指定或以另外方式描述瓦片式模式的模式信息800 的另一实例的图表。在此方面中,假设所述模式类似于模式700 (图7A),包括YCrCb 分量及(x分量,但其为八个块x八个块的瓦片式模式。因而,模式信息800内的每一模 式元素包括小块高度8及小块宽度8。假设由模式信息800指定的模式具有与模式700 的排列类似的排列,因为Y及a分量提供于每一块中,但Cr及Cb分量在水平方向上在 块之间交替(使用从左到右及从上到下的扫描次序)。因此,模式信息800的与Y及a 分量相关联的模式元素各自包括游程长度64、 Vss值0及Hss值0。模式信息800的与 G及Cb分量相关联的模式元素各自包括游程长度32、 Vss值0及Hss值1。
图9A到图9B为根据一方面说明模式信息卯O及902的实例的图表,所述模式信息 可由图1中所示的处理器106使用以指定或以另外方式描述多通道音频数据的实例性模 式。如先前所提及,可编程处理器106能够处理具有由模式信息指定的模式的数据分量。 在此方面中,处理器106能够处理作为多通道音频数据的部分的音频数据分量。此多通 道音频数据可包含声音数据或话音(语音)数据。
32在图9A到图9B的实例中,假设处理器106处理多通道声音数据。音频数据分量可 包括与左前方通道、前方中央通道、右前方通道、左后方通道、后方中央通道、右后方 通道及重低音通道相关联的通道数据。还可使用各种其它形式的音频通道。
图9A展示可与这些各种音频通道相关联的分量识别符的实例。模式信息900仅包 括用于每一模式元素的分量识别符。因此,在模式信息900中,每一模式元素与所述音 频数据分量中的由相关联的分量识别符指定的一者相关联。在此实例中,由模式信息900 指定的模式为如下的音频数据分量的模式左前方数据分量、前方中央数据分量、右前 方数据分量、左后方数据分量、后方中央数据分量、右后方数据分量及重低音数据分量。 根据一个方面,这些数据分量中的每一者为多通道音频数据流的部分。模式信息900含 有用于这些数据分量的七个模式元素。 一旦处理器106已在数据分量处理的第一迭代中 处理了这七个模式元素中的每一者,处理器106便重复所述处理以使用由模式信息900 指定的模式来连续处置音频数据分量。在此实例中,所述模式为音频数据分量的交错模 式。在一个方面中,处理器106可包括压縮引擎及解压縮引擎。这些引擎中的一者或两 者可利用图9A中所示的模式信息900。
图9B提供可由处理器106使用的模式信息卯2的另一实例。由模式信息902指定 的模式不同于由模式信息900指定的模式。由模式信息902指定的模式为平面型模式。 模式信息卯2中的每一模式元素包括分量识别符及游程长度两者。在图9B的实例中, 每一模式元素具有游程长度4。因此,由模式信息902指定的模式以重复型式包括四个 左前方数据分量、随后为四个前方中央数据分量、随后为四个右前方数据分量、随后为 四个左后方数据分量、随后为四个后方中央数据分量、随后为四个右后方数据分量、随 后为四个重低音数据分量。如从模式信息卯0及902的实例中可见,处理器106能够处 理多通道音频数据的任何数目的运行时可编程模式,从而给装置100提供了极大灵活性。 在其它方面中,处理器106同样类似地能够使用可编程模式来处理多通道视频数据(视 频数据分量)。
本发明中所描述的技术可实施于通用微处理器、数字信号处理器(DSP)、专用集成 电路(ASIC)、现场可编程门阵列(FPGA)或其它等效逻辑装置内。因此,如本文中所 使用,术语"处理器"或"控制器"可指代前述结构中的任一者或适合于实施本文中所 描述的技术的任何其它结构。
本文中所描述的组件及技术可以硬件、软件、固件或其任何组合来实施。描述为模 块或组件的任何特征可一起实施于集成逻辑装置中,或单独地实施为离散但可共同操作 的逻辑装置。在各种方面中,此类组件可至少部分地形成为可被总称为集成电路装置(例如集成电路芯片或芯片组)的一个或一个以上集成电路装置。此电路可被提供于单一集 成电路芯片装置中或被提供于多个可共同操作的集成电路芯片装置中,且可用于多种图 像、显示、音频或其它多媒体应用程序及装置中的任一者中。举例来说,在一些方面中, 此类组件可形成移动装置(例如无线通信装置手持机)的部分。
如果以软件来实施,则所述技术可至少部分地由包含指令的计算机可读媒体实现, 所述指令在由一个或一个以上处理器执行时执行上述方法中的一者或一者以上。计算机 可读媒体可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。计算机 可读媒体可包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、 只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储 器(EEPROM)、快闪存储器、磁性或光学数据存储媒体。
额外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,所述计算机可 读通信媒体以指令或数据结构的形式携载或传送代码且可由一个或一个以上处理器存 取、读取及/或执行。可适当地将任何连接称为计算机可读媒体。举例来说,如果使用同 轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线 技术来从网站、服务器或其它远程来源传输软件,则同轴电缆、光纤电缆、双绞线、DSL 或例如红外线、无线电及微波等无线技术包括在媒体的定义中。以上各者的组合也应包 括在计算机可读媒体的范围内。所利用的任何软件可由一个或一个以上处理器(例如一 个或一个以上DSP、通用微处理器、ASIC、 FPGA或其它等效集成或离散逻辑电路)来 执行。
己描述了本发明的各种方面。这些及其它方面在所附权利要求书的范围内。
3权利要求
1.一种方法,其包含接收指定用于多个输入数据分量的模式的模式信息,其中所述模式信息包含各自与所述输入数据分量中的一者或一者以上相关联的多个模式元素,且其中每一输入数据分量选自由静止图像数据分量、音频数据分量及视频数据分量构成的分量群组;及根据所述模式信息将每一输入数据分量提供到选定处理管线。
2. 根据权利要求1所述的方法,其中根据所述模式信息将每一输入数据分量提供到选 定处理管线包含将每一输入数据分量提供到可编程处理器内的选定处理管线。
3. 根据权利要求1所述的方法,其进一步包含-接收指定用于由多个处理管线处理的多个输出数据分量的第二模式的额外模式 信息,其中所述额外模式信息包含各自与所述输出数据分量中的一者或一者以上相 关联的多个模式元素,且其中每一输出数据分量选自由静止图像数据分量、音频数 据分量及视频数据分量构成的第二分量群组;及根据所述额外模式信息处理来自选定处理管线的每一输出数据分量。
4. 根据权利要求3所述的方法,其中根据所述额外模式信息处理来自选定处理管线的 每一输出数据分量包含根据所述额外模式信息处理从选定处理管线到输出装置的 每一输出数据分量。
5. 根据权利要求3所述的方法,其进一步包含基于由所述额外模式信息指定的所述第 二模式将所述输出数据分量压縮成数据分量排列,且其中根据所述额外模式信息处 理从选定处理管线到所述输出装置的每一输出数据分量包含将所述排列中的所述 数据分量提供到所述输出装置。
6. 根据权利要求3所述的方法,其进一步包含-在将所述输出数据分量提供到所述输出装置之前将来自所述处理管线的所述输 出数据分量存储于缓冲器中。
7. 根据权利要求1所述的方法,其进一步包含基于由所述模式信息指定的所述模式将 一群组所述输入数据分量解压縮成经解压缩数据分量,且其中根据所述模式信息将 每一输入数据分量提供到选定处理管线包含将所述经解压縮数据分量提供到多个 处理管线。
8. 根据权利要求1所述的方法,其中所述输入数据分量包含像素数据分量。
9. 根据权利要求l所述的方法,其中所述输入数据分量包含多通道音频数据分量。
10. 根据权利要求1所述的方法,其中每一模式元素包括用于所述相关联的一个或一个 以上输入数据分量的分量识别符。
11. 根据权利要求IO所述的方法,其中每一模式元素进一步包括游程长度,所述游程 长度指定与所述模式元素相关联的所述一个或一个以上输入数据分量的数目。
12. 根据权利要求11所述的方法,其中由所述模式信息指定的所述模式包含瓦片式模 式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、垂直扫描 次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至少一者, 且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
13. 根据权利要求1所述的方法,其进一步包含接收与所述模式信息结合使用以指定用 于所述输入数据分量的所述模式的额外信息,且其中根据所述模式信息将每一输入 数据分量提供到选定处理管线包含根据所述模式信息及所述额外信息将每一输入 数据分量提供到选定处理管线。
14. 根据权利要求13所述的方法,其中接收所述额外信息包含从一个或一个以上寄存 器接收所述额外信息。
15. —种装置,其包含-可编程处理器,其具有多个处理管线,其中所述处理器经配置以接收指定用于多个输入数据分量的模式的模式信息,所 述模式信息包含各自与所述输入数据分量中的一者或一者以上相关联的多个模式 元素,且每一输入数据分量选自由静止图像数据分量、音频数据分量及视频数据分 量构成的分量群组,且其中所述处理器进一步经配置以根据所述模式信息将每一输入数据分量提供到 所述处理器的选定处理管线。
16. 根据权利要求15所述的装置,其中所述处理器进一步经配置以接收指定用于由所述处理管线处理的多个输出数据 分量的第二模式的额外模式信息,所述额外模式信息包含各自与所述输出数据分量 中的一者或一者以上相关联的多个模式元素,且每一输出数据分量选自由静止图像 数据分量、音频数据分量及视频数据分量构成的第二分量群组;且所述处理器进一步经配置以根据所述额外模式信息处理来自选定处理管线的每 一输出数据分量。
17. 根据权利要求16所述的装置,其进一步包含输出装置,其中所述处理器经配置以 根据所述额外模式信息将来自选定处理管线的每一输出数据分量提供到所述输出 装置。
18. 根据权利要求17所述的装置,其进一步包含压缩引擎,所述压缩引擎经配置以基于由所述额外模式信息指定的所述第二模式将所述输出数据分量压縮成数据分量 排列,其中所述压缩引擎进一步经配置以将所述排列的所述数据分量提供到所述输出装置。
19. 根据权利要求18所述的装置,其进一步包含缓冲器,其中所述压缩引擎经配置以 在将所述数据分量提供到所述输出装置之前将所述排列的所述数据分量存储于所述缓冲器内。
20. 根据权利要求15所述的装置,其进一步包含解压縮引擎,所述解压縮引擎经配置 以基于由所述模式信息指定的所述模式将一群组所述输入数据分量解压縮成经解 压缩数据分量,且其中所述解压缩引擎进一步经配置以将所述经解压縮数据分量提 供到所述处理管线。
21. 根据权利要求15所述的装置,其中每一模式元素包括用于所述相关联的一个或一 个以上输入数据分量的分量识别符。
22. 根据权利要求21所述的装置,其中每一模式元素进一步包括游程长度,所述游程 长度指定与所述模式元素相关联的所述一个或一个以上输入数据分量的数目。
23. 根据权利要求22所述的装置,其中由所述模式信息指定的所述模式包含瓦片式模 式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、垂直扫描 次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至少一者, 且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
24. 根据权利要求15所述的装置,其进一步包含一个或一个以上寄存器,其中所述处 理器经配置以接收存储于所述一个或一个以上寄存器中的额外信息且结合所述模 式信息使用所述额外信息以指定用于所述输入数据分量的所述模式。
25. 根据权利要求15所述的装置,其中所述处理器包含显示处理器。
26. 根据权利要求15所述的装置,其中所述装置包含无线通信装置手持机。
27. 根据权利要求15所述的装置,其中所述装置包含一个或一个以上集成电路装置。
28. —种计算机可读媒体,其包含用于致使可编程处理器执行以下操作的指令接收指定用于多个输入数据分量的模式的模式信息,其中所述模式信息包含各自 与所述输入数据分量中的一者或一者以上相关联的多个模式元素,且其中每一输入 数据分量选自由静止图像数据分量、音频数据分量及视频数据分量构成的分量群 组;及根据所述模式信息将每一输入数据分量提供到选定处理管线。
29. 根据权利要求28所述的计算机可读媒体,其进一步包含用于致使所述处理器执行 以下操作的指令接收指定用于由多个处理管线处理的多个输出数据分量的第二模式的额外模式 信息,其中所述额外模式信息包含各自与所述输出数据分量中的一者或一者以上相关联的多个模式元素,且其中每一输出数据分量选自由静止图像数据分量、音频数 据分量及视频数据分量构成的第二分量群组;及根据所述额外模式信息处理来自选定处理管线的每一输出数据分量。
30. 根据权利要求29所述的计算机可读媒体,其中所述用于致使所述处理器根据所述 额外模式信息处理来自选定处理管线的每一输出数据分量的指令包含用于致使所 述处理器根据所述额外模式信息将来自选定处理管线的每一输出数据分量提供到 输出装置的指令。
31. 根据权利要求29所述的计算机可读媒体,其进一步包含用于致使所述处理器基于 由所述额外模式信息指定的所述第二模式将所述输出数据分量压縮成数据分量排 列的指令,且其中所述用于致使所述处理器根据所述额外模式信息将来自选定处理 管线的每一输出数据分量提供到所述输出装置的指令包含用于致使所述处理器将 所述排列中的所述数据分量提供到所述输出装置的指令。
32. 根据权利要求29所述的计算机可读媒体,其进一步包含用于致使所述处理器执行以下操作的指令在将所述输出数据分量提供到所述输出装置之前将来自所述处理管线的所述输 出数据分量存储于缓冲器中。
33. 根据权利要求28所述的计算机可读媒体,其进一步包含用于致使所述处理器基于 由所述模式信息指定的所述模式将一群组所述输入数据分量解压縮成经解压縮数 据分量的指令,且其中所述用于致使所述处理器根据所述模式信息将每一输入数据 分量提供到选定处理管线的指令包含用于致使所述处理器将所述经解压缩数据分 量提供到多个处理管线的指令。
34. 根据权利要求28所述的计算机可读媒体,其中所述输入数据分量包含像素数据分里°
35. 根据权利要求28所述的计算机可读媒体,其中所述输入数据分量包含多通道音频 数据分量。
36. 根据权利要求28所述的计算机可读媒体,其中每一模式元素包括用于所述相关联 的一个或一个以上输入数据分量的分量识别符。
37. 根据权利要求36所述的计算机可读媒体,其中每一模式元素进一步包括游程长度, 所述游程长度指定与所述模式元素相关联的所述一个或一个以上输入数据分量的 数目。
38. 根据权利要求37所述的计算机可读媒体,其中由所述模式信息指定的所述模式包 含瓦片式模式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、 垂直扫描次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至 少一者,且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序,所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
39. 根据权利要求28所述的计算机可读媒体,其进一步包含用于致使所述处理器接收 与所述模式信息结合使用以指定用于所述输入数据分量的所述模式的额外信息的 指令,且其中所述用于致使所述处理器根据所述模式信息将每一输入数据分量提供 到选定处理管线的指令包含用于致使所述处理器根据所述模式信息及所述额外信 息将每一输入数据分量提供到选定处理管线的指令。
40. 根据权利要求39所述的计算机可读媒体,其中所述用于致使所述处理器接收所述 额外信息的指令包含用于致使所述处理器从一个或一个以上寄存器接收所述额外 信息的指令。
41. 一种装置,其包含用于接收指定用于多个输入数据分量的模式的模式信息的装置,其中所述模式信 息包含各自与所述输入数据分量中的一者或一者以上相关联的多个模式元素,且其中每一输入数据分量选自由静止图像数据分量、音频数据分量及视频数据分量构成的分量群组;及用于根据所述模式信息将每一输入数据分量提供到选定处理管线的装置。
42. 根据权利要求41所述的装置,其进一步包含用于接收指定用于由多个处理管线处理的多个输出数据分量的第二模式的额外 模式信息的装置,其中所述额外模式信息包含各自与所述输出数据分量中的一者或 一者以上相关联的多个模式元素,且其中每一输出数据分量选自由静止图像数据分 量、音频数据分量及视频数据分量构成的第二分量群组;及用于根据所述额外模式信息处理来自选定处理管线的每一输出数据分量的装置。
43. 根据权利要求42所述的装置,其中所述用于根据所述额外模式信息处理来自选定 处理管线的每一输出数据分量的装置包含用于根据所述额外模式信息将来自选定 处理管线的每一输出数据分量提供到输出装置的装置。
44. 根据权利要求42所述的装置,其进一步包含用于基于由所述额外模式信息指定的 所述第二模式将所述输出数据分量压縮成数据分量排列的装置,且其中所述用于根 据所述额外模式信息将来自选定处理管线的每一输出数据分量提供到所述输出装 置的装置包含用于将所述排列中的所述数据分量提供到所述输出装置的装置。
45. 根据权利要求42所述的装置,其进一步包含用于在将所述输出数据分量提供到所述输出装置之前将来自所述处理管线的所 述输出数据分量存储于缓冲器中的装置。
46. 根据权利要求41所述的装置,其进一步包含用于基于由所述模式信息指定的所述 模式将一群组所述输入数据分量解压缩成经解压缩数据分量的装置,且其中所述用 于根据所述模式信息将每一输入数据分量提供到选定处理管线的装置包含用于将 所述经解压縮数据分量提供到多个处理管线的装置。
47. 根据权利要求41所述的装置,其中所述输入数据分量包含像素数据分量。
48. 根据权利要求41所述的装置,其中所述输入数据分量包含多通道音频数据分量。
49. 根据权利要求41所述的装置,其中每一模式元素包括用于所述相关联的一个或一 个以上输入数据分量的分量识别符。
50. 根据权利要求49所述的装置,其中每一模式元素进一步包括游程长度,所述游程 长度指定与所述模式元素相关联的所述一个或一个以上输入数据分量的数目。
51. 根据权利要求50所述的装置,其中由所述模式信息指定的所述模式包含瓦片式模 式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、垂直扫描 次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至少一者, 且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序,所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
52. 根据权利要求41所述的装置,其进一步包含用于接收与所述模式信息结合使用以 指定用于所述输入数据分量的所述模式的额外信息的装置,且其中所述用于根据所 述模式信息将每一输入数据分量提供到选定处理管线的装置包含用于根据所述模 式信息及所述额外信息将每一输入数据分量提供到选定处理管线的装置。
53. 根据权利要求52所述的装置,其中所述用于接收所述额外信息的装置包含用于从 一个或一个以上寄存器接收所述额外信息的装置。
54. —种方法,其包含接收指定用于由多个处理管线处理的多个输出数据分量的模式的模式信息,其中 所述模式信息包含各自与所述输出数据分量中的一者或一者以上相关联的多个模 式元素,且其中每一输出数据分量选自由静止图像数据分量、音频数据分量及视频 数据分量构成的分量群组;及根据所述模式信息处理来自选定处理管线的每一输出数据分量。
55. 根据权利要求54所述的方法,其中根据所述模式信息处理来自选定处理管线的每 一输出数据分量包含根据所述模式信息将来自选定处理管线的每一输出数据分量 提供到输出装置。
56. 根据权利要求54所述的方法,其进一步包含基于由所述模式信息指定的所述模式 将所述输出数据分量压縮成数据分量排列,且其中根据所述模式信息将来自选定处 理管线的每一输出数据分量提供到所述输出装置包含将所述排列中的所述数据分 量提供到所述输出装置。
57. 根据权利要求54所述的方法,其中所述输出数据分量包含像素数据分量。
58. 根据权利要求54所述的方法,其中所述输出数据分量包含多通道音频数据分量。
59. 根据权利要求54所述的方法,其中每一模式元素包括用于所述相关联的一个或一 个以上输出数据分量的分量识别符。
60. 根据权利要求59所述的方法,其中每一模式元素进一步包括游程长度,所述游程 长度指定与所述模式元素相关联的所述一个或一个以上输出数据分量的数目。
61. 根据权利要求60所述的方法,其中由所述模式信息指定的所述模式包含瓦片式模 式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、垂直扫描 次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至少一者, 且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
62. 根据权利要求54所述的方法,其进一步包含接收与所述模式信息结合使用以指定 用于由所述处理管线处理的所述输出数据分量的所述模式的额外信息,且其中根据 所述模式信息处理来自选定处理管线的每一输出数据分量包含根据所述模式信息 及所述额外信息处理来自选定处理管线的每一输出数据分量。
63. —种装置,其包含可编程处理器,其具有多个处理管线,其中所述处理器经配置以接收指定用于由所述处理管线处理的多个输出数据分 量的模式的模式信息,所述模式信息包含各自与所述输出数据分量中的一者或一者 以上相关联的多个模式元素,且每一输出数据分量选自由静止图像数据分量、音频 数据分量及视频数据分量构成的分量群组,且其中所述处理器进一步经配置以根据所述模式信息处理来自所述处理器的选定 处理管线的每一输出数据分量。
64. 根据权利要求63所述的装置,其进一步包含输出装置,其中所述处理器经配置以 根据所述模式信息将来自选定处理管线的每一输出数据分量提供到所述输出装置。
65. 根据权利要求64所述的装置,其进一步包含压縮引擎,所述压缩引擎经配置以基 于由所述模式信息指定的所述模式将所述输出数据分量压縮成数据分量排列且将 所述排列中的所述数据分量提供到所述输出装置。
66. 根据权利要求63所述的装置,其中所述输出数据分量包含像素数据分量。
67. 根据权利要求63所述的装置,其中所述输出数据分量包含多通道音频数据分量。
68. 根据权利要求63所述的装置,其中每一模式元素包括用于所述相关联的一个或一 个以上输出数据分量的分量识别符。
69. 根据权利要求68所述的装置,其中每一模式元素进一步包括游程长度,所述游程 长度指定与所述模式元素相关联的所述一个或一个以上输出数据分量的数目。
70. 根据权利要求69所述的装置,其中由所述模式信息指定的所述模式包含瓦片式模 式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、垂直扫描 次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至少一者, 且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
71. 根据权利要求63所述的装置,其中所述处理器进一步经配置以接收与所述模式信 息结合使用以指定用于由所述处理管线处理的所述输出数据分量的所述模式的额 外信息,且其中所述处理器经配置以根据所述模式信息及所述额外信息处理来自选 定处理管线的每一输出数据分量。
72. 根据权利要求63所述的装置,其中所述装置包含无线通信装置手持机。
73. 根据权利要求63所述的装置,其中所述装置包含一个或一个以上集成电路装置。
74. —种计算机可读媒体,其包含用于致使可编程处理器执行以下操作的指令接收指定用于由多个处理管线处理的多个输出数据分量的模式的模式信息,其中 所述模式信息包含各自与所述输出数据分量中的一者或一者以上相关联的多个模 式元素,且其中每一输出数据分量选自由静止图像数据分量、音频数据分量及视频 数据分量构成的分量群组;及根据所述模式信息处理来自选定处理管线的每一输出数据分量。
75. 根据权利要求74所述的计算机可读媒体,其中所述用于致使所述处理器根据所述 模式信息处理来自选定处理管线的每一输出数据分量的指令包含用于致使所述处 理器根据所述模式信息将来自选定处理管线的每一输出数据分量提供到输出装置 的指令。
76. 根据权利要求74所述的计算机可读媒体,其进一步包含用于致使所述处理器基于 由所述模式信息指定的所述模式将所述输出数据分量压縮成数据分量排列的指令, 且其中所述用于致使所述处理器根据所述模式信息将来自选定处理管线的每一输 出数据分量提供到所述输出装置的指令包含用于致使所述处理器将所述排列中的 所述数据分量提供到所述输出装置的指令。
77. 根据权利要求74所述的计算机可读媒体,其中所述输出数据分量包含像素数据分里。
78. 根据权利要求74所述的计算机可读媒体,其中所述输出数据分量包含多通道音频数据分量。
79. 根据权利要求74所述的计算机可读媒体,其中每一模式元素包括用于所述相关联 的一个或一个以上输出数据分量的分量识别符。
80. 根据权利要求79所述的计算机可读媒体,其中每一模式元素进一步包括游程长度, 所述游程长度指定与所述模式元素相关联的所述一个或一个以上输出数据分量的 数目。
81. 根据权利要求80所述的计算机可读媒体,其中由所述模式信息指定的所述模式包 含瓦片式模式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、 垂直扫描次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至 少一者,且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
82. 根据权利要求74所述的计算机可读媒体,其进一步包含用于致使所述处理器接收 与所述模式信息结合使用以指定用于由所述处理管线处理的所述输出数据分量的 所述模式的额外信息的指令,且其中所述用于致使所述处理器根据所述模式信息处 理来自选定处理管线的每一输出数据分量的指令包含用于致使所述处理器根据所 述模式信息及所述额外信息处理来自选定处理管线的每一输出数据分量的指令。
83. —种装置,其包含用于接收指定用于由多个处理管线处理的多个输出数据分量的模式的模式信息 的装置,其中所述模式信息包含各自与所述输出数据分量中的一者或一者以上相关 联的多个模式元素,且其中每一输出数据分量选自由静止图像数据分量、音频数据分量及视频数据分量构成的分量群组;及用于根据所述模式信息处理来自选定处理管线的每一输出数据分量的装置。
84. 根据权利要求83所述的装置,其中所述用于根据所述模式信息处理来自选定处理 管线的每一输出数据分量的装置包含用于根据所述模式信息将来自选定处理管线 的每一输出数据分量提供到输出装置的装置。
85. 根据权利要求83所述的装置,其进一步包含用于基于由所述模式信息指定的所述 模式将所述输出数据分量压縮成数据分量排列的装置,且其中所述用于根据所述模 式信息将来自选定处理管线的每一输出数据分量提供到所述输出装置的装置包含 用于将所述排列中的所述数据分量提供到所述输出装置的装置。
86. 根据权利要求83所述的装置,其中所述输出数据分量包含像素数据分量。
87. 根据权利要求83所述的装置,其中所述输出数据分量包含多通道音频数据分量。
88. 根据权利要求83所述的装置,其中每一模式元素包括用于所述相关联的一个或一 个以上输出数据分量的分量识别符。
89. 根据权利要求88所述的装置,其中每一模式元素进一步包括游程长度,所述游程 长度指定与所述模式元素相关联的所述一个或一个以上输出数据分量的数目。
90. 根据权利要求89所述的装置,其中由所述模式信息指定的所述模式包含瓦片式模 式,其中所述模式信息的每一模式元素进一步包括小块高度、小块宽度、垂直扫描 次序、水平扫描次序、每像素位值、垂直子取样值及水平子取样值中的至少一者, 且其中所述小块高度指定所述瓦片式模式的块高度, 所述小块宽度指定所述瓦片式模式的块宽度,所述垂直扫描次序指定垂直方向上用于所述瓦片式模式的块扫描次序, 所述水平扫描次序指定水平方向上用于所述瓦片式模式的块扫描次序, 所述每像素位值指定每像素的位的数目,所述垂直子取样值指定垂直方向上用于所述瓦片式模式的块子取样值,且 所述水平子取样值指定水平方向上用于所述瓦片式模式的块子取样值。
91.根据权利要求83所述的装置,其进一步包含用于接收与所述模式信息结合使用以 指定用于由所述处理管线处理的所述输出数据分量的所述模式的额外信息的装置, 且其中所述用于根据所述模式信息处理来自选定处理管线的每一输出数据分量的 装置包含用于根据所述模式信息及所述额外信息处理来自选定处理管线的每一输 出数据分量的装置。
全文摘要
一般来说,本发明描述用于对数据通道信息进行基于可编程模式的解压缩及压缩的各种技术,所述数据通道信息包括静止图像、视频及音频分量数据。一种实例性装置包含具有多个处理管线的可编程处理器。所述处理器经配置以接收指定用于多个输入数据分量的模式的模式信息,所述模式信息包含各自与所述输入数据分量中的一者或一者以上相关联的多个模式元素,且每一输入数据分量选自由静止图像数据分量、音频数据分量及视频数据分量构成的分量群组。举例来说,所述输入数据分量可包含像素数据分量,例如色彩通道。所述处理器进一步经配置以根据所述模式信息将每一输入数据分量提供到所述处理器的选定处理管线。
文档编号H04N9/64GK101606392SQ200880004281
公开日2009年12月16日 申请日期2008年2月8日 优先权日2007年2月9日
发明者斯蒂文·托德·韦布鲁 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1