数据处理系统的制作方法

文档序号:10473986阅读:215来源:国知局
数据处理系统的制作方法
【专利摘要】一种数据处理系统(1)包括:显示控制器(7),其可操作为向显示器(12)提供已使用有损压缩方案压缩的待显示输出表面的压缩版本;一个或更多个处理级(2-6),其可操作为提供当形成待显示输出表面时将使用的表面或多个表面。所述一个或更多个处理级(2-6)中的至少一个可操作为使用有损压缩方案以压缩形式输出其提供的当形成待显示输出表面时将使用的表面或多个表面的一个或更多个区域。
【专利说明】
数据处理系统
技术领域
[0001]本发明涉及数据处理系统,特别地,涉及当生成供在数据处理系统中的显示器上显示的表面时的数据的处理。
【背景技术】
[0002]在数据处理系统中,通常,在最终在显示器上显示待显示图像之前,将通过多个处理级处理待显示图像。
[0003]例如,诸如图形处理单元(GPU)、视频引擎等的一个或更多个帧生成器将生成将有助于最终显示表面的帧(表面)。
[0004]另外,合成引擎可将多个个体输入表面组合成合成的输出表面。
[0005]待显示的最终表面(例如,合成帧)常常被存储在存储器中的帧缓冲器中,由用于显示器的显示控制器(例如,通过内部直接存储器访问(DMA))从帧缓冲器中读取该最终表面。显示控制器接着将帧发送到显示器进行显示(例如,借助像素管线)(显示器可以是例如屏幕或打印机)。
[0006]从显示控制器向显示器发送像素数据的带宽成本可以是大量的。减少数据处理系统的所需带宽和所需功率的一种方式是压缩从显示控制器发送到显示器的像素数据。例如,显示控制器可使用显示流压缩(DSC)(被设计成数学上有损、但“视觉上无损失”(即,对用户不明显)的压缩方案)压缩从显示控制器发送到显示器的像素数据。
[0007]尽管这种压缩技术成功地减少了系统的功率要求和带宽要求,但
【申请人】相信这种数据处理系统仍然有改进的范围。

【发明内容】

