视频处理系统的制作方法

文档序号:12479171阅读:269来源:国知局
视频处理系统的制作方法与工艺

本发明涉及视频数据的处理,更具体地,本发明涉及处理视频数据的帧的方法和装置。



背景技术:

在针对视频处理系统的领域中已知的是,生成通常供给电子显示器的视频数据帧。视频帧通常被表示为表示图像的像素(像元)的矩形阵列,其中,要用于各个像素的颜色值利用适当的颜色空间(例如,RGB颜色空间)来表示。

为大量视频帧存储像素数据需要大量存储器。因此,已经开发了许多视频编码方法,以允许按压缩形式来存储表示视频帧的像素数据。

根据许多这种视频编码方法,一系列视频帧中的帧被相对于所谓的“基准帧”(针对该帧,存储了全分辨率像素数据,并且不是参照另一帧限定的)有差别地编码(即,从它们的差别方面)。通常,一系列视频帧中的多个帧关于单个基准帧相对地限定,并且这种安排在该系列视频帧上加以重复。

一种这样的视频编码方法使用所谓的“运动估计”,其中,特定帧被划分成例如16×16像素的多个块,并且利用指向基准帧中的对应像素块的矢量值(所谓的“运动矢量”)和描述当前帧像素块与基准帧中的对应像素块之间的差别的数据(所谓的“残差”)来编码各个像素块。这由此允许根据由该运动矢量所指向的基准帧中的像素块的像素数据和描述该像素数据与当前视频帧的像素数据之间的差的残差数据来构造当前帧的像素块的像素数据。

与针对一系列视频帧中的每个帧存储原始像素值相比,采用使用基准帧的视频编码方法可以导致存储器需求方面的显著缩减。

通常,新的基准帧周期性地生成,例如,一系列帧中的每N个帧。接着,将该基准帧存储在存储器中以供系统使用。

例如,生成并存储当前基准帧的像素数据,以供在编码一系列视频帧时使用,例如,用于根据该基准帧导出正在被编码的帧的运动矢量和残差值。(通常,新的基准帧将替换存储器中的现有基准帧)。

在解码一系列视频帧(例如,显示一系列视频帧)时,当前基准帧将根据编码的视频数据生成,并且例如被显示而且还被存储,以供在解码该系列中的取决于该基准帧的其它帧时使用。(为了正确地解码差别编码的视频帧,生成全分辨率基准帧并存储在存储器中,以在解码处理期间使用)。

申请人认为仍然存在改进用于在视频处理系统中处理视频数据帧的方法和装置的范围。



技术实现要素:

根据本发明第一方面,提供了一种在视频处理系统中处理视频数据帧的方法,其中,相对于基准帧限定一系列视频帧中的一个或更多个帧的数据,所述方法包括以下步骤:

当要在解码该一系列视频帧时使用用于所述一系列视频帧的基准帧的全部或部分时:

生成并在存储器中存储按照第一分辨率表示所述基准帧的全部或部分的像素数据;以及

生成并在存储器中存储按照与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的全部或部分的像素数据。

根据本发明第二方面,提供了一种用于在视频处理系统中处理视频数据帧的装置,其中,相对于基准帧限定一系列视频帧中的一个或更多个帧的数据,所述装置包括:

基准帧生成级,其被配置成当要在解码该一系列视频帧时使用用于所述一系列视频帧的基准帧的全部或部分时:

生成并在存储器中存储按照第一分辨率表示所述基准帧的全部或部分的像素数据;并且

生成并在存储器中存储按照与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的全部或部分的像素数据。

本发明涉及这样一种用于在视频处理系统中处理视频数据帧的方法和装置,其采用差分编码,即,其中,相对于基准帧限定一系列视频帧中的一个或更多个帧。

在本发明中,当需要基准帧的全部或部分来解码一系列视频帧时,例如生成以第一分辨率表示该基准帧的全部或部分的像素数据并存储在存储器中,以使所述像素数据可用于按其与该系列视频帧中的其它(例如,随后)帧的差别(残差)来限定和/或解码它们。然而,除了生成以第一分辨率表示所述基准帧的像素数据并存储以外,本发明还生成以相对于所述第一分辨率的一个或更多个不同分辨率表示同一基准帧(或其一部分)的全部或部分的像素数据并存储。

在此描述的实施方式通常是指生成像素数据,尤其是针对整个基准帧。然而,这是不需要的。在本发明中,生成并存储在存储器中的所述像素数据可以(并且在某些实施方式中)仅按照第一分辨率和至少一个不同分辨率来表示所述基准帧的一部分。

如下面将进一步讨论的,申请人已经认识到,提供按照至少两个不同分辨率表示同一基准帧的像素数据在视频处理系统的各个级可以是有益的,并且例如可以提供总体更有效的视频处理系统。例如,如下将进一步讨论的,生成不仅按照第一分辨率而且按照至少一个第二(例如较低的)分辨率表示所述基准帧的像素数据例如可用于促进随后生成的帧的更有效的压缩,或者减少在缩放特定帧以供显示时所需的存储器存取数。

该系列视频帧包括相对于基准帧限定(编码)的一个或更多个帧。该系列中的帧可以采用任何合适且希望的次序。然而,在优选实施方式中,这些帧采用它们要被显示的次序。

该基准帧本身可以是据以限定该系列视频帧中的一个或更多个帧的任何帧。在优选实施方式中,该基准帧可以是该系列视频帧中的任何帧。例如,该基准帧可以在相对于该基准帧限定的该系列帧中的帧或多个帧之前或之后。然而,在其它安排中,基准帧可以在相对于该基准帧限定的该系列帧中的一个或更多个帧之后并且在一个或更多个其它帧之前。

