调整数据阵列的方法和装置与流程

文档序号:12183517阅读:224来源:国知局
调整数据阵列的方法和装置与流程

本发明涉及调整(scale)数据阵列的方法和装置。具体地,本发明涉及数据处理系统中调整图像数据的阵列的方法和装置。



背景技术:

数据阵列将包括数据位置的阵列,各数据位置具有关联的数据值,并且在各维度(例如,在水平和垂直方向)上具有与阵列在各维度上的分辨率对应的给定数量的数据位置。例如,图像可以包括采样位置(例如,像素)的二维阵列,各采样位置具有关联的一组颜色值(例如,RGB或RGBα)。

对数据阵列执行调整,以改变数据阵列的水平和/或垂直尺寸,例如以改变图像的分辨率。已知包括硬件方法的若干不同的调整方法。这些方法在复杂度、存储器(RAM)要求以及它们的结果图像质量方面不同。

一些方法每次仅使用来自数据阵列的单个输入行的采样位置(例如,像素)的数据来计算用于单个输出采样位置的数据,例如,最近邻法。然而,使用这种方法由输出数据阵列产生的经调整的图像的图像质量通常较差。

较复杂的方法每次使用来自数据阵列的多个输入行的采样位置来计算各输出采样位置,例如,双线性法每次使用来自两个输入行的采样位置,双三次(bicubic)法每次使用来自四个输入行的采样位置。本系统中最频繁使用的方法是多相滤波,多相滤波根据滤波器中使用的抽头的数量每次使用例如6或个8输入行。

调整装置,诸如传统上用于硬件解决方案的图像调整器,可以具有图1中所示的两个架构中的一个。各架构包括两个调整级(水平调整级和垂直调整级),各级用于沿相应方向执行适当的调整操作。

当要在垂直调整级中调整数据阵列时,首先将各水平行数据写到行存储器,然后随着从行存储器读取数据而处理数据。由此,图1中所示的两个架构中的每一个需要用于存储要在垂直调整级中处理的数据阵列的水平输入行的一个或更多个行存储器。为了使调整装置支持水平方向上的多达HS个采样点(例如,图像在水平方向上的HS个像素)的最大水平分辨率的水平调整,需要各行存储器能够存储与最大水平分辨率对应的同等数量的数据条目,即,各行存储器必须能够存储HS个数据条目。

在示例(a)的情况下,输入图像数据在水平调整级中被放大(upscale)至最大水平分辨率HS。然后经水平放大的图像数据每次以预订数量的水平行写到要在垂直调整级读取的行存储器中。为了使各行存储器容纳完整水平行的经放大的图像数据,各行存储器必须能够存储至少HS个数据条目。每次要读取的水平行的数量依赖于所用的垂直调整方法。例如,如果使用6抽头多相滤波法,那么垂直调整级每次需要6个输入行,因此需要6个行存储器。

在示例(b)的情况下,输入图像数据将在水平调整级中从最大水平分辨率HS缩小(downscale)。然而,为了支持垂直调整级,再次需要各行存储器能够存储用于要在垂直调整级中读取的数据阵列的各输入行的HS个数据条目。

如图1中的示例所示,在传统图像调整器中,不管它们的架构如何,经常需要各行存储器能够处理若干数据条目,该若干数据条目的数量等于与图像调整器支持的最大水平分辨率对应的采样点数量。



技术实现要素:

期望提供调整数据阵列的改进方法和装置。

由此,根据本发明的第一方面,提供了一种调整数据阵列的方法,该方法包括以下步骤:

对输入数据阵列选择性地执行第一水平调整,以沿水平方向调整所述数据阵列;

将所述数据阵列的水平行数据存储在一个或更多个行存储器中,其中,所述行存储器或各行存储器用于存储用于所述数据阵列的水平行数据;

从所述一个或更多个行存储器读取所存储的数据并对所读取的数据执行垂直调整,以沿垂直方向调整所述数据;并且

