显示控制器的制作方法

文档序号:11620358阅读:249来源:国知局
显示控制器的制造方法与工艺

本发明涉及用于数据处理系统的显示控制器。



背景技术:

在数据处理系统中,要向用户显示的图像被数据处理系统处理用于显示。用于显示的该图像在将其显示给用户之前典型地通过多个处理级来处理。例如,图像将通过显示器的所谓“显示控制器”来处理,用于显示。

典型地讲,该显示控制器将从存储器中的所谓“帧缓冲器”读取要显示的输出图像,该存储器存储该图像作为数据阵列(例如,通过内部直接内存存取(dma:directmemoryaccess)),并将该图像数据恰当地提供给显示器(例如,经由像素流水线)(该显示器例如可以是屏幕或打印机)。在该输出图像准备显示并且显示控制器接着读取该帧缓冲器,并将该输出图像提供给显示器用于显示时,该输出图像被存储在存储器中的帧缓冲器中(例如,通过图形处理器)。

该显示控制器处理来自帧缓冲器的图像,以允许其显示在显示器上。该处理包括合适显示定时功能(例如,其被配置成,利用合适的水平和垂直消隐时段,向该显示器发送像素数据),以允许该图像正确地显示在显示器上。

许多电子装置和系统在它们的显示屏上使用并显示多个窗口(或面)显示信息,如视频、图形用户接口等。提供这种窗口的一个方法是使用合成窗口系统,其中,单个输入窗口(面)被恰当地组合(即,合成),并将结果写出至帧缓冲器,其接着被显示控制器读取用于显示。

对于电子装置和系统来说,正变得日益普通的是,其被配置成能够在多个显示装置上提供用于显示的输出图像。例如,可能希望向该系统的本地显示器并且向外部显示器提供输出图像。提供给这两个显示器的输出图像可以相同或者不同,例如,该外部显示器可能需要和使用与本地显示器不同的分辨率和/或纵横比。

图1示意性地示出了常规双显示器合成媒体处理系统的操作。通过视频编解码器1和/或gpu2生成一个或更多个输入面,并且存储在主存储器3(例如,帧缓冲器0、1以及2)中。所存储的输入面通过合成引擎4读取并被传递至合成引擎4,该合成引擎4组合(合成)该输入面,以生成合成输出面(帧)。在该例示例中,该合成引擎4还可以对来自视频编解码器1的输入面执行色空间转换操作。该合成输出面被存储在主存储器3中(例如,帧缓冲器3中)。所存储的合成输出面接着被本地显示控制器5读取,并显示在该系统的本地显示器6上。

所存储的合成输出面在经受合适旋转和/或缩放(scale)之前,还通过合成引擎4从主存储器3回读,以生成用于外部显示器8(其可能需要不同的分辨率和/或纵横比用于输出)的恰当旋转和/或缩放的输出面。所旋转和/或缩放的输出面在被第二显示控制器7读取并且显示在外部显示器8上之前,被存储在主存储器3中(例如,帧缓冲器4中)。

图2示出了常规双显示器合成媒体处理系统。其包括中央处理单元(cpu)9、图形处理单元(gpu)2、视频编解码器1、合成引擎4、第一显示控制器5、第二显示控制器7以及存储器控制器10。如图2所示,这些经由互连部11通信,并且使用芯片外主存储器3。该合成引擎4根据一个或更多个输入面(例如,由gpu2和/或视频编解码器1生成的)生成合成输出帧,并接着将该合成输出帧经由存储器控制器10存储在芯片外存储器3中的帧缓冲器中。第一显示控制器5接着经由存储器控制器10从芯片外存储器3中的帧缓冲器中读取该合成输出帧,并将其发送至本地显示器6用于显示,而第二显示控制器7经由存储器控制器10从芯片外存储器3中的帧缓冲器中读取该合成输出帧,并将其发送至外部显示器8用于显示。