如本领域技术人员应当清楚,可以存在要解码的许多视频帧的集合,包括多个基准帧和相对于相应的基准帧限定的相应的其它帧。在这种情况下,各个基准帧及其相关的帧可以并且优选地按本发明的方式处理为一系列帧。(对应地,特定的整个集合或系列视频帧可以由(并且处理为)具有本发明的形式的多个系列视频帧组成。

要在解码该系列视频帧时使用的表示所述基准帧的像素数据在需要基准帧时生成(并存储在存储器中)。根据本发明的实施方式,解码所述系列视频帧的步骤包括:(优选地)利用所述基准帧像素数据来解码所述系列中的所述一个或更多个不独立编码的视频帧,例如,以提供所述帧以供显示。

可以按任何合适和希望方式来生成按照第一分辨率表示所述基准帧的所述像素数据。

在优选实施方式中,所述生成按照第一分辨率表示所述基准帧的像素数据的步骤包括:确定要用于所述基准帧的像素的合适值(例如,颜色值)。

在一个优选实施方式中,所述生成按照第一分辨率表示所述基准帧的像素数据的步骤包括:例如,利用纹理图和/或其它的渲染(rendering)处理来渲染所述像素值。

在另一优选实施方式中,所述生成所述基准帧的像素数据的步骤包括:解码表示所述基准帧的编码数据,并且据此生成按照第一分辨率表示所述基准帧的像素数据。这在当前基准帧被以编码形式存储在存储器中的情况下可以是适合的。因此,在优选实施方式中,所述生成按照第一分辨率表示所述基准帧的像素数据的步骤包括:首先从存储器读取现有的基准帧。

应当清楚,所述基准帧的分辨率取决于该基准帧内的单个像素的数量,而单个像素的数量限定了可以用于表示所述基准帧的细节的量。

所生成的像素数据表示所述基准帧的所述第一分辨率可以是任何合适或希望的分辨率。然而,申请人已经认识到,在正常情况下,通常有用的是,生成按照可能的最大细节量(最大分辨率)来表示所述基准帧的像素数据,以使其以后可以被视频处理系统用于例如解码目的。由此,根据本发明的优选实施方式,所述第一分辨率是生成所述基准帧的像素数据的最高分辨率。优选为最大可能分辨率,或者使用最大细节来表示所述基准帧的分辨率(例如,根据可用存储器等)。如果所述视频处理系统被配置成生成仅按照单一分辨率表示所述基准帧的像素数据,则这例如可以是并且优选为已经生成像素数据的分辨率。

可以按任何合适和希望方式来生成按照与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的所述像素数据。

按照至少一个不同分辨率表示所述基准帧的像素数据可以单独地和/或与按照所述第一分辨率表示所述基准帧的像素数据独立地生成。例如,在第一次生成所述基准 帧的情况下,可以单独渲染按照各分辨率表示所述基准帧的像素数据。因此,根据本发明的实施方式,所述方法包括以下步骤:按照第一分辨率表示所述基准帧的像素数据与按照与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的所述像素数据分开地生成(例如,渲染)。

然而,在优选实施方式中,基于已按照所述第一分辨率针对所述基准帧生成(并且表示)的所述像素数据,生成按照与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的所述像素数据。例如,所述基准帧生成级被可以(并且优选地)配置成首先生成按照第一分辨率表示所述基准帧的像素数据(如上所述),并且利用(基于)按照所述第一分辨率表示所述基准帧的所述像素数据,生成按照不同于所述第一分辨率的至少一个不同分辨率表示所述基准帧的像素数据。

本发明可以生成按照任何(例如,指定或选择)数量的不同分辨率来表示所述基准帧的像素数据,并且不同于所述第一分辨率的每个分辨率都可以是任何合适或希望的分辨率(只要不是所述第一分辨率即可)。

在优选实施方式中,与所述基准帧的第一分辨率形式相比,本发明生成表示所述基准帧的至少一个较不详细版本的像素数据并存储在存储器中。由此,根据优选实施方式,与所述第一分辨率相比的所述至少一个不同分辨率包括比所述第一分辨率低的至少一个分辨率。例如,针对所述基准帧生成的所述像素数据可以按照第一分辨率1080×920个像素和第二分辨率720×576个像素来表示所述基准帧。

因此,表示所述基准帧的较低分辨率版本的所述像素数据优选为按照所述第一分辨率表示所述基准帧的所述像素数据的合并(并且优选为降低采样(下变换))版本。由此,根据优选实施方式,所述生成按照与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的像素数据的步骤包括:合并按照所述第一分辨率表示所述基准帧的所述像素数据,来生成按照比所述第一分辨率低的至少一个分辨率表示所述基准帧的合并像素数据。

合并所述像素数据可以按任何合适或希望方式来进行。按比所述第一分辨率低的至少一个分辨率中的一个或更多个或全部分辨率来表示所述基准帧的合并像素数据可以根据按所述第一分辨率表示所述基准帧的所述像素数据(即,未合并数据)来生成。另选的是,在要生成按比所述第一分辨率低的两个或更多个不同分辨率来表示所述基准帧的合并像素数据的情况下,按较低分辨率表示所述基准帧的所述合并像素数 据因而例如(并且如果需要的话)可以根据按前一较高分辨率表示所述基准帧的所述合并像素数据来生成。

在优选实施方式中,合并所述像素数据的步骤包括:针对较高分辨率的所述基准帧的指定(例如,所选择的)数量的像素,平均化或以其它方式组合(过滤)被用于该较高分辨率基准帧的所述像素数据。例如,所述像素数据可以被划分成多个像素块,并且每一个这种块(例如,四个像素)接着(并且优选地)用具有该块中的像素的平均像素(颜色)值的单个像素来表示。然而,若希望的话,还可以或代替地使用其它技术,诸如对表示所述较高分辨率的基准帧的所述像素数据的子采样。

在优选实施方式中,生成并存储按至少三个不同分辨率表示所述基准帧的像素数据(即,按所述第一分辨率并且按与所述第一分辨率不同的至少两个(并且优选为较低)分辨率)。

在特别优选的实施方式中,生成并存储的、并且按第一和至少一个不同分辨率表示所述基准帧的所述像素数据采用表示所述基准帧的两个或更多个或全部级别的mipmap集的形式。等同地,在优选实施方式中,所述基准帧生成级被配置成生成表示所述基准帧的像素数据作为mipmap集。

mipmap集包括一系列帧,每一个帧都是(同一)帧图像的逐渐降低的分辨率(不太详细)表示。(所述mipmap集中的所述帧的每一个版本在此都被称为mipmap级别,除非另外加以表明,在此针对较高和较低mipmap级别的引用分别指不太详细和更加详细的mipmap)。

在优选实施方式中,所述mipmap集的每一个级别的高度和宽度是比该集合中的前一级别的高度和宽度小二倍的因子,并且每一个级别具有作为前一级别的分辨率的四分之一(z在素数量方面)的分辨率。例如,如果所述基准帧在第一分辨率具有256乘256像素的尺寸,则关联的mipmap集可包含一系列8个级别(所述基准帧的不同版本),其中,每一个级别是前一级别的总面积的四分之一:128×128像素、64×64、32×32、16×16、8×8、4×4、2×2、1×1(单个像素)。

若希望的话,可以将其它缩放因子用于所述mipmap集。

在这点上,申请人已经认识到,尽管mipmap集(其中,mipmap的每一个级别都具有严格的缩放级)可以不必是表示所述基准帧的分辨率的最理想集合,但生成(和使用)表示所述基准帧的像素数据作为mipmap集仍可以有益的。

例如,尽管mipmap级别的分辨率可能不精确匹配要显示所述基准帧的显示器的分辨率,但申请人已经认识到,相对容易将所述基准帧的表示生成和操纵或处理为相应的mipmap级别(与其它任意分辨率相比)应当比按这种形式提供所述基准帧可能具有的任何潜在缺点更重要。

根据本发明生成并存储的像素数据可以表示基准帧的整个mipmap集(即,从最高分辨率版本开始并且包括一直到单个像素(或其等同物)的各个mipmap级别的相应较低分辨率版本)。然而,并不要求所述像素数据表示所述mipmap的每一个可能级别。在本发明的实施方式中,生成按所述mipmap的两个或更多个级别表示所述基准帧的像素数据并存储在存储器中。在一些实施方式中,生成按所述mipmap的每隔一个级别(即,将组成完整mipmap的该系列基准帧中的所述基准帧的每隔一个版本)来表示所述基准帧的像素数据并存储在存储器中。在其它实施方式中,所述基准帧生成级被配置成针对所述基准帧仅生成表示所述mipmap的级别的特定(例如,希望的,例如选定的)子集的像素数据。

在一个优选实施方式中,生成按与所述第一分辨率相比的至少一个不同分辨率表示整个所述基准帧的像素数据。然而,这是不需要的。由此,在本发明的其它实施方式中,按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的所述像素数据仅表示整个基准帧(图像)的区域或部分。例如,所述基准帧生成级可以被配置成仅合并按所述第一分辨率表示所述基准帧的所述像素数据的子集。

本发明的视频处理系统可以被配置成按任何合适或希望方式来实现上述实施方式(与生成按照与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的像素数据有关地)。例如,所述生成按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的像素数据的处理可以(并且优选地)例如基于总视频处理系统对其的获知,而通过CPU上的合适驱动器来触发和配置。

在优选实施方式中,所述基准帧像素数据生成是基于所述视频处理系统将怎样使用所述基准帧的所述像素数据来配置的。

例如,并且优选地,基于要显示所述视频系列的电子显示器或多个显示器的分辨率来选择生成所述基准帧的、与所述第一分辨率相比的所述至少一个不同分辨率中的一个或更多个或全部。在一个优选实施方式中,与所述第一分辨率相比的所述至少一个不同分辨率对应于要显示的输出帧的分辨率。

附加地或另选地(并且优选为附加地),优选地基于该系统的获知来选择要表示所述基准帧的多个不同分辨率。例如,所述基准帧生成级可以被配置成生成按不同于所述第一分辨率的单个分辨率直至与总的视频处理系统中存在要显示该视频系列的不同显示器一样多的不同分辨率表示所述基准帧的像素数据。

表示所述基准帧的所述像素数据可以通过所述视频处理系统的任何合适和希望组件来生成。在优选实施方式中,所述像素数据通过所述视频处理系统的合适处理器(如图形处理器、视频处理器(视频引擎)、组合器或显示处理器)来生成。由此,所述基准帧生成级优选地包括:图形处理器、视频处理器(视频引擎)、组合引擎(组合器)或显示控制器。若需要的话,所述基准帧生成级可以包括超过一个处理器,并且这些处理器中的一个或更多个或全部都可按本发明的方式工作。

若希望的话(并且在优选实施方式中是这种情况),所述基准帧生成级还可以包括其它组件,诸如解压缩击级(解码单元)和/或压缩级(编码单元)。

在优选实施方式中,按不同于所述第一分辨率的所述至少一个不同分辨率表示所述基准帧的所述像素数据通过所述视频处理系统的、生成按所述第一分辨率表示所述基准帧的所述像素数据的同一处理器生成。

然而,在其它实施方式中,生成按第一和至少一个不同分辨率表示所述基准帧的像素数据的任务在多个处理器当中划分,并接着大致并行地执行。在这点上,可以设置任意希望数量的基准帧生成处理器,举例来说,两个基准帧生成处理器,例如,直至与要表示指定基准帧的不同分辨率的数量一样多的基准帧生成处理器。

在优选实施方式中,无论所像素数据是通过单个基准帧生成级还是多个基准帧生成级来生成,按至少一个不同分辨率表示所述基准帧的所述像素数据与第一分辨率像素数据大致相同的时间生成。这样,所述视频处理系统应当仅需要读取/访问全分辨率基准帧一次,而非在每次生成不同分辨率帧时读取/访问。

在特别优选实施方式中,按与所述第一分辨率相比的至少一个不同分辨率生成像素数据由所述视频处理系统的现有级来执行,优选地由将以其它方式正常执行缩放操作作为其“正常”处理操作的一部分的级(其因而还可以被用于生成按不同分辨率表示同一基准帧的像素数据)。

在这点上,申请人已经认识到,对于运动估计(如分层运动估计)的某些方法来说,帧将经历缩放处理,其中帧的尺寸和分辨率被减小。例如,构造同一图像的几个版本,每一个版本都将两个尺度减小(按比例缩小)了特定因子。

由此,在特别优选实施方式中,本发明的视频处理系统是这样的视频处理系统,即,其包括用于在运动估计编码期间执行缩放操作的硬件,并且该硬件被用于按与所述第一分辨率相比的至少一个不同分辨率来生成所述基准帧的所述像素数据。由此,在优选实施方式中,所述基准帧生成级包括被用于分层运动估计编码的缩放硬件。

被用于分层运动估计编码的所述缩放硬件是所述视频处理系统的、用于生成按不同分辨率表示所述基准帧的所述像素数据的特别优选的组件,因为所述缩放硬件已经工作以针对视频数据执行缩放操作。这样,在分层运动估计编码中使用的所述缩放硬件可以在所述视频处理系统的各个组件(如所述视频处理系统的一个或更多个基准帧生成处理器)之间共用(和重复利用)。

所述基准帧的生成的像素数据被存储在存储器中。该像素数据可存储在任何合适的存储器中,诸如并且优选为合适的帧缓冲器,使得其接着可被读取以供视频处理系统以后使用。

在一个实施方式中,生成的像素数据被存储在所述基准帧生成级的本地存储器中(优选为合适的帧缓冲器中)。这是优选的情况,其中,立即需要所述基准帧以例如解码一系列差别编码的视频帧。

在另一实施方式中,将所述像素数据存储在所述视频处理系统的主存储器中,诸如在利用所述视频处理系统的主机系统的主存储器(诸如硬盘或多个硬盘,或者固态盘)、某一其它形式的外部存储介质(如光盘(DVD或CDROM)、闪速存储器、硬盘驱动器或者远程地并通过网络连接接入等。

在优选实施方式中,所述基准帧的所述像素数据以编码(并且优选为压缩)的形式存储。在特别优选实施方式中,利用基于块的编码格式来编码表示所述基准帧的所述像素数据。例如,所述基准帧可以(并且优选地)被划分该帧的成多个像素块(宏块)(例如,在MPEG编码的情况下,16×16像素块),并且单独地编码各个块的像素数据。优选地,根据在申请人的美国专利申请US2013/036290和/或美国专利US8542939中公开的任一种方法来编码。

由此,在优选实施方式中,按所述第一和按至少一个其它分辨率表示所述基准帧的所述像素数据被以压缩的形式存储。对应地,表示所述基准帧的mipmap集的两个或更多个或全部级别优选地被以压缩的形式存储在存储器中。

在这点上,所述像素数据(例如,mipmap集)可以按任何合适和希望方式压缩。在优选实施方式中,按全分辨率表示(即,其表示所述基准帧的精确位(bitexact)形式)所述基准帧的所述像素数据(所述mipmap集的层(例如,下层))利用无损压缩方案来压缩(以使其可以被用于解码随后的帧)。对于按一个或更多个其它(例如,较低)分辨率表示所述基准帧的其它分辨率(层)来说,可以(并且在优选实施方式中)使用有损压缩方案。

所述mipmap集的每一个级别都可以利用任何(例如,选择的或希望的)压缩方案和/或压缩率来压缩。在优选实施方式中,将申请人的美国专利申请US 2013/036290和/或美国专利US 8542939中公开的一种或更多种方法用于压缩所述像素数据。用于压缩所述基准帧的压缩方案和/或压缩率可以(并且在一些实施方式中)基于正在压缩的像素数据表示所述基准帧的分辨率来选择(例如,所述mipmap的级别被压缩)。

在一些实施方式中,所述基准帧生成级的压缩级(编码单元)被配置成利用不同压缩率来压缩所述基准帧的不同分辨率版本(所述mipmap集的不同级别)。例如,如果处于压缩形式的全分辨率层用10比特数据来表示,则其它层可以(并且在一些实施方式中)用较少的比特,如8比特(实际上,保证压缩20%)。类似地,较低分辨率层可例如通过从4:2:2采样转换至4:2:0采样来去除色度信息(实际上,保证压缩25%)。

根据上述实施方式压缩表示所述基准帧的所述像素数据(例如,mipmap集)的有利之处在于,进一步减小了存储器带宽。其还是一种用于处理视频内容的特别合适的布置,假定该视频内容已典型地被压缩(意指已经去除高频内容,使其更适于压缩)。

如上所述,按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的所述像素数据可以有利地在所述视频处理系统的各级处使用。

由此,根据优选实施方式,本发明的方法还包括以下步骤:利用按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的所述像素数据,来处理所述系列视频帧中的至少一个帧,例如,用于显示。

因此,在优选实施方式中,本发明的装置还包括帧处理级,该帧处理级被配置成利用按照与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的所述像素数据,来处理所述系列视频帧中的至少一个帧。

在这点上,申请人已经认识到,按不同分辨率表示所述基准帧的像素数据可以有利地用于视频处理的解码侧,例如,在处理该系列视频帧以供显示的情况下。例如,当提供输出帧或多个帧以供显示时,可希望使用按与所述第一分辨率相比的至少一个不同分辨率(并且优选为较低)表示所述基准帧的像素数据(而且在优选实施方式中,就是这样做的)。

这在所述系列视频帧中的当前帧要按不同于所述基准帧的所述第一分辨率的分辨率显示的布置中特别真实。可以是这样的情况,即,例如,当在具有低于所述基准帧的所述第一分辨率的分辨率的显示器上提供用于显示的输出帧或多个帧时。另一示例是当提供要在整体显示器的一部分(例如,窗口)中显示的输出帧或多个帧时,其中,该显示器的该部分具有低于所述基准帧的所述第一分辨率的分辨率。在这种情况下,表示当前视频帧的输出帧将对应于具有比所述基准帧的所述第一分辨率低的分辨率的一组像素。(由此,正在生成的输出帧例如可以完全填充所讨论的显示器,或者可以用于在显示器上显示的窗口)。

如本领域所已知的,提供用于显示的输出帧例如包括将像素数据加载到合适的帧缓冲器中,接着可以从那里读取像素数据并提供给显示器。在许多情况下,这将涉及至少基于表示对应基准帧的全分辨率像素数据来生成输出帧的像素数据。

然而,根据本发明的实施方式,在当前帧要按比所述基准帧的所述第一分辨率低的分辨率来显示的情况下,代替利用第一(即,全)分辨率基准帧的像素数据来生成输出帧的像素数据,可以(并且优选地)将表示低分辨率基准帧的像素数据用于该目的。由此,根据本发明的实施方式,所述处理所述系列视频帧中的至少一个帧的步骤包括:利用按比所述第一分辨率低的至少一个分辨率表示所述基准帧的像素数据来生成表示用于显示的输出帧的像素数据。

在一些实施方式中,所述较低分辨率基准帧的像素数据可以被用作所述输出帧的像素数据。例如,在所述系列视频帧中的要显示的当前帧是(例如,被标志为)所述基准帧本身的情况下,为了生成输出帧,所述视频处理系统(具体地,所述帧处理级)将仅使用所述基准帧的较低分辨率像素数据。(应当清楚,尽管在该实施方式中仅使 用所述基准帧的低分辨率像素数据用作输出帧,但所述视频处理系统(例如,视频处理引擎)可以并优选地仍生成(并存储在存储器中)按所述第一(即,全)分辨率表示所述基准帧的像素数据,使得其可以被用于解码所述系列视频帧中的其它帧)。

这还可以是(并且在某些实施方式中)这样的情况,即,在要显示的当前帧是有差别编码的帧并且针对当前帧的残差等于零的布置中。例如,如果当前帧的指定块与所述基准帧相比无变化,则所述视频处理系统可以(并且将优选地)使用所述基准帧(的低分辨率版本)中的对应块的像素数据,作为输出帧的像素数据。

在实施方式中,与所述第一分辨率相比的所述至少一个较低分辨率中的一个(生成所述基准帧的像素数据的分辨率)对应于要显示的所述输出帧所需的分辨率。在这种情况下,按对应于输出帧分辨率的所述至少一个较低分辨率来表示所述基准帧的像素数据可以(并且优选地)被直接使用(并且例如,输出)为所述输出帧的像素数据。

由此,根据本发明的实施方式,利用按比所述第一分辨率低的至少一个分辨率表示所述基准帧的所述像素数据来生成表示用于显示的输出帧的像素数据的步骤包括:直接输出按比所述第一分辨率低的所述至少一个分辨率中的一个分辨率表示所述基准帧的像素数据作为所述输出帧。

然而,在所述基准帧的所生成的低分辨率版本不对应于所述输出帧所需的分辨率(例如,显示器)的布置中,可能需要执行缩放操作来导出用于所述输出帧的最终像素数据。由此,根据本发明的实施方式,利用按比所述第一分辨率低的至少一个分辨率表示所述基准帧的所述像素数据来生成表示用于显示的输出帧的像素数据的步骤包括:在导出用于所述输出帧的最终像素数据时,对按比所述第一分辨率低的至少一个分辨率表示所述基准帧的所述像素数据执行缩放操作。

在这种情况下,所述基准帧的被使用的低分辨率形式被优选地选择,以使减小(例如,最小化)可能需要的缩放处理量,例如,利用最接近实际需要的分辨率的分辨率。

在要显示的当前帧是差别编码帧的情况下,即,已经关于表示所述基准帧的全分辨率像素数据编码(并且没有零残差)的帧,那么,为了正确地生成用于显示的输出帧,要显示的差别编码帧将根据表示当前帧的差别编码像素数据和表示全分辨率基准帧的像素数据来正常地解码。接着,所述帧的被解码的像素数据正常存储在存储器中,例如,其可以由显示单元从存储器取回并在必要时缩小以适配输出帧分辨率。

然而,根据本发明的实施方式,取代首先解码当前帧的像素数据(全分辨率)并将其存储在存储器中,所述帧处理级被配置成不在存储器中存储表示(解码的)当前帧的全分辨率像素数据。相反,所述帧处理级被配置成仅生成并存储按较低分辨率表示所述(解码的)当前帧的像素数据。

这可以(并且优选地)通过以下步骤进行:(例如,所述帧处理级)读入并且利用表示所述基准帧的全分辨率像素数据来解码要显示的当前帧,并且内部地利用按全分辨率表述当前帧的(解码的)像素数据来生成按与全分辨率相比的一个或更多个不同分辨率表示当前帧的像素数据。接着,仅将按与全分辨率相比的一个或更多个不同分辨率表示当前帧的所述像素数据存储在存储器中(供以后在该系统中使用)。

由此,根据本发明的实施方式,所述方法还包括,如果要显示的当前帧是关于所述基准帧编码的,则:

利用当前帧的编码的像素数据和按第一分辨率表示所述基准帧的像素数据来解码当前帧;

生成按与第一分辨率相比的至少一个不同分辨率来表示所述当前帧的像素数据并存储在存储器中;以及

利用按与所述第一分辨率相比的所述至少一个不同分辨率表示当前帧的像素数据来生成表示输出帧的像素数据。

在优选实施方式中,生成按与所述第一(例如,全)分辨率相比的至少一个不同分辨率表示当前帧的像素数据的步骤包括:对按所述第一分辨率表示所述当前帧的像素数据执行一个或更多个缩放操作。

申请人已经认识到,尽管该实施方式未利用按比所述第一分辨率低的分辨率表示的所述基准帧的像素数据,但对于利用全分辨率基准帧来生成表示要显示的当前帧的多个分辨率版本的像素数据来说,仍存在优点。例如,具有要显示的所述当前帧的较低分辨率版本允许显示控制器仅读入当前帧的较小版本(而非全分辨率版本),以便导出用于要显示的输出帧的像素数据,由此例如节省存储器访问的次数和存储器带宽。这在所述至少一个较低分辨率对应于显示器所需的分辨率的情况下特别有利。

在其它实施方式中,所述视频处理系统(例如,所述帧处理级)被配置成首先将当前帧的(差别)编码像素数据按比例缩小(即,通过合并运动矢量和残差数据)至 较低分辨率,并接着基于当前帧的“按比例缩小的”版本和按至少一个较低分辨率表示所述基准帧的像素数据来导出和生成用于输出帧的最终(即,解码的)像素数据。

由此,根据实施方式,生成用于显示的输出帧的步骤包括:合并按第一分辨率表示要显示的当前帧的(差别编码)像素数据,以生成按与所述第一分辨率不同的第二(例如,较低)分辨率表示所述当前帧的合并像素数据,并且基于表示所述当前帧的合并数据和按用于生成所述基准帧的像素数据的所述至少一个较低分辨率中的一个分辨率表示所述基准帧的像素数据,导出用于输出帧的最终像素数据。

在优选实施方式中,所述当前(差别编码的)帧的所述第一分辨率与所述基准帧的所述第一分辨率相同和/或所述当前(差别编码的)帧的所述第二分辨率与用于生成所述基准帧的像素数据的所述至少一个较低分辨率中的一个分辨率相同。

根据实施方式,基于表示所述当前帧的合并数据和按所述至少一个较低分辨率中的所述一个分辨率表示所述基准帧的像素数据导出输出帧的最终像素数据的步骤包括:利用按所述至少一个较低分辨率中的所述一个分辨率表示所述基准帧的像素数据,解码用于所述当前帧的合并(并且差别编码的)像素数据。接着,被解码的(合并的)像素数据可以(并且在某些实施方式中)被直接用作用于所述输出帧的最终像素数据。然而,在其它实施方式中,被解码的像素数据被缩放,以便导出用于所述输出帧的最终像素数据。这例如在被解码的像素数据的分辨率与输出帧分辨率不同的情况下是需要的。

由此,根据实施方式,本发明包括对表示要显示的所述当前帧的解码的版本的像素数据执行缩放操作,以导出用于所述输出帧的最终像素数据。该缩放操作优选地包括缩放表示所述当前帧的解码的版本的像素数据,以提供按(希望的)输出帧分辨率表示所述当前帧的解码的版本的像素数据。

在这样生成用于显示的帧时利用所述基准帧的较低分辨率像素数据的有利之处在于,该显示处理仅需要读入较小的基准帧,而非全分辨率版本,以便导出用于要显示的输出帧或多个帧的像素数据,由此节省存储器存取的次数和存储器带宽。

如上所述,所述基准帧生成级可以被配置成基于所述数据处理系统的需求的获知来控制基准帧生成的方面。由此,在所述数据处理系统已知所需的输出帧(例如,显示)分辨率的情况下,所述基准帧生成级可以被配置成基于显示输出帧分辨率来生成所述基准帧的像素数据。等同地,在所述视频处理系统包括超过一个显示单元的情况 下,所述基准帧生成级可以(并且优选地)被配置成基于每一个不同的显示输出帧分辨率来生成表示所述基准帧的像素数据。在这些情况下,所述基准帧可以按所需的输出显示帧分辨率和/或按更接近于所需的输出显示帧分辨率(并接着在需要时缩放至该分辨率)来生成。

申请人认为,被配置成按上述方式操作的视频处理系统在自身权利方面是新且有利的。

由此,根据本发明第三方面,提供了一种视频处理系统,其中,相对于基准帧限定用于一系列视频帧中的一个或更多个帧的数据,所述视频处理系统包括:

存储器;

处理单元(例如,视频处理器),该处理单元被配置成,当要在提供用于显示的输出帧时使用用于一系列视频帧的基准帧的全部或部分时:

生成按第一分辨率和按与所述第一分辨率相比的至少一个不同分辨率来表示所述基准帧的全部或部分的像素数据并存储在所述存储器中;以及

显示控制器,该显示控制器被配置成:

从所述存储器中读取按与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的全部或部分的像素数据;

在生成要显示的输出帧时利用所述像素数据;以及

向显示器输出生成的输出帧。

根据本发明第四方面,提供了一种操作视频处理系统的方法,其中,相对于基准帧限定用于一系列视频帧中的一个或更多个帧的数据,所述方法包括以下步骤:

当要在提供用于显示的输出帧时使用用于一系列视频帧的基准帧的全部或部分时,所述视频处理系统的处理单元(例如,视频处理器):

生成按第一分辨率和按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的全部或部分的像素数据并存储在存储器中;并且

所述视频处理系统的显示控制器:

从所述存储器读取按与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的全部或部分的像素数据;

在生成要显示的输出帧时利用所述像素数据;以及

向显示器输出生成的输出帧。

本领域技术人员应当清楚,本发明的这些方面在适当时候可以并且优选地包括在此描述的本发明的优选和可选特征中的一个或更多个。由此,例如,所述视频处理系统优选地还包括显示器。

申请人已经认识到,除了在生成用于显示的输出帧时使用以外,具有按与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的像素数据还可以被用于促进执行针对例如要显示的视频帧或多个帧的处理操作。

这种处理操作例如可以包括变换操作,诸如要显示的帧缩放、旋转以及/或偏斜(skewing)。该操作可以由总的视频和数据处理系统的任何合适单元或级来执行,诸如图形处理器、组合引擎、CPU和/或具有用于执行这种操作的能力的显示控制器。

由此,根据本发明的实施方式,利用按与所述第一分辨率相比的至少一个不同(例如,较低)分辨率表示所述基准帧的像素数据来处理所述系列视频帧中的至少一个帧的步骤包括:利用按与所述第一分辨率相比的至少一个不同(例如,较低)分辨率表示所述基准帧的像素数据,对所述系列视频帧中的所述至少一个帧执行变换操作。等同地,根据实施方式,本发明的帧处理级包括处理器(例如,图形处理器),该处理器能够并且被配置成利用按与所述第一分辨率相比的至少一个不同分辨率(例如,较低)表示所述基准帧的像素数据,对所述系列视频帧中的所述至少一个帧执行至少一个变换操作。

在优选实施方式中,所述变换操作包括缩放、旋转以及偏斜操作中的至少一个。该变换操作可以(并且在某些实施方式中)包括在所述系列视频帧中的帧之间内插。

申请人已经认识到,生成并利用按与所述第一分辨率相比的至少一个较低分辨率表示所述基准帧的像素数据在执行处理操作时可以有益之处在于,与在利用所述基准帧的较高分辨率版本时相比,所述视频处理系统将需要较少的存储器存取来读取所述基准帧。

而且,申请人已经认识到,使所述基准帧的多个分辨率版本同时可用(例如,可用于GPU)可以促进以更有效和/或更复杂方式来执行诸如缩放的处理操作。例如,具有可以被同时使用的所述基准帧的多个分辨率版本可以促进执行用于在显示器上可视地轻击多个帧的操作(如“封面流(coverflow)”型操作)。

申请人还认为,被配置成按这种方式操作的视频处理系统在自身权利方面是新且有利的。

由此,根据本发明另一方面,提供了一种视频处理系统,其中,相对于基准帧限定用于一系列视频帧中的一个或更多个帧的数据,所述视频处理系统包括:

存储器;

第一处理单元(例如,视频处理器),该第一处理单元被配置成,当要在提供用于显示的输出帧时使用用于一系列视频帧的基准帧的全部或部分时:

生成按第一分辨率和按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的全部或部分的像素数据并存储在存储器中;以及

第二处理单元(例如,图形处理器),该第二处理单元被配置成:

从存储器中读取按与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的全部或部分的像素数据;

在对所述系列视频帧中的帧执行处理操作时使用所述像素数据,以生成表示已处理的帧的像素数据;以及

在存储器中存储表示所述已处理的帧的所述像素数据。

根据本发明另一方面,提供了一种操作视频处理系统的方法,其中,相对于基准帧限定用于一系列视频帧中的一个或更多个帧的数据,所述方法包括以下步骤:

当要在提供用于显示的输出帧时使用用于一系列视频帧的基准帧的全部或部分时,所述视频处理系统的第一处理单元(例如,视频处理器):

生成按第一分辨率和按与所述第一分辨率相比的至少一个不同分辨率表示所述基准帧的全部或部分的像素数据并存储在存储器中;以及所述视频处理系统的第二处理单元(例如,图形处理器):

从存储器中读取按与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的全部或部分的像素数据;

在对所述系列视频帧中的帧执行处理操作时使用所述像素数据,以生成表示已处理的帧的像素数据;以及

在存储器中存储表示所述已处理的帧的所述像素数据。

本领域技术人员应当清楚,本发明的这些方面在适当时候可以并且优选地包括在此描述的本发明的优选和可选特征中的一个或更多个。由此,例如,所述视频处理系统优选地还包括显示器和/或所述系统优选地还包括显示控制器,该显示控制器被配 置成:从存储器读取表示所述已处理的帧的像素数据;在生成要显示的输出帧时使用所述像素数据;以及将所生成的输出帧输出至显示器。

类似地,所述第一处理单元优选为视频处理器,而所述第二处理单元优选为图形处理器、组合引擎、中央处理单元(CPU)或可工作为执行针对要显示的帧的处理操作的显示控制器中的一个。可存在超过一个“第二”处理单元,若需要的话,第二处理器在对所述系列视频帧中的一帧执行处理操作时,使用按与所述第一分辨率相比的所述至少一个不同分辨率表示所述基准帧的全部或部分的像素数据,来生成表示已处理的帧的像素数据。

对应地,所述处理操作优选地包括变换操作,诸如要显示的帧的缩放、旋转和/或偏斜。

应当清楚,尽管主要参照生成表示用于显示的输出帧的像素数据对上述实施方式进行了描述,但只要将基于表示基准帧的像素数据来生成帧,就可以使用上述原理和技术。例如,在一个布置中,上述原理和技术还可以例如由组合引擎使用,以根据两个或更多个单独源帧(都将自己的基准值存储在存储器中)来导出并生成表示组合帧的像素数据。在该情况下,用于一个或更多个所述源帧的较低分辨率基准帧可以用于生成组合帧。

由于本发明的视频处理系统具有用于提供基准帧的多个不同分辨率版本的能力,因而若需要的话,其还可以被用于在编码一系列视频帧时,提供按不同分辨率表示基准帧的像素数据。这可以例如可用于在编码一系列视频帧时执行运动估计操作。

由此,在本发明的实施方式中,利用表示所述基准帧的像素数据来处理所述系列视频帧中的至少一个帧的步骤包括:利用按与所述第一分辨率不同(并且优选为较低)的分辨率表示所述基准帧的像素数据,对一系列视频帧中的至少一个帧进行编码(并且优选地执行运动估计)。相应地,在实施方式中,所述帧处理级包括编码单元。

而且,虽然已经参照整个帧对上述实施方式进行了描述,但本发明的技术和原理可以等同地(并且在一个优选实施方式中)仅应用至帧的一部分。例如,按与所述第一分辨率相比的至少一个不同分辨率表示整个基准帧(或其一部分)的像素数据可以被用于仅处理一系列视频帧中的帧的一部分。

本发明可以在任何希望和合适的数据处理系统中实现,该数据处理系统可工作为生成用于例如在电子显示器上显示的视频数据帧。

在这点上,所述帧处理级优选地包括合适的处理器,诸如图形处理器、视频处理器、组合器或显示控制器。在一些实施方式中,所述帧处理级包括与所述基准帧生成级相同的处理器或多个处理器。

虽然上面已参照一系列视频帧中的基准帧对本发明进行了描述,但本发明可更通常地应用于任何种类的数据帧,如表示静止图像(例如,JPEG)的那些数据帧。

由此,根据本发明的方面,提供了一种在视频处理系统中处理数据帧的装置,该装置包括:

处理单元(例如,视频处理单元),该处理单元被配置成,当帧的全部或部分要被用于进一步处理时:

生成按第一分辨率表示所述帧的全部或部分的像素数据(并优选地存储在存储器中);以及

生成按与所述第一分辨率相比的至少一个不同分辨率来表示所述帧的全部或部分的像素数据并存储在存储器中。

根据本发明另一方面,提供一种在视频处理系统中处理数据帧的方法,该方法包括以下步骤:

当所述帧的全部或部分要被用于进一步处理时:

生成按第一分辨率表示所述帧的全部或部分的像素数据(并优选地存储在存储器中);以及

生成按与所述第一分辨率相比的至少一个不同分辨率来表示所述帧的全部或部分的像素数据并存储在存储器中。

应当清楚,这些方面可以(并且优选地)包括在此描述的可选特征和实施方式中的一个或更多个或者全部。

由此,例如,与所述第一分辨率相比的所述至少一个不同分辨率优选为比所述第一分辨率低的分辨率。类似地,所生成的并且其按第一和至少一个不同分辨率表示所述帧的像素数据优选地采用表示所述帧的mipmap集的两个或更多个或全部级别的形式。等同地,在优选实施方式中,所述处理单元被配置成生成表示所述帧的像素数据作为mipmap集。此外,在优选实施方式中,所述mipmap集的每一个级别的高度和宽度是比该集合中的前一级别的高度和宽度小二倍,并且每一个级别的分辨率都是前一 级别的分辨率的四分之一(在素数数量方面)。(然而,若需要的话,可以将其它缩放因子用于所述mipmap集)。

生成并存储的所述像素数据可以表示所述帧的整个mipmap集(即,从最高分辨率版本开始并且包括各个mipmap级别的各个较低分辨率版本,直到单个像素(或其等同物)。然而,不需要所述像素数据表示所述mipmap的每个可能级别。

在本发明的这些方面和实施方式中,按两个或更多个不同分辨率表示所述数据帧的像素数据再次优选地以压缩的形式存储在存储器中,优选地按上面讨论的一种或更多种方式。由此,在优选实施方式中,所述处理单元包括压缩级(编码单元)。

在一个优选实施方式中,生成按与所述第一分辨率相比的至少一个不同分辨率表示整个所述帧的像素数据。然而,这是不需要的。由此,在其它实施方式中,按与所述第一分辨率相比的至少一个不同分辨率表示所述帧的像素数据仅表示整个帧(图像)的区域或部分。

在优选实施方式中,基于(例如,利用)已经按所述第一分辨率针对(并且表示)所述帧生成的像素数据,生成按与所述第一分辨率相比的至少一个不同分辨率表示所述帧的像素数据。

在这些方面的优选实施方式和本发明的实施方式中,要用于进一步处理的所述帧是表示静止图像的数据帧,即,未相对于另一帧编码的完全限定的帧。在特别优选实施方式中,所述帧是根据由联合图像专家组(JPEG)定义的格式编码的帧。

申请人已经认识到,与基准帧的情况类似地,提供按至少两个不同分辨率表示静止图像(例如,JPEG图像)的像素数据在视频处理系统的多个级将是有利的,并且例如可以提供总体更有效的视频处理系统。

根据优选实施方式,本发明的装置还包括帧处理级(例如,图形处理单元),该帧处理级被配置成,利用按与所述第一分辨率相比的至少一个不同分辨率表示所述帧的所述像素数据,来处理帧(例如用于显示)。等同地,根据优选实施方式,本发明还包括利用按与所述第一分辨率相比的至少一个不同分辨率表示所述帧的像素数据,处理所述帧(例如用于显示)。

利用按与所述第一分辨率相比的至少一个不同(例如,较低)分辨率表示所述帧的像素数据来处理所述帧的步骤可以(并且优选地)包括:利用按与所述第一分辨率相比的至少一个不同(例如,较低)分辨率表示所述帧的像素数据,对所述帧执行变 换操作。等同地,根据实施方式,本发明的帧处理级包括处理器(例如,图形处理单元或组合器),该处理器能够并且被配置成利用按与所述第一分辨率相比的至少一个不同分辨率(例如,较低)表示所述基准帧的像素数据,对所述帧执行至少一个变换操作。

在优选实施方式中,所述变换操作包括缩放、旋转及偏斜操作中的至少一个。该变换操作可以(并且在某些实施方式中)包括在一组静止图像帧中的多个帧之间内插。

申请人已经认识到,生成并利用按与所述第一分辨率相比的至少一个较低分辨率表示所述帧的像素数据在执行处理操作时可以是有益的,因为与在利用所述帧的较高分辨率版本时相比,所述处理系统将需要较少的存储器存取来读取所述帧。

而且,申请人已经认识到,使所述帧的多个分辨率版本同时可用(例如,可用于GPU)可以促进按更有效和/或更复杂方式来执行诸如缩放的处理操作。例如,具有可同时使用的所述帧的多个分辨率版本可以促进执行用于在显示器上可视地轻击多个帧的操作(如“封面流(coverflow)”型(映射至旋转面)操作)。

在优选实施方式中,本发明在这样的数据处理系统中实现,即,该系统是用于在显示器上显示(例如图形用户界面的)窗口的系统,并且优选为组合窗口系统。

实现本发明的所述数据(视频)处理系统可以包含任何希望和恰当并且合适的部件与组件。由此,其可以并且优选地包含以下中的一个或更多个,并且优选为包含全部:CPU、GPU、视频处理器、显示控制器、显示器(例如,LCD或OLED显示器)以及用于存储各种帧和所需的其它数据的合适的存储器。

要显示的所生成的帧和用于显示的输出帧(和任何其它源表面(帧))可以按任何合适和希望方式存储在存储器中。它们优选地存储在合适的缓冲器中。例如,所述输出帧优选地存储在输出帧缓冲器中。

所述输出帧缓冲器可以是芯片上缓冲器或者可以是外部还缓冲器。类似地,所述输出帧缓冲器可以是用于该目的的专用存储器,或者可以是也用于其它数据的存储器的一部分。在一些实施方式中,所述输出帧缓冲器是用于正生成所述帧的所述视频处理系统和/或用于要显示所述帧的显示器的帧缓冲器。

类似地,所生成的帧在生成(渲染)它们时被首先写入的缓冲器可以包括任何合适的这种缓冲器,并且可以按任何合适和希望方式配置在存储器中。例如,它们可以是芯片上缓冲器或多个缓冲器,或者可以是外部缓冲器或多个缓冲器。类似地,它们 可以是用于该目的的专用存储器,或者可以是也被用于其它数据的存储器的一部分。所述输入帧缓冲器例如可以采用应用所需要的任何格式,并且例如可以存储在系统存储器中(例如,采用统一存储器架构),或者图形存储器中(例如,采用非统一存储器架构)。

本发明可以按任何合适系统来实现,如适当配置的基于微处理器的系统。在一些实施方式中,本发明在基于计算机和/或微处理器的系统中实现。

本发明的各种功能可以按任何希望和合适方式来执行。例如,本发明的功能可以如所希望地按硬件或软件来实现。由此,例如,本发明的各种功能性部件和“装置”可以包括合适的处理器或多个处理器、控制器或多个控制器、功能单元、电路、处理逻辑、微处理器排布结构等,其工作为执行各种功能等,如可以被编程为按希望方式工作的适当专用的硬件部件(处理电路)和/或可编程的硬件部件(处理电路)。

在此,还应注意,本领域技术人员应当清楚,本发明的各种功能等可以在指定处理器上复制和/或并行执行。等同地,若需要的话,各种处理级可以共用处理电路等。

本发明优选地在便携式装置中实现,诸如并且优选为移动电话或平板计算机。

本领域技术人员还应清楚,本发明的描述的全部实施方式在合适时候可以包括在此描述的优选和可选特征中的任一个或更多个或全部。

根据本发明的方法可以至少部分地利用软件(例如,计算机程序)来实现。由此,可以看到,当从本发明的另一些实施方式观看时,本发明提供了当安装在数据处理装置上时特别适于执行在此所描述的方法的计算机软件、包括当在数据处理装置上运行该程序要素时用于执行在此所描述的方法的计算机软件代码的计算机程序要素、以及包括当在数据处理系统上运行该程序时适于执行在此所描述的方法的或多个方法的全部步骤的代码装置的计算机程序。所述数据处理系统可以是微处理器、可编程FPGA(现场可编程门阵列)等。

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

还应清楚,并不是本发明方法的所有步骤都需要通过计算机软件来执行,因此,根据本发明的更广泛实施方式提供安装在计算机软件载体上的、用于执行在此阐述的方法的步骤中的至少一个步骤的计算机软件和这种软件。

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

本领域技术人员应当清楚,这种计算机可读指令可以采用许多编程语言来编写,以与许多计算机架构或操作系统一起使用。而且,这种指令可以利用当前或将来的任何存储器技术来存储,包括但不限于半导体、磁或光学,或者利用当前或将来的任何通信技术来传送,包括但不限于光学、红外线或微波。设想的是,这种计算机程序产品可以作为具有附随的打印或电子文档(例如,收缩包装软件)的可去除介质而分发,利用计算机系统预先加载(例如,预先加载在系统ROM或固定盘上),或者通过网络(例如,因特网或万维网)从服务器或电子公告板分发。

附图说明

下面,仅通过示例的方式并参照附图,对本发明的优选实施方式进行描述,其中:

图1示意性地例示了被配置成按照根据本发明的方式处理视频数据帧的示例性视频处理系统;

图2示意性地例示了被表示为所述(同一)基准帧图像的逐渐降低的分辨率版本的mipmap集的基准帧;

图3示意性地示出了可执行本发明的基本操作的视频处理系统的实施方式;

图4示意性地例示了具有被配置为按照根据本发明的方式处理静止图像帧的视频处理器的视频处理系统的实施方式;以及

图5示意性地例示了被配置为按照根据本发明的方式编码一系列视频帧中的至少一个帧的视频处理系统的实施方式。

具体实施方式

图1示意性地示出了可执行本发明的基本操作的视频处理系统11的实施方式。

如图1所示,视频处理系统11可以包括芯片上系统(SoC)12,芯片上系统12包括全部可利用外部(例如,芯片外)存储器19的中央处理单元(CPU)13、图形处理单元(GPU)14、视频处理单元(VPU)15、显示处理单元16以及外部接口18。与SoC和外部存储器分立的是显示器本身(未示出)。

GPU 14和VPU 15可以包括用于编码(压缩)要按压缩形式存储在存储器中的数据(例如,帧)的合适的压缩器(和对应的解压缩器)。因此,显示处理单元16可以包括用于解压缩数据(例如,要显示的帧)的解压缩器。

根据本实施方式,一系列(压缩的)视频帧将从外部源提供给视频引擎以进行解码。在其它实施方式中,要显示的帧按要求例如通过被GPU 14或视频引擎15恰当渲染来生成。

如果正在被视频引擎处理的当前帧是所谓的基准帧(因而要在解码该系列视频帧中的其它帧时使用),则表示该基准帧的全分辨率版本的像素数据将被生成并存储在外部存储器19内的缓冲器中。然而,除了生成按全分辨率(即,原始希望分辨率)表示基准帧的像素数据以外,根据本实施方式,该视频引擎将生成按与第一全分辨率相比的至少一个不同分辨率表示基准帧的像素数据并存储在外部存储器19中。

生成不仅按第一分辨率而且按至少一个第二(例如较低)分辨率表示基准帧的像素数据可以用于促进随后生成的帧的更有效压缩,或者减少在生成输出帧以供显示时所需的存储器存取数。

例如,按多个分辨率表示基准帧的像素数据可以从外部存储器19取回并且由合适的编码单元(未示出)使用以编码(例如,执行运动估计)一系列视频帧中的至少一个帧。(虽然图中未示出编码单元,但应当清楚,该编码单元可以是SoC排布结构上的分立的单元,或者可以集成在视频处理系统的合适组件内,如视频处理单元15)。

在其它实施方式中,按不同分辨率表示基准帧的像素数据从外部存储器19取回并且用于生成输出帧以供显示。

例如,在要显示的帧是基准帧的情况下,按用于显示的最恰当分辨率表示基准帧的像素数据可以由显示处理单元16从外部存储器19取回并输出以供显示。应当清楚, 在某些情况下,显示处理单元16(或者例如,GPU 14)可以对表示基准帧的像素数据执行缩放操作,以按显示尺寸的正确分辨率提供输出帧。

在要显示的帧未被标志为基准帧而是相对于基准帧编码的情况下,视频处理单元15例如从存储器19检索表示基准帧的像素数据,并将其用于解码当前帧并生成按希望的分辨率(优选为输出帧分辨率)表示当前帧的像素数据。

应当明白,尽管图1的排布结构仅示出了两个帧生成器(GPU 14和视频引擎15),但本发明的视频处理系统可以适当地包括任何数量(和类型)的帧生成器。

图2例示了被表示为所述(同一个)基准帧图像的逐渐降低的分辨率形式的mipmap集的基准帧。

如上所述,在特别优选实施方式中,生成并存储的并且按第一和至少一个不同分辨率表示基准帧的像素数据采用表示基准帧的mipmap集的两个或更多个或全部级别的形式。该mipmap集中的帧的每个版本都被称为mipmap级别,其中,最低级别L0(20)是基准帧的最详细版本,而最高级别L4(24)是最不详细版本。

如图2所示,在这个实施方式中,mipmap集的各个级别的高度和宽度比该集合中的前一级别的高度和宽度小二倍,并且各个级别的分辨率是前一级别的分辨率的四分之一(在像素数量方面)。在图2所示实施方式中,该基准帧具有第一级别L0的原始全分辨率4096×2160像素,并且关联的mipmap集包含一系列5个级别(L0到L4),其中,各个级别是前一级别的总面积的四分之一:2048×1080像素、1024×540像素、512×270像素、256×135像素。

应当清楚,根据本发明生成并存储的像素数据可以表示基准帧的整个mipmap集(即,从最高分辨率版本开始并且包括各个mipmap级别的相应较低分辨率版本,直至单个像素(或其等同物)的形式),或者仅表示基准帧的mipmap级别的特定(例如,希望的,例如选定的)子集。

还应清楚,根据本发明的一些实施方式,仅整个基准帧的一区域或一部分按mipmap集的指定级别来表示。

图3示意性地示出了可执行本发明的基本操作的视频处理系统31的实施方式。

如图3所示,该视频处理系统包括:VPU 32、第一显示处理单元(DPU[0])34以及第二显示处理单元(DPU[1])35,全部都可利用外部存储器33。第一DPU(DPU[0]) 对应于尺寸L1的第一显示屏(屏幕0),而第二DPU(DPU[1])对应于尺寸L2的第二显示屏(屏幕1)。

根据本发明的实施方式,VPU 32作为输入部接收表示一系列视频帧的压缩视频数据,包括用于限定该系列中的其它帧的基准帧。在所示实施方式中,压缩视频数据按第一分辨率L0表示该系列视频帧中的每一个帧。

VPU 32被配置成解压压缩的视频输入(一次一个帧),以生成表示帧的解压缩视频数据。因此,VPU 32包括用于解压缩视频数据(例如,要显示的帧)的解压缩器(未示出)。

(应当清楚,若希望的话,解压缩该压缩视频数据可以按其它方式进行。例如,取代包括解压缩器的VPU 32,可以在系统中提供分立的解压缩引擎,该解压缩引擎接收压缩的视频数据并在将它们发送至VPU 32之前将它们解压缩)。

VPU 32被配置成生成按第一原始分辨率L0表示基准帧的像素数据并存储在外部存储器33中。由此,一旦解压缩了表示基准帧的压缩视频数据,就将表示基准帧的(解压缩)像素数据存储在存储器33中。然而,根据本发明的实施方式,VPU 32还被配置成生成按与第一分辨率相比的至少一个不同分辨率来表示基准帧的像素数据并存储在存储器33中。这例如可以通过对(解压缩的)基准帧执行恰当缩放操作来实现。

在图3所示实施方式中,被VPU 32接收到的该系列视频帧中的第一帧(帧1)是基准帧并且是要输出以供显示的帧。因此,VPU 32生成按第一分辨率L1表示基准帧的像素数据,并将其例如存储在存储器33中,以使其可以被用于限定和解码该系列视频帧中的其它帧。然而,除此以外,VPU 32还生成按除了第一分辨率(L0)以外的两个不同分辨率(L1和L2)表示基准帧的像素数据。这可以通过将基准帧缩放至第一和第二显示屏的精确分辨率来完成。

该系列视频帧中的第二帧(帧2)也被标志为基准帧和输出帧,因而还生成按第一、第二以及第三分辨率L0、L1以及L2表示该基准帧的像素数据。

第三帧(帧3)未被标志为基准帧,相反仅被标志为输出帧。在这种情况下,不需要按全分辨率表示该帧的全像素数据(因为其将不被用于解码该系列中的任何其它帧),因而VPU 32被配置成仅生成按所述一个或更多个较低分辨率表示该帧的像素数据并存储在存储器33中。在所示的具体示例中,VPU 32生成按第二和第三分辨率L1和L2表示该帧的像素数据。

(这可以通过首先利用按全分辨率表示对应的基准帧(例如,帧2)的像素数据解码该帧,接着对(解码的)帧执行缩放操作以生成按与第一分辨率相比的一个或更多个较低分辨率表示该帧的像素数据来完成)。

存储在存储器中的帧接着可由恰当的DPU(或多个DPU)检索以供显示。在这点上,应当清楚,具有帧的较低分辨率像素数据的有利之处在于,仅当前帧(图3中的第一、第二或第三帧)较小版本需要被读取以供显示,由此节省存储器带宽和存取等。

在图3所示示例中,除了DPU[0]将仅读取按较低分辨率L1表示该帧的数据,而DPU[1]将仅读取按较低分辨率L2表示帧的数据以外,第一像素单元DPU[0]和第二像素单元DPU[1]中的每一个都被配置成输出帧。

(应当清楚,尽管图3示出了仅按与第一分辨率相比的两个不同分辨率表示基准帧的像素数据,但除了第一分辨率以外,还可以生成任何数量的不同分辨率。例如,VPU可以被配置成生成全mipmap集。而且,虽然图3示出了两个分立的显示处理单元,但可以使用任何数量的显示处理单元。而且,用于生成表示帧的像素数据的所述一个或更多个较低分辨率不需要正好对应于所述一个或更多个显示屏的分辨率。相反,所述一个或更多个较低分辨率可以被选择为所述一个或更多个显示屏的分辨率的mipmap集的最接近级别,其中所需的任何最终缩放都在显示处理单元中执行)。

图4示意性地例示了可以执行本发明的基本操作的视频处理系统31的实施方式,除了取代处理一系列视频帧以外,该视频处理器还被配置成处理静止图像帧。

与图3的实施方式类似地,在这个示例中,视频处理系统41包括:VPU 42、外部存储器43、GPU 44以及例如显示器上的图形用户界面45。

从在图4中可以看出,VPU 42被配置成从图像源(未示出)接收一系列(压缩的)静止图像帧,并且生成按第一分辨率和与第一分辨率相比的至少一个不同分辨率表示每一个帧的像素数据并存储在存储器中。

VPU 43被配置成生成表示该系列静止图像中的每一个图像的像素数据作为完整的mipmap并存储在存储器43中。例如,图4的外部存储器43存储有按连续的较低分辨率L0到LN表示图像的像素数据。

来自存储器的表示帧或多个帧的像素数据接着被从存储器检索并且被GPU 44用于对所述一个或更多个帧执行处理操作,例如用于显示。

例如,GPU 44可以被配置成读取并使用按与第一分辨率相比的至少一个较低分辨率表示帧的像素数据,以对该帧执行变换操作,如缩放、旋转或偏斜操作。在其它示例中,GPU 44可以被配置成读取并使用按与第一分辨率相比的至少一个较低分辨率表示超过一个帧的像素数据,以执行用于在图形用户界面45上可视地轻击多个帧的操作(如“封面流”型操作)。

图5示意性地例示了根据本发明的被配置成编码一系列视频帧中的至少一个帧的视频处理系统的实施方式。该视频处理系统包括外部存储器42和具有分层运动估计编码器54的VPU 53。

VPU 53被配置成对一系列视频帧中的指定帧(帧1)执行分层运动估计编码。如图所示,该帧被编码为双向帧,即,根据该系列视频帧中的前一帧(帧0)和后一帧(帧2)两者限定的帧。在图5的实施方式中,帧0和帧2都是基准帧,而帧1仅被编码为输出帧。

因此,按第一分辨率和至少一个不同分辨率表示基准帧(帧0和帧2)的像素数据被生成并存储在外部存储器52中。在图5所示示例中,按第一分辨率和至少一个不同分辨率表示基准帧(帧0和帧2)的像素数据已被生成并存储在该视频处理系统的外部存储器52中。(在该具体例中,各个基准帧都被表示为包括基准帧的第一、第二以及第三分辨率版本(分别为版本L0、L1以及L2)的(例如,稀疏的)mipmap集,但其它配置同样也是可以的)。

VPU 53(更具体地,VPU 53的编码器54)被配置成从存储器52读取表示基准帧的像素数据并将其用于对所讨论的帧(帧1)执行分层运动估计编码。在图5所示实施方式中,编码器54生成表示该帧的编码像素数据作为mipmap集,优选为仅包含正在被分层搜索方案使用的级别(即,级别L0、L1以及L2)的稀疏mipmap集。

申请人已经认识到,具有已经存储在存储器中的基准帧的多分辨率版本有利于按更有效方式执行运动估计编码。具体来说,具有所述帧的多分辨率版本易于寻找较长的运动矢量,同时保持存储器带宽较低(通过搜索基准帧的多分辨率版本)。例如,当希望在基准帧的较低分辨率版本中搜索运动数量时,VPU 53可以简单地读取按较低分辨率表示该基准帧的像素数据(而不是首先读入全分辨率像素数据并接着将其按比例缩小),由此节省存储器存取和带宽。

应当清楚,尽管图5的VPU 53编码双向帧,但这是不必要的。适合时,可以使用任何压缩方案。例如,可以将帧编码为前向预测帧(例如,根据单个基准帧),或者双向预测帧。

根据上述内容,可以看出,本发明至少在其优选实施方式中提供了一种提供更有效的视频处理系统的方式,其中,相对于基准帧限定用于一系列视频帧中的一个或更多个帧的数据。

在优选实施方式中,这至少通过以下步骤来实现:当需要基准帧的全部或一部分来解码(或编码)一系列视频帧时,生成按第一全分辨率和与第一分辨率相比的至少一个不同(例如,较低)分辨率表示该基准帧的全部或一部分的像素数据并存储在存储器中。

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