对经垂直调整的数据阵列选择性地执行第二水平调整,以沿水平方向调整所述数据;并且

将输出数据阵列输出。

根据本发明的另一个方面,提供了一种调整数据阵列的调整装置,该调整装置包括:

第一水平调整级,该第一水平调整级可操作为沿水平方向调整输入到所述调整装置的数据阵列;

一个或更多个行存储器,该一个或更多个行存储器用于存储用于数据阵列的水平行,其中,所述行存储器或各行存储器用于存储用于所述数据阵列的水平行数据;

垂直调整级,该垂直调整级可操作为读取在所述一个或更多个行存储器中所存储的数据并沿垂直方向调整所读取数据;

第二水平调整级,该第二水平调整级可操作为沿水平方向调整要由调整装置输出的数据阵列;以及

输出级,该输出级可操作为将输出数据阵列输出。

在本发明的调整装置中,在调整装置中设置有进一步的水平调整级。两个水平调整级中的一个可以设置在垂直调整级之前,并且两个水平调整级中的另一个可以设置在垂直调整级之后。两个水平调整级可以实施为两个单独的水平调整硬件模块。另选地,可以设置单个水平调整模块,并且第一水平调整级和第二水平调整级可以通过以下方式来执行:单个水平调整模块执行第一水平调整,垂直调整模块执行垂直调整然后将经垂直调整的数据阵列发送回该单个水平调整模块以允许该单个水平调整模块执行第二水平调整。两个水平调整级中的每个可以被选择性地启动或启用以放大或缩小数据阵列,并且可以被选择性地停止或停用,以允许在没有调整的情况下传递数据阵列。该结构使得能够减小各行存储器的尺寸,从而减小行存储器(RAM)的整体面积。

申请人已经意识到由行存储器(RAM)占用的面积远远大于调整装置的整个处理逻辑(例如,调整级)。由此,设置附加水平调整级引起的RAM面积的减小强过附加水平调整级所需的附加逻辑引起的面积增大。RAM面积的减小还得以降低调整装置的功耗,特别是在仅启用水平调整级中的一个的情况下。即使在启用水平调整级中的超过一个水平调整级的情况下,由于RAM存储器面积减小消耗较少的功耗,仍然可以存在功耗节省。

可以根据期望启用或停用第一水平调整级。然而,在优选实施方式中,优选地执行(启用)第一水平调整,以在数据阵列的水平尺寸大于行存储器的尺寸时沿水平方向缩小数据阵列。

可以根据期望启用或停用第二水平调整级。然而,在优选实施方式中,优选地执行(启用)第二水平调整,以在要由调整装置输出的数据阵列的水平尺寸大于行存储器的尺寸时沿水平方向放大经垂直调整的数据阵列。

在特别优选的实施方式中,在数据阵列的水平尺寸小于或等于行存储器的尺寸时省略(停用)第一水平调整。在这种情况下,绕开了第一水平调整级。

在特别优选的实施方式中,在要由调整装置输出的数据阵列的水平尺寸小于或等于行存储器的尺寸时省略(停用)第二水平调整。在这种情况下,绕开了第二水平调整级。

根据优选实施方式,当输入到调整装置的数据阵列的水平尺寸(例如,图像的水平分辨率)超过行存储器的尺寸时,可以在第一水平调整级中沿水平方向缩小输入数据阵列,使得行存储器可以容纳缩小的数据阵列。输入数据阵列优选地被水平缩小为与行存储器的尺寸相同的尺寸。然而,如果期望,则输入数据阵列可以被水平缩小至小于行存储器的尺寸。

根据优选实施方式,当要由调整装置输出的数据阵列的水平尺寸(例如,图像的水平分辨率)超过行存储器的尺寸时,可以在第二水平调整级中放大从垂直调整级输出的数据阵列,使得仅在不再需要行存储器时放大数据阵列。