常规媒体处理系统可以具有局限性。例如,可以通过合成引擎4合成的面(层)的数量受限制(例如,在图1和2所描绘的布置中,合成引擎4仅可以同时处理一个视频层和两个图形层。在与可以通过合成引擎4同时处理相比,希望合成并显示更多面的情况下,图形处理单元(gpu)2或合成引擎4在将预先合成(“平坦化”)面存储在主存储器3中之前,将典型地预先合成(或“平坦化”)这些面中的一些。该合成引擎4接着读取所存储的预先合成面与剩余输入面,并且组合这些面,以生成合成输出面(帧)。该合成输出面被存储在主存储器3中,并且所存储的合成输出面被本地显示控制器5读取,并显示在该系统的本地显示器6上。

在低功率和便携式装置中的数据处理系统中,将数据写入外部存储器和/或用于从外部存储器读取数据的转换操作的带宽成本是显著问题。带宽消耗是一个大的热源和功耗源,因而,通常希望尝试缩减数据处理系统中的、用于外部存储器读取和写入的带宽消耗。

申请人认为对于显示控制器来说,仍然存在改进的范围。



技术实现要素:

根据本发明第一方面,提供了一种用于数据处理系统的显示控制器,该显示控制器包括:

第一显示处理核心,该第一显示处理核心包括能够操作以读取至少一个输入面的第一输入级、能够操作以处理一个或更多个输入面从而生成输出面的第一处理级、以及能够操作以向第一显示器提供用于显示的输出面的第一输出级;

第二显示处理核心,该第二显示处理核心包括能够操作以读取至少一个输入面的第二输入级、能够操作以处理一个或更多个输入面从而生成一输出面的第二处理级、以及能够操作以向第二显示器提供用于显示的输出面的第二输出级;以及

内部数据路径,该内部数据路径用于从所述第二显示核心向所述第一显示核心传递输出面的像素数据。

根据本发明第二方面,提供了一种操作数据处理系统中的显示控制器的方法,所述显示控制器包括第一显示处理核心、第二显示处理核心以及内部数据路径,该内部数据路径用于从所述第二显示核心向所述第一显示核心传递像素数据,所述方法包括以下步骤:

所述第二显示核心读取至少一个输入面,处理一个或更多个输入面以生成输出面,以及经由所述内部数据路径将所述输出面的像素数据传递至所述第一显示核心;以及

所述第一显示核心读取至少一个输入面,处理一个或更多个输入面和从第二显示核心传递来的所述输出面以生成输出面,以及向第一显示器提供用于显示的输出面。

本发明涉及一种显示控制器,该显示控制器至少包括第一显示核心和第二显示核心。所述显示控制器的每一个显示核心均包括输入级和输出级,其能够操作以读入至少一个输入面(层)并向显示器提供用于显示的输出面(帧)。由此,本发明的显示控制器可以(并且在一实施方式中)用于向多个(两个)显示器提供用于显示的输出面。

本发明的显示控制器的每一个显示处理核心还包括处理级,该处理级能够操作以处理输入面或多个输入面,从而提供输出面。由此,本发明的显示控制器可以(并且在一实施方式中)用于向一个或多个显示器提供用于显示的所处理(例如,合成)的输出面。这意指本发明的显示控制器可以用于例如在希望向一个或多个显示器提供合成输出面(帧)时,例如通过缩减针对外部存储器的读取和/或写入的数量,来缩减总体数据处理系统的带宽消耗。这是因为,在将所处理(例如,合成)的输出面提供给显示器用于显示之前,不必将其写入主存储器。

而且,本发明的显示控制器包括内部数据路径,该内部数据路径用于从所述第二显示核心向所述第一显示核心传递输出面的像素数据。这可以促进在可以通过所述显示控制器执行的操作类型方面的更大程度的控制和灵活性,并且可以例如通过缩减针对外部存储器的读取和/或写入的数量来缩减总体数据处理系统的带宽消耗。

例如,在具体优选实施方式中,所述第一显示处理核心和第二显示处理核心一起操作,以在单一(例如,本地或外部)显示器上显示输出面。即,在希望仅向一个(例如,本地或外部)显示器提供输出面的情况下(通常是这样),代替这些显示核心中仅一个显示核心用于生成和提供用于其关联显示器的输出面而另一个显示核心未使用地,一前一后地使用两个显示核心来生成用于单一显示器的输出面。

在这些实施例中,所述第二显示核心被操作以生成输出面,并接着经由所述内部数据路径将所述输出面传递至所述第一显示核心,即,代替提供其以在所述第二显示器上显示。所述第一显示核心被操作以生成用于显示的输出并将其提供给一个(例如,本地)显示器,并且使用经由所述内部数据路径从所述第二显示核心提供的所述输出面,作为生成用于显示的所述输出面的(附加)输入面。

这就意味着,用于所述第一显示器的输出面可以利用通过所述第二显示控制器执行的附加处理来生成,例如,在所述第二显示控制器未处于使用中的时候(即,未正在使图像显示在所述第二显示器上)。

例如,在与可以以其它方式通过所述第一显示核心同时处理相比,希望处理(例如,合成)更多面(层)的情况下,所述第二显示核心可以用于(并且在一实施方式中用于)预先处理(例如,预先合成,即“平坦化”)这些面中的一些,以生成预先处理(例如,预先合成)面,并接着经由所述内部数据路径将该预先处理面传递至所述第一显示核心,即,不需要将该预先处理面写出至存储器。该预先处理面接着可以用作针对所述第一处理级的输入,以生成输出面。

这样,因此,本发明的显示控制器可以被用于按特别有效的方式执行相对复杂的处理(例如,合成),例如,不需要必须执行预先合成(“平坦化”)或者必须将“中间”(例如,预先合成)或其它面写出至存储器的图形处理单元。

因此,应当清楚,本发明提供了一种改进的显示控制器。

所述显示控制器的第一显示核心与第二显示核心可以包括任何合适的这种显示处理核心(显示处理单元)。所述第一显示处理核心与第二显示处理核心被优选地设置为同一芯片(单片集成电路),或者设置在其上,即,集成。所述第一显示核心与第二显示核心可以不同,但优选为大致相同。

所述第一显示核心优选为当前“活动”的显示核心,即,被用于向关联(第一)显示器提供输出面的显示核心,而所述第二显示核心优选为当前“不活动”的显示核心,即,未(不同于)被用于向关联(第二)显示器提供输出面的显示核心(而相反被利用来帮助该活动(第一)显示核心向所述第一显示器提供一输出面)。

所述第一显示核心优选为“主”显示核心,例如,用于控制所述数据处理系统(装置)的本地(集成)显示器(例如,屏幕或面板),而所述第二显示核心优选为“次”显示核心,例如,用于控制外部显示器。然而,所述第一显示器也可以作为次(外部)显示核心,而所述第二显示核心作为主(本地)显示核心。

所述第二显示核心的存储器带宽和时钟频率优选地对应于所述第一显示核心的存储器带宽和时钟频率(满足其需求)。由此,例如,所述第二显示核心的时钟频率优选为至少和所述第一显示核心的时钟频率一样快(不比其慢)。因而,当将像素数据从所述第二显示核心传递至所述第一显示核心时,这例如避免了所述第一显示核心中的fifo欠载(under-runs)等。

所述显示控制器还可以包括一个或更多个另外显示处理核心(并且在一实施方式中,就是这样)。除了所述第一显示核心与第二显示核心以外,还可以设置任何数量的另外显示处理核心,如一个、两个、三个、四个等另外显示处理核心。所述一个或更多个另外显示处理核心中的每一个可以按针对所述第一显示核心和/或第二显示核心的对应方式来配置。

每一个输入级均可以包括能够操作以读取至少一个输入面的任何合适的这种级。在优选实施方式中,一个或每一个输入级包括读取控制器,举例来说,如直接内存存取(dma)读取控制器。

在优选实施方式中,所述第一输入级和第二输入级(读取控制器)中的至少一个或每一个被配置成,从存储有所述至少一个输入面的存储器中读取至少一个输入面。所述存储器可以包括任何合适的存储器,并且可以按任何合适和希望方式来配置。例如,可以是具有显示控制器的芯片上存储器,或者可以是外部存储器。在优选实施方式中,是外部存储器,如该总体数据处理系统的主存储器。可以是用于该目的的专用存储器,或者可以是同样被用于其它数据的存储器的一部分。在优选实施方式中,将至少一个或每一个输入面存储在帧缓冲器中(和从其读取)。

通过显示核心(输入级)读取的每一个输入面均可以是任何合适和希望的这种面。优选的是,通过显示核心(输入级)读取的所述至少一个输入面是要生成(即,通过所述处理级)输出面的至少一个输入面。在一个实施方式中,至少一个或每一个输入面是输入窗口(要显示的),并且优选为用于显示的图像,例如,帧。

所述输入面或多个输入面可以在希望时候生成。例如,一个或更多个输入面可以通过图形处理系统(图形处理器)恰当渲染来生成,并且存储到存储器(例如,帧缓冲器)中。另外或另选的是,一个或更多个输入面可以通过视频编解码器恰当解码来生成,并且存储到存储器(例如,帧缓冲器)中。另外或另选的是,一个或更多个输入面可以通过数字摄像机图像信号处理器(isp),或其它图像处理器来生成。所述输入面或多个输入面例如可以用于游戏、演示、图形用户接口(gui)、具有视频数据(例如,具有图形“回放”和“暂停”图标的视频帧)的gui等。

可以仅存在一个输入面,其通过每一个显示核心读取(并且处理以生成输出面),但在一具体优选实施方式中,存在多个(两个或更多个)输入面,其通过每一个显示核心读取(并且处理以生成一输出面)。

对应地,通过显示核心(处理级)处理的每一个输入面均可以是任何合适和希望的这种面。通过所述第二显示核心处理的所述输入面中的至少一个并且优选为每一个输入面,优选为通过所述第二显示核心(输入级)读取的输入面。通过所述第一显示核心处理的所述输入面中的至少一个(并且在一实施方式中,两个或更多个)输入面,优选为通过所述第一显示核心(输入级)读取的输入面。所述输入面(对于其来说,将像素数据从所述第二显示核心传递至所述第一显示核心)应当(并且优选地)还被所述第一显示核心(处理级)处理为输入面。

通过显示核心(处理级)生成的每一个输出面均可以是任何合适和希望的这种面。优选的是,通过显示核心生成的每一个输出面是至少一个输出窗口(要显示的),并且优选为用于显示的图像(例如,帧)。通过所述第一显示核心(处理级)生成的每一个输出面优选为用于显示(在所述第一显示器上)的“最终”输出面,而通过所述第二显示核心(处理级)生成的每一个输出面可以是用于显示(在所述第二显示器上)的“最终”输出面,或者要传递至所述第一显示核心的“中间”输出面(用于进一步处理)。如下将进一步讨论的,在优选实施方式中,每一个输出面由多个输入面合成(尽管不需要是这样)。

在一个实施方式中,所述第一显示核心(处理级)可以生成单一输出面。在这个实施方式中,通过所述第一显示核心生成的该单一输出面可以是用于显示的输出面(即,显示在所述第一显示器上的用于显示的输出面)。另选的是,所述第一显示核心可以生成多个输出面。

在一个实施方式中,所述第二显示核心(处理级)可以生成单一输出面。在这个实施方式中,通过所述第二显示核心生成的单一输出面可以是:用于显示的输出面(即,显示在所述第二显示器上的用于显示的输出面),和/或将用于其的像素数据传递至所述第一显示核心的输出面。所述第二处理级还可以生成多个(优选为两个)输出面(其可以相同或不同)。在这个实施方式中,所述输出面之一可以是用于显示的输出面(即,显示在所述第二显示器上的用于显示的输出面),和/或所述输出面中的另一个可以是将用于其的像素数据传递至所述第一显示核心的输出面。

每一个处理级都能够操作以按任何希望方式处理所述至少一个输入面,从而生成输出面。

在一个优选实施方式中,至少一个或每一个处理级包括合成级,该合成级能够操作以合成(两个或更多个)面,从而生成合成输出面。每一个合成级均可以被配置成,在希望时,按任何合适方式合成多个面以生成合成输出面。在实施方式中,至少一个或每一个合成级都配置成,混合多个所述面以生成合成输出面。

通过所述第一显示核心的合成级所合成的面可以包括:通过所述第一显示核心(输入级)读取的输入面中的一个或更多个,和/或通过所述第一显示核心读取的所述输入面的一个或更多个修改形式(例如,一个或更多个解码的、解压缩的、旋转的以及/或者缩放的输入面,如下将进一步讨论的)。通过所述第一显示核心的合成级所合成的面还可以包括将用于其的像素数据从所述第二显示核心传递至所述第一显示核心的面和该面的修改形式(如下将进一步讨论的)。

等同地,通过所述第二显示核心的合成级所合成的面可以包括通过所述第二显示核心(输入级)读取的输入面中的一个或更多个,和/或通过所述第二显示核心读取的所述输入面的一个或更多个修改形式(例如,一个或更多个解码的、解压缩的、旋转的以及/或者缩放的输入面,如下将进一步讨论的)。

每一个合成输出面均可以是任何合适的和希望的这种面。优选的是,通过合成级生成的至少一个或每一个合成输出面是输出窗口(要显示的),并且优选为用于显示的图像(例如,帧)。

至少一个或每一个合成输出面可以是通过讨论中的所述(第一或第二)显示核心(处理级)生成的一个或者所述“最终”输出面,和/或至少一个或每一个合成输出面可以经受讨论中的所述显示核心的进一步处理,以便生成一个或所述输出面(如下将进一步讨论的)。

所述输入面和所述合成输出面可以具有相同或不同的尺寸、分辨率等。

在实施方式中,至少一个或每一个处理级还包括或者代替地包括,并且还优选地包括解码级,该解码级能够操作以解码(例如,解压缩)一个或更多个面、例如优选为一个或更多个输入面,从而生成一个或更多个解码(例如,解压缩)输入面。这在其中将一个或更多个所述输入面按编码(例如,压缩)形式存储的实施方式中特别有用。例如,一个或更多个所述输入面在被存储在存储器中之前可能已经经受了压缩,举例来说,如arm帧缓冲压缩(afbc)(如在us-a1-2013/0034309中描述的)。由此,在一个优选实施方式中,至少一个或每一个解码级可以包括用于解码一个或更多个所述输入面的afbc解码器。

一个或更多个或者每一个解码(例如,解压缩)输入面可以是通过讨论中的(第一或第二)显示核心(处理级)生成的一个或者所述“最终”输出面,但更优选的是,所述一个或更多个或者每一个解码(例如,解压缩)输入面经受所讨论的显示核心的进一步处理(如合成操作),以便生成一个或所述输出面。

在具体优选实施方式中,至少一个或每一个处理级还包括或者代替地包括,并且还优选地包括旋转级,该旋转级能够操作以旋转一个或更多个面、例如优选为一个或更多个(可选为解码的)输入面,从而生成一个或更多个旋转输入面。这特别有用,其中,例如必需和/或希望旋转一个或更多个所述输入面(窗口),例如在合成或者其它方式之前。至少一个或者每一个旋转级都能够操作以旋转一个或更多个所述输入面达任何合适和希望的量,举例来说如90°、180°以及270°。

所述一个或更多个或者每一个旋转输入面可以是通过讨论中的(第一或第二)显示核心(处理级)生成的一个或者所述“最终”输出面,但更优选的是,所述一个或更多个旋转输入面经受所讨论的显示核心的进一步处理,以便生成一个或所述输出面。

在具体优选实施方式中,至少一个或每一个处理级还包括或者代替地包括,并且还优选地包括一个或更多个缩放级或引擎,其能够操作以缩放(例如,放大(upscale)或缩小(downscale))一个或更多个面,从而生成一个或更多个缩放面。每一个缩放级都能够操作以缩放任一个、一些,或者全部的(可选为修改的)输入面和/或(可选为修改的)合成输出面。

在实施方式中,所述一个或更多个缩放级中的至少一个或每一个缩放级能够操作以例如缩放(可选为修改的,例如,解码的(例如,解压缩的)和/或旋转的)输入面中的一个或更多个,以生成一个或更多个缩放输入面。这特别有用,其中,例如希望例如在合成、将其传递至另外显示核心、或其它方面之前缩放一个或更多个所述输入面。

另外或另选的是,所述一个或更多个缩放级中的至少一个或每一个缩放级能够操作以例如缩放(可选为修改的)合成输出面,以生成缩放合成输出面。这特别有用,其中,例如希望例如在显示、将其传递至另外显示核心、或其它方面之前缩放合成输出面。

所述一个或更多个或者每一个缩放面可以是通过讨论中的(第一或第二)显示核心(处理级)生成的一个或者所述“最终”输出面,或者所述一个或更多个或者每一个缩放面可以经受所讨论的显示核心的进一步处理,以便生成一个或所述输出面。

至少一个或每一个缩放级可以被配置成,缩放(例如,放大或缩小)该面达不能改变的设置程度或因子。然而,在更优选实施方式中,至少一个或每一个缩放级被配置成,将该面缩放(例如,放大和/或缩小)至任何希望程度或因子(或者达有限数量的程度或因子中的一个或更多个)(并且缩放程度在使用中优选地可选择)。

在优选实施方式中,至少一个或每一个处理级还包括或者代替地包括,并且还优选地包括一个或更多个“后处理”级,例如,采用后处理流水线的形式,其能够操作以例如针对一个或更多个面选择性地执行一个或更多个处理操作,来生成后处理面。至少一个或每一个处理级可以被配置成,使得所述一个或更多个后处理级接收(修改的)输入面和/或(修改的)合成输出面中的任一个,但在优选实施方式中,所述一个或更多个后处理级中的至少一个或每一个后处理级能够操作以例如接收并且(选择性地)处理所述合成输出面,以生成后处理的合成输出面。

所述一个或更多个后处理级中的至少一个或每一个后处理级例如可以包括能够操作以针对一面执行颜色转换的颜色转换级,能够操作以针对一面执行抖动的抖动级,以及/或者能够操作以针对一面执行伽玛校正的伽玛校正级。

所述一个或更多个或者每一个后处理面可以经受所讨论的所述(第一或第二)显示核心(处理级)的进一步处理,以便生成一个或所述输出面,更优选的是,所述一个或更多个后处理面可以是通过讨论中的所述显示核心生成的一个或者所述“最终”输出面。

在另一具体优选实施方式中,至少一个或每一个处理级还包括或者代替地包括,并且还优选地包括压缩级,该压缩级能够操作以例如压缩一个或更多个面,从而生成一个或更多个压缩面。每一个压缩级都能够操作以压缩任一个、一些,或者全部所述(可选为修改)输入面和/或所述(可选为修改)(合成)输出面。

由此,在实施方式中,至少一个或每一个压缩级能够操作以例如压缩(可选为修改的,例如,解码的(例如,解压缩的)、旋转的和/或缩放的)输入面中的一个或更多个,以生成一个或更多个压缩输出面。另外或另选的是,至少一个或每一个压缩级能够操作以例如压缩(可选为修改的)合成输出面,以生成压缩合成输出面。这特别有用,其中,例如希望压缩所述一个或更多个输出面,例如在显示之前。

所述一个或更多个或者每一个压缩面可以经受所讨论的(第一或第二)显示核心(处理级)的进一步处理,以便生成一个或所述输出面,或者更优选的是,所述一个或更多个压缩面可以是通过讨论中的所述显示核心生成的一个或者所述“最终”输出面。

如将根据上述清楚,本实施方式的每一个显示核心的至少一个或每一个处理级可以包括(并且在优选实施方式中包括)多个处理级或部件,并且优选为包括以下中的一个或更多个,并且优选为全部:合成级(引擎)、缩放级(引擎)、解码级(解码器)、旋转级(引擎)、一个或更多个后处理级、以及可选地包括压缩级。对应地,处理所述至少一个输入面以生成输出面包括以下中的一个或更多个并且优选为全部:解码、旋转、合成、缩放、后处理以及可选地包括压缩。

至少一个或者每一个所述显示核心(处理级)还可以包括一个或更多个潜在隐藏缓冲器(例如,采用一个或更多个fifo(先入先出)级),例如,用于在合适时候缓冲通过所述输入级读取的所述输入面,或者其它方面。

至少一个或每一个所述显示核心(处理级)还可以包括一个或更多个层流水线,其能够操作以在合适时候针对一个或更多个输入面执行一个或更多个处理操作,例如,在将所述一个或更多个被处理的输入面提供给所述缩放级和/或所述合成单元之前,或者其它方面。至少一个或每一个所述显示核心可以包括多个层流水线,如两个、三个或更多个层流水线。一个或更多个所述层流水线可以包括视频层流水线,和/或一个或更多个所述层流水线可以包括图形层流水线。所述一个或更多个层流水线中的每一个都能够操作以例如提供像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。

至少一个或每一个显示核心均可以使得(仅)特定面(总是)经由所述内部数据路径发送至所述合成级和/或所述缩放级和/或其它显示核心(并且通过其接收和处理)。然而,在更优选实施方式中,至少一个或每一个显示核心均可以被配置成,能够经由所述内部数据路径选择性地将一个或更多个所述面发送至所述合成级和/或所述缩放级和/或其它显示核心,使得任一个或更多个所述面例如可以在合适时候和/或希望时候,被所述合成级选择性地接收并合成,和/或被所述缩放级选择性地接收并缩放(放大或缩小),和/或被其它显示核心选择性地接收并处理。

为实现其(并且在其它方面),在具体优选实施方式中,所述显示控制器还包括一个或更多个数据流控制器,其能够操作以选择性地将一个或更多个面发送(引导)至所述显示控制器的各个级。所述一个或更多个数据流控制器可以被配置为所述显示控制器的总体(集中式)控制模块的一部分,或者可以被配置为优选地通过所述显示控制器的总体控制模块控制的一个或更多个分离单元。等同地,所述数据流控制器本身可以是单一单元,或者可以包括多个单元,即,可以是分布式的。当然,其它布置也是可以的。

每一个数量级控制器能够操作以选择性地发送一个或更多个所述(可选为修改的,例如,解码(例如,解压缩)、旋转,和/或缩放)输入面,和/或所述(可选为修改的)合成输出面。

在优选实施方式中,每一个数据流控制器能够单独引导针对(例如,输入)面的数据流,即,使得不同的面可以被彼此独立地引导至不同处理级。

每一个数据流控制器优选地能够操作以在合适时候选择性地将一个或更多个面引导(发送)至每一个显示核心的任何部分(级)。在一个实施方式中,每一个数据流控制器被配置成经由所述内部数据路径选择性地将面发送至所述合成级和/或第一缩放级和/或所述输出级和/或其它显示核心。

由此,例如,在一个实施方式中,每一个数据流控制器能够操作以经由所述内部数据路径将一个或更多个所述(修改)输入面发送至所述合成级和/或其它显示核心。

在另一实施方式中,每一个数据流控制器能够操作以将一个或更多个(修改)输入面发送至所述缩放级。在这个实施方式中,每一个数据流控制器还能够操作以经由所述内部数据路径将一个或更多个缩放输入面从所述缩放级(例如,对应于被发送至所述缩放级的所述一个或更多个输入面)发送至所述合成级,用于合成和/或其它显示核心。

在一个实施方式中,每一个数据流控制器能够操作以经由所述内部数据路径将一个或更多个(修改的)输入面发送至所述合成级和/或其它显示核心。在另一实施方式中,每一个数据流控制器能够操作以将(修改)合成输出面发送至所述缩放级。在这个实施方式中,所述缩放级因而优选地缩放所接收的合成输出面,并且经由所述内部数据路径、直接地或者经由所述数据流控制器将所述合成输出面发送至所述输出级和/或其它显示核心。

在其中所述第一和/或第二显示核心包括压缩级的实施方式中,每一个数据流控制器可以被配置成选择性地将面发送至每一个压缩级。

用于从所述第二显示核心向所述第一显示核心传递输出面的像素数据的所述内部数据路径可以包括任何合适的这种数据路径。所述内部数据路径应当(并且优选地)处于其上设置有所述第一显示核心与第二显示核心的所述芯片(单片集成电路)内部。由此,所述第一显示控制器能够在所述显示控制器内直接从所述第二显示控制器接收所述输出面,即,不需要所述输出面从所述显示控制器输出或者存储在内部存储器中。

从所述第二显示核心向所述第一显示核心传递的所述像素数据应当为(并且优选为)rgb像素数据。所述像素数据优选地在合适时候与同步(定时)信号一起,从所述第二显示核心传递至所述第一显示核心。在实施方式中,所述第一显示核心可以例如通过解除断定(de-asserting)向所述第二显示核心发送的准备信号,来停止从所述第二显示核心传递像素数据。当然,其它布置也是可以的。

像素数据从所述第二显示核心传递至所述第一显示核心的所述输出面可以是任何合适的输出面。所述输出面应当为并且优选为通过所述第二显示核心(处理级)生成的输出面。在优选实施方式中,所述输出面是通过所述第二合成级生成的(可选为压缩的)合成输出面。在另一优选实施方式中,所述输出面是通过所述第二显示核心生成(生产)的解压缩/解码和/或缩放(可选为修改)的输入面。

在优选实施方式中,所述内部数据路径将所述第二显示核心的处理级连接至所述第一显示核心的处理级,即,所述输出面从所述第二处理级经由所述内部数据路径传递至所述第一处理级。

所述内部数据路径可以将所述第二显示核心的处理级的各个级中的任一个(例如,生成所述输出面的特定级)连接至所述第一显示核心的处理级,即,所述输出面可以从所述第二处理级中的各个级中的任一个级经由所述内部数据路径传递至所述第一处理级,即,(直接地或间接地)从生成所述输出面的特定级(例如,第二解码级、第二合成级、第二缩放级、第二旋转级以及/或者第二压缩级等)。由此,所述内部数据路径可以在合适时候连接至这级中的任一个(与其界面连接)。由此,所述内部数据路径可以连接至所述第二解码级、所述第二合成级、所述第二缩放级、所述第二旋转级以及/或者所述第二压缩级(与其界面连接)。

然而,更优选的是,所述内部数据路径连接至所述第二显示核心的所述合成级(与其界面连接),即,将所述输出面从所述第二显示核心的所述合成级传递至所述第一显示核心(第一处理级)。其将具有这样的效果,即,其中像素数据传递至所述第一显示核心的所述输出面采用合适形式用于所述第一显示核心处理(例如,合成)。这就意味着,在不同情况下(如下面更全面说明的),可以缩减必须由所述第一显示核心执行的处理的量,由此,更有效地划分所述第一显示核心与所述第二显示核心之间的总体处理量。

类似的是,所述内部数据路径可以将所述第二显示核心连接至所述第一显示核心的处理级的各个级中的任一个级,即,将所述输出面从所述第二显示核心传递至所述第一处理级的各个级中的任一个级。由此,所述内部数据路径可以连接至所述第一显示核心的解码级、合成级、缩放级、旋转级以及/或者压缩级(与其界面连接),即,所述输出面可以从所述第二显示核心传递至所述第一显示核心的解码级、合成级、缩放级、旋转级以及/或者压缩级等。

然而,更优选的是,所述内部数据路径连接至所述第一显示核心的所述合成级(与其界面连接),即,将所述输出面的所述像素数据传递至所述第一显示核心的所述合成级。

由此,根据特别优选的实施方式,所述内部数据路径连接至所述第一显示核心的合成级和所述第二显示核心的合成级(与其界面连接),即,将所述输出面的所述像素数据从所述第二显示处理核心的所述合成级经由所述内部数据路径传递至所述第一显示处理核心的所述合成级。其总体效果是,所述第一处理级(合成级)可以(并且优选地)处理(例如,压缩)从所述第二显示核心接收的所述输出面,而不需要所述第一显示核心首先必须执行任何其它处理操作。这表示了一种特别便利且有效的布置,例如,在希望利用所述第一显示核心与第二显示核心来处理(例如,合成)以生成输出面的情况下。

对于所述显示控制器来说,其还可以包括第二内部数据路径,该第二内部数据路径用于从所述第一显示核心向所述第二显示核心传递输出面的像素数据(并且在一个实施方式中,就是这样)。这可以促进在可以通过所述显示控制器执行的操作类型方面的更大程度的控制和灵活性。在这种情况下,来自任一核心的输出面可以被传递至另一核心。

所述第二内部数据路径可以包括任何合适的这种数据路径,但优选地对应于如上所述的内部数据路径(大致相同)。由此,所述第二内部数据路径应当(并且优选地)处于其上设置有所述第一显示核心与第二显示核心的所述芯片(单片集成电路)内部。类似的是,所述像素数据优选为rgb像素数据,在合适时候,还由优选地包括同步(定时)信号。

所述输入面(对于其来说,将像素数据从所述第一显示核心传递至所述第二显示核心)应当为(并且优选为)通过所述第一处理级生成的输出面,如(可选为压缩的)合成输出面,或者解码/解压缩和/或缩放(可选为修改的)输入面。

在优选实施方式中,所述第二内部数据路径将所述第一显示核心的处理级连接至所述第二显示核心的处理级,并且更优选的是,所述第二内部数据路径连接至(与其界面连接)所述第一显示核心的合成级和所述第二核心的合成级。

本发明的显示控制器的每一个输出级可以是任何合适的这种输出级,其能够操作以向显示器提供用于显示的输出面,例如,使用于显示的所述输出面显示在所述显示器上(充当显示接口)。每一个输出级优选地包括用于所述显示器的合适定时控制功能(例如,其被配置成,利用合适的水平和垂直消隐时段向该显示器发送像素数据)。

每一个输出级优选地能够操作以接收用于显示的输出面(在将其提供该所述显示器之前),优选地直接从讨论中的所述显示核心内接收,并且更优选地直接从讨论中的所述处理级接收,即,不需要用于显示的所述输出面从所述显示控制器输出或者存储在内部存储器中。

用于显示的所述输出面应当为并且优选为通过讨论中的(第一或第二)显示核心(处理级)生成的输出面。在优选实施方式中,用于显示的至少一个或每一个输出面是(可选为压缩的)合成输出面(通过所述合成级生成)或者(可选为压缩的)后处理的合成输出面(通过所述一个或更多个后处理级生成)。

与本发明的每一个显示核心一起使用的每一个显示器均可以是任何合适且希望的显示器,举例来说,如屏幕或打印机。更优选的是,所述第一显示器包括总体数据处系统(装置)的本地显示器(屏幕),而所述第二显示器包括外部显示器。然而,对于所述第一显示器来说,其还可以包括外部显示器,而对于所述第二显示器来说,其还可以包括总体数据处系统(装置)的本地显示器(屏幕)。

在实施方式中,至少一个或每一个显示核心还可以包括能够操作以将输出面写入至外部存储器的写出级。所述写出级意指,每一个显示核心例如可以操作以选择性地将输出面写出至外部存储器(如帧缓冲器),例如,随着将输出面显示在讨论中的所述显示器上的同时。而且这可以促进在可以通过所述显示控制器执行的操作类型方面的更大程度的控制和灵活性。

例如,在显示核心(处理级)生成单一输出面的情况下,所述单一输出面可以是写入至外部存储器的所述输出面。另选的是,在显示核心生成多个输出面的情况下,所述输出面之一可以是用于显示的输出面(即,显示在所述显示器上的用于显示的输出面),并且所述输出面中的每一个可以是写入至外部存储器的输出面(和/或所述输出面中的另一个可以是将用于其的像素数据传递至另外显示核心的输出面)。

在这些实施方式中,每一个数据流控制器被优选地设置成选择性地将面发送至每一个写出级。例如,在一个实施方式中,每一个数据流控制器能够操作以将(修改的)合成输出面发送至每一个写出级。

每一个写出级可以是可以将输出面写入至外部存储器的任何合适的这种级。在一个实施方式中,至少一个或每一个写出级包括写入控制器,如直接内存存取(dma)写入控制器。

每一个写出级(写控制器)被优选地设置成,在将所述输出面写入至外部存储器之前接收其,优选地直接从讨论中的所述显示核心内接收,并且更优选地直接从讨论中的所述显示核心的所述处理级接收,即,不需要所述输出面从所述显示控制器输出或者存储在内部存储器中。

通过每一个写出级写入至所述外部存储器的所述输出面应当为并且优选为,通过讨论中的所述显示核心的所述处理器生成的输出面。在优选实施方式中,通过每一个写出级写入至外部存储器的所述输出面是(可选为压缩的)合成输出面(通过所述合成级生成)或者(可选为压缩的)缩放合成输出面(通过所缩放级生成)。

在这些实施方式中,所述外部存储器应当为并且优选为所述显示控制器外部的、所述一个或更多个写出级可以向其写入数据的一个或更多个存储器,如帧缓冲器。所述外部存储器优选地被设置为针对所述显示控制器的分离芯片(单片集成电路)或者设置在其上。所述外部存储器优选地包括所述总体数据处理系统的主存储器(例如,其与中央处理单元(cpu)公用),例如,帧缓冲器。

本发明的显示控制器的各个级例如可以如希望地采用一个或更多个固定功能单元(硬件)(即,其专用于不能改变的一个或更多个功能)的形式来实现,或者实现为一个或更多个可编程处理级(例如,借助于可以被编程成执行希望操作的可编程电路)。这些可以是固定功能和可编程级两者。

本发明的各个级中的一个或更多个可以被配置为彼此分离的电路部件。另外或另选的是,这些级中的一些或全部可以至少部分由共用电路形成。

本发明的各个级中的一个或更多个能够操作,以使总是针对任何和全部接收面执行其功能。另外或另选的是,所述级中的一个或更多个能够操作,以选择性地针对所接收的面执行其功能,即,在希望时候和/或合适时候。

在优选实施方式中,本发明的显示控制器形成数据处理系统的一部分。由此,根据本发明另一方面,提供了一种包括上述显示控制器的数据处理系统。

所述数据处理系统还可以并且优选地包括以下中的一个或更多个,并且优选为全部:中央处理单元、图形处理单元、视频处理器(编解码器)、系统总线、存储器控制器、以及任何附加部件。

所述显示控制器和/或数据处理系统可以并且优选地被配置成,与以下中的一个或更多个通信(并且本发明还扩展至包括以下中的一个或更多个的布置):外部存储器(例如,经由所述存储器控制器)、一个或更多个本地显示器、以及/或者一个或更多个外部显示器。

由此,根据本发明另一方面,提供了一种数据处理系统,该数据处理系统包括:

主存储器;

显示器;

一个或更多个处理单元,其能够操作以生成用于显示的输入面并将所述输入面存储在所述主存储器中;以及

显示控制器,该显示控制器包括:

第一显示核心,该第一显示核心包括能够操作以读取至少一个输入面的第一输入级、能够操作以处理一个或更多个输入面从而生成输出面的第一处理级、以及能够操作以向第一显示器提供用于显示的输出面的第一输出级;

第二显示核心,该第二显示核心包括能够操作以读取至少一个输入面的第二输入级、能够操作以处理一个或更多个输入面从而生成输出面的第二处理级、以及能够操作以向第二显示器提供用于显示的输出面的第二输出级;以及

内部数据路径,该内部数据路径用于从所述第二显示核心向所述第一显示核心传递输出面的像素数据。

如本领域技术人员应当清楚,本发明的这些方面和实施方式可以并且优选地包括在此描述的本发明的优选和可选特征中的一个或更多个,并且优选为全部。

本发明的显示控制器可以按任何合适和希望方式来操作。

如上所述,在具体优选实施方式中,所述第一显示核心与第二显示核心一起操作,以在单一(例如,本地或外部)显示器上显示输出面。

在这些实施方式中,所述第二显示核心可以用于例如针对一个或更多个输入面来执行如希望的任何处理操作(如解码、解压缩、缩放以及/或者合成),并接着经由所述内部数据路径将处理面或多个面传递至所述第一显示控制器,以供所述第一显示核心使用。

在优选实施方式中,所述第二显示核心可以被操作以合成一个或更多个输入面,并且经由所述内部数据路径将所述一个或更多个合成输入面传递至所述第一显示核心。这例如在每一个显示核心在能够合成的输入面的数量方面受限的情况下特别有用。因此,在与仅可以利用所述第一显示核心相比,希望合成更多面的情况下,所述第二显示核心可以用于(并且在一个实施方式中用于)合成(预先合成或“平坦化”)所述面中的一些。

由此,根据实施方式,所述方法包括以下步骤:

所述第二显示核心读取至少两个输入面,处理两个或更多个所述输入面以生成合成输出面,以及经由所述内部数据路径将所述合成输出面的像素数据传递至所述第一显示核心;以及

所述第一显示核心利用所述合成输出面来生成输出面(并且所述显示控制器因此而加以配置)。

在另一实施方式中,所述第二显示核心可以被操作以解码(例如,解压缩)一个或更多个输入面,并且经由所述内部数据路径将所述一个或更多个解码(例如,解压缩)输入面传递至所述第一显示核心。这例如在每一个显示核心在能够解码(例如,解压缩)的输入面的数量方面受限的情况下特别有用。因此,在与仅可以利用所述第一显示核心相比,希望解码(例如,解压缩)更多面的情况下,所述第二显示核心可以用于(并且在一个实施方式中用于)解码(例如,解压缩)所述面中的一个或更多个。

由此,根据实施方式,所述方法包括以下步骤:

所述第二显示核心读取至少一个输入面,解码(例如,解压缩)一个或更多个所述输入面以生成一个或更多个解码(例如,解压缩)的输出面,以及经由所述内部数据路径将所述一个或更多个解码(例如,解压缩)的输出面的像素数据传递至所述第一显示核心;并且

所述第一显示核心利用所述一个或更多个解码(例如,解压缩)的输出面来生成输出面(并且所述显示控制器因此而加以配置)。

在另一实施方式中,所述第二显示核心可以被操作以缩放一个或更多个面,并且经由所述内部数据路径将所述一个或更多个缩放面传递至所述第一显示核心。这例如在每一个显示核心在能够缩放的面的数量方面受限的情况下特别有用。因此,在与仅可以利用所述第一显示核心相比,希望缩放更多面的情况下,所述第二显示核心可以用于(并且在一个实施方式中用于)缩放所述面中的一个或更多个。

由此,根据实施方式,所述方法包括以下步骤:

所述第二显示核心读取至少一个输入面,缩放一个或更多个所述输入面以生成一个或更多个缩放输出面,以及经由所述内部数据路径将所述一个或更多个缩放输出面的像素数据传递至所述第一显示核心;以及

所述第一显示核心利用所述一个或更多个缩放输出面来生成输出面(并且对所述显示控制器相应地配置)。

在这些实施方式中,所述第一显示核心可以被操作以处理所接收的输出面,来生成输出面用于按任何希望方式在第一(例如,本地)显示器上显示。在一个优选实施方式中,所接收的输出面经受所述第一显示核心的(至少)合成。

由此,根据实施方式,所述第一显示核心优选地读取至少一个输入面,合成一个或更多个所述输入面和从所述第二显示核心接收的所述输出面以生成合成输出面,以及向所述第一显示器提供用于显示的所述合成输出面(并且对所述显示控制器相应的进行配置)。

在这些实施方式中,所述第二显示核心中的、不需要(不使用)的那些部分可以被停用(并且在一实施方式中被停用),即,关掉。由此,例如,在不向所述第二显示器提供输出面的情况下,所述第二显示核心的、被用于向所述第二显示器提供一输出面的那些部分可以被停用(并且在一实施方式中被轻易)。这因此缩减了所述显示控制器使用的功率。

这些实施方式在所述第二显示器未在使用中的情况下特别有用,然而,对于所述第二显示核心来说,其还可以经由所述内部数据路径将输出面传递至所述第一显示核心,和提供输出面用于在所述第二显示器上显示(并且在优选实施方式中,就是这样的)。由此,在优选实施方式中,所述第二显示核心向第二显示器提供用于显示的输出面。

本发明的显示控制器的操作可以固定且不可改变,但在优选实施方式中,所述显示控制器可按多种操作模式操作,即,所述显示控制器优选地可控制和/或可编程,以在合适和/或希望时候按多种操作模式来操作。

在优选实施方式中,所述显示控制器的操作模式通过例如运行在主机处理器上的应用来控制,优选地通过该应用生成指令来控制(该指令通过用于所述显示控制器的驱动器(其运行在所述主机处理器上)来解释),以生成使所述显示控制器如该应用所需要地操作的合适命令。

在优选实施方式中,所述至少一个输入面中的每一个优选地在被合成和/或压缩和/或传递至另外显示核心之前,均可以单个地(优选为选择性地)经受解码(例如,解压缩)和/或旋转和/或缩放。在优选实施方式中,一个或所述(修改)输入面和/或所述合成输出面可以优选地在提供给(第一或第二)显示器和/或传递给另外显示核心之前,和/或在被写入至外部存储器之前,选择性地经受后处理和/或缩放和/或压缩。

在优选实施方式中,通过所述显示控制器执行的所有处理在仅从存储器读取所述至少一个输入面一次之后执行,即,所述显示控制器优选地被配置成为,在其每一个级之间传递各个输入面和/或中间面,而不需要从所述显示控制器输出这些面或者将它们存储在外部存储器中。这就意味着,对所述显示控制器的各个操作模式来说,仅需要从主存储器单一读取每一个输入面。

在一个实施方式(操作模式)中,所述显示控制器可以用于向一个或多个显示器提供输出面,例如,向第一(本地)显示器和/或所述第二(外部)显示器提供输出面。在这些实施方式中,通过每一个输入级读取的所述至少一个输入面优选为在被提供给第一和/或第二显示器用于显示之前,选择性地经受解码(例如,解压缩)和/或旋转和/或缩放和/或合成和/或后处理和/或压缩,如上所述。在这些操作模式下,像素数据不需要从所述第二显示处理核心经由所述内部数据路径向所述第一显示核心传递。在向多个(两个)显示器提供输出面的情况下,用于显示的所述输出面可以相同或者不同,例如,一个显示器可能需要和使用与另一显示器不同的分辨率和/或纵横比。

从上述可以看出,至少在本发明的优选实施方式中,与要不然可能仅利用所述第一显示核心的资源相比,可以将所述第二显示核心(并且可选为一个或更多个另外显示核心)的资源用于帮助同时处理更多面(层)(反之亦然)。而且,申请人认识到,所述第一显示核心和所述第二显示核心两者(并且可选为一个或更多个另外显示核心)的资源可以在处理单一面时使用,而且这些做本身就是有利的。

如上所述,常规媒体处理系统的一个局限性在可以同时处理(例如,合成等)的面的数量方面。常规媒体处理系统可能遭受的另一局限性在带宽方面。例如,图1的每一个显示控制器5、7可以具有能够读取和/或处理的某一最大带宽(即,每单位时间的数据量).

用于读取一个或更多个面(层)(例如,用于处理(例如,合成)和显示)的带宽需求通常可以相对较高。例如,按50hz读取单一4k面(层)需要4096x2160x4x50=1.65gb/s。读取并处理(例如,合成)四个层将该带宽需求增加至6.6gb/s。

每一个显示控制器5、7将典型地设置有允许其处理某一最大带宽的处理电路。例如,每一个显示控制器5、7将能够每单位时间执行特定数量的事务(例如,读取事务)。

对应地,每一个显示控制器5、7可以设置有一个或更多个潜在缓冲器(例如,采用一个或更多个fifo(先入先出)级的形式),用于恰当地缓冲读取输入面。这允许每一个显示控制器5、7例如应付存储器等待时间和带宽方面的变化。每一个显示控制器5、7将具有其自身的潜在缓冲器,并且每一个显示控制器的每一个层流水线将具有其自身的潜在缓冲器或者分配给其的所述一个或更多个潜在缓冲器的一部分。典型地讲,每一个层流水线的潜在缓冲器能够缓冲单一“行”(例如,光栅线)的数据。例如,对于4k分辨率来说,每一个层流水线的潜在缓冲器能够存储16kb数据。

在显示控制器尝试按接近或超出其最大带宽的速率读取一个或更多个面(层)(例如,一个或更多个特别大的面)的情况下,和/或在所述一个或更多个潜在缓冲器不能够应付所述数据处理系统中的上游等待时间的情况下,可能出现所谓的“欠载(under-run)”(例如,在读取(提取)处理低效的情况下,如在读取(提取)旋转面(层)、缩小面(层)、未压缩面(层)、rgb面(层)、虚拟寻址面(层)等的时候,和/或在从其读取一个或更多个所述面(层)的存储器3被所述数据处理系统的一个或更多个其它级(如gpu2、cpu9等)利用,致使读取该面(层)延迟的情况下)。

获知用于尝试缩减欠载的可能性的策略包括:增加所述一个或更多个潜在缓冲器的尺寸、利用平坦化(如上所述)、以及利用服务质量(qos)技术来优先化针对存储器3的某些读取和写入操作(例如,从该缓冲引擎4),以超过针对存储器3的其它读取和写入操作(例如,从gpu2和/或cpu9)。然而,增加所述一个或更多个潜在缓冲器的尺寸增加了芯片面积,并因此增加了总体数据处理系统的功耗。如上所述,平坦化需要将预先合成(“平坦化”)面存储在存储器中,并接着从其读取,由此,增加针对gpu2的存储器带宽、功耗以及/或者负载(其中,如果通过gpu2执行,则进行平坦化)。而且,利用服务质量(qos)技术可以缩减存储器系统的总体效率,并由此可以增加总体数据处理系统的带宽需求和功耗。

根据本发明的特别优选的实施方式,同一(例如,“第一”)输入面的不同部分分别通过第一和第二显示处理核心(读取并且)处理。由此,在本发明实施方式中,通过所述第一显示核心读取(并且处理)的所述至少一个输入面包括特定(例如,“第一”)输入面的第一部分,而通过所述第二显示核心读取(并且处理)的所述至少一个输入面包括所述特定(第一)输入面的第二部分。

对应地,根据本发明另一方面,提供了一种操作数据处理系统中的显示控制器的方法,所述显示控制器包括第一显示处理核心、第二显示处理核心、以及内部数据路径,该内部数据路径用于从所述第二显示核心向所述第一显示核心传递数据,所述方法包括以下步骤:

在处理用于显示的第一输入面时:

所述第二显示核心读取所述第一输入面的第二部分,处理所述第一输入面的所述第二部分以生成中间输出面,以及经由所述内部数据路径将所述中间输出面的像素数据传递至所述第一显示核心;并且

所述第一显示核心读取所述第一输入面的第一部分,利用所述第一输入面的所述第一部分和从第二显示核心传递来的所述中间输出面以生成输出面,以及向第一显示器提供用于显示的所述输出面。

根据本发明另一方面,提供了一种用于数据处理系统的显示控制器,该显示控制器包括:

第一显示处理核心;

第二显示处理核心;以及

内部数据路径,其用于从所述第二显示核心向所述第一显示核心传递数据;

其中,所述第二显示核心被配置成,在处理用于显示的第一输入面时,读取所述第一输入面的第二部分,处理所述第一输入面的所述第二部分以生成中间输出面,以及经由所述内部数据路径将所述中间输出面的像素数据传递至所述第一显示核心;并且

其中,所述第一显示核心被配置成,在处理用于显示的所述第一输入面时,读取所述第一输入面的第一部分,利用所述第一输入面的所述第一部分和从第二显示核心传递来的所述中间输出面以生成输出面,以及向第一显示器提供用于显示的所述输出面。

根据本发明另一方面,提供了一种数据处理系统,该数据处理系统包括:

主存储器;

显示器;

一个或更多个处理单元,其能够操作以生成用于显示的输入面,并将所述输入面存储在所述主存储器中;以及

显示控制器,该显示控制器包括:

第一显示处理核心;

第二显示处理核心;以及

内部数据路径,其用于从所述第二显示核心向所述第一显示核心传递数据;

其中,所述第二显示核心被配置成,在处理用于显示的第一输入面时,读取所述第一输入面的第二部分,处理所述第一输入面的所述第二部分以生成中间输出面,以及经由所述内部数据路径将所述中间输出面的像素数据传递至所述第一显示核心;并且

其中,所述第一显示核心被配置成,在处理用于显示的所述第一输入面时,读取所述第一输入面的第一部分,利用所述第一输入面的所述第一部分和从第二显示核心传递来的所述中间输出面以生成输出面,以及向所述显示器提供用于显示的所述输出面。

这些方面和实施方式再次涉及显示控制器,其至少包括第一显示核心和第二显示核心。

在这些方面和实施方式中,在希望处理用于显示的特定(第一)输入面时,通过所述第一显示核心读取所述输入面的一部分,并且通过所述第二显示核心读取一部分。所述第二显示核心处理所述第二部分以生成中间输出面,以及经由所述内部数据路径将所述中间输出面的像素数据传递至所述第一显示核心。所述第一显示核心接着(至少)使用所述第一输入面的所述第一部分和从第二显示核心传递来(接收)的所述中间输出面以生成输出面,以及向显示器提供用于显示的这样生成的输出面。

由此,在这些方面和实施方式中,所述第一显示核心和所述第二显示核心两者的资源被用于读取并处理特定(第一)输入面,而非例如仅利用一个(例如,第一)显示核心。其效果是,超出和超过例如在仅利用单一(例如,第一)显示处理核心时所可用的,可以提供附加资源(例如,在带宽、可能(读取)事务数量、潜在缓冲量等方面),来读取并处理所述特定(第一)输入面,并且优选地使得可以缩减欠载的可能性。

如上所述,在第二显示核心被配置为所述显示控制器的一部分(例如,用于读取、处理以及显示第二显示器上的面)的情况下,这可以在所述第二处理核心未用于向所述第二显示器提供图像时来进行,并且不会显著增加所述显示控制器的芯片面积和功耗。根据这些方面和实施方式,本发明可以用于增强所述显示控制器,例如,与在其它方面可能的相比,允许所述显示控制器处理更大和/或更多面(层)(例如,处理相对更加大的面(层))(例如,没有相对较高的欠载可能性)。另外或另选的是,该方法可以用于使所述显示控制器更有效,例如通过消除用于实现平坦化技术和/或qos技术的需要(或者至少缩减针对该技术的需求和/或使用频率),和/或促进在针对该系统的需求或者约束方面的缩减(例如,在带宽、可能(读取)事务数量、潜在缓冲量等的方面),由此,缩减所述显示控制器和总体数据处理系统的总体功耗。

因此,应当清楚,这些方面和实施方式提供了一种改进显示控制器。

如本领域技术人员应当清楚,这些方面可以(并且优选地)包括在此描述的优选和可选特征中的一个或更多个或者全部。

由此,例如,针对其执行这些方面和实施方式的方法的所述第一输入面可以包括:要被处理用于例如在(第一)显示器之一上显示的任何输入面。在优选实施方式中,所述第一输入面包括特定(优选为选定)输入面。

所述第一输入面可以包括这样的输入面,即,其将需要(例如,第一)显示核心之一的显著(例如,大部分或全部所述)资源(例如,在带宽、可能(读取)事务数量、潜在缓冲量等方面)(即,其被提供用于读取和处理一面(层)),或者提供有比(例如,第一)显示核心之一更多的资源(即,用于读取和处理一面(层)),以便处理和显示。在一个优选实施方式中,所述第一输入面包括相对较大(高分辨率)的输入面,即,接近、等于或者大于被显示核心(名义上)支持的最大尺寸(分辨率)输入面的一输入面。例如,所述第一输入面可以包括按所述数据处理系统的最大分辨率设置的一面(层)。在一个实施方式中,所述第一输入面包括具有4k分辨率的一输入面。

另外或另选的是,所述第一输入面可以包括对于其来说在读取(提取)处理中的等待时间的可能性相对较高的输入面,如对于其来说读取(提取)处理相对低效的输入面。在优选的这种实施方式中,所述第一输入面包括:旋转面(层)、缩小面(层)、未压缩面(层)、rgb面(层)、以及/或者虚拟寻址面(层)等。

就其它(类型)输入面来说,这些方面和实施方式当然可以使用。例如,所述第一输入面不是基于其自身特性(即,尺寸(分辨率)和/或读取效率)来选择,而是可以代替地基于一个或更多个其它输入面的数量或特征来选择,例如,其与所述第一输入面一起,通过所述显示控制器来同时读取和处理。

当然,其它布置也是可以的。

所述第一输入面的第一部分和第二部分可以包括所述第一输入面的任何合适和希望部分。所述第一输入面优选地(有效地)至少划分成第一部分和第二部分,并接着分别通过所述第一显示核心与第二显示核心读取和处理这些部分。所述第一输入面可以被划分成任何数量(至少两个)的部分,例如,所述第一输入面可以被另外划分成一个或更多个更多个另外部分。

将所述第一输入面划分成(至少)第一和第二部分可以在希望时进行。所述第一和第二部分优选为不同,优选为所述第一输入面的独特部分(区域)(范围)。然而,对于所述第一和第二部分来说,其还可以(至少)部分交叠。

在优选实施方式中,所述第一和第二部分包括所述第一输入面(其范围)的特定部分,并且优选为所述输入面的相等部分。这样将所述第一输入面划分成相等部分意味着,读取和处理所述第一输入面将在所述第一显示核心与第二显示核心之间有效地均等划分。然而,对于第一部分和第二部分来说,其还可以包括所述第一输入面的不相等部分。例如在这样的情况下可以是有用的,即,希望例如不均等地在所述第一显示核心与第二显示核心之间分布所述第一输入面的读取和处理,以便缩减(或增加)针对所述显示核心之一所需的处理。

在一个实施方式中,所述第一输入面的第一部分和第二部分一起包含所述第一输入面的整个范围。由此,所述第一输入面的所述第二部分优选地包括所述第一输入面的、不被所述第一输入面包含(或者不同于其)的部分(区域)(并且优选的是,反之亦然)。在优选实施方式中,所述第一部分包括所述第一输入面的一半,而所述第二部分包括所述第一输入面的另一半。然而,对于第一部分和第二部分来说,其还可以如所希望地包括所述第一输入面的三分之一和三分之二、四分之一和四分之三等。

在将所述第一输入面划分成两个以上部分的情况下,那么所述第一输入面可以如所希望地在第一、第二以及一个或更多个另外部分之间划分。优选的是,第一、第二,以及所述一个或更多个另外部分一起包含所述第一输入面的整个范围。等同地,在所述显示控制器包括一个或更多个附加显示核心的情况下,那么所述第一输入面的处理可以如所希望地在第一、第二以及/或者一个或更多个附加显示核心之间划分(之间分布)。

在优选实施方式中,进行将所述第一输入面划分成(至少)第一部分和第二部分,以使每一个显示核心为读取和处理每一个部分所需的资源相对于一显示核心读取和处理整个所述第一输入面而缩减,例如,在带宽、潜在缓冲等方面。

在特别优选的这种实施方式中,在第一和/或第二显示核心被配置成按特定(例如,行)方向读取(和/或处理)输入面(第一输入面)的情况下,那么,所述第一输入面被优选地沿与读取(和/或处理)方向正交的方向划分成第一部分和第二部分。例如,在所述第一输入面包括多行和多列数据位置(由其组成)的情况下(例如,在每一个数据位置取得数据(例如,颜色)值的情况下),并且在所述输入面以逐行为基础读取(并处理)的情况下(即,所述输入面的每一行按连贯方式一个接一个地读取),那么,所述第一输入面被优选地沿与所述数据位置的行正交的方向(平行于数据位置的列)垂直划分成第一部分和第二部分。这样划分所述第一输入面缩减了必须通过每一个显示核心针对每一行读取(并且缓冲和处理)的数据量,并因此,缩减被每一个显示核心所使用的带宽的量,并且有效地增加针对每一个面(层)可用的潜在缓冲的量。

当然,其它布置也是可以的。

在这些方面和实施方式中,所述第二显示核心读取所述第一输入面的第二部分。所述第二显示核心优选地仅(读取并且)处理所述第一输入面的第二部分,以便生成所述中间输出面,但也可以读取并处理一个或更多个其输入面。

所述第一输入面的第二部分可以通过所述第二显示核心按任何合适和希望方式来处理(举例来说,如在此所述)。在具体优选实施方式中,通过所述第二显示核心在所述第一输入面的第二部分上执行的处理(至少)包括层流水线处理,例如像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。另外,在合适时候,所述处理还可以包括解码(解压缩)。

对于通过所述第二显示核心在所述第一输入面的所述第二部分上执行的处理来说,在希望时候还可以包括旋转和/或缩放等。

对应地,通过所述第二显示核心生成并且传递至所述第一显示核心的所述中间输出面优选地包括:所述第一输入面的所述第二部分的处理(例如,至少进行像素处理)版本。

如上所述,在这些方面和实施方式中,所述第一显示核心使用所述第一输入面的所述第一部分和从第二显示核心传递来的所述中间输出面以生成输出面。

所述第一显示核心可以(读取并且)使用仅所述第一输入面的所述第一部分(和从第二显示核心传递来的所述中间输出面一起)以便生成所述输出面,或者可以另外读取并使用一个或更多个其它输入面。

由此,在优选实施方式中,所述方法包括以下步骤:所述第一显示核心(并且所述第一显示核心被配置用于)读取所述第一输入面的所述第一部分和一个或更多个其它输入面,利用所述第一输入面的所述第一部分、所述一个或更多个其它输入面以及从所述第二显示核心传递来的所述中间输出面以生成输出面,以及向第一显示器提供用于显示的所述输出面。

在这些实施方式中,所述一个或更多个其它输入面在希望时候可以包括任何合适的这种输入面(举例来说,如上所述)。

所述第一显示核心可以(至少)使用所述第一输入面的所述第一部分和从第二显示核心传递来的所述中间输出面,以按任何合适且希望的方式生成所述输出面。

在优选实施方式中,通过所述第一显示核心处理所述第一输入面的所述第一部分。所述第一输入面的所述第一部分优选地通过所述第一显示核心按这样的方式来处理,即,与通过所述第二显示核心在所述第一输入面的所述第二部分上执行的所述处理相对应。即,所述第一输入面的第一部分和第二部分优选地分别通过所述第一显示核心与第二显示核心按对应方式处理。在一个实施方式中,所述第一输入面的所述第一部分通过所述第一显示核心按和通过所述第二显示核心处理所述第二输入面相同的方式来处理(即,经受相同处理)。这意味着,所述第一输入面的被处理的第一部分和所述中间输出面(即,所述第一输入面的被处理的第二部分)将采用一相同形式,即,将兼容,例如用于进一步一起使用。

因此,通过所述第一显示核心在所述第一输入面的所述第一部分上执行的所述处理(至少)优选地包括:层流水线处理,例如像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。另外,在合适时候,所述处理还可以包括解码(解压缩)。对于通过所述第一显示核心在所述第一输入面的所述第一部分上执行的所述处理来说,在希望时候还可以包括旋转和/或缩放等。

在优选实施方式中,所述第一显示核心(至少)使用所述第一输入面的所述第一部分和从第二显示核心传递来的所述中间输出面,以通过(至少)组合(例如,合成)所述第一输入面的所述第一部分和从所述第二显示核心传递来的所述中间输出面来生成所述输出面。优选的是,将所述第一输入面的被处理的第一部分与所述中间输入面组合(优选为合成),即,使得恰当地组合(合成)所述第一输入面的所述第一和第二部分的被处理版本。

由此,在具体优选实施方式中,所述第一显示核心(至少)执行合成,即,例如(至少)合成所述第一输入面的所述第一部分(其被处理版本)和从第二显示核心传递来的所述中间输出面,以生成用于显示的输出面。由此,在优选实施方式中,所述方法包括以下步骤:所述第一显示核心(并且所述第一显示核心被配置用于)合成所述第一输入面的所述第一部分(的被处理版本)和从第二显示核心传递来的所述中间输出面(可选地与一个或更多个其它输入面一起),以生成合成输出面,并且向第一显示器提供用于显示的所述合成输出面。

另外,所述第一显示核心还可以执行解码(解压缩)、旋转、缩放、像素处理、后处理等(举例来说,如上所述)。

通过所述第一显示核心生成的所述输出面可以包括任何合适和希望的输出面。

在一个优选实施方式中,所述输出面可以对应于所述第一输入面,即,所述输出面可以包括所述第一输入面的被处理版本,例如,通过恰当合成(组合)所述第一输入面的第一部分和第二部分而生成的所述第一输入面形式。

在另一优选实施方式中,所述输出面可以是包括与一个或更多个其它输入面组合在一起的所述第一输入面的输出面,即,所述输出面可以包括合成输出面,其例如通过恰当地将所述第一输入面的第一部分和第二部分与一个或更多个其它输入面合成(组合)在一起来生成。

对于所述输出面来说,在希望时候还可以包括旋转和/或缩放面。

本发明的这些方面和实施方式在处理用于显示的第一输入面时执行。在优选实施方式中,本发明的操作被选择性地执行,即,该操作可以在希望时候启用和禁用,优选地基于逐个面。

由此,在优选实施方式中,进行有关特定(第一)面应当按本发明的方式处理(或相反)的确定。该确定例如可以通过用于所述显示控制器的驱动器来进行。由此,在优选实施方式中,在应用(例如,运行在主机处理器上)生成用于所述显示控制器的指令时,所述指令优选地通过所述驱动器来解释(其运行在所述主机处理器上),并接着所述驱动器优选地生成针对所述显示控制器的合适命令,以生成使所述显示控制器在需要时候操作的合适命令(例如,按本发明的方法,或相反)。所述确定还可以通过硬件来进行。

这些方面和实施方式应当(并且优选地)在所述第二显示核心未被用于使图像显示在所述第二显示器上时执行。由此,在优选实施方式中,进行有关所述第二显示核心是否被用于使图像显示在所述第二显示器上的确定。如果确定所述第二显示核心不被这样利用(除了这样利用以外),那么可以执行根据本发明的处理。

在优选实施方式中,这些方面和实施方式选择性地根据所述第一输入面的特征来执行(即,根据用于显示的输入面的特征)(即,根据所述第一输入面的特征进行确定)。由此,在优选实施方式中,进行有关一输入面(层)是否包括一个或更多个特定特征的确定。如果(if(when))确定一输入面(层)包括一个或更多个特定特征,那么,所述输入面(层)优选地根据本发明来处理。

针对其进行所述确定的特征优选地涉及需要读取和处理用于显示的所述输入面的资源量(例如,在带宽、(读取)的数量、潜在缓冲的量等方面),和/或所述读取(提取)处理中可以等待时间的程度(举例来说,如上所述)。由此,在优选实施方式中,可以执行根据本发明的处理,其中,确定所述第一输入面包括相对较大(高分辨率)输入面如4k分辨率面(层),和/或读取(提取)处理相对低效的输入面,如旋转面(层)、缩小面(层)、未压缩面(层)、rgb面(层)、虚拟寻址面(层)等。

对于这些方面和实施方式来说,其还可以选择性地根据一个或更多个其它输入面的数量或特征来执行(即,可以根据一个或更多个其它输入面的数量或特征来进行所述确定)。例如,根据这些方面和实施方式的处理可以针对特定(第一)输入面来执行,其中,确定相对较大数量的其它输入面被同时读取和处理(例如,合成),和/或其中,确定相对较大和/或针对其的读取(提取)处理低效的一个或更多个其它面被同时读取和处理(例如,合成)。

由此,在优选实施方式中,进行有关一个或更多个输入面(层)(即,包括所述第一输入面和/或一个或更多个其它输入面)是否包括一个或更多个特定特征的确定,其中,所述一个或更多个特定特征可以包括:所述一个或更多个输入面的尺寸,和/或针对一个或更多个输入面的读取处理的效率。如果确定一个或更多个输入面(层)包括一个或更多个特定特征,那么,所述第一输入面(层)优选地根据本发明来处理。

在一个实施方式中,这些方面和实施方式选择性地根据所述存储器系统上的负载来执行,例如,从所述数据处理系统中的一个或更多个其它级(如gpu和/或cpu)。例如,根据这些方面和实施方式的处理可以针对特定(第一)输入面来执行,在确定所述第一输入面要从其读取(存储在其中)的存储器上的负载(其使用)相对较高的的时候。

当然,其它布置也是可以的。

尽管在处理用于显示的特定(第一)输入面时,上述方面和实施方式已经在利用显示控制器中的多个显示核心(至少包括第一显示核心与第二显示核心)的资源方面进行了描述,但申请人还认识到,这些方面和实施方式的技术还可以在单一显示核心中实现(例如,利用至少包括第一显示核心与第二显示核心的显示控制器的单一显示核心,或者利用仅包括单一显示核心的显示控制器)。

具体来说,其中,如上所述,显示核心(或显示控制器)包括多个层流水线(例如,接能够操作以处理单一面(层)的多个处理流水线),因而(在不利用所有层流水线时),至少第一层流水线和第二层流水线的资源(例如,在带宽、可能(读取)事务数量、潜在缓冲的量等方面)可以被用于处理特定(第一)输入面,而非例如仅利用单一层流水线。

而且,其效果是,超出和超过例如在仅利用单一层流水线时所可用的,可以提供附加资源(例如,在带宽、可能(读取)事务数量、潜在缓冲量等方面),来处理所述特定(第一)输入面,并且优选地使得可以缩减欠载的可能性。

此外,该方法可以用于增强所述显示控制器,例如,与在其它方面可能的相比,允许所述显示控制器处理更大和/或更多面(层)(例如,处理相对更加大的面(层)),和/或使所述显示控制器更有效,例如,通过促进针对该系统的需求或约束方面的缩减(例如,在带宽、可能(读取)事务数量、潜在缓冲量、针对平坦化技术和/或qos技术的需求和/或使用频率等),由此,缩减所述显示控制器和总体数据处理系统的总体功耗。

由此,根据本发明另一方面,提供了一种操作数据处理系统中的显示控制器的方法,所述显示控制器至少包括第一层流水线和第二层流水线,所述方法包括以下步骤,即,所述显示控制器:

读取至少一个输入面;

处理所述至少一个输入面以生成一输出面;以及

向一显示器提供用于显示的所述输出面;

其中,所述处理所述至少一个输入面以生成所述输出面的步骤包括以下步骤:所述第一层流水线处理所述至少一个输入面的第一部分,而所述第二层流水线处理所述至少一个输入面的第二部分。

根据本发明另一方面,提供了一种用于数据处理系统的显示控制器,该显示控制器包括:

一个或更多个输入级,该一个或更多个输入级能够操作以读取至少一个输入面;

一个或更多个处理级,该一个或更多个处理级能够操作以处理所述至少一个输入面,从而生成一输出面,其中,所述一个或更多个处理级至少包括第一层流水线,和第二层流水线;以及

输出级,该输出级能够操作以向一显示器提供用于显示的所述输出面;

其中,所述一个或更多个处理级能够操作以通过所述第一层流水线处理所述至少一个输入面的第一部分,而所述第二层流水线处理所述至少一个输入面的第二部分,来处理所述至少一个输入面,以生成所述输出面。

根据本发明另一方面,提供了一种数据处理系统,该数据处理系统包括:

主存储器;

显示器;

一个或更多个处理单元,其能够操作以生成用于显示的输入面并将所述输入面存储在所述主存储器中;以及

显示控制器,该显示控制器包括:

一个或更多个输入级,所述一个或更多个输入级能够操作以读取至少一个输入面;

一个或更多个处理级,所述一个或更多个处理级能够操作以处理所述至少一个输入面,从而生成输出面,其中,所述一个或更多个处理级至少包括第一层流水线和第二层流水线;以及

输出级,该输出级能够操作以向所述显示器提供用于显示的所述输出面;

其中,所述一个或更多个处理级能够操作以通过所述第一层流水线处理所述至少一个输入面的第一部分,而所述第二层流水线处理所述至少一个输入面的第二部分,来处理所述至少一个输入面,以生成所述输出面。

如本领域技术人员应当清楚,这些方面可以(并且优选地)包括在此描述的优选和可选特征中的一个或更多个或者全部。

由此,例如,所述至少一个输入面优选地例如包括特定(优选为选定)输入面,并且优选地如上所述。等同地,所述至少一个输入面的第一部分和第二部分优选地如上所述划分。这些方面和实施方式的操作优选地例如根据所述至少一个输入面的特征和/或例如根据一个或更多个其它输入面的数量或的特征来选择性地执行,并且优选地如上所述。

根据这些方面和实施方式的显示控制器可以(至少)包括第一显示核心与第二显示核心(举例来说,如上所述),或者可以仅包括单一显示核心。

由此,第一层流水线和第二层流水线可以形成相同显示核心的一部分,或者所述第一层流水线可以形成一个显示核心的一部分,而所述第二层流水线可以形成另一不同显示核心的一部分。由此,例如,在所述显示控制器包括单一显示核心的情况下,那么,第一流水线和第二层流水线将形成相同显示核心的一部分。在所述显示控制器包括多个显示核心的情况下,第一层流水线和第二层流水线可以形成所述显示核心中的仅一个显示核心的一部分,或者所述第一层流水线可以形成第一显示核心的一部分,而所述第二层流水线可以形成第二显示核心的一部分(举例来说,如上所述)。

根据这些方面和实施方式的显示控制器至少包括第一层流水线和第二层流水线。所述显示控制器可以包括任何数量(多个)层流水线,如两个、三个或更多个层流水线。对应地,每一个显示处理核心可以包括任何数量(多个)层流水线,如两个、三个或更多个层流水线。

每一个层流水线优选地能够操作,以在合适时候针对一个或更多个输入面执行一个或更多个处理操作,例如,在将所述一个或更多个被处理输入面提供给缩放级和/或合成单元之前,或者其它方面(举例来说,如上所述)。一个或更多个所述层流水线可以包括视频层流水线,和/或一个或更多个所述层流水线可以包括图形层流水线。

所述一个或更多个层流水线中的每一个均能够操作,以例如提供像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。由此,在优选实施方式中,通过第一和/或第二层流水线执行的处理包括像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。

所述显示控制器优选地还包括一个或更多个潜在缓冲器(例如,采用一个或更多个fifo(先入先出)级),例如,用于在合适时候缓冲输入面,或者其它方面。每一个层流水线优选地具有其自身的潜在缓冲器或者分配给其的所述一个或更多个潜在缓冲器的一部分。每一个层流水线的潜在缓冲器可以被配置成例如缓冲单一行(例如,光栅线)的数据。

在这些方面和实施方式中,所述显示控制器可以仅读取(并且处理)单一输入面,以便生成所述输出面,或者可以另外读取并处理一个或更多个其输入面(举例来说,如上所述)。

通过所述显示控制器执行的用于生成所述输出面的处理可以包括任何合适的这种处理(举例来说,如在此所述)。

通过每一个层流水线执行的处理应当(并且优选地)(至少)包括层流水线处理,例如像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。所述至少一个输入面的所述第一部分优选地通过所述第一层流水线按这样的方式来处理,即,与通过所述第二层流水线在所述至少一个输入面的所述第二部分上执行的所述处理相对应。即,所述至少输入面的第一部分和第二部分优选地分别通过第一层流水线和第二层流水线按对应(例如,相同)方式处理。

所述至少一个输入面的被处理的第一部分优选地与所述至少一个输入面的被处理的第二部分组合(优选为合成)。

由此,在具体优选实施方式中,通过所述显示控制器执行的用于生成所述输出面的处理至少包括合成,即,例如包括(至少)合成所述至少一个输入面的所述第一部分和所述至少一个输入面的所述第二部分,以生成用于显示的输出面。由此,在优选实施方式中,所述方法包括以下步骤:所述显示控制器(并且所述处理级被配置用于)合成所述至少一个输入面的所述第一部分和所述至少一个输入面的所述第二部分(可选地与一个或更多个其它输入面一起),以生成合成输出面,并且向第一显示器提供用于显示的所述合成输出面。

另外,通过所述显示控制器执行的处理还可以包括(并且所述处理级可以被配置用于)解码(解压缩)、旋转、缩放、后处理等(举例来说,如上所述)。

在优选实施方式中,这些方面和实施方式的操作被选择性地执行,即,该操作可以在希望时候启用和禁用,优选地基于逐个面地(举例来说,如上所述)。

这些方面和实施方式的操作应当(并且优选为)在所述显示控制器的所述层流水线之一未以其它方式使用时执行(即,不处理另一面(层))。由此,在优选实施方式中,进行有关未利用所述显示控制器的所有层流水线的确定。如果确定利用所述显示控制器的少于全部的所述层流水线,那么可以执行根据这些方面和实施方式的处理。

而且认为,将输入面划分以在显示控制器的多个处理流水线之间处理,并接着重新组合所处理的结果(例如,利用所述处理流水线之一)的构思是新颖的而且本身就是有利的。

由此,根据本发明另一方面,提供了一种操作数据处理系统中的显示控制器的方法,所述显示控制器至少包括第一处理流水线和第二处理流水线,所述方法包括以下步骤:

将输入面划分成第一部分和第二部分用于处理;

利用所述第一处理流水线处理所述输入面的所述第一部分;

利用所述第二处理流水线处理所述输入面的所述第二部分;并接着,

组合所述输入面的所述第一部分和所述输入面的所述第二部分,以生成用于显示的输出面。

根据本发明另一方面,提供了一种用于数据处理系统的显示控制器,该显示控制器包括:

第一处理流水线,该第一处理流水线能够操作以处理一个或更多个输入面;

第二处理流水线,该第二处理流水线能够操作以处理一个或更多个输入面;以及

输出级,该输出级能够操作以向显示器提供用于显示的输出面;

其中,对于被划分成第一部分和第二部分用于处理的输入面来说,所述显示控制器能够操作以,利用所述第一处理流水线处理所述输入面的所述第一部分,利用所述第二处理流水线处理所述输入面的所述第二部分,以及组合所述输入面的所述第一部分和所述输入面的所述第二部分,以生成用于显示的输出面。

根据本发明另一方面,提供了一种数据处理系统,该数据处理系统包括:

主存储器;

显示器;

一个或更多个处理单元,其能够操作以生成用于显示的输入面并将所述输入面存储在所述主存储器中;以及

显示控制器、所述显示控制器包括:

第一处理流水线,该第一处理流水线能够操作以处理一个或更多个输入面;和

第二处理流水线,该第二处理流水线能够操作以处理一个或更多个输入面;

其中,对于被划分成第一部分和第二部分用于处理的输入面来说,所述显示控制器能够操作以,利用所述第一处理流水线处理所述输入面的所述第一部分,利用所述第二处理流水线处理所述输入面的所述第二部分,以及组合所述输入面的所述第一部分和所述输入面的所述第二部分,以生成用于在所述显示器上显示的输出面。

根据本发明另一方面,提供了一种操作数据处理系统中的显示控制器的方法,所述显示控制器至少包括第一处理流水线和第二处理流水线,所述方法包括以下步骤:

至少在所述显示控制器的所述第一处理流水线与所述第二处理流水线之间分布处理要通过所述显示控制器处理的输入面;并接着,

组合这样处理的输入面以生成用于显示的输出面。

根据本发明另一方面,提供了一种用于数据处理系统的显示控制器,该显示控制器包括:

第一处理流水线,该第一处理流水线能够操作以处理一个或更多个输入面;

第二处理流水线,该第二处理流水线能够操作以处理一个或更多个输入面;以及

输出级,该输出级能够操作以向显示器提供用于显示的输出面;

其中,所述显示控制器能够操作以,至少在所述显示控制器的所述第一处理流水线与所述第二处理流水线之间分布处理要通过所述显示控制器处理的输入面;并且,组合这样处理的输入面以生成用于显示的输出面。

根据本发明另一方面,提供了一种数据处理系统,该数据处理系统包括:

主存储器;

显示器;

一个或更多个处理单元,其能够操作以生成用于显示的输入面并将所述输入面存储在所述主存储器中;以及

显示控制器、所述显示控制器包括:

第一处理流水线,该第一处理流水线能够操作以处理一个或更多个输入面;和

第二处理流水线,该第二处理流水线能够操作以处理一个或更多个输入面;

其中,所述显示控制器能够操作以,至少在所述显示控制器的所述第一处理流水线与所述第二处理流水线之间分布处理要通过所述显示控制器处理的输入面;并且,组合这样处理的输入面以生成用于在所述显示器上显示的输出面。

如本领域技术人员应当清楚,这些方面可以(并且优选地)包括在此描述的优选和可选特征中的一个或更多个或者全部。

由此,例如,所述输入面优选地例如包括特定(优选为选定)输入面,并且优选地如上所述。等同地,所述输入面的第一部分和第二部分优选地如上所述划分。所述第一输入面可以仅划分成第一部分和第二部分,或者例如可以划分成第一、第二以及一个或更多个另外部分,并且优选地如上所述。这些方面和实施方式的操作优选地例如根据所述输入面的特征和/或例如根据一个或更多个其它输入面的数量或的特征来选择性地执行,并且优选地如上所述。

根据这些方面和实施方式的显示控制器至少可以包括第一显示核心与第二显示核心(举例来说,如上所述),或者可以仅包括单一显示核心。由此,例如,所述第一处理流水线可以包括或者形成第一显示核心的一部分,而所述第二处理流水线可以包括或者形成第二不同的显示核心的一部分(举例来说,如上所述)。另外或另选的是,所述第一处理流水线可以包括第一层流水线,而所述第二处理流水线可以包括第二层流水线(并且第一和/或第二处理流水线例如还可以包括合成级,其例如用于组合所述输入面的第一部分和第二部分,以生成所述输出面),并且优选地如上所述。

所述输入面可以被读取(例如,从存储器)并接着至少被划分成第一部分和第二部分,或者每一个部分均可以分离地读取(从存储器),即,使得将所述输入面至少划分成第一部分和第二部分的步骤包括:读取所述输入面的所述第一部分,和(分离地)读取所述输入面的所述第二部分。

所述显示控制器可以仅(读取并且)处理单一输入面,以便生成所述输出面,或者可以另外读取并处理一个或更多个其它输入面(举例来说,如上所述)。

通过每一个处理流水线执行的处理应当(并且优选地)(至少)包括层流水线处理,例如像素处理功能,如像素解包、颜色转换、(逆)伽玛校正等。等同地,所述至少一个输入面的所述第一部分优选地通过所述第一处理流水线按这样的方式来处理,即,与通过所述第二处理流水线在所述至少一个输入面的所述第二部分上执行的所述处理相对应。即,所述输入面的第一部分和第二部分优选地分别通过第一处理流水线和第二处理流水线按对应(例如,相同)方式处理。

所述输入面的被处理的第一部分应当(并且优选地)与所述输入面的被处理的第二部分(并且可选地,还与所述一个或更多个另外部分)组合(优选为合成)。因此,组合所述输入面的所述第一部分和所述输入面的所述第二部分以生成输出面例如优选地包括:合成所述第一部分和所述第二部分,并且优选地如上所述。所述组合例如可以通过所述处理流水线之一(例如,所述第一第二处理流水线或所述第二处理流水线,或者另一处理级(例如,合成级))执行,并且优选地如上所述。

通过第一和/或第二处理流水线执行的处理在希望时候还可以包括(并且所述处理流水线可以被配置用于)解码(解压缩)、旋转、缩放、后处理等(举例来说,如上所述)。

而且,在这些方面和实施方式中,生成输出面例如优选地被提供给用于显示的显示器,并且优选地如上所述。

在一些实施方式中,所述显示控制器和/或数据处理系统包括存储在此描述的数据和/或存储用于执行在此描述的处理的软件的一个或更多个存储器和/或存储器装置,和/或与其通信。所述图形控制器和/或数据处理系统还可以与主微处理器通信和/或包括其,和/或与用于基于通过所述显示控制器生成的数据来显示图像的显示器通信和/或包括其。

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

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

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

而且,本发明的处理级中的任一个或更多个或全部可以被具体实施为处理级电路,例如,采用一个或更多个固定功能单元(硬件)(处理电路)的形式,和/或采用可编程处理电路(其可以被编程成执行希望操作)的形式。等同地,本发明的处理级和处理级电路中的任一个或更多个可以被设置为针对其它处理级或处理级电路中的任一个或更多个的分离电路部件,和/或这些处理级和处理级电路中的任一个或更多个或全部可以至少部分地由共用处理电路形成。

针对必需执行上述特定功能的任何硬件的主旨,该图形处理流水线可以以其它方式包括该图形处理流水线所包括的常见功能单元等中的任一个或更多个或全部。

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

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

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

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

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

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

附图说明

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

图1示意性地示出了双显示帧缓冲器合成处理;

图2示意性地示出了双显示帧缓冲器合成系统;

图3示意性地示出了根据本发明的实施方式的显示控制器;

图4示出了根据本发明的实施方式的媒体处理系统;

图5示意性地示出了根据本发明的实施方式的、将输入面划分成第一部分和第二部分;以及

图6示意性地示出了根据本发明的实施方式的、配置显示控制器的处理。

在整个附图中,相同标号在合适情况下被用于相同组件。

具体实施方式

下面,参照图3,对本发明的优选实施方式进行描述。

图3示意性地示出了根据本发明的实施方式的显示控制器12。在图3中,框表示该显示控制器的功能单元,而带箭头线表示各个不同单元之间的连接。

在本实施方式中,显示控制器12包括主显示核心20和次显示核心40,即,该显示控制器是双核显示控制器。该主显示核心20和次显示核心40被配置为同一芯片(单片集成电路),即,被集成并且大致相同。如图3所示,主显示核心20控制总体数据处理系统的(例如,移动电话、智能电话、平板电脑等)的本地显示器6,而次显示核心40控制外部显示器8,例如,经由hdmi、mhl、显示端口等接口。

如还在图3中示出,内部rgb像素数据路径30将次显示核心40连接至主显示核心20。该显示控制器还包括一个或更多个控制模块31,其例如向显示控制器12的合适控制寄存器、合适中断结构等提供软件接入。

在本实施方式中,每一个显示核心20、40包括采用直接内存存取(directmemoryaccess:dma)读取控制器21、41的形式的读取控制器。每一个读取控制器21、41都被配置成,经由存储器总线从主存储器3(图3中未示出)中的一个或更多个帧缓冲器读取一个或更多个输入面。

与每一个读取控制器21、41共同定位的是帧缓冲器压缩解码器22、42,其可以用于在向前传送所述一个或更多个输入面之前,在需要时(选择性地)解码所接收的输入面。类似的是,每一个显示核心20、40均可以包括旋转单元(未示出),其可以用于在向前传送所述一个或更多个输入面之前,在需要时选择性地旋转所接收的输入面中的一个或更多个。

每一个显示核心20、40还包括一个或更多个实时fifo(先入先出)模块23、43,其用于随着从存储器读取和/或解码所述一个或更多个输入面来缓冲它们,例如用于潜在隐藏目的。

在所示的实施方式中,每一个读取控制器21、41都被配置成,(读取)直至三个不同输入面(层),其要用于生成合成输出帧。这三个输入层可以包括:一个或更多个视频层(例如,通过视频处理器(编解码器)1生成),和一个或更多个图形层(例如,通过图形处理单元(gpu)2生成的图形窗口),等等。因此,图3示出了每一个显示核心20、40包括三个层流水线24a、24b、24c、44a、44b、44c,它们皆接收输入面(显示层)。通过层流水线24a、24b、24c、44a、44b、44c接收的任何或全部输入面可能已经经受解码器22、42的解码和/或旋转单元的旋转,如上所述。

每一个层流水线24a、24b、24c、44a、44b、44c针对所接收的面执行合适操作,如根据所接收的数据字的像素解包、颜色(例如,yuv至rgb)转换、以及逆伽玛(inversegamma)校正或逆srgb校正。

每一个层流水线24a、24b、24c、44a、44b、44c具有其本身的分配给其的相应fifo模块23、43部分,例如,用于缓冲单一行(光栅行)数据。

尽管图3的实施方式例示了每显示核心使用三个层流水线(并由此,直至每显示核心三个输入面),但应当清楚,根据讨论中的应用(并且还根据任何硅面积约束等),在本发明中可以设置并使用任何数量的层流水线。

每一个显示核心20、40还包括合成单元25、45。在所示实施方式中,次显示核心40被配置成,使得其合成单元45从其层流水线44a、44b、44c接收输入,而主显示核心20被配置成,使得其合成单元25从其层流水线24a、24b、24c,并且经由内部数据路径30从次显示核心的合成单元25接收输入。每一个合成单元25、45操作以例如通过合适的alpha混合运算等合成所接收的输入面,来生成合成输出帧。

在所示的实施方式中,来自每一个合成单元25、45的合成输出帧可以向前传送至后处理流水线26、46和/或写入控制器28、48。然而,对于很长输出帧来说,其还可以在希望时候从每一个合成单元25、45向前传送至该显示核心的缩放引擎27、47。

每一个后处理流水线26、46都被配置成,针对该合成输出面(帧)选择性地执行任何希望的处理操作,并接着发送该(被处理)合成输出帧,用于在关联显示器6、8上恰当显示。

每一个后处理流水线26、46例如可以包括:能够操作以向该合成输出帧应用颜色转换的颜色转换级(colourconversionstage),能够操作以针对合成输出帧应用抖动的抖动级,以及/或者能够操作以针对合成输出帧执行伽玛校正的伽玛校正级。

每一个后处理流水线26、46还包括合适显示定时功能(即,输出级)。由此,每一个后处理流水线26、46都被配置成,利用合适的水平和垂直消隐时段向其关联显示器6、8发送像素数据。水平和垂直同步脉冲(hsync、vsync)以dataen信号(其维持在非消隐时段)一起生成。在消隐时段,dataen解除断定(de-asserted),并且没有数据被发送至该显示器(存在4个消隐时段:水平前沿–hsync脉冲之前、水平后沿–hsync脉冲之后、垂直前沿–vsync脉冲之前、以及垂直后沿–hsync脉冲之后)。

本实施方式的每一个显示核心20、40还包括:缩放单元27、47。如图3所示,每一个显示核心20、40被配置成,使得其缩放引擎27、47可以从其层流水线24a、24b、24c、44a、44b、44c中的任一个或更多个接收输入。对于每一个缩放引擎27、47来说,从关联合成单元25、45接收输入。由此,每一个显示核心20、40都被配置成,使得任一个或更多个输入面(即,来自层流水线24a、24b、24c、44a、44b、44c)和/或合成输出帧(即,来自合成单元25、45)可以被发送至缩放引擎27、47。

每一个缩放引擎27、47操作以(选择性地)缩放(即,放大或缩小)任一个或更多个所接收的面(帧),以生成缩放面(帧)。由此,每一个缩放引擎27、47可以操作以缩放任一个或更多个输入面(即,来自层流水线24a、24b、24c、44a、44b、44c),以生成一个或更多个缩放输入面和/或合成输出面,以生成缩放合成输出帧。在本实施方式中,缩放面的程度可以如希望地选择,即,根据特定应用等。

在本实施方式中,每一个缩放引擎27、47均被配置成,选择性地将缩放面发送至关联合成单元25、45(例如经由一个或更多个层流水线24a、24b、24c、44a、44b、44c或其它)和/或关联写入控制器28、48。由此,例如,每一个显示核心20、40均可以操作,以在所述一个或更多个输入面通过合成单元25、45合成之前,利用缩放引擎27、47,缩放一个或更多个输入面(即,来自层流水线24a、24b、24c、44a、44b、44c)。等同地,每一个显示核心20、40可以操作,以在将该合成输出帧发送至写入控制器28、48(并且从写入控制器28、48写出至主存储器3)之前,例如利用缩放引擎27、47来缩放该合成输出帧。

每一个缩放引擎均可以被配置成,例如执行多抽头(multi-tap)有限脉冲响应(fir:finiteimpulseresponse)过滤。

尽管每一个缩放引擎27、47在图3中被示出为用于多个层流水线24a、24b、24c、44a、44b、44c的共享资源,但对于一个或更多个或每一个24a、24b、24c、44a、44b、44c来说,其还可以包括其自身的缩放引擎。

在本实施方式中,每一个写入控制器28、48均采用dma写入控制器的形式。每一个写入控制器28、48都被配置成,经由存储器总线将所接收面写出至外部存储器3(例如,帧缓冲器)。本实施方式的每一个写入控制器28、48都被配置成,接收用于从关联缩放引擎27、47和从关联合成单元25、45输出的面(帧)。由此,在实施方式中,每一个写入控制器28、48均可以操作,以将缩放或未缩放的合成输出帧写出至主存储器。

由此,每一个显示核心20、40均包括合成单元25、45、解码器22、42、旋转单元、以及能够放大和缩小面的缩放引擎27、47。每一个显示核心20、40均能够将缩放面发送至显示流水线26、466和/或将它们写回至帧缓冲器。

如图3所示,内部rgb像素数据路径30将次显示核心的合成单元45的输出连接至主显示核心的合成单元25的输入。来自次显示核心的合成模块45的输出是:运送具有有效/就绪同步信号的并行rgb样本的像素接口。该协议非常类似于显示控制器12的其它处理模块之间的数据传递,从层流水线24a、24b、24c、44a、44b、44c至合成模块25、45的输出。在每一个时钟周期。rgb像素数据与通过次显示核心的合成模块45生成的有效信号一起传递。可以经由解除就绪信号而通过主显示核心的合成模块25来停止该数据传递。

为了不造成主显示核心20中的fifo欠载(under-run),向次显示核心40提供的存储器带宽和时钟频率满足主显示核心20的需求。例如,次显示核心的层流水线44a、44b、44c和合成模块45的时钟频率不慢于主显示核心的层流水线24a、24b、24c和合成模块25的时钟频率。

每一个合成单元25、45均嵌入每一个显示核心20、40内,以使通过每一个合成单元25、45合成的面可以利用仅来自所需帧缓冲器的单一读取(每一个输入面的)而显示在每一个显示器6、8上。中间合成数据不需要写入至外部存储器。

可以通过显示控制器来执行多个不同操作模式,例如,通过控制经由该控制器的数据流。

为促进其,本实施方式的每一个显示核心20、40还包括控制模块29、49。每一个控制模块29、49特别地操作成,使从层流水线24a、24b、24c、44a、44b、44c和/或合成单元25、45输出的面,在希望时候被选择性地经由内部数据路径30发送至关联缩放引擎27、47、写入控制器28、48、合成单元25、45、显示流水线26、46、以及其它显示核心中的任一个或更多个(或全部)。

在本实施方式中,如图3所示,显示核心控制模块29、49通过总体显示控制器控制模块31来控制,即,显示控制器12通过一个或更多个分布式控制模块来控制。对于显示控制器12来说,其还可以包括单一集中式控制模块(并且被单一集中式控制模块控制)。

通过例如运行在主机处理器上的应用,来控制经由显示控制器12的数据流控制。该应用生成指令(该指令通过用于显示控制器的驱动器(其运行在主机处理器上)来解释),以生成使显示控制器12如该应用所需要地操作的合适命令。该驱动器编程控制模块21中的合适控制寄存器,并且该模块还将该配置变换成硬件控制信号。由此,诸如双核心显示合成这样的不同操作模式可以根据高级应用的需求,通过软件动态地启用或禁用、

在本实施方式的每一个显示核心20、40中,在合成之前,该面可以单个地旋转、解码以及/或者预处理(例如,线性和非线性颜色转换)。在从外部存储器单一读取输入帧之后,可以执行所有这种处理。

在合成之前,可以通过合适缩放引擎27、47放大或缩小任一个或更多个面。根据软件配置,可以将任何输入面(例如,视频或图形输入层)发送至每一个缩放引擎27、47。接着,该输入面可以被处理(缩放)并发送以合成并显示,或经由内部数据路径30发送至其它显示核心。此外,可以在从外部存储器单一读取输入面之后,来进行通过每一个显示核心20、40执行的缩放操作。中间数据不需要写入至外部存储器。

由此,本实施方式的每一个显示核心20、40全部按单程(singlepass)支持缩放旋转、解码面和3d视频面。

在合成之后,每一个输出面(例如,rgb像素流)可以经由后处理流水线26、46发送至关联显示器6、8,该后处理流水线可以可选地应用颜色转换、抖动以及/或者伽玛校正等。还可以将相同合成结果发送至缩放引擎27、47,以缩放并写入至存储器43,或者可以将合成结果写入至存储器3而不缩放。还可以将相同合成结果经由内部数据路径30发送至其它显示核心。

尽管在图3的实施方式中未示出,但在其它实施方式中,每一个显示核心20、40均可以另外或另选地包括压缩级,其能够操作以例如压缩一个或更多个接收面,从而生成一个或更多个压缩面,例如,在将所述一个或更多个压缩面输出至显示器6、8和/或写入至存储器3和/或经由内部数据路径30发送至其它显示核心之前。

图4示出了根据本发明的实施方式的显示合成系统。该系统对应于图2的系统,除了两个显示控制器5、7用根据本发明该实施方式的双核心显示控制器12替换以外。显示控制器12能够操作,以与被动显示装置6和外部显示装置8通信(例如,使输出帧显示在其上)。

本实施方式的显示控制器12可以按“标准”单一或双显示配置来操作。

在这些操作模式下,例如通过视频编解码器1和gpu2生成一个或更多个输入面,其被存储在主存储器3中的相应帧缓冲器中。一个或更多个输入面在被发送至合成单元25用于合成之前,可以通过主显示核心20读入,并且可选地经受诸如缩放操作这样的一个或更多个操作。该合成单元25合成所接收的输入面,并且生成合成输出帧,接着使其经由显示流水线26显示在本地显示器6上。

另外或另选的是,一个或更多个输入面在被发送至合成单元45用于合成之前,可以通过次显示核心40读入,并且可选地经受诸如缩放操作这样的一个或更多个操作。该合成单元45合成所接收的输入面,并且生成合成输出帧,接着使其经由显示流水线46显示在外部显示器8上。

本实施方式的显示控制器12还可以按“增强”单一显示配置来操作。

在操作的这种模式下,再次例如通过视频编解码器1和gpu2生成一个或更多个输入面,其被存储在主存储器3中的相应帧缓冲器中。一个或更多个输入面在被发送至合成单元45用于合成之前,通过次显示核心40读入,并且可选地经受诸如缩放操作这样的一个或更多个操作。该合成单元45合成所接收的输入面,并且生成一合成输出帧,其接着经由内部数据路径30传递至主显示核心的合成单元25。

一个或更多个输入面在被发送至合成单元25用于合成之前,可以通过主显示核心20读入,并且可选地经受诸如缩放操作这样的一个或更多个操作。该合成单元25将所读取的输入面与从次显示核心的合成单元45接收的输入面合成在一起,并且输出合成输出帧,接着使其经由显示流水线26显示在本地显示器6上。

由此,例如,在希望合成五个面(层)用于在本地显示器6上显示的情况下,该面中的三个可以通过主显示核心20读取并处理,而剩余两个面可以通过次显示核心40读取、合成为单一合成面(层),并且经由内部数据路径30发送至主显示核心的合成单元25的输入。该主显示核心的合成单元25接着可以合成输入面,以生成最终合成输出面。

如本领域技术人员应当清楚,与利用单一合成单元所可以合成的相比,该布置允许合成更多面(层),而gpu2不必执行预先合成(“平坦化”),并且不需要针对主存储器的任何附加读取/写入。因此,这表示一种用于在单一显示控制器中合成相对复杂的帧的特别有效的技术。

在这些布置中,在不使用外部显示器8的情况下,可以停用(关掉)第二显示核心40的那些部分,如显示流水线46,要不然其被用于提供用于在外部显示器8上显示的图像,以进一步缩减功率使用。即,如果该显示核心之一(仅)用于支持其它方面的合成,则其显示流水线26、46可以利用软件控制而被禁用,以缩减功率消散。

另选的是,在希望时候,同样可以使通过次显示核心的合成单元45生成的合成输出帧显示在外部显示器8上。

在所有这些操作模式下,另外或另选的是,可以将合成输出帧发送至每一个显示核心20、40的写入控制器28、48,以在希望时候将该合成输出帧写入至主存储器3。

尽管上述实施方式已经在利用双核显示控制器的显示核心(其否则不活动的),按“增强”单一显示配置来执行更复杂的合成方面进行了描述,但还可以使用双核显示控制器的该显示核心(其否则不活动)来执行针对活动显示核心的其它操作,如解码(例如,解压缩)和/或缩放等。

由此,例如,在与仅可以利用主显示核心20同时进行的相比,希望解码(例如,解压缩)更多面的情况下,可以使用次显示核心40来解码(例如,解压缩)针对第一显示核心的一个或更多个面(反之亦然)。这在其中例如利用arm帧缓冲器压缩(afbc)来编码(例如,压缩)一个或更多个输入面的情况下有用(如在usa12013/0034309中所述)。每一个帧缓冲器压缩解码器22、42通常为相对复杂的模块,其需要显著量的芯片上ram存储器来缓冲解码像素块,因而,每核心可以解码的面数通常受限。通过控制次显示核心40读入并解码面,并接着将解码面传递至第一显示核心20,显示控制器12与要不然仅可以利用主显示核心20相比,可以解码(例如,解压缩)并且随后处理(例如,合成)更多面(层)。

类似的是,在与仅可以利用主显示核心20相比,希望缩放更多面(层)的情况下,可以使用次显示核心40来缩放针对第一显示核心的一个或更多个面(反之亦然)。每一个缩放引擎27、47在芯片面积和功耗方面通常相对昂贵,因而可以每核心缩放的面数量通常受限。通过控制次显示核心40读入并缩放面,并接着将缩放面传递至第一显示核心20,显示控制器12与要不然仅可以利用主显示核心20相比,可以缩放并且随后处理(例如,合成)更多(例如,视频)面(层)。

尽管上述实施方式的显示控制器12已经被描述为,具有将次显示核心的合成单元45的输出连接至主显示核心的合成单元25的输入的单一内部rgb像素数据路径30,但对于显示控制器12来说,其还可以或者代替地包括将主显示核心的合成单元25的输出连接至次显示核心的合成单元45的输入的内部rgb像素数据路径。

对于一个或所述内部数据路径30来说,若希望的话,还可以或者代替地在第二显示控制器40的其它级与第一显示控制器20的其它级之间连接。

尽管与要不然可能仅利用主显示核心20的资源相比,上述实施方式已经主要在利用次显示核心40的资源来处理更多面(层)方面进行了描述(反之亦然),但在处理单一面(层)时,还可以利用至少主显示核心20和次显示核心40的资源。

这在以下情况下有用,例如一指定面(层)特别大(例如,接近、等于或大于名义上被该显示核心支持的最大分辨率输入面的相对较高分辨率输入面,如4k分辨率下的背景面(层)和/或输入面),难于读入和/或难于处理(例如对于其来说在提取处理中的等待时间的可能性相对较高的输入面,如旋转面(层)、缩小面(层)、未压缩面(层)、以及/或者rgb面(层)等)。

在这种情况下,同一(例如,“第一”)输入面的不同部分可以分别通过主处理核心20和次处理核心40读取并处理。换句话说,输入面被有效地至少划分成第一部分和第二部分,并且这些部分可以分别通过主显示核心20和次显示核心40读取和处理。

图5示出了一实施方式,其中,输入面50被划分成两个部分(第一部分(“左片段”)51和第二部分(“右片段”)52)用于处理。如图5所示,输入面50被垂直地划分成第一部分51和第二部分52,即,在正交于读取和处理方向的方向上(即,在正交于组成输入面50的数据位置线的方向上)。这样划分输入面50缩减了必须通过每一个显示核心针对每一行读取(并且缓冲和处理)的数据量,并因此,缩减被每一个显示核心所消耗的带宽的量。这样利用两个显示核心还有效地加倍了供该面(层)50使用的可用潜在缓冲的量。

还可以在希望时候按任何其它方式划分输入面50。例如,面50可以被划分成两个以上部分。另外,例如,可以使用不相等的部分,其中,希望例如不均等地在主显示核心20与次显示核心40之间,分布输入面50的读取和处理,以便缩减(或增加)针对该显示核心之一所需的处理,或相反。

在本实施方式中,主显示核心20的读取控制器21读取输入面50的第一部分51,而次显示核心40的读取控制器41读取输入面50的第二部分52。因为每一个部分被提取(读取),就好像其是分离层一样,所以就该面(层)来说,设置的可用潜在缓冲器23、43的尺寸被有效地增加。这样利用(要不然,空闲)次显示引擎40还增加了事务数量和可用存储器带宽。

这两个部分接着在希望时候分离地通过主核心20和次核心40来处理,例如通过使这些部分至少经受利用层流水线24a-c、44a-c的像素处理。这些部分51、52中的每一个在希望时候还可以经受解码(解压缩)、旋转、缩放、像素处理、后处理等。

该输入面的被处理的第二部分52接着经由内部数据路径30传递至主显示核心20,用于由合成单元25进行的合成。合成单元25组合第一输入面50的这两个部分,可选地与一个或更多个其它输入面一起,并接着将所合成的输出面提供给第一显示器6用于显示。

这样,主显示核心20和次显示核心40两者的资源可以用于读取并处理单一输入面50,而非例如仅利用一个显示核心(例如,主显示核心20)。因此,超出和超过例如在仅利用单一显示处理核心(例如,主显示处理核心20)时所可用的,可以提供附加资源(例如,在带宽、可能(读取)事务数量、潜在缓冲量等方面),来读取并处理该输入面50。其具有增加可用存储器带宽和缩减欠载的可能性的效果。

这些实施方式可以被用于增强显示控制器12,例如,与在其它方面可能的相比,允许显示控制器12处理更大和/或更多面(层)。例如,这些实施方式可以用于允许该显示控制器合成相对更加大的层,而不会显著增加欠载的可能性。另外或者另选地,这些实施方式可以用于使显示控制器12更有效,例如通过消除用于实现平坦化技术和/或qos技术的需要(或者至少缩减针对该技术的需求和/或使用频率),和/或通过促进在针对该系统的需求或者约束方面的缩减(例如,在带宽、可能(读取)事务数量、潜在缓冲量等的方面),由此,缩减显示控制器12和总体数据处理系统的总体带宽和功耗。

根据这些实施方式的操作可以在希望时候通过用于显示控制器12的驱动器启用和禁用,例如,以面接面(surface-by-surface)为基础。对于该操作来说,其还可以通过硬件来启用和禁用。

图6示出了根据本实施方式的处理。如图6所示,将一层配置提供给驱动器(步骤60),以使该驱动器可以恰当地配置显示控制器12。

在图6的处理中,进行有关显示器6、8之一(并因此,处理核心20、40之一)是否要被禁用的确定(步骤61)。如果显示器6、8两者都要启用,则该显示控制器12例如被恰当地配置(步骤67),以使根据本实施方式的处理被禁用。

否则,顺序地分析每一个层(步骤62-66。对于每一个层来说,进行有关该层是否是大的、旋转和/或压缩层的确定(步骤63)。如果该层是大的、旋转和/或压缩层,则确定该层被有效地分裂(划分)用于处理(步骤64)。

接着,确定是否处理了所有层(步骤65)。在处理了所有层的情况下,接着,通过该驱动器恰当地配置显示控制器12(步骤67),并且完成该处理(步骤68)。如果不是所有层都被处理了,则分析下一层(步骤66),即,按对应方式,等等。

如果指定层不是特别大、压缩的或旋转的,则一旦确定分析了所有层(步骤65),接着,再次通过该驱动器恰当地配置显示控制器12(步骤67),并且完成该处理(步骤68)。

由此,在本实施方式中,如果该驱动器确定显示器6、8之一未启用,并且确定希望层配置需要显著资源,则该驱动器确定是否应当划分该层中的一个或更多个。这通过如下方式来进行:该驱动器确定哪些层是“关键层”,并接着配置显示控制器12,以将那些层有效地划分成两个(或更多个)垂直带(关键层例如可以是大层、未压缩的层、rgb层(即,每像素需要大量比特的层)、虚拟寻址层、旋转层、缩小层等)。

每一个层的每一个带被分配为显示控制器12中的一不同层。每一个带都被不同的显示核心处理,例如一个带51可以被分配给主显示核心20并通过其处理,而另一带52可以被分配给次显示核心40并通过其处理。来自次显示核心40的数据被发送至主显示核心20(经由内部数据路径30),并接着将来自主显示核心20和次显示核心40的层合成在一起用于显示,

尽管在处理用于显示的一特定输入面时,上述实施方式已经在利用多核心显示控制器12中的多个显示核心20、40的资源方面进行了描述,但也可以按包括多个层流水线的单一显示核心来实现这些技术(例如,利用多核心显示控制器12的单一显示核心,或者利用仅包括单一显示核心的显示控制器)。

在这种情况下,如果不是所有层流水线都被利用,则第一层流水线可以用于处理输入面50的第一部分51,而第二层流水线可以用于处理输入面50的第二部分52。每一个层流水线在合适时候处理每一个部分(例如,包括像素处理功能等),并接着将被处理部分提供给合成单元,用于合成。

由此,至少第一层流水线和第二层流水线的资源(例如,在带宽、潜在缓冲的量等方面)可以用于处理单一输入面,而非例如仅利用单一层流水线。而且,其效果是,超出和超过在仅利用单一层流水线时所可用的,可以提供附加资源(例如,在带宽、潜在缓冲量等方面),来处理该输入面50,即,使得缩减欠载的可能性。

从上述可以看出,本发明的优选实施方式至少使得能够最小化芯片上系统中的媒体子系统内的功耗,其中,多个视频和图形层(通过gpu和视频解码器生成的)需要从存储器提取并处理(例如,合成)。在该优选实施方式中,这至少通过提供双核心显示控制器来实现,该双核心显示控制器具有内部数据路径,其用于从一个显示核心向另外显示核心传递输出面的像素数据。

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