将压缩流分离成多个流的制作方法

文档序号:13679865阅读:140来源:国知局
技术领域本发明一般涉及更新显示器,并且更具体地,涉及将压缩数据传输到源驱动器用于更新显示器。

背景技术:
用于在显示屏上更新图像的显示设备被广泛使用于多种电子系统中。典型的显示设备包括提供用于更新屏幕的显示数据的源。显示数据可以被组织成显示帧,所述显示帧以预定义的速率从源传输到显示屏幕。在一个示例中,每个显示帧对应于一个将在屏幕上显示的图像。显示屏幕可以包括使用所接收的显示帧在显示屏幕上更新个体像素的显示驱动器。显示屏幕中的像素通常被分配给源驱动器中的一个——例如列1-5中的像素被分配给源驱动器1、列6-10中的像素被分配给源驱动器2、依次类推。

技术实现要素:
在此所描述的一个实施例包括一种方法,该方法解压缩压缩数据以识别用于显示设备的第一源驱动器的第一数据、以及用于显示设备的第二源驱动器的第二数据,其中压缩数据包括用于显示设备的至少一部分显示帧。该方法还包括识别对应于第一数据的第一解压缩引擎状态、以及对应于第二数据的第二解压缩引擎状态。该方法包括将包含第一数据和第一解压缩引擎状态的第一流传输到第一源驱动器并且将包含第二数据和第二解压缩引擎状态的第二流传输到第二源驱动器。另一个在此所描述的实施例包括具有被配置以接收压缩数据的存储元件和解压缩引擎的定时控制器,所述压缩数据包含至少一个用于显示设备的显示帧。解压缩引擎被配置以解压缩所接收的压缩数据以识别用于显示设备的第一源驱动器的第一数据以及对应于显示设备的第二源驱动器的第二数据,并且识别对应于第一数据的第一解压缩引擎状态以及对应于第二数据的第二解压缩引擎状态。定时控制器包括被配置以将包含第一数据的第一流和第一压缩引擎状态传输到第一源驱动器、并且将包含第二数据的第二流和第二压缩引擎状态传输到第二源驱动器的控制逻辑。另一个在此所描述的实施例包括显示设备以及一个或多个电子连接,该显示设备具有用于更新显示屏的第一和第二源驱动器。显示设备还包括通过一个或多个电子连接耦接于第一和第二源驱动器的定时控制器。定时控制器包括被配置以接收压缩数据的存储元件和解压缩引擎,所述压缩数据包含用于显示设备的至少一个显示帧。解压缩引擎被配置以解压缩接收的压缩数据以识别用于显示设备的第一源驱动器第一数据和对应于显示设备的第二源驱动器的第二数据,并且识别对应于第一数据的第一解压缩引擎状态以及对应于第二数据的第二解压缩引擎状态。定时控制器还包括控制逻辑,其被配置以将包含第一数据以及第一压缩引擎状态的第一流传输到第一源驱动器、并且将包含第二数据和第二压缩引擎状态的第二流传输到第二源驱动器。附图说明本发明的优选的示例性实施例将在下文中结合附图描述,其中相同的数字表示相同的元件,并且:图1是根据本发明的实施例的用于将压缩数据传输到源驱动器的显示设备的框图;图2是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的显示设备的框图;图3是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的方法;图4是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的显示设备的框图;图5是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的方法;图6是根据本发明的实施例的用于在源驱动器之间共享解压缩引擎状态的显示设备的框图;图7是根据本发明的实施例的用于在源驱动器之间共享解压缩引擎状态的方法。具体实施方式以下的具体实施方式本质上仅仅是示例性的,并且无意限制本发明或限制对本发明的应用和使用。此外,并不意在被出现在前述技术领域、背景技术、发明内容或以下具体实施方式中的表述的或暗示的理论所约束。本发明的不同实施例提供了促进可用性提升的显示设备和方法。在显示设备中,源驱动器使用所接收的显示帧以更新显示器中的像素。例如,显示设备可以包括诸如图形处理单元的显示源,所述显示源压缩显示帧并且将该压缩数据传输到源驱动器,所述源驱动器解压缩该数据并且更新像素。在一个实施例中,源驱动器被分配显示屏的不同部分。例如,对于特定的行更新,行的第一部分中的像素被分配给第一源驱动器,行的后续部分中的像素被分配给第二源驱动器,依次类推。正因如此,每一个源驱动器需要只接收对应于分配给它的像素的压缩数据。在一个实施例中,显示设备包括通信地耦接在显示源和源驱动器之间的控制器(例如定时控制器或显示控制器)。就像源驱动器一样,控制器同样包括可以解压缩从显示源接收的压缩数据的解压缩引擎。控制器评估未压缩的数据并且识别压缩数据的哪一部分对应于源驱动器的每个,而不是将全部压缩数据发送到源驱动器。使用该信息,控制器只将压缩数据的相关部分传输到源驱动器的每个而不是将全部压缩数据传输到源驱动器的每个。除了识别压缩数据的哪部分应该传输到哪个源驱动器之外,控制器可以确定对应于压缩数据的各个部分的解压缩引擎状态。换句话说,在控制器上的解压缩引擎解压缩数据时,当控制器识别出应该被发送到不同的源驱动器的一部分压缩数据时,控制器保存解压缩引擎的当前状态。例如,解压缩引擎当前可以正在解压缩对应于源驱动器A的数据,但是一旦引擎开始解压缩对应于源驱动器B的数据,控制器就保存解压缩引擎的当前状态。该保存的引擎状态(连同对应于源驱动器B的一部分压缩数据一起)被传输到源驱动器B,所述源驱动器B进而使用引擎状态初始化它的解压缩引擎。如在此所使用的,“解压缩引擎状态”包括全部必要的参数和数据以将解压缩引擎配置或初始化为特定的状态。据此,一旦被以保存的解压缩引擎状态初始化,源驱动器B上的解压缩引擎就具有和引擎状态被保存时控制器上的解压缩引擎相同的配置(即状态)。这样做使得源驱动器B上的解压缩引擎能够开始解压缩压缩数据中它的部分,就好像解压缩引擎已经解压缩了压缩数据中在先的部分(或多个部分)。以这种方式,通过将控制器上的解压缩引擎的引擎状态传输到源驱动器,显示设备能够初始化源驱动器上不同的解压缩引擎而无需要求这些引擎解压缩全部压缩数据,因此减少了源驱动器消耗的功率以及减少了与源驱动器通信所需的带宽(因为只有一部分压缩数据而不是全部压缩数据被发送到各个源驱动器)。在另一个实施例中,控制器并不解压缩从显示源接收的压缩数据。在一个示例中,在没有首先被进而将压缩数据中继到源驱动器的控制器接收的情况下,压缩数据被从显示源发送。在该实施例中,全部压缩数据都被发送到源驱动器的每个。然而,不是各个源驱动器解压缩全部的压缩数据,而是源驱动器中的一个开始解压缩压缩数据直到该源驱动器识别意图用于不同的源驱动器的显示数据为止。源驱动器进而将其当前的解压缩引擎状态连同指示意图用于该源驱动器的压缩数据的位置的地址一起传输到不同的源驱动器。接收引擎状态的源驱动器可以进而初始化其解压缩引擎并且在所提供的地址处开始解压缩压缩数据。该过程进而可以重复直到全部压缩数据都已经被源驱动器解压缩为止。虽然该实施例能够使源驱动器只解压缩一部分压缩数据,但是用来将压缩数据传输到源驱动器的带宽增加,因为全部压缩数据都被发送到源驱动器的每个而不只是一部分压缩数据被发送到各个源驱动器。图1是根据本发明的实施例用于将压缩数据传输到源驱动器的显示设备100的框图。显示设备100可以被配置以显示用于电子系统(未示出)的信息。如在本文档中所使用的,术语“电子系统”(或“电子设备”)泛指任何能够电子化处理信息的系统。电子系统的一些非限制性示例包括所有尺寸和形状的个人计算机,诸如台式计算机、笔记本、上网本、平板电脑、网络浏览器、电子书阅读器、以及个人数字助理(PDA)。其他示例包括远程终端、网亭(kiosks)、以及视频游戏机(例如视频游戏控制台、便携式游戏设备、以及诸如此类的)。其他示例包括通信设备(包括蜂窝电话,诸如智能电话)、以及媒体设备(包括记录器,编辑器,和诸如电视、机顶盒、音乐播放器、数字相框、和数字摄像机的播放器)另外,电子系统可以是显示设备100的主机或从机。显示设备100可以被实施为电子系统的物理部件,或者可以物理上从电子系统分离。视情况而定,电子设备100可以使用以下中的任何一个或多个与电子系统的部件通信:总线、网络和其他有线或无线的互连。示例包括I2C、SPI、PS/2、通用串行总线(USB)、蓝牙、RF、以及IRDA。显示设备100包括显示源105、控制器110、多个源驱动器130、以及显示器135。显示源105可以是图形处理单元、分离的或集成的电子系统、以及诸如此类的。显示源105将压缩数据传输到控制器110,所述控制器110可以相对于发送未压缩的数据减少连接的带宽。压缩数据可以包括至少一部分被源驱动器(一旦数据被解压缩)用来更新显示器135的显示帧。在一个实施例中,使用视觉上无损算法压缩显示帧以便用户视觉上不能区分显示器135上的使用压缩的显示帧或未压缩的显示帧输出的图像之间的差异。一种这样的适合的压缩算法是显示流压缩(DSC)标准。然而,在此的实施例并不受限于视觉上无损压缩算法,并且可以与任何压缩显示帧数据的压缩算法一起被使用。控制器110可以是定时控制器、显示控制器、以及诸如此类的。控制器110可以是芯片上的集成电路或系统的一部分。此外,控制器110在和显示源105相同的基底上(例如安装在相同的PCB上)或者安装在不同的基底上。控制器110包括解压缩引擎115A。在一个实施例中,解压缩引擎115A解压缩从显示源105接收的压缩数据并且识别压缩数据的哪部分被分配给源驱动器130。例如,压缩数据可以包括用于在显示器135中更新行(例如水平排)的信息。然而,处于部分A中的行的第一半内的像素被分配给源驱动器130A,同时处于部分B中的行的第二半中的像素被分配给源驱动器130B。通过解压缩压缩数据,控制器110确定压缩数据是意图用于源驱动器130A还是源驱动器130B(假设显示设备100中只有两个源驱动器)。控制器110将用于行的第一半的压缩数据中继到源驱动器130A,并且将用于行的第二半的压缩数据中继给源驱动器130B,而不是将全部压缩数据中继到源驱动器130。从控制器110和源驱动器130传输压缩数据而不是未压缩数据的一个优势在于控制器110和源驱动器130之间的连接的带宽被减少。通过只将一部分压缩数据——即只将对于更新分配给源驱动器130的像素必要的显示数据发送到源驱动器130,带宽需求被进一步减少。然而,很多压缩方案取决于当为了解压缩数据流中的当前数据而解压缩数据流中的在先数据时所获得的信息。也就是说,假设解压缩引擎接收一条压缩数据的流,为了解压缩该流中间的数据,解压缩引擎可能需要当解压缩流的起始处的数据时所获得的信息。使用从解压缩压缩数据流的在先部分获得的信息去解压缩数据流的后来部分的解压缩方案在此被称为“非独立解压缩”。如果非独立解压缩方案被使用,当控制器110只将一部分压缩数据传输到源驱动器130时,源驱动器130上的解压缩引擎115还没有解压缩压缩数据的在先部分,并且因此可能缺少必要的信息去解压缩压缩数据的所接收部分。为了处理这个问题,当解压缩压缩数据时,控制器110上的解压缩引擎115A基于识别出意图用于源驱动器130之一的一部分压缩数据来保存它的状态。例如,当压缩引擎首先识别出意图用于源驱动器130A的一部分压缩数据时,引擎115A保存它的状态(例如第一引擎状态120),所述状态包括从解压缩压缩数据的在先部分(如果有的话)所获得的必要的信息。控制器110将第一引擎状态120传输到源驱动器130A,所述源驱动器130A使用该状态120以初始化解压缩引擎115B以便它现在处于和第一引擎状态120相同的状态。换句话说,当控制器110识别出包括用于更新分配给源驱动器130A的像素的数据在内的压缩数据中的位置时,解压缩引擎115B被初始化为和解压缩引擎115A相同的状态。一旦解压缩引擎115B被初始化为第一引擎状态120,源驱动器130A就可以解压缩所接收部分的压缩数据,就好像解压缩引擎115B已经解压缩了在先部分的压缩数据(它并没有)。相似地,一旦控制器110识别出意图用于源驱动器130B的一部分压缩数据(例如行更新的第二半),控制器110就保存解压缩引擎115A的当前状态(例如第二引擎状态125)并且传输第二引擎状态125和意图用于源驱动器130B的部分压缩数据的位置。例如,第二引擎状态125将包括在解压缩行更新的第一半以及任何在先部分的压缩数据时所获得的任何信息。因此,当源驱动器130B使用第二引擎状态125初始化它的解压缩引擎115C时,引擎115C处于与解压缩引擎115A在它完成解压缩行更新的第一半时相同的状态。解压缩引擎115C进而可以正确地解压缩行更新的第二半,并且源驱动器130B可以根据解压缩的数据更新处于部分B中的像素。在一个实施例中,控制器110和各个源驱动器130被包含在分离的集成电路中。替代地,源驱动器130可被包括在共同的集成电路中。在一个实施例中,控制器110和源驱动器130可以被安装在共同的基底上——例如平面的或柔性的印制电路板(PCB)。通用基底也可以附接到显示器135。可替代地,源驱动器130可以被固定于显示器135以形成单一系统,而控制器110被安装在分离的基底上。显示器135可以是能够向用户显示视觉化界面的任何类型的动态显示器,并且可以包括任何类型的发光二极管(LED)、有机LED(OLED)、阴极射线管(CRT)、液晶显示(LCD)、等离子、电致发光(EL)、或其他显示技术。图2是根据本发明的实施例的用于向源驱动器130提供解压缩引擎状态的显示设备200的框图。像图1中一样,显示设备200包括显示源105、控制器110、和源驱动器130(显示器已经被省略)。然而,在另一个实施例中,显示设备200中的一个或多个元件是另一设备(例如主设备)的一部分,并且是在显示设备200的外部。除了包括解压缩引擎115A,控制器110还包括输入存储器205、左地址寄存器210以及右地址寄存器215。输入存储器205从显示源105接收压缩数据,并将压缩数据转发到解压缩引擎115A。可替代地,解压缩引擎可以直接从显示源105接收压缩数据。控制器110使用解压缩引擎以及第一和第二(例如左和右)地址寄存器210、215来只识别要被发送到源驱动器130的一部分压缩数据,而不是像将在下文更详细描述的那样,将压缩数据中继到源驱动器130的每个。例如,假设源驱动器130A和130B每个都被分配显示器上一半的像素,一半的压缩数据被转发到源驱动器130A而另一半被转发到源驱动器130B。通过首先使用引擎115A解压缩数据,控制器110确定哪一半应该被传输到哪个源驱动器130。图3是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的方法300。特别地,方法300描述了用于操作图2中所示的显示设备200的技术。虽然图2示意了两个源驱动器130,但显示设备200可以具有任何数量的可负责更新显示器的相等的或不相等的份额的源驱动器130。在框305处,控制器从显示源接收压缩数据,所述压缩数据包括用于在设备上更新显示帧的显示数据。例如,压缩数据可以包括对应于显示器中显示行(或排)的数量的多个行更新。压缩数据包括用于更新在行内的像素的数据。如上面所描述的,在行内的像素可以被分配给使用延伸通过显示器的源行(例如垂直电极)来更新像素的不同的源驱动器。在框310处,控制器上的解压缩引擎解压缩由显示源传输的压缩数据。当数据被解压缩时,控制器评估数据以确定哪个源驱动器应该接收压缩数据。例如,控制器可以评估像素在解压缩数据中的位置并且确定哪个源驱动器负责更新那些像素。无论控制器如何评估解压缩数据,一旦意图用于特定源驱动器的一部分压缩数据被识别,控制器就将部分压缩数据的起始地址保存到寄存器。回看图2,显示设备包括两个源驱动器130和两个用于存储对应于源驱动器130的部分压缩数据的地址的寄存器210、215。例如,一旦控制器110确定解压缩数据用于显示器中的新行,控制器110就将新行在压缩数据中的起始位置存储到对应于源驱动器130A的左地址寄存器210。当解压缩引擎115A继续解压缩用于行的数据时,最终控制器110中的控制逻辑识别用于更新被分配给源驱动器130B的行的第二半上的像素的解压缩数据。作为响应,控制逻辑将包含用于行的第二半的显示数据的压缩数据的对应的地址存储在右地址寄存器215中。回看方法300,除了识别对应于源驱动器的压缩数据的地址,控制器还保存对应于在左和右地址寄存器中所存储的位置的解压缩引擎的状态。继续上面的示例,一旦控制器确定解压缩数据用于显示器中的新行,控制器就将引擎的当前状态保存为第一引擎状态。一旦控制器确定解压缩数据用于行的第二半,控制器就将解压缩引擎的当前状态保存为第二引擎状态。对于将源驱动器上的解压缩引擎初始化为处于与当引擎开始解压缩在左和右寄存器中所保存的地址处的数据时控制器上的解压缩引擎所处的状态相同的状态而言,这些引擎状态包含所有必要的信息。在框315处,识别出右或左地址以及用于部分压缩数据的对应的引擎状态之后,控制器上的解压缩引擎丢弃解压缩数据。换句话说,由于控制器将压缩数据而不是解压缩数据中继到源驱动器,所以解压缩数据被从控制器中的存储器元件删除。在框320处,控制器只将意图用于单独的源驱动器的一部分压缩数据传输到源驱动器。例如,用于行更新的第一半的压缩数据被发送到源驱动器130A,而用于行更新的第二半的压缩数据被发送到源驱动器130B。为了这样做,左和右地址被用来索引到输入存储器中以识别应该被发送到源驱动器的部分压缩数据。因为控制器可以为行更新的第一半确定压缩数据的数量(或者数据的数量是恒定的),输入存储器使用左地址来识别压缩数据的起始位置并且只将用于行更新的第一半的压缩数据传输到源驱动器130A。例如,如果用于行更新的一半的压缩数据的数量是50字节,控制器就以左地址开始传输压缩数据的下50字节。相似地,一旦控制器识别出用于行更新的第二半的压缩数据,控制器就使用右地址将该部分压缩数据传输到源驱动器130B。如在此所使用的,50字节只用于示意性的目的,并且用于行更新的一半的数据可以多于或少于这个数量。通过发送压缩数据,控制器和源驱动器之间的连接的带宽被减少。由于控制器解压缩数据以确定哪部分压缩数据应该被发送到哪个源驱动器,所以该带宽进一步减少。在一个实施例中,控制器上的解压缩引擎比源驱动器上的解压缩引擎运行得更快。例如,控制器上的解压缩引擎可以比源驱动器上的解压缩引擎运行得快两倍或三倍。结果,与源驱动器上的解压缩引擎能够解压缩数据相比,控制器上的解压缩引擎能够更快地解压缩与评估数据从而识别左和右地址以及第一和第二引擎状态。假设控制器上的解压缩引擎可以以源驱动器上的引擎至少两倍的速度运行,一旦控制器识别出压缩数据中的新行,它就可以将对应部分发送到源驱动器130A(例如对应于行更新的第一半的压缩数据)。当源驱动器130A上的解压缩引擎正在解压缩它的部分时,控制器进而识别出行更新的第二半并将该部分的压缩数据传输到源驱动器130B,所述源驱动器130B开始解压缩数据。因为控制器以两倍的速度运行,所以当源驱动器130B接收行更新的第二半的压缩数据时,源驱动器130A还在解压缩行更新的第一半。因此,源驱动器上的解压缩引擎可以并行运行。因为控制器将引擎状态发送到源驱动器,所以源驱动器可以同时解压缩同一行更新的不同部分。在显示设备可以包括额外的源驱动器(例如六个源驱动器)的实施例中,控制器上的解压缩引擎可以比源驱动器上的解压缩引擎更快运行,例如以快五倍或六倍运行,并且因此,源驱动器可以并行地解压缩与同一行更新的不同部分相关联的数据——例如第一源驱动器正在解压缩第一个六分之一部分的行更新而第二源驱动器正在解压缩第二个六分之一部分的行更新,而第三源驱动器正在解压缩第三个六分之一部分的行更新,依次类推。在框325处,源驱动器使用从控制器接收的引擎状态初始化它们的解压缩引擎并且开始解压缩所接收的部分的压缩数据。通过这样做,源驱动器的解压缩引擎具有必要的信息和配置以解压缩压缩数据并且更新分配给源驱动器的像素。虽然压缩数据被解压缩了两次——一次被控制器上的解压缩引擎解压缩而一次被源驱动器上的解压缩引擎解压缩——这样做的优势在于控制器可以只发送意图用于特定源驱动器的压缩数据而不是将全部压缩数据发送到源驱动器的每个。然后,方法300因控制器上的解压缩引擎继续解压缩压缩数据而重复。也就是说,控制器评估解压缩数据并且识别不同的行更新(例如显示器中的第二行),并且更新左地址和保存解压缩引擎的当前引擎状态。对应于第二行更新的第一半的部分压缩数据连同所保存的引擎状态一起被传输到源驱动器130A,所述源驱动器130A开始解压缩压缩数据部分(假设其完成了解压缩先前接收的部分)。图4是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的显示设备400的框图。在这里,不像图2中所示的显示设备200,显示设备400包括控制器110,在所述控制器110中压缩数据被存储在对应于不同源驱动器130的缓冲器410中。也就是说,解压缩引擎115A中的控制逻辑为复用器405(或任何其他交换元件)提供控制信号,而不是被存储在共享存储器(例如输入存储器205)中的压缩数据,所述复用器405将意图用于特定源驱动器130的一部分压缩数据路由到对应的缓冲器410中。此外,显示设备400包括三个源驱动器130,所述源驱动器130中的每一个更新三分之一的显示像素,然而,显示设备400可以包括任何数量的源驱动器130。对于给定的行更新,源驱动器130A更新行上第一个三分之一的像素,源驱动器130B更新中间三分之一的像素,并且源驱动器130C更新最后三分之一的像素。在一个实施例中,源驱动器130可以负责更新不同数量的行上像素,并且正因如此,源驱动器130可以接收不同部分的显示更新数据。例如,源驱动器130A和130B可以各自更新行中五分之二的像素,而源驱动器130C更新剩余五分之一的像素。结果,源驱动器130C可以接收比其他两个源驱动器130A和130B更少的压缩数据(由于它不得不更新一半数量的像素)。就像图2中所示的显示设备200一样,显示设备400使用解压缩引擎115A以解压缩压缩数据并且识别意图用于单独的源驱动器130的部分压缩数据以及对应于那些部分的引擎状态。虽然图4只示意了每个源驱动器130一个保存的引擎状态,但是驱动器130可以存储对应于压缩数据的不同部分的多个不同的引擎状态。图5是根据本发明的实施例的用于向源驱动器提供解压缩引擎状态的方法500。特别地,方法500描述了用于操作图4中所示的显示设备400的技术。在框505处,控制器从显示源接收压缩数据,所述显示源包括用于在设备上更新显示帧的显示数据——例如对应于显示器中显示行(或排)的数量的多个行更新。在框510处,控制器上的解压缩引擎解压缩由显示源所传输的压缩数据。随着数据被解压缩,控制器评估数据以确定哪个源驱动器应该接收压缩数据。一旦意图用于特定源驱动器的一部分压缩数据被识别,控制器中的控制逻辑就使用控制信号以将部分压缩数据路由到对应于源驱动器的缓冲器。回看图4,显示设备400包括三个源驱动器130并且使用三个缓冲器——即缓冲器410A、410B、和410C——用于存储用于源驱动器130的部分压缩数据。例如,一旦控制器110确定解压缩的数据是用于显示器中的新行的,控制器110就改变复用器405的控制信号以便当前正在被接收的压缩数据被路由到缓冲器410A。随着解压缩引擎115A继续解压缩数据,最终控制器110识别用于更新位于分配给源驱动器130B的中间三分之一行上的像素的解压缩数据。作为响应,控制器110更新控制信号以便压缩数据被路由到缓冲器410B。一旦解压缩引擎115A识别出行的最后三分之一,引擎就改变控制信号,因此复用器405将压缩数据路由到缓冲器410C中。除了更新控制信号以外,控制器110还保存对应于存储在缓冲器410中的部分压缩数据的解压缩引擎115A的当前状态。例如,第一引擎状态120包括解压缩存储在缓冲器410A中的数据部分所需要的配置数据,第二引擎状态125包括解压缩存储在缓冲器410B中的数据部分所需要的配置数据,而第三引擎状态415包括解压缩存储在缓冲器410C中的数据部分所需要的配置数据。回到方法500,在框515处,缓冲器将所存储的数据部分传输到源驱动器。因为三分之一的压缩数据被存储在缓冲器中,所以控制器和单独的源驱动器之间的数据连接相对于显示源和控制器之间的数据连接的带宽使用三分之一的带宽。除了将部分压缩数据传输到源驱动器,控制器还将对应于这些部分的所保存的引擎状态传输到源驱动器。引擎状态可以连同压缩数据一起被保存在缓冲器中,或者控制器可以使用单独的数据连接来将引擎状态传输到源驱动器。如上面所讨论的,在一个实施例中,控制器上的解压缩引擎比源驱动器上的解压缩引擎运行得更快。结果,与源驱动器上的解压缩引擎能够解压缩数据相比,控制器上的解压缩引擎能够更快地解压缩和评估数据以选择性地在缓冲器中存储压缩数据。回看图4,假设控制器110和各个源驱动器130之间的数据连接只具有源驱动器105和控制器110之间的数据连接的三分之一的带宽,缓冲器410就可以并行地传输各部分压缩数据。例如,假设解压缩引擎115A可以以压缩数据被接收的速度解压缩压缩数据,控制器110能以比数据可以被传输到源驱动器130和被源驱动器130解压缩快三倍地在缓冲器410中存储压缩数据。因此,源驱动器130A可以正在解压缩用于显示行的第一个三分之一的数据,同时源驱动器130B正在解压缩用于该显示行的中间三分之一的数据。在框520处,源驱动器使用从控制器接收的引擎状态初始化它们的解压缩引擎并且开始解压缩所接收的部分压缩数据。通过这样做,源驱动器的解压缩引擎具有必要的信息和配置以解压缩压缩数据并且更新分配给源驱动器的像素。图6是根据本发明的实施例的用于在源驱动器630之间共享解压缩引擎状态的显示设备600的框图。不像图2和4中所示意的显示设备,显示设备600并不包括控制器110。在一个实施例中,显示源105包括到源驱动器630的直接连接。可替代地,显示设备600可以包括从显示源105接收数据并且将压缩数据605中继到源驱动器630的控制器,但是控制器并不解压缩数据。也就是说,控制器将压缩数据605转发到源驱动器630而没有评估数据以确定哪个数据部分意图用于哪个源驱动器630。在任何一种情况下,在该实施例中,各个源驱动器630都接收压缩数据605的全部而不是像上面的实施例所做的那样只接受压缩数据605的部分。源驱动器630每个都包括解压缩引擎615和压缩数据605的副本。此外,源驱动器630包括到邻接或邻近源驱动器的数据连接。如所示的,源驱动器630A包括到源驱动器630B的数据连接,所述源驱动器630B具有到源驱动器630C的数据连接。假设显示设备600中不存在其它源驱动器,源驱动器630C包括到源驱动器630A的数据连接。然而,如果存在额外的源驱动器,源驱动器630C将包括到下一个源驱动器的数据连接。最后的源驱动器进而将具有回到源驱动器630A的数据连接。在一个实施例中,源驱动器630使用数据连接以共享引擎状态以便源驱动器630的每个上的解压缩引擎615都不需要解压缩压缩数据605的全部。例如,源驱动器630A开始解压缩压缩数据605直到驱动器630A确定解压缩数据是用于更新未被分配给它的像素的为止。如将在图7中更详细地描述的,源驱动器630A保存其当前的引擎状态(即第一引擎状态635)并且将该状态635传输到源驱动器630B。源驱动器630A还可以提供对应于第一引擎状态635的压缩数据的起始地址。源驱动器630B使用第一引擎状态635初始化其解压缩引擎615B,并且在由源驱动器630A所提供的地址处开始解压缩压缩数据605,直到源驱动器630B识别用于分配给源驱动器630C的像素的显示数据为止。这个过程进而可重复。图7是根据本发明的实施例的用于在源驱动器之间共享解压缩引擎状态的方法700。特别地,方法700描述了用于操作图6中所示的显示设备600的技术。在框705处,各个源驱动器开始从显示源接收压缩数据,所述显示源包括用于在设备上更新显示帧的显示数据——例如对应于显示器中显示行(或排)的数量的多个行更新。在框710处,源驱动器中的一个(例如被分配以更新显示行的最左边部分的像素的源驱动器)解压缩第一部分的压缩数据。为了确定哪个源驱动器应该开始解压缩压缩数据,各个源驱动器可以开始解压缩数据但是只有更新显示器的最左边部分的源驱动器继续解压缩压缩数据。一旦其它源驱动器确定数据用于更新未被分配给它们的像素,它们就停止解压缩数据。一旦最左边的源驱动器识别出意图用于不同源驱动器的数据,源驱动器就连同压缩数据中的对应地址一起保存其解压缩引擎的当前状态。使用图6中所示意的数据连接中的一个,源驱动器将所保存的引擎状态和对应地址传输到第二源驱动器。在框715处,第二源驱动器使用所接收的引擎状态初始化其解压缩引擎。通过这样做,其解压缩引擎被配置就好像它解压缩了第一部分的压缩数据即使它在此该时间期间是空闲的。第二源驱动器使用地址以识别第二部分的压缩数据的正确的起始位置并且开始解压缩数据。一旦识别出压缩数据中意图用于第三源驱动器的显示数据,第二源驱动器就连同压缩数据中的对应地址一起保存其解压缩引擎的当前状态。第二源驱动器进而将所保存的引擎状态和对应地址传输到第三源驱动器。在框720处,第三源驱动器使用所接收的引擎状态初始化其解压缩引擎并且在从第二源驱动器接收的地址处开始解压缩第三部分的压缩数据。如果显示设备中只存在三个源驱动器,一旦识别出压缩数据中用于新行的显示数据(即,数据意图用于第一源驱动器),第三源驱动器就连同压缩数据中的对应地址一起保存其解压缩引擎的当前状态并且将该信息传输到第一源驱动器,在所述第一源驱动器中,方法700可以重复直到全部压缩数据已经被三个源驱动器解压缩和使用以更新显示器中的像素。在方法700中,源驱动器等待前面的源驱动器解压缩压缩数据并且提供合适的解压缩引擎状态,这意味着数据被顺序地处理。然而,在图3和5的方法300和500中,因为控制器上的解压缩引擎可以比源驱动器上的解压缩引擎运行快得多,所以源驱动器可以并行地而不是顺序地解压缩它们各自的部分,从而节省了时间。此外,方法700将全部压缩数据传输到源驱动器的每个,而方法300和500只将相关部分的压缩数据传输到源驱动器的每个。正因如此,将压缩数据传输到图6中所示的源驱动器所需要的带宽大于将压缩数据从控制器传输到如图2和4中所示的源驱动器所需的带宽。上面所描述的实施例假设了压缩数据被显示行所组织,在所述显示行中,第一部分的压缩数据包括用于从左到右更新显示器中最上面的显示行的信息。也就是说,用于特定行更新的压缩数据被排序以便第一部分的数据用于行中最左边的像素而最后一部分的数据用于行中最右边的像素。然而,压缩数据的这个特定顺序只是出于示意性的目的并且并无意限制本公开内容的范围。事实上,在此的实施例可以当数据根据列而不是行被排序时或者当压缩数据以行中最右边的像素而不是最左边的像素开始时被使用。本领域的技术人员将容易地认识到在此的实施例可以被应用于任何特定顺序的压缩显示数据。应该理解的是虽然本发明的很多实施例在功能完备的装置情况下被描述,但是本发明的机制能够以各种形式被分布为程序产品(例如软件)。例如,本发明的机制可以被实现和分布为由电子处理器可读的信息承载媒介(例如被显示设备可读的非暂时性计算机可读和/或可记录/可写的信息承载媒介)上的软件程序。另外,无论用来执行分布的媒介的具体类型,本发明的实施例都平等地应用。非暂时性、电子可读媒介的示例包括多种盘、记忆棒、存储卡、存储模块、以及诸如此类的。电子可读媒介可以基于闪存的、光学的、磁性的、全息的或任何其他的存储技术。在此所讨论的实施例和示例被以最能解释本发明和其具体应用并且因此使得本领域的技术人员能够做出和使用本发明的顺序提出。然而,本领域的技术人员将认识到仅为示意和示例的目的提出前述描述和示例。如所陈述的描述并非意在穷举或是将本发明限制为所公开的精确形式。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1