根据特别优选的实施方式,当输入数据阵列的水平尺寸小于或等于行存储器的尺寸时,可以省略第一水平调整级,使得允许输入数据阵列在不被调整的情况下绕开第一水平调整级。而且,当要由调整装置输出的数据阵列的水平尺寸小于或等于行存储器的尺寸时,可以省略第二水平调整级,使得允许输入图像数据在不被调整的情况下绕开第二水平调整级。因此,可以在这种情况下降低整个功耗。

在一些实施方式中,可以启用(执行)第一水平调整级和第二水平调整级这两者。例如,水平方向上的数据阵列的缩小(或放大)可以划分为两个(或更多个)级,并且第一水平调整级和第二水平调整级中的每个执行缩小(或放大)的一部分。另选地,可以在第一水平调整级对数据阵列执行水平方向上的缩小,例如以减小输入数据阵列的水平尺寸,以可与行存储器的尺寸兼容,并且随后可以在第二水平调整级中对从垂直调整级输出的数据阵列执行水平方向上的放大,以增大要由调整装置输出的数据阵列的水平尺寸,例如,以将数据阵列恢复至原始水平尺寸。

在一些实施方式中,若是经放大的数据阵列的水平尺寸小于或等于行存储器的尺寸,则可以在第一水平调整级中执行水平放大,以增大数据阵列的水平尺寸。类似地,若是要输入到垂直调整级的数据阵列具有小于或等于行存储器的尺寸的水平尺寸,则可以在第二水平调整级(而不是第一水平调整级)中执行水平缩小,以减小数据阵列的水平尺寸。

根据本发明的另外方面,提供了一种调整数据阵列的方法,该方法包括以下步骤:

对输入数据阵列执行第一水平调整,以沿水平方向调整所述数据阵列;

将经水平调整的数据阵列存储或写入一个或更多个行存储器中,其中,所述行存储器或各行存储器用于存储所述数据阵列的水平行数据;

从所述一个或更多个行存储器读取数据阵列并对所读取的数据阵列执行垂直调整,以沿垂直方向调整所述数据阵列;并且

对经垂直调整的数据阵列执行第二水平调整,以沿水平方向调整所述数据阵列,并且将输出数据阵列输出。

在实施方式中,当输入到调整装置的数据阵列的水平尺寸大于行存储器的尺寸时,优选地在垂直调整级之前执行第一水平调整,以缩小输入数据阵列,使得行存储器能够容纳数据阵列的水平行数据。当要由调整装置输出的数据阵列的水平尺寸大于行存储器的尺寸时,优选地在垂直调整级之后执行第二水平调整,以放大要由调整装置输出的数据阵列的水平尺寸。

根据该实施方式,通过首先在垂直调整级之前水平缩小输入数据阵列并且然后在垂直调整级之后水平放大数据阵列,可以在垂直调整级之前根据期望调节数据阵列的水平尺寸,从而即使在输入数据阵列和输出数据阵列具有比行存储器大的水平尺寸(例如,图像水平方向上的更大数量的像素)时,也允许将各行存储器的尺寸减小到小于调整装置支持的最大水平尺寸的尺寸。

行存储器可以根据期望被设置为具有任意尺寸,但根据优选实施方式,各行存储器的尺寸小于调整装置支持的最大水平分辨率。在优选实施方式中,各行存储器的尺寸被设置为使得行存储器能够存储的(最大)数量的数据位置对应于由调整装置支持的水平方向上的最大数量的数据位置(例如,采样位置)中的一部分。

在这一点上,申请人已经意识到通过将各行存储器可以存储数据的若干数据位置减少到最大支持数量的水平数据位置(采样位置)的较小部分,还可以减小行存储器的面积。然而,如果各行存储器的尺寸过小,则产生的经调整的数据阵列的质量(例如,产生图像的图像质量)可能受影响。由此,在特别优选的实施方式中,各行存储器可以存储的数据位置的(最大)数量被设置为水平方向上的数据位置的最大支持数量的一半。