[0008]根据本发明的第一方面,提供了一种数据处理系统,该数据处理系统包括:
[0009]显示控制器,其可操作为向显示器提供已使用有损压缩方案压缩的待显示输出表面的压缩版本;
[0010]—个或更多个处理级,其可操作为提供当形成待显示输出表面时要使用的表面或多个表面;其中:
[0011]所述一个或更多个处理级中的至少一个可操作为使用有损压缩方案以压缩形式输出它提供的当形成待显示输出表面时要使用的表面或多个表面的一个或更多个区域。
[0012]根据本发明的第二方面,提供了一种操作数据处理系统的方法,所述数据处理系统包括:显示控制器,所述显示控制器可操作为从存储器读取表面或多个表面并且向显示器提供已使用有损压缩方案压缩的待显示输出表面的压缩版本;以及一个或更多个处理级,所述一个或更多个处理级可操作为提供当形成待显示输出表面时要使用的表面或多个表面;该方法包括:
[0013]所述一个或更多个处理级中的一个或更多个提供当形成待显示输出表面时要使用的表面或多个表面;
[0014]所述显示控制器使用用于形成待显示输出表面的表面从存储器读取处理级提供的表面中的至少一个,并且以使用有损压缩方案的压缩形式向显示器提供所述输出表面用于显示;
[0015]其中:
[0016]所述一个或多个处理级中的至少一个使用有损压缩方案以压缩形式输出它提供的当形成待显示输出表面时要使用的表面或多个表面的一个或更多个区域。
[0017]本发明涉及一种数据处理系统,在该数据处理系统中,显示控制器可操作为向显示器提供已使用有损压缩方案压缩的输出表面。数据处理系统还包括显示控制器上游的一个或更多个处理级,用于提供当形成显示表面时使用的表面,但与已知布置相比,上游处理级中的至少一个可操作为使用有损压缩方案以压缩形式输出它提供的表面。
[0018]因此,在本发明中,在显示控制器上游使用有损压缩方案压缩用于生成待显示输出表面的至少一个表面。那么,这意味着,可减少系统的整体存储器带宽要求和功率要求。
[0019]此外,
【申请人】认识到,这可以在不会对显示的图像的质量产生不利影响的情况下完成。这是因为,用于压缩从显示控制器提供到显示器的输出表面的有损压缩有效地丢弃了图像质量中的一些,所以在一些情况下,如果替代地在处理的较早(上游)阶段中有效丢弃这个图像质量中的部分,就不会有关系。
[0020]因此,本发明至少部分在于实现了:在使用有损压缩方案(诸如,DSC)压缩从显示控制器提供到显示器的输出表面的布置中,可以在处理中的较早(上游)阶段中有损失地压缩用于生成供显示的输出表面的数据,从而节省功率和带宽,而没有对显示的图像的质量生成不利影响。
[0021]在本发明的数据处理系统中,一个或更多个处理级提供用于形成待显示输出表面的表面,然后显示控制器向显示器提供输出表面(以有损压缩形式)用于显示。
[0022]处理级提供的表面或多个表面可以是任何合适的和所需的这种表面(例如,帧)。优选地,它们是待显示窗口,优选地,是供显示的图像(例如,帧)。这些表面可以是例如用于游戏、演示、图形用户界面(GUI)、带有视频数据的GUI(例如,带有图形“回放”和“暂停”图标的视频帧)等。
[0023]待显示输出表面可对应地包括任何合适的和所需的供显示的这种表面(例如,帧)。再次,优选地是待显示的窗口,优选地,图像(例如,帧)。
[0024]可操作为提供用于形成待显示输出表面的表面或多个表面的一个或更多个处理级可包括能进行操作以在数据处理系统中提供用于显示的表面的任何合适的处理级。它们将是并且优选地是生成并且提供显示的输出表面的整体处理流中的显示控制器的“上游”。在显示控制器的上游可仅存在单个处理级,但优选地存在多个处理级。
[0025]这些处理级可包括能进行操作以生成供显示表面的至少一个处理级。因此,在一个优选实施方式中,一个或更多个处理级中的至少一个包括能进行操作以生成一个或更多个表面的帧生成器。“帧生成器”处理级可包括例如图形处理单元(GPU)、视频编解码器或视频引擎、数字相机图像信号处理器(ISP)、图像处理器和/或中央处理单元(CPU)等。如有需要,可存在多于一个帧生成器。
[0026]帧生成器应该以合适方式,例如,通过在图形处理器的情况下渲染表面,通过在视频编解码器或视频引擎的情况下合适地解码输入的编码视频数据,用在数字相机图像信号处理器(ISP)的情况下拍摄的图像等,生成其表面。
[0027]所述一个或更多个处理级可另外地或替代地(优选地,另外地)包括能进行操作以处理之前生成的表面或多个表面的级或多个级,例如,以产生(例如)所述表面或多个表面的修改版本。
[0028]例如,在合成引擎合成多个表面用于提供合成表面的情况下,将是这种情况。
[0029]因此,在优选实施方式中,所述一个或更多个处理级中的至少一个包括可操作为合成(两个或更多个)表面以生成合成表面的合成级。在这种情况下,由合成级合成的表面优选地包括由至少一个帧生成器生成的表面(中的两个或更多个)。因此,合成级优选地可操作为从存储器读取(两个或更多个)表面。
[0030]合成级可被构造成以任何合适的方式根据需要合成表面以生成合成表面。在实施方式中,合成级被构造成混合或以其它方式组合表面,以生成合成表面。合成级优地可操作为将合成的输出表面存储在存储器中。在优选实施方式中,将使用合成表面作为显不的输出表面。
[0031]所述一个或多个处理级可以另外地或替代地(优选地,另外地)包括压缩级,所述压缩级能进行操作以压缩输入表面以提供输入表面的压缩表示或版本。因此,在实施方式中,所述一个或多个处理级中的至少一个包括能进行操作以压缩表面(的一个或更多个区域)的压缩级。压缩级可以能进行操作以压缩通过系统的其它处理级产生的表面中的一个或更多个或全部的任一个或更多个或全部区域。
[0032]同样,所述压缩级优选地可操作为将压缩后的表面或多个表面存储在存储器中。
[0033]所述处理级中的一个或更多个可以另外地或替代地(优选地,另外地)可操作为(选择性)修改一个或更多个区域或表面。例如,所述处理级中的一个或更多个可操作为(选择性)对一个或更多个区域或表面执行图像增强修改(诸如,改变对比度和/或亮度、执行伽玛校正、和/或执行色调映射);(选择性)旋转和/或缩放一个或更多个区域或表面;和/或(选择性)执行图像增强方案,例如以改进显示响应性(诸如,电平自适应性过驱动(LA0)、前馈驱动(FR))、动态对比度补偿(DCC)等)。当然,所述处理级中的一个或更多个可操作为执行其它类型的处理和/或修改。
[0034]在优选实施方式中,存在例如一系列处理级(以生成待显示输出表面的处理流的次序),优选地,包括一个或更多个帧生成处理级,所述一个或更多个帧生成处理级生成将用于形成显示的输出表面的帧,之后是例如一个或多个处理级(诸如,合成级),所述一个或多个处理级取得所述帧生成器产生的表面并且处理这些表面中的一个或更多个(例如,合成它们以形成合成表面)以形成例如将形成和/或有助于显示的输出表面的其它的表面或多个表面。显示控制器接着可取得通过处理级产生的表面中的任一个或更多个或全部作为发送到显示器的输出表面或以形成发送到显示器的输出表面。
[0035]因此,可直接使用当形成待显示输出表面时将使用的处理级提供的表面作为待显示输出表面或待显示输出表面的部分,和/或可不直接使用当形成待显示输出表面时将使用的处理级提供的表面或多个表面作为待显示输出表面或不将其用于待显示输出表面,而是可替代地首先通过另一个处理级进行处理(例如,修改),使该处理级的输出随后被用作待显示输出表面或待显示输出表面的部分(或经受其它处理,等等)。在后一种情况下,当形成输出表面时将使用的处理级提供的表面在整体处理流中将事实上是中间表面,所述整体处理流生成用于形成和/或促成显示的最终输出表面的表面或多个表面。
[0036]如以上讨论的,处理级优选地可操作为将它们各自的输出表面存储在存储器中(对应地,(酌情地)从存储器读取它们将要处理的表面)。这个存储器可包括任何合适的存储器并且可按任何合适和所需的方式进行构造。例如,存储器可以是带有所考虑的处理级和/或所考虑的处理级本地的芯片上存储器,或者存储器可以是外部存储器。在优选实施方式中,它是外部存储器(诸如,数据处理系统的主存储器)。出于此目的,它可以是专用存储器,或者它可以是也用于其它数据的存储器的部分。在优选实施方式中,一个或更多个表面被存储在相应的帧存储器中(并且被从相应帧缓冲器读取)。例如,相应的处理级帧缓冲器可设置在数据处理系统的主存储器中。
[0037]显示控制器可包括任何合适的显示控制器,显示控制器能进行操作以向显示器提供已使用有损压缩方案压缩的输出表面。
[0038]因此,显示控制器将能进行操作并且优选地可操作为优选地从其中存储有表面或多个表面的存储器读取待显示的表面或多个表面的一个或更多个区域,并且向显示器提供从这些输入的表面或多个表面形成的有损压缩的输出表面进行显示。
[0039]显示控制器可以简单地能进行操作以读取单个输入表面,然后它将这个输入表面的全部或部分作为有损压缩的输出表面提供到显示器,或者另选地,显示控制器可以可操作为读入并且组合(根据需要)多个输入表面,从而向显示器提供有损压缩的输出表面。如以上讨论的,将由数据处理系统的(上游)处理级中的一个或更多个提供显示控制器读取的用于向显示器提供输出表面的(输入)表面。因此,显示控制器的输入表面可包括帧生成器或多个帧生成器生成的一个或更多个表面的一个或更多个区域,和/或由合成级或多个合成级合成的合成输出表面的一个或更多个区域、和/或由压缩级或多个压缩级输出的表面的一个或更多个区域等。
[0040]因此,显示控制器优选地包括能进行操作以读取输入表面或多个输入表面的一个或更多个区域的输入级。在优选实施方式中,输入级包括诸如(例如)直接存储器访问(DMA)读控制器的读控制器。
[0041]显示控制器可操作为向显示器提供有损压缩的输出表面。因此,显示控制器优选地包括输出级,所述输出级可操作为向显示器提供有损压缩的输出表面。这个输出级可以是任何这种适于能进行操作以向显示器提供供显示的输出表面的输出级,例如,能进行操作以致使在显示器上显示供显示的输出表面的输出级(充当显示界面)。输出级优选地包括适于显示的时序控制功能(例如,输出级被构造成以合适的水平消隐时段和垂直消隐时段向显示器发送像素数据)。
[0042]为了能够向显示器提供有损压缩的输出表面,显示控制器优选地能够并且能进行操作以使用有损压缩方案来压缩一个或更多个表面的一个或更多个区域。显示控制器优选地包括压缩级,所述压缩级可操作为出于此目的压缩一个或更多个表面的一个或更多个区域。
[0043]显示控制器可用来压缩输入表面或多个输入表面以提供压缩后的输出表面的有损压缩方案可包括任何合适的且所需的有损压缩方案。
[0044]显示控制器优选地使用大致视觉无损失压缩方案,优选地使用增量脉冲编码调制(DPCM)和/或索引颜色历史(ICH)。显示控制器有损压缩方案优选地对待压缩表面的光栅线进行操作,即,将像素(取样位置)的各光栅线(行)压缩在一起。更优选地,显示控制器使用并且支持显示流压缩(DSC)。
[0045]显示控制器应该并且优选地进行操作,以使用合适的有损压缩方案来压缩将作为有损压缩后的输出表面提供到显示器的任何未压缩的输入表面或输入表面区域(在向显示器提供表面或表面区域之前)。
[0046]如以上讨论的,以及有可能接收提供到显示器的未压缩(输入)的表面(和/或(输入)表面区域),将形成或促成输出表面的表面(和/或表面的区域)中的一个或更多个可按压缩形式(无论是有损压缩形式或其它形式)提供。换句话讲,显示控制器输入表面或多个输入表面可被压缩或可未压缩,和/或可包括被压缩的一个或更多个区域和/或未压缩的一个或更多个区域。
[0047]在(输入)表面或表面区域已经被压缩的情况下,显示控制器可或可不需要将这些压缩表面(或表面区域)转换成将被发送到显示器的有损压缩形式。
[0048]例如,当(如果)输入表面已经处于显示器要求的有损压缩形式时,则显示控制器可以并且优选地仅仅将压缩后的输入表面(或输入表面区域或多个输入表面区域)传递到显示器,而没有进一步压缩。
[0049]另一方面,当(如果)用于输入表面或多个输入表面的压缩方案不匹配用于提供到显示器的输出表面的有损压缩方案时,则显示控制器可需要并且优选地将压缩后的输入表面转换成合适的有损压缩格式,以提供到显示器。这可以并且优选地涉及对压缩后的输入表面或多个输入表面(区域或多个区域)进行解压缩,然后使用显示控制器有损压缩方案重新压缩解压缩后的表面或多个表面(区域或多个区域)。
[0050]因此,在优选实施方式中,显示控制器能够并且可操作为对使用除了显示控制器有损压缩方案外(例如,除了 DSC外)的压缩方案压缩的表面的压缩后的区域进行解压缩,例如,以生成表面的一个或更多个解码和/或解压缩后的区域。显示控制器优选地包括解压缩级,所述解压缩级可操作为出于此目的对表面的一个或更多个区域进行解码和/或解压缩。显示控制器解压缩级可包括例如用于对表面的一个或更多个DSC压缩后区域进行解压缩的DSC解码器和/或用于对输入表面的一个或更多个AFBC压缩后区域进行解压缩的ARM帧缓冲压缩(AFBC)解码器(在 US-A1-2013/0034309 中描述了 AFBC)。
[0051]显示控制器(压缩级)接着优选地能进行操作以压缩解压缩后的区域(使用显示控制器有损压缩方案),例如以便生成输出表面的一个或更多个区域。
[0052]因此,显示控制器(其压缩级)优选地可操作为(选择性)压缩(输入)表面的未压缩区域和/或已被(例如,通过显示控制器解压缩级)解压缩的(输入)表面的区域。
[0053]因此,在实施方式中,提供到显示器的有损压缩输出表面可包括已被显示控制器(例如,其压缩级)压缩的一个或更多个区域、和/或已被不是(并非被)显示控制器(诸如,例如,被一个或更多个上游处理级中的一个或更多个)压缩的一个或更多个区域。
[0054]因此,在实施方式中,提供到显示器(并且已使用“显示控制器”有损压缩方案压缩)的输出表面包括被不是(并非被)显示控制器压缩(优选地,被一个或更多个处理级中的一个或更多个压缩)的表面的一个或更多个区域。
[0055]在实施方式中,显示控制器可操作为对用于形成显示的输出表面的输入表面或多个输入表面执行某种形式的处理,例如(选择性)修改输入表面或多个输入表面的一个或更多个区域。显示控制器可包括能进行操作以出于这个目的或这些目的处理输入表面来生成待显示输出表面的一个或更多个处理级。
[0056]显示控制器可以能进行操作,例如以(选择性)对输入表面或多个输入表面的一个或更多个区域执行图像增强修改,诸如改变对比度和/或亮度,执行伽玛校正,和/或执行色调映射。另外地或另选地,显示控制器可以可操作为(选择性)旋转和/或缩放区域或表面。另外地或另选地,显示控制器可以可操作为(选择性)执行图像增强方案,(例如)以改进显示响应性(诸如,电平自适应性过驱动(LAO)、前馈驱动(FFD)、动态对比度补偿(DCC)等)。当然,显示控制器可以可操作为执行其它类型的处理和/或修改。
[0057]在这些实施方式中,显示控制器可以并且在优选实施方式中选择性对编码和/或压缩后的输入表面的一个或更多个区域进行解码和/或解压缩(即,在必要时),使得它们接着可被处理(例如,被显示控制器修改)。显示控制器(例如,其压缩级)优选地接着能进行操作以压缩(有损失地)修改后的区域,例如,以便生成显示的有损压缩的输出表面的一个或更多个区域。
[0058]在此优选实施方式中,在已经压缩的(输入)表面区域被显示控制器修改的情况下,确定修改后的版本与输入表面区域的未修改版本是否相同或充分类似,如果这样,则通过显示控制器输出区域的未修改的压缩版本(S卩,而非修改后的、压缩版本)。在这个实施方式中,在通过显示控制器输出区域的未修改版本的情况下,区域的修改后的版本不需要接着被显示控制器压缩(优选地,不被显示控制器压缩),从而减少显示控制器所需的处理量。
[0059]例如,当(如果)区域的两个版本之间的差异充分小、例如,降至低于阈值(优选地,进行设置使得在显示时差异是不可察觉的或将是不可察觉的)时,可确定修改后的区域充分类似于其对应的未修改区域。
[0060]因此,在这些实施方式中,在区域被修改的情况下,根据修改是否造成区域充分变化,显示控制器输出(S卩,向显示器提供)区域的修改版本或区域的未修改版本。在通过显示控制器输出区域的未修改版本的情况下,区域的修改版本优选地被丢弃并且不需要被(优选地不被)显示控制器压缩,从而减少显示控制器所需的处理量。
[0061]在特别优选的实施方式中,显示控制器被构造成使得已经使用“显示控制器”有损压缩方案压缩并且不需要进行修改的(输入)表面的这些区域可绕过显示控制器解压缩级、修改级和压缩级(如果有的话)。(输入)表面的这些区域优选地然后被用作输出表面或用作输出表面的部分。
[0062]因此,在优选实施方式中,显示控制器包括压缩级、一个或更多个修改级和解压缩级中的一个或更多个并且优选地全部,这些级中的每个(如果存在的话)可优选地被选择性绕过,例如,当合适或需要时。那么,这意味着,可减少显示控制器执行的处理量。
[0063]因此,在优选实施方式中,显示控制器被构造成:读取输入表面的一个或更多个区域;确定读取的一个或更多个区域中的一个或更多个是否被压缩。
[0064]在实施方式中,当(如果)确定读取的区域不是被压缩(S卩,没有被压缩)时,则显示控制器优选地使用显示控制器有损压缩方案(例如,DSC)压缩读取的区域(并且根据需要,读取的区域可在被压缩之前被修改),以便生成适于提供到显示器的有损压缩的输出表面区域。
[0065]另一方面,在实施方式中,当(如果)确定读取的区域是被压缩的区域时,则显示控制器优选地确定是否使用显示控制器有损压缩方案(例如,DSC)压缩读取的区域。当(如果)确定使用除了显示控制器有损压缩方案外的压缩方案压缩读取的区域时,则显示控制器优选地对读取的区域进行解压缩且使用显示控制器有损压缩方案(例如,DSC)压缩解压缩后的区域。
[0066]然后,优选地,被如此压缩的区域用于提供到显示器的输出表面的(对应)区域。
[0067]另外,解压缩区域可根据需要在被压缩之前被修改。
[0068]对应地,在实施方式中,当(如果)确定使用显示控制器有损压缩方案(例如,DSC)压缩读取区域时,则显示控制器优选地确定使用显示控制器有损压缩方案压缩的读取区域是否需要修改。
[0069]在实施方式中,当(如果)确定使用显示控制器有损压缩方案压缩的读取的区域不是需要修改(即,不需要修改)时,则显示控制器优选地将使用显示控制器有损压缩方案压缩的读取的区域提供到显示器,作为输出表面或输出表面的部分。另一方面,当(如果)确定使用显示控制器有损压缩方案压缩的读取的区域需要修改时,则显示控制器优选地对使用显示控制器有损压缩方案压缩的读取的区域进行解压缩,修改解压缩后的区域,并且确定修改后的区域是否与使用显示控制器有损压缩方案压缩的读取的区域相同或充分类似。
[0070]当(如果)确定修改后的区域与使用显示控制器有损压缩方案压缩的读取的区域相同或充分类似时,则显示控制器优选地将使用显示控制器有损压缩方案压缩的读取的区域提供到显示器,优选地作为输出表面或输出表面的部分,修改后的区域优选地被丢弃。
[0071]另一方面,当(如果)确定修改后的区域并没有与使用显示控制器有损压缩方案压缩的读取的区域相同或充分类似(即,与其不同或不充分类似(充分不类似))时,则显示控制器优选地使用显示控制器有损压缩方案压缩修改后的区域,接着优选地将如此压缩的区域用于输出表面的对应区域。也就是说,如此压缩的区域优选地被作为输出表面或输出表面的部分优选地提供到显示器。
[0072]在实施方式中,显示控制器可操作为将输出表面写入外部存储器。显示控制器可包括写出级,所述写出级能进行操纵,以出于此目的将输出表面写入外部存储器。写出级可以是可将输出表面写入外部存储器的任何合适的这种级。在一个实施方式中,写出级包括诸如直接存储器访问(DMA)写控制器的写控制器。
[0073]在优选实施方式中,可写入外部存储器的输出表面是提供到显示器的输出表面(的可选的修改版本)。
[0074]可被写出级写入数据的外部存储器应该是并且优选地是显示控制器外部的一个或更多个存储器。外部存储器优选地被作为单独芯片(单片集成电路)或者在其上被提供到显示控制器。外部存储器优选地包括整体数据处理系统的主存储器(例如,被中央处理单元(CPU)共享)(例如,帧缓冲器)。
[0075]数据处理系统的一个或更多个(上游)处理级中的至少一个能够以有损压缩形式(使用有损压缩方案)输出它产生的表面的一个或更多个区域。一个或更多个上游处理级中的任何一个或更多个可被构造成进行这个步骤。
[0076]因此,在优选实施方式中,系统包括以下中的一个或更多个或全部:一个或更多个帧生成器处理级,其可操作为输出一个或更多个表面的已使用有损压缩方案压缩的一个或更多个区域;合成处理级,其可操作为输出合成输出表面的已使用有损压缩方案压缩的一个或更多个区域;一个或更多个压缩处理级,其可操作为输出一个或更多个表面的已使用有损压缩方案压缩的一个或更多个区域。
[0077]在实施方式中,一个或更多个处理级中的一个的仅仅一个可操作为输出已使用有损压缩方案压缩的表面。然而,可存在能够输出(能进行操作以输出)表面的已使用有损压缩方案压缩的一个或更多个区域的一个或更多个处理级中的多个级(在优选实施方式中,存在这多个级)。能够提供压缩输出的各处理级优选地包括适于此目的的压缩“引擎”(例如,执行压缩例程)。
[0078]可根据需要选择能够提供压缩输出的处理级。
[0079]一般优选地,压缩输出应该尽可能早地在生成并且提供显示的输出表面的整体处理流程中提供,因为这将意味着带宽和功率尽可能多地减少。
[0080]因此,优选地,帧生成器处理级中的至少一个或更多个能够输出已使用有损压缩方案压缩的一个或更多个表面的一个或更多个区域。
[0081]在使用合成的实施方式中,优选地,至少合成级能够输出合成输出表面的已使用有损压缩方案压缩的一个或更多个区域。合成级优选地包括压缩引擎,所述压缩引擎可操作为出于此目的使用有损压缩方案压缩合成表面。
[0082]在处理级输出的压缩后的区域或表面中的一个或更多个将被进一步修改和/或处理(例如,通过一个或更多个处理级)的情况下(即,在提供到显示控制器和/或用作或用于形成供显示输出表面之前),接着所述一个或更多个压缩后的区域或表面在被合适修改和/或处理(优选地,接着被重新压缩)(例如,通过执行修改和/或处理的一个或更多个处理级)之前可能必须被(在实施方式中,被)解压缩。
[0083]例如,在使用合成的实施方式中,在使用有损压缩方案压缩了待合成的区域或表面中的一个或更多个的情况下,待合成的压缩后的区域或表面中的一个或更多个并且优选地全部在合成之前优选地被解压缩,例如,如果合成级的正确操作需要或必须。
[0084]因此,在优选实施方式中,处理级中的一个或更多个(优选地,至少合成级)能够并且能进行操作以对表面的压缩后区域进行解压缩,例如,以生成表面的一个或更多个解压缩后的区域(例如,以进行修改和/或合成)。所述一个或更多个处理级中的一个或更多个(例如,合成级)优选地包括解压缩引擎,所述解压缩引擎可操作为出于此目的对表面的一个或更多个区域进行解压缩。
[0085]这里,应该注意,在对一个或更多个压缩后的区域进行解压缩的实施方式中,对系统的带宽要求仍然有利地降低,即,至少对于数据以压缩形式在处理级之间传递的特定情形而言。
[0086]在一些实施方式中,可以优选地,例如,在得益于带宽减小的益处胜过执行额外压缩/解压缩处理的必要性的情况下,避免对将被修改和/或处理和/或合成的区域或表面进行压缩、解压缩(然后重新压缩)所需的处理。在这些情况下,例如,如果已知将修改和/或处理和/或合成区域或表面,则例如通过开始不压缩区域或表面,可避免额外的处理。
[0087]因此,在实施方式中,在处理级提供的区域或表面将被进一步修改和/或处理和/或合成的情况下(即,在其被提供到显示控制器和/或用作或用于形成供显示输出表面之前),接着优选地控制该处理级从而以未压缩形式输出区域或表面。对应地,在处理级提供的区域或表面将并不(不)进一步修改和/或处理和/或合成的情况下(即,在其被提供到显示控制器和/或用作或用于形成供显示输出表面之前),接着优选地控制该处理级,以使用有损压缩方案以压缩形式输出一个或更多个区域或表面。
[0088]可提供压缩输出的处理级中的一个或更多个可被构造成总是提供压缩输出(并且对应地,提供未压缩输出的压缩级中的一个或更多个可被构造成总是提供未压缩输出),但更优选地,处理级中的一个或更多个能够根据需要(优选地,选择性)既提供压缩输出又提供未压缩输出。此处理级优选地可操作为为了这样做而选择性启用/禁用其压缩操作。
[0089]最优选地,能进行操作以既提供压缩输出又提供未压缩输出的处理级可操作为选择性地以逐个区域或逐个表面为基础选择性提供压缩输出或未压缩输出。
[0090]因此,在一个实施方式中,对于将从(特定)处理级输出的各区域或表面,确定区域或表面是否将被修改和/或处理和/或合成(即,在其被提供到显示控制器和/或用作或用于形成供显示输出表面之前)。
[0091]优选地,当(如果)确定将修改和/或处理和/或合成区域或表面时,则处理级优选地进行操作,以未压缩形式输出区域或表面。优选地,当(如果)确定将不修改和/或处理和/或合成区域或表面时,则处理级优选地进行操作,以压缩形式输出区域或表面。
[0092]这样可有助于确保减少由于带宽和处理要求而导致的系统整体功耗。
[0093]在另一个实施方式中,在对区域或表面的任何所需修改由例如在使区域或表面通过整体一系列级之前能预测的(例如,一般将由显示控制器执行的)(例如,相对简单的)图像处理修改(诸如,例如,诸如改变对比度和/或亮度、执行伽玛校正、和/或执行色调映射的图像增强修改;旋转和/或缩放;和/或图像增强方案,例如改进显示响应性,诸如,电平自适应性过驱动(LA0)、前馈驱动(FFD)、动态对比度补偿(DCC)等)组成的情况下,那么提供区域或表面的处理级可操作为自己执行图像处理修改。
[0094]所述一个或更多个上游处理级中的任何一个或更多个可被构造成(选择性)以这种方式对一个或更多个区域或表面执行图像处理修改。因此,例如,优选地,帧生成器处理级中的至少一个或更多个能够执行图像处理修改。在使用合成的实施方式中,优选地,至少合成级能够执行图像处理修改。
[0095]可执行图像处理修改的处理级中的一个或更多个可被构造成总是执行这种图像处理修改,但更优选地,处理级中的一个或更多个能够根据需要选择性执行图像处理修改。更优选地,这可以以逐个区域或逐个表面为基础进行。
[0096]在一个实施方式中,对于将从(特定)处理级输出的各区域或表面而言,确定区域或表面是否将被(或有可能被)修改和/或处理和/或合成(即,在其被提供到显示控制器和/或用作或用于形成供显示输出表面之前)。
[0097]优选地,当(如果)确定区域或表面将并不(不)被进一步修改和/或处理和/或合成时,则处理级优选地操作为自己执行所需的图像处理修改。优选地,当(如果)确定区域或表面将被进一步修改和/或处理和/或合成时,则处理级优选地进行操作,并不是(不)自己执行所需的图像处理修改。
[0098]那么,这将意味着,修改后(和压缩后的)区域或表面将不需要被显示控制器解压缩来执行图像处理修改,使得可绕过显示控制器解压缩、修改、和/或压缩级,并且可避免对区域或表面进行压缩、解压缩(然后重新压缩)所需的处理。
[0099]能够提供有损压缩输出表面的各(上游)处理级可使用与可提供有损压缩输出表面的其它处理级相同或不同的有损压缩方案。然而,在优选实施方式中,能够提供有损压缩输出表面的各(上游)处理级使用与可提供有损压缩输出表面的其它处理级相同的有损压缩方案。
[0100]上游处理级使用的有损压缩方案或多个有损压缩方案可包括任何合适的且所需的有损压缩方案。
[0101]在优选实施方式中,(上游)处理级使用的各有损压缩方案是基于显示控制器将使用的有损压缩方案(将用于压缩发送到显示器的输出表面)(而选择)的方案。“处理级”压缩方案优选地以某种方式(例如,优选地,在其特征中的一个或更多个方面)与显示控制器有损压缩方案相关和/或匹配。
[0102]因此,例如,在优选实施方式中,处理级有损压缩方案使用与显示控制器有损压缩方案相同的压缩格式和/或算法,例如,显示控制器压缩方案是线性压缩方案的情况下,处理级有损压缩方案是线性压缩方案(与例如基于块的压缩方案形成对照)。优选地,处理级有损压缩方案是线性压缩方案。
[0103]如本领域的技术人员应该理解的,为了压缩图像,有损压缩方案有效地丢弃图像质量中的一些。有损压缩方案通常能够将数据压缩到比无损失压缩方案更大的程度,但代价是在图像数据中引入了噪声或伪像。因此,给定的有损压缩方案将对图像具有其自身的视觉效应,例如,其自身的特定噪声特性或伪像。
[0104]通过匹配使用的有损压缩方案,可减少系统的整体存储器带宽要求和功率要求,而没有对显示的图像的质量有不利地影响。
[0105]在本发明的特别优选的实施方式中,基于(匹配)显示控制器压缩方案的噪声特性来选择处理级有损压缩方案的噪声特性,优选地使得使用两种有损压缩方案压缩的表面将显示相同或类似的噪声伪像。
[0106]在一个实施方式中,通过使用与显示控制器相同的有损压缩方案的处理级匹配有损压缩方案。
[0107]因此,处理级使用的有损压缩方案可包括大致视觉上无损的压缩方案,并且可使用增量脉冲编码调制(DPCM)和/或索引颜色历史(ICH)。有损压缩方案可对待压缩的图像的光栅线进行操作,即,优选地,将像素(取样位置)的各光栅线(行)压缩在一起。在优选实施方式中,处理级使用显示流压缩(DSC)。
[0108]在另一个实施方式中,处理级使用与显示控制器不同的有损压缩方案,但通过基于显示控制器压缩方案的处理级压缩方案,优选地通过基于显示控制器压缩方案的特性构造的处理级压缩方案,匹配有损压缩方案(优选地,以尝试匹配显示控制器压缩方案的噪声特性)。
[0109]在这些实施方式中,处理级有损压缩方案优选地尽可能地基于显示控制器压缩方案(例如,DSC),即,从而确保噪声特性尽可能类似。因此,例如,处理级有损压缩方案优选地在可能时使用相同类型的压缩(例如,增量脉冲编码调制(DPCM)和/或索引颜色历史(ICH)) ο
[0110]在实施方式中,提供压缩输出的处理级被布置成以与显示控制器有损压缩方案(直接)兼容的形式提供压缩后的输出区域或表面。例如,在显示控制器有损压缩方案被构造成对输出表面(例如,供显示帧)的光栅线操作的情况下,提供压缩输出的处理级可被布置成以光栅线(即,取样位置(例如,像素)的行)的形式提供压缩后的输出区域。
[0111]因此,在实施方式中,提供压缩输出的处理级被布置成提供大小(例如,优选地,就取样位置的数量而言)和形状(例如,优选地,就输出表面中的取样位置的布局而言,诸如光栅线)与显示控制器压缩方案被构造成所操作的区域的大小和形状对应的输出区域(即,通过一个或更多个处理级中的至少一个输出的压缩后的区域的大小和形状对应于显示控制器向显示器提供的输出表面的压缩后的区域的大小和形状)。
[0112]换句话讲,在这个实施方式中,处理级有损压缩方案所操作的压缩“窗口”将与显示控制器有损压缩方案所操作的压缩窗口相同。
[0113]这样有助于通过处理级输出的压缩后的输出区域与显示控制器压缩方案兼容,因此(有可能)能够被直接提供到显示器(例如,在有损压缩方案的其它相关特性充分匹配的情况下),在合适时绕过显示控制器解压缩/压缩级(如以上讨论的)。
[0114]然而,可存在以下情况(在实施方式中,存在以下情况):通过处理级(压缩窗口)中的一个或更多个输出(并且操作)的区域的形状不同于显示控制器压缩方案被构造成所操作(压缩)的区域(窗口)的形状(即,通过一个或更多个处理级中的至少一个输出的压缩后的区域的形状可不同于显示控制器要提供到显示器的输出表面的压缩后的区域的形状)。
[0115]例如,处理级中的一个或更多个可被构造成以输出表面的取样位置(S卩,“切片(tile)”)的二维块(阵列)的形式输出区域(S卩,其高度和宽度均大于单个取样位置的区域)(并且对区域进行操作,例如,压缩),而显示控制器压缩方案可被构造成对输出表面的光栅线(B卩,一个取样位置高并且许多像素取样位置宽(长)的取样位置的行)进行操作(压缩)。
[0116]在一个实施方式中,为了进行应对,处理级有损压缩方案被构造成将来自多个输出区域(例如,切片)的取样位置压缩在一起,例如,优选地,形成取样位置的通过将来自不同输出区域(例如,切片)的取样位置的各个行串接在一起而形成的压缩后的线(行)。
[0117]因此,例如,在处理级中的一个或更多个被构造成以取样位置(S卩,“切片”)的二维块(阵列)的形式输出区域(并且对区域进行操作)并且显示控制器压缩方案被构造成对光栅线(即,取样位置的行)一起进行操作(压缩)的情况下,可从(优选地从)所考虑的处理级输出的表面的多个块(切片)中取得由所考虑的处理级使用有损压缩方案压缩在一起的取样位置的行。
[0118]在此优选实施方式中,将多个输出表面区域(切片)中的每个的各对应行的取样位置压缩在一起。例如,可将切片行中的各切片的顶行的取样位置压缩在一起。可将切片行中的各切片的第二行中的取样位置压缩在一起,以此类推。
[0119]因此,在这些实施方式中,可从(优选地从)所考虑的处理级输出的区域(块)的多个中取得有损压缩方案被构造成将其压缩在一起的各区域的取样位置。同等地,处理级有损压缩方案被构造成将其压缩在一起的各区域的取样位置不需要(优选地,不)包括给定输出区域中的所有取样位置。
[0120]因此,在优选实施方式中,处理级压缩方案被布置成产生形状与显示控制器压缩方案被构造成所操作(压缩)的区域的形状对应的有损压缩后的区域(使用压缩窗口)(但处理级(例如,帧生成器中的一个或更多个)初始输出的区域的形状不需要具有(在一实施方式中,不具有)相同的对应形状)。这同样有助于来自处理级的压缩后的输出区域与显示控制器压缩方案(有可能)兼容,使得它们随后可(有可能)在合适时绕过显示控制器解压缩/压缩级(如以上讨论的)。
[0121]在这些实施方式中,以及通过处理级产生的形状与显示控制器压缩方案被构造成所操作并且产生的区域(例如,输出表面的光栅线)的形状对应的压缩后的输出区域,处理级压缩方案产生的作为压缩后的输出区域的区域的大小优选地被设置成与显示控制器压缩方案所操作的区域的大小相同(例如,优选地,就对于任何给定的特定区域被压缩的取样位置的数量而言)。这同样有助于来自处理级的压缩后的输出区域与显示控制器压缩方案(有可能)兼容。
[0122]然而,如有需要,另外地/替代地将可能有其它布置诸如,处理级压缩方案产生的大小(例如,取样位置的数量)与显示控制器压缩方案被构造成所操作的区域不同的压缩后的输出区域。
[0123]如应该理解的,可存在以下情况(在实施方式中,存在以下情况):构成表面的输出区域(例如,切片)并不是同时生成的。例如,在基于切片的系统中,可以是这种情况。
[0124]在来自多个输出表面区域的取样位置被压缩在一起的情况下,一旦生成了所有相关区域(例如,切片),就可执行有损压缩。另选地,有损压缩可“飞速地”(优选地,“飞速地”)执行,即,在生成区域(切片)的同时执行。也就是说,当生成各输出区域(切片)时,该切片的相关取样位置(例如,取样位置行)优选地与之前生成的输出区域(切片)中的任何已经压缩的取样位置(例如,对应取样位置行)被压缩在一起。在后一个实施方式中,压缩操作所需的任何状态信息优选地被保存并且被向前携带(例如,从切片到切片),以允许后面的区域(切片)与已经压缩的取样位置被合适地压缩在一起。
[0125]在另一个优选实施方式中,处理级有损压缩方案不(一定)压缩具有显示控制器压缩方案被构造成所操作(压缩)的区域的形状的区域。例如,处理级有损压缩方案可用于(在优选实施方式中,用于)压缩取样位置(例如,切片或多个切片)的给定二维块的取样位置,而不产生将与例如显示控制器有损压缩方案可操作并且产生的输出表面的光栅线对应的压缩后的区域。
[0126]在这种情况下,处理级有损压缩方案可被构造用于待压缩的区域,例如,是基于块的方案,但在优选实施方式中,处理级有损压缩方案是线性压缩方案,但并不压缩输出表面的行,它依次线性压缩输出表面的二维块的取样位置数据。
[0127]通过使用线性压缩方案,可保持与显示控制器压缩方案(如果它是线性方案)的一些兼容,但通过向处理级产生的输出表面的各个块而非例如光栅线应用线性方案,也可保持与针对处理级操作的输出表面的优选格式兼容。
[0128]因此在期望由处理级中的一个或更多个期望输出(并且对其进行操作)的区域的大小和/或形状与显示控制器压缩方案被构造成所操作(压缩)的区域的大小和/或形状不同的情况下,这可以是特别有用的。
[0129]因此,在特别优选的实施方式中,处理级有损压缩方案使用线性有损压缩方案,优选地,显示流压缩(DSC),但操作为线性压缩所考虑的输出表面的取样位置(例如,优选地,切片)的二维阵列(块)的取样位置值(数据值)而非输出表面中的取样位置的线性区域的取样位置值(数据值)。
[0130]这可根据需要以任何方式进行。例如,在一个特别优选的实施方式中,在各输出区域包括取样位置(即,切片)的二维块(阵列)的情况下,各输出区域的取样位置的多行优选地被顺序地压缩在一起,例如,被逐行地(即,第一行,之后第二行,之后第三行,等等)压缩在一起。
[0131]因此,在实施方式中,显示控制器向显示器提供的输出表面的各区域包括输出表面的取样位置的单行;一个或更多个处理级中的至少一个输出的各有损压缩后的区域包括取样位置的多行,其中,各压缩后的区域的取样位置的多行被顺序地线性压缩在一起。
[0132]当然,可使用任何合适且所需的次序或顺序将取样位置压缩在一起。例如,在各种实施方式中,可沿着Hilbert(希尔伯特)曲线或者使用z轴次序(z-order) (Morton次序)等将取样区域压缩在一起。
[0133]如应该理解的,以这种方式压缩的区域可不与显示控制器压缩方案直接兼容,所以,可能不能够绕过显示控制器解压缩/压缩级(如以上讨论的)。
[0134]但是,以这种方式压缩处理级输出区域是特别有用且方便的,因为可在整个处理操作中保持各区域(切片)的整体性,这在例如基于切片的数据处理系统中可以是有利的,但针对压缩后的区域产生的噪声特性(可视伪影)将往往会与显示控制器有损压缩方案(例如,DSC)产生的噪声特性(可视伪影)类似,S卩,使得显示的图像的质量不应该受不利影响。
[0135]在这些布置中,处理级压缩方案可压缩所考虑的处理级单独产生的取样位置块(切片)(在一个优选实施方式中,就是这样进行的)。这将有助于保持与所考虑的处理级或多个的操作兼容。
[0136]对应地,被压缩的取样位置的各组可以来自处理级的单个输出区域(例如,处理级输出的切片)(并且例如取决于线性压缩方案的窗口(过滤器)大小,可例如是处理级的区域的全部或部分),或者可由处理级输出的两个或更多个区域(例如,切片)形成(例如,在压缩方案窗口比单个输出区域(切片)大的情况下)。
[0137]在这些布置中,被线性压缩的取样位置块(区域)的大小(例如,优选地,就被压缩为“±夬”的取样位置的数量而言)可不同于显示控制器压缩方案产生(对其进行操作)的压缩后的输出表面区域的大小,但在优选实施方式中,被压缩的区域(块)的大小被布置成与显示控制器压缩方案产生(压缩)的区域的大小相同。这样将有助于与显示控制器压缩方案兼容。
[0138]据信,使用线性压缩方案压缩基于块的输出以便例如有助于与数据处理系统中的后一线性压缩方案兼容的以上布置就其本身权利而言可以是新的并且有利的。
[0139]因此,根据本发明的其它方面,提供了一种线性压缩输出数据阵列的方法,所述输出数据阵列是作为一起构成所述输出数据阵列的数据值的多个二维块而产生的,该方法包括:
[0140]通过串接来自构成所述输出数据阵列的二维数据值块中的一个或更多个二维数据值块中的多个数据位置行的数据值,形成要使用线性压缩方案压缩的输出阵列的数据值的行;以及
[0141]线性压缩如此形成的数据值的行,以提供所述输出数据阵列的数据值的线性压缩后的输出块。
[0142]根据本发明的其它方面,提供了一种数据处理系统的处理级,所述处理级包括处理电路,所述处理电路配置为:
[0143]产生输出数据阵列,作为一起构成所述输出数据阵列的数据值的多个二维块;
[0144]并且配置为:
[0145]通过串接来自构成所述输出数据阵列的二维数据值块中的一个或更多个二维数据值块中的多个数据位置行的数据值,形成要使用线性压缩方案压缩的输出阵列的数据值的行;以及
[0146]线性压缩如此形成的数据值的行,以提供所述输出数据阵列的数据值的线性压缩后的输出块。
[0147]如本领域的技术人员应该理解的,本发明的这些方面可酌情地包括(优选地包括)本文中描述的本发明的优选和可选的特征中的一个或更多个或全部。
[0148]因此,例如,输出数据阵列优选地是将用作或形成供显示输出表面的输出表面,数据值的二维块优选地是正产生输出表面的处理级所操作并且产生作为其输出的各个处理切片。
[0149]对应地,优选地针对构成输出数据阵列的所有块重复进行处理,以提供输出数据阵列的线性压缩版本。
[0150]可根据需要选择串接来自多个数据位置行的数据值的次序。在特别优选的实施方式中,使用以下方式中的一种将来自多个数据位置行的数据值串接= Hilbert次序;Z轴次序;以逐个数据值块行为基础。
[0151]在一个实施方式中,通过(至少)串接来自构成数据值的输出阵列的一个数据值块中的多个数据位置行的数据值(例如,通过酌情地串接块的第一行与块的第二行然后块的第三行,以此类推),形成将使用线性压缩方案压缩的数据值的行。
[0152]对应地,在另一个实施方式中,通过串接来自构成输出数据阵列的多个不同数据值块中的数据位置行的数据值,优选地,通过串接来自构成输出阵列的数据值块的行的多个数据值块中的每个中的各个对应数据位置行(例如,第η行)(例如,优选地,通过串接来自数据值块的行中的各数据值块的第一数据位置行以形成将被线性压缩的数据值的一行,串接来自数据值块的行中的各数据值块的第二行数据值以形成将被线性压缩的数据值的第二行,以此类推),形成将使用线性压缩方案压缩的数据值的行。
[0153]还将可以使用基于和/或被构造成匹配(例如,就它们的特性而言)显示控制器有损压缩方案的其它形式的有损压缩方案。
[0154]在这种情况(及其它情况)下,可按任何合适且所需的方式将处理级压缩方案“调节”为显示控制器有损压缩方案。例如,可丢弃给定压缩方案的输出的最低有效位中的一个或更多个,使方案有损并且将它调节为显示控制器压缩方案。另选地或另外地,可基于显示控制器压缩方案控制处理级有损压缩方案的压缩比(比率控制器)。
[0155]例如,在一个实施方式中,有损压缩方案可包括例如通过丢弃最低有效位中的一个或更多个而有损失的ARM帧缓冲压缩(AFBC)的版本。
[0156]在优选实施方式中,显示控制器可操作为将信息(例如,优选地,与它正向显示器提供的它的有损压缩输出相关)发送(反馈)到提供压缩输出的处理级中的一个或更多个。然后,优选地,使用所述信息来控制(例如,调节)所考虑的处理级的有损压缩方案。因此,优选地,基于与(当前使用的)显示控制器有损压缩方案相关的信息(反馈),控制处理级有损压缩方案。
[0157]在一个优选实施方式中,反馈信息包括关于显示控制器压缩的特性(优选的,损失率)的信息,并且优选地用于控制处理级有损压缩方案的压缩比(比率控制器)。例如,在实施方式中,特定(例如,当前和/或之前的)表面或多个表面(帧或多个帧)的显示控制器压缩比可用于控制例如用于下一个表面或表面的集合(帧或多个帧)的处理级有损压缩方案的压缩比。这样可确保处理级有损压缩方案与显示控制器压缩方案正确“匹配”。
[0158]处理级和显示控制器等可将它们各个表面作为整体(例如,作为整体帧)进行处理(例如,生成和/或以其它方式处理)。在这种情况下,输出表面区域将包括整体帧。然而,在优选实施方式中,处理级和/或显示控制器中的至少一个(优选地,全部)将它们各个表面作为所考虑的总体表面(例如,帧)的各个子区域(子区)进行处理。
[0159]在这种情况下,所考虑和使用的表面的区域将均包括所考虑的表面的(区域的)一部分(一些但并非全部)(即,表面或多个表面被划分成多个区域)。表面的这些区域均可代表所考虑的表面的任何合适且所需的区域(区)。只要所考虑的表面能够被划分或分割成均代表可按本发明的方式识别和处理的总体表面的部分的多个可识别较小区域,那么就可根据需要将表面细分成区域。
[0160]在优选实施方式中,区域对应于与代表所考虑表面的数据的总体阵列的各个部分对应的数据的各个块(如本领域中已知的,表面将通常被表达为并且存储为取样位置(例如,像素)数据的阵列)。
[0161]所有表面可被划分成大小和形状相同的区域(在一个优选实施方式中,是这样进行的),或者,另选地,不同表面可被划分成不同大小的形状和区域。
[0162]在实施方式中,各表面区域(例如,数据的块)可代表表面(总体数据阵列)的不同部分(区域)(尽管区域根据需要可重叠)。各区域(数据块)理想地应该代表表面(数据阵列)的合适部分(区)(诸如,表面内的多个数据位置(取样位置))。合适的区域大小可以是例如表面数据阵列中的8 X 8、16 X 16或32 X 32个数据位置。
[0163]在一些实施方式中,表面被划分成大小和形状规则的区域(例如,数据的块),优选地,正方形或矩形形式的区域。然而,这不是必要的,根据需要可使用其它布置。
[0164]在一些实施方式中,各表面区域对应于正渲染或生成或以其它方式提供表面的图形处理器或视频引擎或合成级或相机ISP等产生的作为其输出的处理切片。这是实现本发明特别直接的方式,因为图形处理器、显示引擎或控制器将直接生成切片,所以将不需要任何其它处理来“产生”将以本发明的方式考虑的表面区域。
[0165](如本领域中已知的,在基于切片进行渲染时,例如,渲染过程的二维输出阵列或帧(“渲染目标”)(例如,通常,将被显示以显示正渲染的场景)被细分或分割成用于渲染过程的多个较小区域,这些区域通常被称为“切片”。切片(区域)均是单独(通常是一个接一个地)渲染的。清染的切片(区域)随后形成完整的输出阵列(帧)(渲染目标)例如进行显示。
[0166]一般用于“切片的”和“基于切片的”渲染的其它术语包括“分块”(chunking)(区域被称为“分块”)和“分段”(bucket)渲染。在本文中为了方便起见将使用术语“切片”和“切片的”,但应该理解,这些术语旨在涵盖所有替代和等同的术语和技术。)
[0167]在本发明的这些布置中,出于渲染和/或合成等目的划分表面而成的切片可以是任何所需的且合适的大小或形状。在一些实施方式中,如本领域中已知的,切片都是相同的大小和形状,尽管这不是必须的。在一些实施方式中,各切片是矩形(包括正方形),并且优选地大小是8 X 8、16 X 16、32 X 32、32 X4或32 X I个取样位置。诸如32 X4或32 X I的非正方形的矩形区域会更好地适于输出到显示器。
[0168]在一些实施方式中,本发明可另外地或替代地(优选地,另外地或替代地)使用与渲染等处理所操作(产生)的切片不同的大小和/或形状的表面区域来执行。
[0169]例如,在一些实施方式中,以本发明的方式考虑的表面区域可由一组多个“处理”切片构成,和/或可只包括处理切片的子部分。在这些情况下,可能存在实际上根据所考虑的“处理”切片或多个“处理”切片“生成”所需的表面区域的中间级。
[0170]在这些布置中,在表面被当作由多个区域构成的情况下,本发明的技术应该并且优选地用于表面的多个相应区域并且优选地用于表面的各个区域。因此,在优选实施方式中,以本发明的方式处理表面的多个区域,优选地,各区域。以这种方式,将通过本发明的过程生成整个输出表面(例如)。
[0171]尽管以上特别参照供显示的给定输出表面的处理描述了本发明,但如本领域的技术人员应该理解的,本发明可以并且优选地用于提供供显示的多个输出表面,优选地用于提供将提供到显示器的一系列输出表面(例如,帧)。
[0172]数据处理系统的各种级可根据需要实现为例如一个或更多个固定功能单元(硬件)形式(即,专用于不可改变的一个或更多个功能),或者例如通过可被编程以执行所需操作的可编程电路实现为一个或更多个可编程处理级。可既存在固定功能又存在可编程级。
[0173]本发明的各种处理级中的一个或更多个可被设置为相互分开的电路元件。另外地或另选地,这些级中的一些或全部可至少部分由共享电路形成。
[0174]本发明的各种级中的一个或更多个可以可操作为一直对任何和所有接收到的表面执行其功能。另外地或另选地,这些级中的一个或更多个可以可操作为选择性(即,在需要和/或合适时)对接收到的表面执行其功能。
[0175]数据处理系统可以并且优选地还包括以下中的一个或更多个并且优选地全部:中央处理单元、图形处理单元、视频处理器(编解码器)、系统总线、存储器控制器和本领域的技术人员已知的额外元件。
[0176]数据处理系统可以并且优选地被构造成与以下中的一个或更多个通信(并且本发明还延伸到包括以下中的一个或更多个的布置):外部存储器(例如,借助存储器控制器)、一个或更多个本地显示器、和/或一个或更多个外部显示器。
[0177]在实施方式中,数据处理系统还包括显示器。与显示控制器一起使用的显示器可以是任何合适和所需的显示器(诸如例如屏幕或打印机)。
[0178]本发明可被实现在任何合适的系统(诸如,基于合适构造的微处理器的系统)中。在实施方式中,本发明被实现在基于计算机和/或微处理器的系统中。
[0179]本发明的各种功能可按任何所需和合适的方式执行。例如,根据需要,本发明的功能可用硬件或软件实现。因此,例如,除非另外指明,否则本发明的各种功能元件和“装置”可包括能进行操作以执行各种功能等的合适的一个或更多个处理器、一个或更多个控制器、功能单元、电路、处理逻辑、微处理器布置等(诸如,可被编程以按所需方式进行操作的合适的专用硬件元件和/或可编程硬件元件)。
[0180]这里还应该注意,如本领域的技术人员应该理解的,本发明的各种功能等可被复制在给定处理器上和/或在给定处理器上并行执行。同等地,根据需要,各种处理级可共享处理电路等。
[0181]取决于执行以上讨论的特定功能所需的任何硬件,图形处理管线可另外包括图形处理管线包括的常规功能单元等中的任何一个或更多个或全部。
[0182]本领域的技术人员还应该理解,本发明的所描述实施方式的全部酌情地可包括并且在实施方式中包括本文中描述的特征中的任何一个或更多个或全部。
[0183]按照本发明的方法可至少部分使用软件(例如,计算机程序)来实现。因此,应该明白,当从其它实施方式看时,本发明提供了计算机软件、计算机程序元件和计算机程序,当所述计算机软件被安装在数据处理器上时专门适于执行本文中描述的方法,所述计算机程序元件包括当所述计算机程序元件在数据处理器上运行时执行本文中描述的方法的计算机软件代码部分,所述计算机程序包括适于当程序在数据处理系统上运行时执行本文中描述的一种方法或多种方法的所有步骤的代码。数据处理器可以是微处理器系统、可编程FPGA(现场可编程门阵列)等。
[0184]本发明还延伸到计算机软件载体,所述计算机软件载体包括当用于操作包括数据处理器的图形处理器、渲染器或微处理器系统时结合所述数据处理器、所述处理器、渲染器或系统来执行本发明的方法的步骤的这种软件。这种计算机软件载体可以是诸如ROM芯片、CD R0M、RAM、闪存存储器或盘的物理存储介质,或者可以是诸如电线上的电子信号、诸如通向卫星的光学信号或无线电信号等信号。
[0185]还应该理解,并非本发明的方法的所有步骤需要用计算机软件执行,因此根据更广的实施方式,本发明提供了计算机软件,这种软件被安装在计算机软件载体上,用于执行本文中阐述的方法的步骤中的至少一个。
[0186]本发明可因此适于被实施为用于计算机系统的计算机程序产品。这种实现可包括固定在诸如计算机可读介质(例如,磁盘、CD ROM、ROM、RAM、闪存存储器、或硬盘)的有形、非暂态介质上的一系列计算机可读指令。这种实现还可包括通过有形介质(包括但不限于光学或类似通信线路)或者使用无线技术(包括但不限于微波、红外或其它传输技术)无形地经由调制解调器或其它接口装置可传输到计算机系统的一系列计算机可读指令。这一系列计算机可读指令实施本文中之前描述的功能中的全部或部分。
[0187]本领域的技术人员应该理解,可用用于许多计算机架构或操作系统的多种编程语言写入这种计算机可读指令。另外,这种指令可使用(目前或未来)包括但不限于半导体、磁技术或光学技术的任何存储器技术来存储,或者使用(目前或未来)包括但不限于光学技术、红外技术、微波技术的任何通信技术来传输。预料到,这种计算机程序产品可被分发为可去除介质,其中用计算机系统将附带的打印或电子文件(例如,收缩包装软件)例如预装载在系统ROM或固定盘上,或者通过网络(例如,互联网或万维网)从服务器或电子公告板分发。
【附图说明】
[0188]现在,将参照附图,只以举例的方式描述本发明的各种实施方式,其中:
[0189]图1示意性示出按照本发明的实施方式的数据处理系统;
[0190]图2示意性示出各种数据处理系统的过程;
[0191]图3示意性示出按照本发明的实施方式的数据处理系统的处理;
[0192]图4示出按照本发明的实施方式的显示控制器的处理;
[0193]图5示意性示出按照本发明的实施方式的压缩方案;
[0194]图6示意性示出按照本发明的实施方式的数据处理系统的处理。
[0195]在整个附图中,类似的参考标号始终酌情地用于类似的组件。
【具体实施方式】
[0196]现在,将参照附图描述本发明的优选实施方式。
[0197]图1示意性示出数据处理系统I。数据处理系统I包括相机图像信号处理器(ISP)2、中央处理单元(CPU)3、图形处理单元(GPU)4、视频引擎或编解码器5、图像处理器6(可包括例如合成引擎)、显示控制器7和存储器控制器8。如图1中所示,这些部分借助互连件9进行通信并且访问芯片外主存储器10。相机ISP 2与相机的图像传感器11进行通信,以便从相机接收图像数据。显示控制器7借助显示器接口与显示器12进行通信,以便致使在显示器12上显示输出帧(表面)。
[0198]图2的A示出操作不使用压缩的数据处理系统I的方法。帧生成器20(可包括例如相机ISP 2,CPU 3,GPU 4、视频引擎5、或图像处理器6)生成帧(表面)并且将它存储在主存储器中,例如,帧缓冲器中。显示控制器7从存储器10读取存储的帧,将帧发送到显示器12进行显不O
[0199]对帧缓冲器进行写和读并且将像素数据发送到显示器需要大量的带宽。例如,单个高清(HD)帧读取消耗大约(1920 X 1080 X 24bpp X 60Hz)356MB/s。单个超高清(4K)帧抓取消耗大约(3840\2160\2仙??\60取)1.468/8。因为既需要(例如由显示控制器7、和/或图像处理器或合成引擎6等)从存储器读取数据又需要(例如由GPU 4和/或视频解码器5)将数据写入存储器,所以实际上这些带宽数量是多倍,在数据处理系统中可存在多个处理级,可需要处理多个帧来生成最终帧(例如,当使用合成时)。
[0200]图2的B示出操作数据处理系统I的方法,在该方法中,例如,使用显示流压缩(DSC)压缩从显示控制器7发送到显示器12的像素数据。
[0201]DSC是被设计成计算上廉价且延迟低并且提供已知的固定比特率的有损压缩标准。该算法使用增量脉冲编码调制(DPCM)、索引颜色历史(ICH),并且对光栅线进行操作。使用比率控制器来控制压缩的损失率。DSC可在显示界面上将数据压缩大约66% (因此,例如,24bpp变成8bpp)。
[0202]如在图2的A的布置中一样,图2的B的帧生成器20生成帧(表面)并且将它存储在主存储器10中,例如,帧缓冲器中,然后由显示控制器7从存储器10读取存储的帧。显示控制器7接着使用压缩级21压缩帧(表面),之后将它发送到显示器12进行显示。通过以这种方式压缩显示控制器输出,可减少数据处理系统的整体带宽要求和功率要求。
[0203]图2的C示出操作数据处理系统I的方法,在该方法中,压缩帧生成器20生成的帧(表面)。在这个实施方式中,帧生成器20生成帧(表面),帧(表面)随后被压缩级22压缩。压缩后的帧(表面)被存储在主存储器10中,例如,帧缓冲器中,然后由显示控制器7读取。如图2的C中所示,在这个实施方式中,可使用解压缩级23在显示控制器7中对压缩后的帧进行解压缩。在例如用于压缩帧的压缩方案与显示控制器压缩方案不同(或不充分类似)的情况下,和/或在帧(表面)需要由显示控制器7进行修改的情况下,这样是合适的。
[0204]显示控制器7使用压缩级21 (例如,使用显示流压缩(DSC))压缩(可选地,修改后的)解压缩后的帧,之后将它发送到显示器12进行显示。
[0205]通过以这种方式压缩生成的帧和显示控制器输出二者,可进一步减少数据处理系统的整体带宽要求和功率要求。
[0206]
【申请人】认识到,在使用有损压缩(诸如,DSC)压缩显示输出的情况下,、使用相同的有损压缩方案、或具有类似噪声特性的另一有损压缩方案来进一步在管线上压缩数据(例如,生成的帧)将不对显示的图像的质量生成不利影响,因为因上游压缩而损失的图像质量无论如何将因显示输出压缩而损失。
[0207]图2的D示出操作数据处理系统I的另一种方法,在该方法中,可使用与显示控制器压缩方案相同或类似的压缩方案压缩帧生成器20生成的帧。帧生成器20生成帧(表面),帧(表面)随后被压缩级22例如使用显示流压缩(DSC)压缩。压缩后的帧被存储在主存储器10中,例如,帧缓冲器中。然后由显示控制器7从存储器10读取存储的压缩后的帧。在这个实施方式中,由于已经使用显示控制器压缩方案压缩了压缩后的帧,因此不需要由解压缩级23对压缩后的帧进行解压缩,也不需要使用压缩级21进行压缩,替代地压缩后的帧被设置成绕过(bypass)解压缩级23和压缩级21。压缩后的帧随后被发送到显示器12进行显示。
[0208]在这个实施方式中,以与图2的C的布置类似的方式减少数据处理系统的整体带宽要求和功率要求。另外,由于可酌情绕过显示控制器7中的解压缩级23和压缩级21,因此可进一步减少数据处理系统的处理要求。
[0209]本实施方式的数据处理系统I可进行操作,以例如选择性根据特定帧生成器(例如,相机ISP 2,CPU 3,GPU 4、视频引擎5、或图像处理器6)的输出和/或酌情地,执行图2的A至D的方法中的任何一个或全部。
[0210]尽管依据帧生成器20生成帧并且显示控制器7致使显示帧描述了以上实施方式,但在各种实施方式中,帧生成器生成的帧(表面)可例如在它或使用它生成的帧(表面)显示之前经受处理的一个或更多个额外步骤。
[0211]图3示出一个这种实施方式,在该实施方式中,合成引擎6生成合成帧(表面)。在图3的实施方式中,相机ISP 2,GPU 4和视频解码器5生成一个或更多个表面(帧)。如图3中所示,可压缩生成的一个或更多个表面中的一个或更多个,例如,之后它们被存储在主存储器10(未示出)中。
[0212]合成引擎6随后例如从存储器10读取生成的表面中的一个或更多个。在本实施方式中,合成引擎6可对被压缩的这些表面进行解压缩,之后合成表面,以便生成合成输出帧(表面)。
[0213]然后,合成输出帧可被压缩,之后被存储在主存储器10中,随后由显示控制器7从存储器10读取。例如,在用于压缩帧的压缩方案与显示控制器压缩方案不同(或不充分类似)的情况下,和/或在帧需要由显示控制器7进行进一步修改的情况下,显示控制器7可对读取的帧进行解压缩。如果帧被解压缩,则显示控制器7随后可例如使用显示流压缩(DSC)压缩帧,之后将它发送到显示器12进行显示。
[0214]在用于压缩帧的压缩方案与显示控制器压缩方案相同(或充分类似)的情况下,以及在帧不需要由显示控制器7进行进一步修改的情况下,显示控制器7可将读取的压缩后的帧直接发送到显示器进行显示,即,绕过解压缩级和压缩级。
[0215]帧(表面)可根据需要经受处理的一个或更多个其它步骤(诸如,改变对比度和/或亮度、执行伽玛校正、和/或执行色调映射;旋转和/或缩放;和/或改进显示响应性的图像增强方案(诸如,电平自适应性过驱动(LAO)、前馈驱动(Fro)、动态对比度补偿(DCC)等))。这种处理可例如在压缩之前由显示控制器7执行或者酌情由级中的一个或更多个执行。
[0216]尽管依据显示控制器7将输出帧发送到显示器12进行显示描述了以上实施方式,但在其它实施方式中,另外地或另选地,显示控制器输出可被发送到视频编码器。在图3中示出一个此实施方式,在该实施方式中,显示控制器7可选择性将输出帧发送到视频编码器30,例如,以进行编码并且可选地(例如,无线)传输到其它显示器。视频编码器可根据需要对帧进行解压缩,编码解压缩后的帧,然后压缩编码后的帧。
[0217]另外地或另选地,显示控制器7可将压缩后的帧写入存储器10。
[0218]尽管依据数据处理系统对全体帧(表面)进行操作描述了以上实施方式,但在其它实施方式中,本发明的数据处理系统对各帧的一些部分(例如,构成各帧的数据块或切片(tile))进行操作。因此,在这个实施方式中,帧生成器20能进行操作,以生成一个或更多个帧中的一个或更多个部分并且将其写入存储器10,显示控制器7能进行操作以从存储器10读取一个或更多个这种部分,压缩级21、22和解压缩级23能进行操作以对一个或更多个这种部分进行压缩或解压缩。
[0219]在这个实施方式中,数据处理系统可进行操作,以例如选择性根据所考虑的特定帧(表面)部分执行图2的A至D的方法中的任何一个或全部。
[0220]图4示出操作显示控制器7的这种方法。对于待显示的各新图像(输入表面(帧))(可例如由ISP 2,CPU 3,GPU 4、视频引擎5或图像处理器6生成),在步骤41中,显示控制器7抓取(读取)与帧(表面)的一部分(区域)对应的数据块。在这个示例中,假定各数据块是所考虑的表面(帧)的处理切片,但当然将可以有其它布置。
[0221]在步骤42中,确定块是否被压缩。如果块没有被压缩,则显示控制器优选地在步骤45中在需要时操纵或修改块,然后在步骤50中使用DSC压缩块并且在步骤52中输出它。
[0222]如果块被压缩,则在步骤43中确定是否使用DSC压缩了块。如果使用除了DSC外的压缩方案压缩了块,则在步骤44中对块进行解压缩,在步骤45中在需要时进行操纵或修改,在步骤50中使用DSC进行压缩,并且在步骤52中输出以进行显示。
[0223]如果使用DSC压缩了块,则在步骤46中确定块是否需要操纵或修改。如果块不需要操纵或修改,则在步骤51中显示控制器7向显示器提供块。
[0224]如果块需要操纵或修改,则在步骤47中显示控制器7对块进行解压缩,并且在步骤48中根据需要操纵或修改块。
[0225]然后,在步骤49中确定操纵或修改后的块是否与原始块相同或充分类似。如果修改后的块与原始块不同的程度充分小,例如,降至低于阈值,即,使得当显示块时任何差异将是不可察觉的,则可以是这种情况。
[0226]如果操纵或修改后的块与原始块相同或充分类似,则在步骤51中显示控制器7向显示器提供原始压缩后的块。操纵或修改后的块被丢弃。
[0227]如果操纵或修改后的块与原始块不同或不充分类似,则显示控制器在步骤50中使用DSC压缩修改后的块,并且在步骤52中输出块进行显示。
[0228]因此,在块被修改的情况下,根据修改是否造成块的充分变化,由显示控制器7输出块的修改版本或块的未修改版本。在由显示控制器7输出块的未修改版本的情况下,块的修改版本被丢弃并且不被显示控制器7压缩,从而减少了显示控制器7所需的处理量。
[0229]在替代实施方式中,不进行步骤49中的检查,并且操纵或修改后的块被压缩,并且输出以进行显示。
[0230]如图4中所示,针对帧(包面)的各块重复这个过程,直到帧已经被完全输出进行显示(在步骤55中)。
[0231]如以上讨论的,在本实施方式中,使用DSC或具有与DSC类似的噪声特性的另一有损压缩方案来压缩上游数据(例如,生成的帧)。
[0232]在上游压缩方案是DSC的情况下,生成帧的处理级然后可进行操作,以将各帧作为像素的多个光栅线(即,行)输出。接着,照常使用DSC压缩每个这种生成的光栅线。
[0233]另选地,在生成帧的处理级将各帧作为多个切片输出的情况下,切片各行中的各切片的顶行中的像素可被压缩在一起,切片行中的各切片的第二行中的像素可被压缩在一起,以此类推。如将理解的,构成表面的各切片将通常顺序地(即,并非同时地)生成。因此,在这个实施方式中,在切片之间携带状态信息,以有助于在生成切片的同时进行压缩处理。
[0234]图5的A示出这种线性压缩方案,该线性压缩方案进行操作,以压缩各帧的各光栅线(即,像素Al至A15,然后是像素BI至B15,等等)。
[0235]这种压缩方案确保压缩后的区域将与显示控制器的DSC压缩方案直接兼容,因此可被布置成酌情绕过显示控制器解压缩/压缩级(如以上讨论的)。
[0236]在另一个实施方式中,有损压缩方案被构造成通过将切片的数据位置的多行中的每行顺序地(即,第一行,之后第二行,之后第三行,等等)压缩在一起来分别压缩各切片。
[0237]这在图5的B中示出。使用DSC算法将各切片(在图5的B中,包括3X 3组像素)压缩在一起。如图5的B中所示,这通过对将被压缩在一起的像素Al至Al 5进行重新排序来进行。
[0238]尽管以这种方式压缩的切片将不能够绕过显示控制器解压缩/压缩级,但这个方案有利地保持与基于切片的系统兼容,同时确保因压缩引入的噪声特性非常接近因常规线性DSC压缩引入的噪声特性。
[0239]当然,可诸如例如遵循Hilbert曲线或以z轴次序使用其它像素排序方案。
[0240]可使用类似硬件实现基于光栅线和切片的压缩方案,使得可重新使用硬件。
[0241]可基于显示输出压缩,选择所使用的压缩算法、压缩块形状(例如,切片或线)和压缩比。例如,如果期望操纵块,则基于切片的压缩方案可优于基于线的方案。如果帧生成器生成切片的水平线,则可使用基于线的DSC压缩,S卩,使得能穿过(across to)被处理的下一个切片携带压缩状态。
[0242]可调节压缩方案的比率控制器,使得压缩方案具有与光栅扫描DSC类似的特性和/或基于切片大小,以使可视压缩伪影最少。
[0243]在替代实施方式中,可实现具有与光栅扫描DSC类似的压缩伪影的不同压缩方案。例如,有损压缩方案可包括因丢弃最低有效位中的一个或更多个而变得有损失的ARM帧缓冲压缩(AFBC)的修改版本。
[0244]当然,可使用其它压缩方案。
[0245]图6示出可调节上游压缩的实施方式。帧生成器20(例如,ISP2,GPU 4、视频解码器5或图像处理器6)生成压缩后的帧。该帧被写入存储器10,然后被发送到显示控制器7。在本实施方式中,显示控制器7可对帧执行某个处理。例如,帧可被解压缩,然后使用有损压缩方案进行压缩,然后被发送到显示器12。
[0246]在本实施方式中,显示控制器7将压缩调节信息提供回帧生成器20。这可用于调节上游压缩。例如,光栅扫描压缩的损失率可被反馈回上游有损压缩级并且用于合适地控制压缩比。当前和/或之前的一个帧或多个帧的显示控制器压缩比可用于例如针对下一个帧或一组帧控制处理级有损压缩方案的压缩比。
[0247]换句话讲,帧生成器20可根据显示控制器7提供到它的调节信息,以合适的精度来生成其数据。例如,如果帧生成器20得知显示控制器7有损压缩将丢弃多于指定量的数据,则帧生成器20可生成较低质量的帧。
[0248]在这些实施方式中,可存在多个处理级。例如,帧生成器20可将帧发送到存储器10,然后由合成引擎6读取帧,合成引擎6合成多个帧以生成合成帧。合成输出帧被写入存储器10,然后由显示控制器7读取并且进行显示。
[0249]在实施方式中,在相机ISP与显示控制器7直接交互的情况下,可使用DSC压缩来压缩相机ISP的输出。这样减少了从ISP传递到显示控制器的数据量,从而降低了功耗。
[0250]从上文中可明白,本发明提供了改进的数据处理系统,该数据处理系统需要的存储器带宽和功率的量减少,而没有对显示的图像的质量产生不利影响。在优选实施方式中,这至少是通过在显示控制器上游有损压缩用于生成供显示的输出表面的至少一个表面来实现的,显示控制器以有损压缩形式向显示器提供输出表面。
【主权项】
1.一种数据处理系统,该数据处理系统包括: 显示控制器,其可操作为向显示器提供已使用有损压缩方案压缩的待显示输出表面的压缩版本;以及 一个或更多个处理级,其可操作为提供当形成待显示输出表面时要使用的表面或多个表面;其中: 所述一个或更多个处理级中的至少一个可操作为使用有损压缩方案以压缩形式输出它提供的当形成待显示输出表面时要使用的表面或多个表面的一个或更多个区域。2.根据权利要求1所述的数据处理系统,其中,向所述显示器提供的有损压缩后的输出表面包括已被所述显示控制器压缩的一个或更多个区域和/或已被并非所述显示控制器压缩的一个或更多个区域。3.根据权利要求1或2所述的数据处理系统,其中,所述系统包括以下中的一个或更多个或全部: 一个或更多个帧生成器处理级,其可操作为输出一个或更多个表面的已使用有损压缩方案压缩的一个或更多个区域; 合成处理级,其可操作为输出合成输出表面的已使用有损压缩方案压缩的一个或更多个区域;以及 一个或更多个压缩处理级,其可操作为输出一个或更多个表面的已使用有损压缩方案压缩的一个或更多个区域。4.根据之前权利要求中的任一项所述的数据处理系统,其中,所述一个或更多个处理级中的所述至少一个使用的有损压缩方案是基于显示控制器有损压缩方案的方案。5.根据之前权利要求中的任一项所述的数据处理系统,其中,所述一个或更多个处理级中的所述至少一个使用的有损压缩方案的噪声特性与显示控制器有损压缩方案的噪声特性匹配。6.根据之前权利要求中的任一项所述的数据处理系统,其中,所述一个或更多个处理级中的所述至少一个输出的压缩后区域中的每个的大小和/或形状对应于所述显示控制器向所述显示器提供的输出表面的多个区域中的各区域的大小和/或形状。7.根据权利要求1至5中的任一项所述的数据处理系统,其中,所述一个或更多个处理级中的所述至少一个输出的压缩后区域中的每个的大小和/或形状不同于所述显示控制器向所述显示器提供的输出表面的多个区域中的各区域的大小和/或形状。8.根据之前权利要求中的任一项所述的数据处理系统,其中,所述一个或更多个处理级中的所述至少一个可操作为: 产生输出数据阵列,作为一起构成所述输出数据阵列的数据值的多个二维块; 并且可操作为: 通过串接来自构成所述输出数据阵列的二维数据值块中的一个或更多个二维数据值块中的多个数据位置行的数据值,形成要使用有损压缩方案压缩的输出阵列的数据值的行;以及 使用有损压缩方案线性压缩如此形成的数据值的行,以提供所述输出数据阵列的压缩后的输出区域。9.根据权利要求8所述的数据处理系统,其中,使用以下中的一种串接来自所述多个数据位置行的数据值:Hi Ibert次序;Z轴次序;逐个数据值块行次序。10.根据之前权利要求中的任一项所述的数据处理系统,其中,基于显示控制器有损压缩控制所述一个或更多个处理级中的所述至少一个使用的有损压缩方案。11.一种数据处理系统的处理级,所述处理级包括处理电路,所述处理电路配置为: 产生输出数据阵列,作为一起构成所述输出数据阵列的数据值的多个二维块; 并且配置为: 通过串接来自构成所述输出数据阵列的二维数据值块中的一个或更多个二维数据值块中的多个数据位置行的数据值,形成要使用线性压缩方案压缩的输出阵列的数据值的行;以及 线性压缩如此形成的数据值的行,以提供所述输出数据阵列的数据值的线性压缩后的输出块。12.根据权利要求11所述的数据处理系统,其中,使用以下中的一种串接来自所述多个数据位置行的数据值:Hi Ibert次序;Z轴次序;逐个数据值块行次序。13.—种操作数据处理系统的方法,所述数据处理系统包括:显示控制器,所述显示控制器可操作为从存储器读取表面或多个表面并且向显示器提供已使用有损压缩方案压缩的待显示输出表面的压缩版本;以及一个或更多个处理级,所述一个或更多个处理级可操作为提供当形成待显示输出表面时要使用的表面或多个表面;该方法包括: 所述一个或更多个处理级中的一个或更多个提供当形成待显示输出表面时要使用的表面或多个表面; 所述显示控制器使用用于形成待显示输出表面的表面从存储器读取处理级提供的表面中的至少一个,并且以使用有损压缩方案的压缩形式向显示器提供所述输出表面用于显示; 其中: 所述一个或多个处理级中的至少一个使用有损压缩方案以压缩形式输出它提供的当形成待显示输出表面时要使用的表面或多个表面的一个或更多个区域。14.根据权利要求13所述的方法,其中,向所述显示器提供的有损压缩后的输出表面包括已被所述显示控制器压缩的一个或更多个区域和/或已被并非所述显示控制器压缩的一个或更多个区域。15.根据权利要求13或14所述的方法,其中: 一个或更多个帧生成器处理级输出一个或更多个表面的已使用有损压缩方案压缩的一个或更多个区域;和/或 合成处理级输出合成输出表面的已使用有损压缩方案压缩的一个或更多个区域;和/或 一个或更多个压缩处理级输出一个或更多个表面的已使用有损压缩方案压缩的一个或更多个区域。16.根据权利要求13至15中的任一项所述的方法,其中,所述一个或更多个处理级中的所述至少一个使用的有损压缩方案是基于显示控制器有损压缩方案的方案。17.根据权利要求13至16中的任一项所述的方法,其中,所述一个或更多个处理级中的所述至少一个使用的有损压缩方案的噪声特性与显示控制器有损压缩方案的噪声特性匹配。18.根据权利要求13至17中的任一项所述的方法,其中,所述一个或更多个处理级中的所述至少一个输出的压缩后区域中的每个的大小和/或形状对应于所述显示控制器向所述显示器提供的输出表面的多个区域中的各区域的大小和/或形状。19.根据权利要求13至17中的任一项所述的方法,其中,所述一个或更多个处理级中的所述至少一个输出的压缩后区域中的每个的大小和/或形状不同于所述显示控制器向所述显示器提供的输出表面的多个区域中的各区域的大小和/或形状。20.根据权利要求13至19中的任一项所述的方法,所述方法还包括:所述一个或更多个处理级中的所述至少一个: 产生输出数据阵列,作为一起构成所述输出数据阵列的数据值的多个二维块; 通过串接来自构成所述输出数据阵列的二维数据值块中的一个或更多个二维数据值块中的多个数据位置行的数据值,形成要使用有损压缩方案压缩的输出阵列的数据值的行;以及 使用有损压缩方案线性压缩如此形成的数据值的行,以提供所述输出数据阵列的压缩后的输出区域。21.根据权利要求20所述的方法,其中,使用以下中的一种串接来自所述多个数据位置行的数据值:Hi Ibert次序;Z轴次序;逐个数据值块行次序。22.根据权利要求13至21中的任一项所述的方法,所述方法还包括: 基于显示控制器有损压缩控制所述一个或更多个处理级中的所述至少一个使用的有损压缩方案。23.—种线性压缩输出数据阵列的方法,所述输出数据阵列是作为一起构成所述输出数据阵列的数据值的多个二维块而产生的,该方法包括: 通过串接来自构成所述输出数据阵列的二维数据值块中的一个或更多个二维数据值块中的多个数据位置行的数据值,形成要使用线性压缩方案压缩的输出阵列的数据值的行;以及 线性压缩如此形成的数据值的行,以提供所述输出数据阵列的数据值的线性压缩后的输出块。24.根据权利要求23所述的方法,其中,使用以下中的一种串接来自所述多个数据位置行的数据值:Hi Ibert次序;Z轴次序;逐个数据值块行次序。
【文档编号】G06T9/00GK105827896SQ201610032703
【公开日】2016年8月3日
【申请日】2016年1月19日
【发明人】D·克罗克斯福德
【申请人】Arm有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1