在调整装置中可以设置任何合适且期望数量的行存储器。所用行存储器的数量将要并且优选地的确依赖于由调整装置使用或可以使用的垂直调整方法。由此,优选地存在(至少)与可以输入到垂直调整操作的给定迭代所需的水平行的数量一样的行存储器。由此,例如,在垂直调整操作使用多相滤波的情况下,调整装置优选地具有与由多相滤波器使用的抽头的数量一样多的行存储器(并且优选地具有与多相滤波器使用的抽头的数量对应的数量的行存储器(并且仅该数量的行存储器))。由此,在优选实施方式中,有六个或八个行存储器。

想到了进一步的实施方式,其中超过两个水平调整级设置到根据本发明的调整装置中。进一步的水平调整级可以设置在垂直调整级之前或之后,并且可以设置为单独的(硬件)水平调整模块或通过使数据阵列穿过同一单个水平调整模块以在各水平调整级进行水平调整来实施。如果期望,则还可以设置另外的垂直调整级。

根据期望,水平调整和垂直调整可以使用任意调整方法来执行。水平调整方法不必与垂直调整方法相同,并且第一水平调整级不必使用与第二水平调整级相同的调整方法。在优选实施方式中,垂直调整和水平调整(并且优选地为全部水平调整级)中的至少一个并且优选地为这两者使用多相滤波来执行。如上所讨论的,调整装置中行存储器的数量对应于由垂直调整多相滤波器使用的抽头的数量。(水平调整方法不影响行存储器的数量。)

本发明可以在执行调整(诸如图像调整)的任意期望且合适的硬件产品(例如,显示处理器、GPU或视频处理器)中实施。在特别优选的实施方式中,本发明在显示处理器中实施。在显示处理器中,图像调整器可以使用6抽头多相滤波器,其需要六个行存储器,以实现高质量的结果。因此,因为面积节省可以是显著的,所以本发明在这种情况下是特别有利的。

本发明可以在任意期望且合适的数据处理系统中实施,数据处理系统可操作为生成具有多个数据位置的数据阵列,诸如要显示的帧。

实施本发明的数据处理系统可以含有任意期望、适当且合适的元件和部件。由此,该数据处理系统可以且优选地是含有以下中的一个或更多个:CPU、GPU、视频处理器(视频引擎/编码器-解码器)、合成引擎、图像处理器、显示控制器、照相机ISP以及用于存储各种数据阵列(例如,帧)以及需要的其他数据的适当存储器。

这里所述的发明可以在任意适当的系统中实施,诸如基于适当构造的微处理器的系统。在一些实施方式中,本发明在计算机和/或基于微处理器的系统中实施。

本发明的各种功能可以以任意期望且合适的方式执行。例如,本发明的功能可以在硬件或软件中实施(根据期望)。由此,例如,本发明的各种功能元件和“装置”可以包括合适的处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等,它们可操作以执行各种功能等,诸如适当专用硬件元件(处理电路)和/或可以被编程以以期望方式操作的的可编程硬件元件(处理电路)。

这里还应当注意的是,如本领域技术人员将理解的,本发明的各种功能等可以在给定处理器上重复和/或并行执行。等同地,各种处理级可以共享处理电路等(如果期望)。

本发明可适用于任何合适形式或构造的图形/视频处理器和渲染器,诸如具有“流水线式”渲染结构的处理器(在这种情况下,渲染器将为渲染流水线的形式)。本发明特别适用于基于块的图形处理器、图形处理系统、视频处理器、视频处理系统、合成引擎以及合成显示控制器。

本领域技术人员还将理解,本发明的所述实施方式中的全部可以酌情包括这里所述的优选和可选特征中的任意一个或更多个或全部。

根据本发明的方法至少部分地可以使用软件(例如,计算机程序)实现。由此将看到当从另外实施方式看时,这里所述技术提供计算机软件,该计算机软件当安装在数据处理装置上时专门适用于执行这里描述的方法;计算机程序元件,该计算机程序元件包括计算机软件代码部,用于在程序元件在数据处理装置上运行时执行这里描述的方法;和计算机程序,该计算机程序包括代码装置,该代码装置当程序在数据处理系统上运行时适用于执行这里描述的方法的所有步骤。数据处理器可以是微处理器系统、可编程FPGA(场可编程门阵列)等。

本发明还扩展到计算机软件载体,该计算机软件载体包括这种软件,这种软件当用于操作图形处理器、渲染器或包括数据处理装置的微处理器系统时与所述数据处理装置结合使所述处理器、渲染器系统执行这里所述技术的方法的步骤。这种计算机软件载体可以是物理存储介质,诸如ROM芯片、CD ROM、RAM、闪速存储器或盘,或可以是信号,诸如导线上的电信号、光信号或无线电信号,诸如卫星等。

还将进一步理解的是,不是本发明的方法的所有步骤都需要由计算机软件执行,并且由此根据更宽实施方式,本发明提供了计算机软件并且这种软件安装在计算机软件载体上,用于执行这里阐述的方法的步骤中的至少一个。

本发明可以因此适当地具体实施为用于与计算机系统一起使用的计算机程序产品。这种实现可以包括一系列计算机可读指令,该一系列计算机可读指令固定在有形、永久介质上,诸如计算机可读介质,例如,磁盘、CD-ROM、ROM、RAM、闪速存储器或硬盘。还可以包括一系列计算机可读指令,在有形介质(包括但不限于,光学或模拟通信线)上,或无形地使用无线技术(包括但不限于,微波、红外或其他传输技术),这些指令经由调制解调器或其他接口装置可发送到计算机系统。该系列计算机可读指令具体实施这里之前描述的功能的所有或一部分。

本领域技术人员将理解这种计算机可读指令可以以多种编程语言来写,用于与许多计算机架构或操作系统一起使用。进一步地,这种指令可以使用任意存储技术来存储(存储技术现在或将来包括但不限于半导体、磁或光),或使用任意通信技术来发送(通信技术现在或将来包括但不限于光学、红外或微波)。预期的是,这种计算机程序产品可以作为可去除介质来分发,附有已打印的文档或电子文档,例如,现成软件;例如在系统ROM或固定盘上预加载有计算机系统;或在网络(例如,因特网或万维网)上从服务器或电子公告栏分发。

附图说明

现在将仅以示例的方式并参照附图来描述本发明的多个优选实施方式,附图中:

图1示出了用于传统调整装置中的两种类型的架构;

图2示出了数据处理系统的示例;

图3示出了根据本发明的实施方式的调整装置;

图4示出了图3的调整装置的三个不同的操作构造;以及

图5示意性示出了根据本发明的实施方式的显示处理器。

在适当的情况下,在整个附图,类似附图标记用于类似部件。

具体实施方式

根据本发明的实施方式,调整装置(诸如图像调整器)可以设置到数据处理系统,诸如图2中所示的示例性数据处理系统。数据处理系统包括中央处理单元(CPU)7、图形处理单元(GPU)2、视频编解码器1、合成引擎4、显示控制器5以及存储器控制器8。如图2所示,这些经由互联器9通信且可以使用片外主存储器3。合成引擎4根据一个或更多个输入面(例如由GPU 2和/或视频编解码器1生成的)来生成经合成的输出帧,然后经合成的输出帧经由存储器控制器8存储在片外存储器3中的帧缓冲器中。显示控制器5然后经由存储器控制器8从片外存储器3中的帧缓冲器读取合成的输出帧,并且将该帧发送到显示器以显示。在实施方式中,调整装置可以设置在视频编解码器1、GPU 2、合成引擎4、显示控制器5和/或CPU 7中的一个或更多个中,或者可以设置为数据处理系统的单独模块以由数据处理系统的一个或更多个单元共享。

图3示意性示出了根据本发明的实施方式的调整装置30。调整装置30包括第一水平调整器31、多个行存储器32、垂直调整器33以及第二水平调整器34。与图1中所示的传统调整装置相比,可以看出,调整装置30至少通过包括进一步的水平调整器而不同。

根据实施方式,输入到调整装置30的数据阵列,诸如图像数据,可以首先由第一水平调整器31沿水平方向调整(放大或缩小)。然后,经调整的数据阵列被写到多个行存储器32,然后由垂直调整器33读取并沿垂直方向调整(放大或缩小)。经垂直调整的图像数据传递到第二水平调整器34,数据阵列在由调整装置30输出之前可以被第二水平调整器34调整(放大或缩小)。

设置到调整装置30的行存储器32的数量由垂直调整级使用的调整方法来确定。在例如使用6抽头多相滤波器的实施方式中,需要六个行存储器。

在优选实施方式中,各行存储器32能够存储与调整装置支持(可以由调整装置处理)的最大尺寸的数据阵列的水平方向上的数据位置(采样点)数量一半对应的若干数据位置(的数据)(数据条目)(即,使得如果调整装置支持的最大尺寸数据阵列的在水平方向上的采样点的数量为HS,则各行存储器将能够存储HS/2个采样点(的数据))。

换言之,本发明的调整装置可以支持并调整多达行存储器32的水平尺寸两倍的数据阵列(图像)。这与传统调整装置形成对照,在传统调整装置中,各行存储器存储与调整装置支持的最大尺寸数据阵列的在水平方向上的数据位置的数量对应的若干数据条目。(例如,对于支持具有4096个像素最大分辨率的图像的传统图像调整器,需要图像调整器的各行存储器能够存储对应于4096个像素的若干数据条目。)

作为具有附加水平调整级的结果,可以减小多个行存储器32中的每个的尺寸。各行存储器尺寸的减小通过以下来实现:在输入数据阵列具有超过行存储器的容量的水平尺寸时,由第一水平调整器31水平减小输入数据阵列,和/或在输出数据阵列将要具有超过行存储器的容量的水平分辨率时,由第二水平调整器34水平放大要由调整装置30输出的数据阵列。在这样做时,可以确保要写到各行存储器32的数据阵列的水平行数据具有可与各行存储器32的尺寸兼容的尺寸。申请人尤其已经发现,将各行存储器的尺寸从能够存储与调整装置支持的最大尺寸数据阵列的在水平方向上的采样点的最大数量对应的数据条目的数量(HS个)到在水平方向上的采样点的最大数量的一半(HS/2个)的减半可以在不显著影响输出图像数据的图像质量的情况下实现(但如果期望,则可以使用其他尺寸的行存储器)。

在不同的操作构造中可以独立启用或停用调整装置30的第一水平调整器31和第二水平调整器34。图4示出了调整装置30的不同操作构造。在构造(a)中,启用(启动)调整装置30的第一水平调整器31,使得输入到调整装置30的数据阵列在被写到多个行存储器32之前首先由第一水平调整器31水平调整。然后,垂直调整器33从多个行存储器32读取数据阵列的各水平行数据并对所读取数据执行垂直调整。在该构造中,停用(停止)了第二水平调整器34,因此垂直调整的数据阵列绕开第二水平调整器34并由调整装置30输出。该构造特别适于输入数据阵列具有大于HS/2(即,行存储器32的容量)的水平尺寸但要由调整装置30输出的数据阵列的水平尺寸小于或等于HS/2的情况,在这种情况下,输入数据阵列在被写到多个行存储器32之前首先缩小到期望水平尺寸。

在构造(b)中,停用(停止)了调整装置30的第一水平调整器31,使得输入调整装置30的数据阵列绕开第一水平调整器31并在不被调整的情况下写到多个行存储器32。然后,垂直调整器33从多个行存储器32读取数据阵列的水平行并对所读取数据执行垂直调整。在该构造中,启用(启动)第二水平调整器34,因此经垂直调整的数据阵列在被由调整装置30输出之前由第二水平调整器34水平调整。该构造特别适于输入数据阵列具有小于等于HS/2(即,行存储器32的容量)的水平尺寸但要由调整装置30输出的数据阵列的水平尺寸大于HS/2的情况,在这种情况下,仅在完成垂直调整级之后将要输出的数据阵列放大至期望分辨率。

在构造(c)中,启用(启动)了调整装置30的第一水平调整器31和第二水平调整器34这两者。输入到调整装置30的数据阵列在被写到多个行存储器32之前首先由第一水平调整器31调整。然后,垂直调整器33从多个行存储器32读取数据并对所读取数据执行垂直调整。然后,经垂直调整的数据阵列在由调整装置30输出之前由第二水平调整器34调整。该构造特别适于输入数据阵列具有超过HS/2(行存储器32的容量)的水平尺寸并且要由调整装置30输出的数据阵列的水平尺寸也大约HS/2的情况,在该情况下,输入数据阵列的水平尺寸首先由第一水平调整器31缩小到HS/2(或更小),然后数据阵列的水平尺寸在经垂直调整之后在输出之前被再次放大至期望分辨率。

作为数据阵列被首先水平缩小然后放大的结果,可能存在结果数据质量的轻微下降。然而,该构造仅用于从高水平分辨率到高水平分辨率调整时的非常特定的情况下,并且已经发现质量的任意下降在实践中是可接受的。

可以根据要执行的调整的类型以及由调整操作需要的输入分辨率和输出分辨率来选择不同的构造,以使用。下面描述五个示例性情况。

在第一示例性情况下,输入到调整装置30的数据阵列要沿水平方向从小于或等于HS/2的输入水平尺寸缩小到也小于或等于HS/2的输出水平尺寸。在这种情况下,缩小可以由第一水平调整器31或第二水平调整器34二者之一(即,构造(a)或构造(b)二者之一)来执行。然而,当使用构造(a)时,首先缩小数据阵列,因此需要由垂直调整器处理较少的数据,因此降低了调整装置30的整体功耗。

在第二示例性情况下,输入到调整装置30的数据阵列要沿水平方向从小于或等于HS/2的输入水平尺寸放大到还是小于或等于HS/2的输出水平尺寸。在这种情况下,放大可以由第一水平调整器31或第二水平调整器34二者之一(即,构造(a)或构造(b)二者之一)来执行。然而,当使用构造(b)时,在放大数据阵列之前需要由垂直调整器处理较少的数据,因此降低了调整装置30的整体功耗。

在第三示例性情况下,输入到调整装置30的数据阵列要沿水平方向从小于或等于HS/2的输入水平尺寸放大到大于HS/2的输出水平尺寸。在这种情况下,使用构造(b),因此放大在垂直调整级之后执行,在这种情况下,多个行存储器32具有存储要垂直调整的数据阵列的各水平行数据的足够容量。

在第四示例性情况下,输入到调整装置30的数据阵列要沿水平方向从大于HS/2的输入水平尺寸缩小到小于或等于HS/2的输出水平尺寸。在这种情况下,使用构造(a),因此缩小在垂直调整级之前执行,在这种情况下,多个行存储器32具有存储要垂直调整的数据阵列的各水平行数据的足够容量。

在第五示例性情况下,输入到调整装置30的数据阵列要沿水平方向从大于HS/2的输入水平尺寸放大或缩小到也大于HS/2的输出水平尺寸。在这种情况下,使用启用了第一水平调整器31和第二水平调整器34这两者的构造(c)。第一水平调整器31首先将数据阵列的各行水平缩小至等于(或小于)HS/2的水平尺寸。然后可以使数据阵列的各行存储在多个行存储器32中,并且使垂直调整器33执行垂直调整。然后,经垂直调整的图像数据由第二水平调整器34水平放大至期望的水平尺寸,其可以是或可以不是与输入数据阵列相同的水平尺寸。

如可以在上述示例中看出的,根据本发明的经修改的调整装置和方法使得各行存储器能够减小尺寸。因此,可以缩小调整装置的整体面积且降低调整装置的功耗。

下面的表1中总结了五个示例性情况:

表1

根据本发明的实施方式,调整装置30可以设置到或集成在数据处理系统(诸如图2中所示的数据处理系统)的一个或更多个单元中。例如,调整装置30可以设置在视频编解码器1、GPU 2、合成引擎4、显示控制器5和/或CPU 7,或者一个(或更多个)调整装置可以设置到数据处理系统以由一个或更多个处理单元共享。

图5示出了多个调整装置设置在显示处理器50中的实施方式。

显示处理器50包括存储器读出子系统51,该存储器读出子系统51经由AXI读出接口读取图像数据,并且向第一处理单元52输出视频1层通道数据,向第二处理单元53输出视频2层通道数据,向第三处理单元54输出图形层通道数据且向处理单元55输出智能层通道数据以处理。在实施方式中,处理单元52、53以及54中的每个设置有上述调整装置30形式的图像调整器。然而,应注意,不必使单元52、53以及54中的每个具有单独的图像调整器。到单元52、53以及54的数据输入由各单元来处理,并且在适当情况下由如上所述的各图像调整器来调整。

在视频1层通道数据、视频2层通道数据、图形层通道数据以及智能层通道数据由各单元52、53、54以及55处理之后,经处理的数据发送到合成单元56以合成,且发送到存储器写入子系统59以经由AXI写入接口写到外部存储器。经合成的数据由合成单元56输出到例如上述调整装置30形式的图像调整器57以在适当情况下调整。由图像调整器57输出的图像数据由存储器写入子系统59经由AXI写入接口写到外部存储器,并且发送给显示输出通道58以经由显示输出接口输出以显示。

应注意,图5中示出多个图像调整器,以例示图像调整器可以设置在显示处理器中的可能位置。然而,将理解,不必将图像调整器设置到显示处理器的各个或超过一个单元处。例如,可以设置共用图像调整器,其可由显示处理器中的一个或更多个单元共享。

根据实施方式,通过设置附加水平调整器(或附加水平调整级)来修改调整装置的架构,允许减小调整装置的一个或更多个行存储器尺寸。减小一个或更多个行存储器的尺寸引起的面积减小通常超过设置附加水平调整级所需的附加处理逻辑引起的尺寸增大。因此,可以实现图像调整器面积的整体减小。因为预期由调整装置的垂直调整器处理较少的数据,所以还可以降低调整装置的整体功耗。

下面表2中例示了面积减小的示例,该表2示出了具有传统架构(单个水平调整级)的图像调整器与具有根据实施方式的架构的图像调整器之间的估计比较。示例基于具有最大水平分辨率(水平方向上的最大图像尺寸)4096个像素的ARM MALI-DP550显示处理器的实施结果,并且假定在各图像调整器中使用了六个行存储器。

表2

从表2可以看出,至少根据本发明的实施方式,与传统架构相比,图像调整器的总面积可以减小大约30%。

作为行存储器面积减小的结果,还可以降低图像调整器的功耗(因为行存储器消耗较少的功率)。具体地,因为与传统架构中相同,相同量的逻辑(单个水平调整级和单个垂直调整级)消耗相同量的功率,但RAM(行)存储器的整体面积减小了一半,所以可以在根据本发明的图像调整器在图4的构造(a)或(b)中起作用时显著降低功耗。对于构造(c),由行存储器消耗的功率减小的一部分将由附加水平调整级所需的功率抵消。

如将从上述理解的,与已知传统图像调整器架构相比,本发明至少在其优选实施方式中能够设置用于减小在调整所述图像数据(例如以提供该数据以显示)时图像调整器中所需的行存储器(RAM)的尺寸的架构。因此,可以例如处理图像或视频内容时减小图像调整器的整体面积并降低功耗。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1