在rgb和ycrcb彩色空间之间的用于dct接口的数据传送的制作方法

文档序号:7648138阅读:328来源:国知局
专利名称:在rgb和ycrcb彩色空间之间的用于dct接口的数据传送的制作方法
技术领域
本发明涉及一种视频数据处理,特别是在不同格式之间的视频数据的转换。
背景技术
电子工业一直以来都依赖于半导体技术的进步来实现能够达到飞速增长的日益复杂的功能的设备。对于很多视频应用来说,要实现更高级功能的设备需要在不同的物理存储器空间和/或不同的彩色表示格式之间快速的传送数据。装置的有效性或全面可操作性依据为传送这种数据而采用的处理而被显著的增强或被不利的削弱。
视频通信是涉及视频数据处理的一个应用例子,此视频处理的有效码率主要决定于视频数据是怎样在远程终端之间被传送的。典型的应用例子将包括试图在信道中进行视频数据通信的第一和第二远程终端,例如POTS(简单的旧式电话服务)或是使用适合该信道的信道接口/驱动装置的ISDN线。在第一终端,视频数据以便于在第一终端显示该数据的格式从信源被采集。然后采集的数据被压缩为新的格式并以压缩后的格式被传送至第二终端。视频数据在被压缩之前,先被转换成更适于被压缩的格式。然后第二终端将该数据解压缩为便于其使用的其他格式。这种类型的视频数据处理的有效码率将主要决定于视频数据在格式之间的转换以及在远程终端之间的传送是怎样进行的。
通过各种方法,视频数据处理的应用已经增加了有效码率,某些方法特别注重于视频数据的压缩格式。视频应用中通常的压缩格式是JPEG,其通常使用YCrCb(亮度,红色色差,蓝色色差)来表示彩色空间。然而,计算机一般使用RGB(红,绿,蓝)彩色空间来表示。RGB彩色空间是一种非常适于显示的彩色空间,因为LCD和CRT等显示器件是通过RGB输入来控制的。JPEG使用8×8的块来压缩彩色。JPEG压缩通常包括在压缩之前将平式帧缓冲器的RGB信号转换为YCrCb信号。JPEG解压缩通常包括将JPEG的YCrCb输出转换为用于显示的RGB彩色空间。
以前的试图增加JPEG应用中有效码率的尝试都不能达到某些新近的系统所需的高速执行。例如,某些方法已经涉及有效使用和管理连接各个处理器和存储单元的信息通路,各个处理器检索平式帧缓冲器中的三个RGB分量用于分别转换为三个YCrCb分量。其它的用于有效的将存储显示缓冲器中的RGB格式的数据传送至JPEG压缩工具的DCT压缩阶段的方法涉及使用具有整行缓冲器的DMA用于直接将RGB分量转换为各个YCrCb分量。但这种方法在造价(因为使用了DMA的整行缓冲器),消耗功率,和/或处理器及存储器所需带宽方面比较不利。
概述本发明的目的是提供一种改进的数据传送方法。本发明由独立权利要求定义。
附加权利要求定义了改进的实施例。
根据本发明的各个方面,其实施例是以方法和装置的形式来实现的,此方法和装置涉及在RGB彩色空间和YCrCb彩色空间存储器之间以上述讨论的实施方式来传送数据。
本发明进一步的方面是直接使用YCrCb彩色空间存储器与DCT的块运算工具通信的实施方式。连同本实施例和方式,本发明是一种用于在RGB彩色空间存储器和DCT块运算工具之间传送数据从而显著增加处理量并减少处理开销的方法和装置。
在特定实施例中,DMA的功能被优化用于从表示RGB彩色空间的外部存储器中获取数据,并在执行YCrCb彩色空间的快速变换时,将数据进行JPEG变换。数据从RGB彩色空间存储器传送至适于处理YCrCb彩色空间存储器的DCT块运算工具。本方法还包括提供数据作为对应RGB显示屏区域的、具有C列R行个像素块的一个像素块阵列,其中一个像素块对应于足够的RGB数据以产生具有至少一个Cr数据阵列和一个Cb数据阵列的一个DCT块。通过每次存取一个像素块数据的方式,可以在像素块阵列的地址处获取数据,并且每个像素块中的行和该像素块阵列中的该像素块都被追踪。所述地址是关于C,被追踪的行和像素块阵列中被追踪的像素块的一个函数。当获取数据时,将已获取的数据被送入缓冲器用于产生对应于RGB显示屏区域的Y,Cr,Cb数据阵列。
另一个实施例是,使用相反的操作将数据有效地从DCT块运算工具传送至RGB彩色空间存储器。
又一个实施例是,本发明使用编程和设计后的处理装置来进行上述数据处理并计算其中一个地址的函数为阵列中像素块的数目乘以TN,再加上追踪的行的计数乘以C的计数乘以一个常数,其中TN对应于像素块阵列中被追踪的像素块数目。
在又一个实施例中,处理装置被进一步编程和设计用于计算其中一个地址的函数为阵列中的像素块数目乘以TN,再加上追踪的行的计数乘以C的计数乘以一个常数,并作为一个像素块的字段中的计数的函数。例如,像素块可使用16字段来实现。
上面的概述并不能包括本发明的所有方面。本发明的其他方面将在详细的说明书中举例说明。


本发明的各个方面及优点将在阅读以下各个实施例的详细说明及参考附图后变得更加明显,其中图1是依据本发明的一个实施例的视频处理装置的框图。
图2a和2b分别是现有技术中已知的RGB彩色空间和YCrCb彩色空间格式的框图;图3和4是依据本发明的一个实施例的像素块转换的框图,说明了四个8×8阵列的RGB彩色空间(图3)到用于DCT压缩的四个8×8的Y阵列,一个8×8的Cr阵列,和一个8×8的Cb阵列(图4)的转换;图5,6和7分别说明了依据本发明的一个实施例在像素块阵列级别(图5),像素块级别(图6)和扫描线级别(图7)的图像扫描过程;图8是依据本发明的一个实施例用于实现乘法功能的电路的框图,是为了确定地址以获取用于DCT压缩的数据;图9是依据本发明的一个实施例用于实现乘法功能的变型电路的框图,用于连接预设数据大小的某些装置;图10a是依据本发明的用于压缩的8×8块的缓冲装置的电路框图;图10b是依据本发明的实施例的流程框图,说明了YCrCb数据被写入图10a中的各个缓冲器的过程。
本发明还可进行各种修正和变形,在附图中以举例的形式示出的特例将在下面详细说明。应当理解,本发明并不局限于任何所描述的特定实施例。相反,本发明的应当覆盖所有的修正,等效图,和变形,这些都应当落在本发明权利要求所定义的精神和范围之内。
详细说明本发明可使用各种各样的实施方式来实现视频数据处理,并且本发明在RGB彩色空间和YCrCb彩色空间存储器之间有效地传送数据时特别具有优势,例如,对于运算工具最好使用YCrCb彩色空间存储器形式的数据进行处理。然而本发明并非仅限于这种实施方式,通过本文所讨论的实施例可看出,本发明的各个方面都可以适用。
根据一个实施例,本发明是一个数据处理装置,其中数据在RGB彩色空间和与JPEG DCT压缩器相耦合的YCrCb彩色空间存储器之间传送。本实施例还可能有不同的实施方式。例如,在一个实施例中数据处理装置可以用来将数据从RGB彩色空间传送至YCrCb彩色空间存储器用于耦合至JPEG DCT压缩,在另一实施例中,数据处理装置可以用来将数据从YCrCb彩色空间存储形式的JPEG DCT压缩器传送至RGB彩色空间用于显示。在上述实施例中,RGB彩色空间数据被排列在RGB显示屏区域中作为具有C列和R行像素块的一个像素块阵列,其中一个像素块对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块。通过从彩色空间存储器之一获取数据,然后将获取的数据存储在另一个彩色空间存储器中这样的形式,将数据在彩色空间存储器之间传送。所述数据是作为关于C的函数和关于每次存取一个像素块时追踪每个像素块中的行和此像素块阵列中的此像素块的函数来传送的。
相应于上述实施例,一个特别实施方式是优化DMA的功能用于从表示RGB彩色空间的外部存储器获取数据并在执行YCrCb彩色空间的快速变换时提供该数据进行JPEG变换。此序列中一个16列16行的方形像素块中包含四个8×8的红、绿、蓝的源数据块,并对应于YCrCb彩色空间的四个8×8的Y矩阵,一个8×8的Cr矩阵,和一个8×8的Cb矩阵。DMA操作(或整个排序)被优化从而在一个序列中只从存储器中读取一次数据,这对于适合突发存取的SDRAM存储器或其他存储器(或总线结构)是最佳的。通过使用,例如,简单的1024字节的缓冲器,实现从RGB到YCrCb彩色空间的快速转换,从而内部缓冲器被最小化。
根据本发明的附图可看出,图1示出了关于在基于ARM的数据处理装置10和DCT运算处理装置12之间的高速传送数据的特定实施例的框图,所述DCT运算处理装置12分别包括,例如,DCT,量化器和霍夫曼编码(HC)(“编码和/或解码”)块12a,12b和12c。基于ARM的数据处理装置10包括一个AHB(Advanced High-performance Bus)16用于在ARM CPU 20和系统组件之间进行通信,所述系统组件包括,例如,系统存储器(例如SDRAM)22,RGB存储器24,和DMA控制器(DMAC)26。一个桥式接口28也与总线16相连,从而可通信地通过AMBA-APB(Advanced MiCrocontroller Bus Architecture-AdvancedPeripheral Bus)30与各种外部设备相连接。虽然并非所有的实施例和实施方式都需要使用例如AHB16这样的高速总线,但这对于匹配本发明的彩色变换所进行的大处理容量是很有用的。其它的将获益于本发明的实施方式的数据高速处理总线CPU装置,非局限性的包括,IBM’s CoreConnect on-chip bus和Motorola’s IP-bus。
从RGB存储器24延伸至AHB 16和DMAC 26的虚线描述了通往RGB存储器24的可变数据存取(读和/或写)通道;即,通过AHB 16上的DMAC 26或直接通过DMAC 26。
如上面讨论的实施例,本发明的实施方式并不局限于在RGB和YCrCb彩色空间之间的转换。正如例子中的双向箭头和霍夫曼编码/解码块所示,图1示出了从RGB彩色空间到YCrCb彩色空间的变换,以及从YCrCb彩色空间到RGB彩色空间的变换,或是双向的变换。这种变换通常使用三个功能性描述的块字-线存储器34,彩色空间转换运算块36,和YCrCb彩色空间存储器38。这些功能性描述的块(及图1中示出的其他块)可以使用任何类型的全部和/或部分编程的处理器;然而,许多实施方式最好使用传统的ALU类型(加法器,移位器和乘法器)的逻辑电路结合各种缓冲器。
如上所述的数据处理装置特别适于像JPEG这样使用YCrCb表示彩色空间的视频压缩格式。JPEG采用YCrCb彩色空间形式的8×8彩色块来进行DCT压缩阶段的处理,然而,像ARM CPU(图1中的20)这样的存储器通常采用RGB彩色空间(例如图1的存储器24)的形式存储显示数据。其中JPEG压缩在进行压缩之前通常涉及将RGB转换成YCrCb的格式,JPEG解压缩则涉及将JPEG输出的YCrCb格式转换成RGB彩色空间的格式,用于存储及随后的显示。
显示屏上的数据是以列和行的形式排列的。为方便讨论,假设显示屏上有480列和240行用于480乘240的显示。典型的显示刷新涉及从存储器持续地获取数据,用于提供给显示驱动器并随后显示在计算机屏幕上。为使存储器更有效的操作,存储器中的数据以这种方式排列,从显示屏上将被刷新的第一个像素开始,至显示屏上的最后一个像素。显示刷新开始于0行0列,显示缓冲器地址为0。然后列数增加,直至0行479列。当显示刷新进行至1行时,又从0列至479列。这种处理一直进行直到显示结束,然后重复这种处理。在另一种常用方式中,显示的上半部分和下半部分被同时刷新。在这两种情况下,显示数据都以线性顺序被存在存储器中。
将数据以相同的顺序放在存储器中可允许数据从其存储的DRAM设备中有效的取出。这是因为DRAM设备对于检索最后访问的数据所在页的数据更为有效。现在最常用的DRAM也同样非常的有序并在从DRAM中快速读取数据时非常高效。显示数据和DRAM存储技术相结合可实现高效存取DRAM数据。
JPEG采用8像素乘8像素的块来压缩以YCrCb彩色空间表示的彩色数据,从而难以从DRAM中有效的提取以RGB彩色空间表示的数据。这种困难是由于Cr和Cb数据与RGB数据是二次取样的对应关系。提供给DCT块的用于产生RGB彩色空间的Y分量的数据使用到一个8×8图像块的所有R,G,B数据,但是提供给DCT块的用于产生RGB彩色空间的Cr和Cb分量的数据使用到一个16×16图像块的所有R,G,B数据。为了减少多余的访问,希望数据不必从RGB彩色空间存储器被读取多次;而是将该数据只读取一次用于产生给定的DCT块并被硬件电路有效的处理。
如图2a和图2b所示,图2a中的RGB彩色空间格式示出了屏幕上以RGB格式显示彩色的8个位置。对于屏幕上的每个位置,分别是一个红色,一个绿色,和一个蓝色的值。图2b中的YCrCb彩色空间格式示出了JPEG彩色图像存储中通常使用的YCrCb彩色空间。左侧的Y数据是亮度,包括0.299R+0.587G+0.114B,并与人眼对亮度的感应成比例。图2a的框图总共有24个值,而图2b的框图具有12个值。这种差异是因为Cr,Cb数据是二次取样的;即,对于每组RGB的值只有一个Y值,但对于每四组RGB的值只有一个Cr和一个Cb值。JPEG压缩8×8阵列的Y,Cr,Cb数据,其从存储器读出一个8×8的块用于产生Y数据,并采用一个16×16的块压缩为一个8×8的块用于产生每个Cr和Cb数据。由于不同的数据类型而改变数据数量大小的请求使得从存储器获取此数据的请求变得复杂。还应当注意的是,Y数据需要所有三个R,G,B的值来产生Y值,而Cr和Cb数据需要4个位置的所有三个R,G,B的值(共12个值)来产生单独一个Cr或Cb值。因此,由于功率和操作的原因最好不必从SDRAM中多次获取数据。
图3和4分别是依据本发明的实施例的“像素块”转换。图3示出了RGB彩色空间格式的四个8×8阵列,每个具有3个颜色,4*8*8*3=768字节,一起构成一个像素块。
图4示出了一组四个8×8的Y阵列,一个8×8的Cr阵列,和一个8×8的Cb阵列,4*8*8+8*8+8*8=384字节。图4的这组六个8×8阵列可以很容易地被DCT运算工具处理,例如,为了数据的压缩。在此实施例中,术语“像素块”是指图3所示的显示存储器中的16乘16部分的RGB值。这样,使用显示存储器中一个的16乘16部分的RGB值(本例中指一个像素块)来产生用于DCT压缩的四个8乘8的Y阵列,一个8乘8的Cr阵列和一个8乘8的Cb阵列。
图5,6和7分别更详细地示出了在像素块转换时的数据扫描方式,正如图3和4一起示出的那样。每个像素块,和此像素块的整个阵列,被从左至右从上至下的扫描,在进行至下一个像素块之前,每个像素块都被完全地扫描。图5示出了依据本发明的实施例,具有二十个像素块(5列乘4行的像素块)的阵列的全部图像扫描过程的一个显示屏幕。图6示出了图5中的两个像素块,其中一个像素块的每次扫描都横扫过一个16乘16部分的像素。图7示出了上述其中一个像素块的两个16像素行的扫描路径,其中每个像素都包含红,绿和蓝的像素值数据。每个扫描线在一行中是16个像素,然后是同一个像素块的下一次16个字。16个像素的每一个都包括一个红色,一个绿色和一个蓝色的字节。
因此,扫描路径被优化为1)数据从存储器中只读取一次;2)缓冲器请求被最小化,其中不再需要完整的行缓冲器;3)数据从存储器中获取的方式是支持SDRAM的;4)RGB至YCrCb的运算是以最小化缓冲器完成的并被快速地执行,其中缓冲器的请求被进一步最小化。
依据本发明,DMA地址是作为上述关系式的一个函数而产生的。举例说明,一个实施例中,RGB彩色空间存储器中的数据以32比特排列,且每个颜色以8比特来界定红色,[23∶16],绿色,[15∶8],蓝色[7∶0]。进一步的,本实施例采用YCrCb彩色空间的相应数据来执行压缩,其中每个Y值对应一个RGB值,每个Cr值对应4个RGB值,每个Cb值对应4个RGB值。
使用DMAC控制器(例如图1的26)来定位RGB彩色空间存储器(例如24)从而获取适当的RGB数据,并执行运算。本实施例中,一个像素块是存储器中对应于屏幕上某一区域的数据,此数据用于产生Cr或Cb数据的单个DCT块的数据。因为,Cr和Cb数据被二次取样,此同样的区域还产生了Y数据的四个8×8的DCT块;由此,单个像素块可产生六个DCT块的数据。
对存储器准确地查询地址的运算是基于各种函数。这些函数包括各种计数器和“Ncol”,其中Ncol等于像素块的列的数目。在图5的像素块阵列的例子中,列的数目是5。此地址是使用下述计数器运算的WC=Word count.WC计数器是4比特宽,在一个像素块的16个字段内(0-15)计数,并随着每传送一个字而增加1。
RC=Row count.RC计数器在一个像素块中垂直地计数。本实施例中,RC计数器是4比特的计数器,可从0计数至15,并随着每次WC计数器计满而增加1。
TVCT=Tile total count.TVCT计数器在每次图像转换开始时复位,并随着每次RC计数器计满而增加1。此计数器的容量被设为足够计数任何设计中的像素块的总数。
对于最佳实施方式,WC参数并不是非常实用,例如,在总线中可以保证始终支持16字的访问。
准确的地址可由以下运算来确定Address=TVCT*1024+RC*16*NCol+WC将数据从显示部分传送至压缩单元只需要进行上述的运算。因为任何一行结尾处的地址都可能引起存储器中地址的较大变化,因此通常使用全加法器。像素块总计数(TVCT)的相乘使用传统的移位逻辑电路就可以容易的实现,但Ncol的运算涉及更为完整的相乘,或移位/相加的操作。在一个实施例中Ncol的运算是作为简单的整数相乘来操作的。本领域的技术人员从此讨论中可知,RC和WC可被进一步的细分以建立从RGB到产生YCrCb的最佳操作流程。
在各种实施例中,NCol的乘法操作都被简化以利于相乘,或移位/相加的运算简化。例如,此种简化的方法可应用在仅仅对以下水平分辨率需要支持的情况下128,240,480,960,1024个像素。
图8举例说明了对于操作表中的Ncol,将RC乘以Ncol时采用的电路。图8中的移位器50作为一个乘法器,其具有一个“常数输入”可提供最多6比特的移位,从而其运算操作可产生一个比RC表示的输入数字最多大26的一个数值。
分别乘以5和乘以3的块52和54,也以类似的方式实施。例如,对于乘以5,块52的输入将被向左移位两次,然后将结果加至输入端。图9示出了这样一个移位/加法电路用于实施图8中块52的乘以5的操作。图8的块56和58都是乘法器,每个都具有一个低端输入用于指示是通过前一个相乘块还是其本身的输入(一个“常数”)。
下面的表格示出了可被图8中具有一系列移位器和数个加法器的示例电路所支持的常用的水平分辨率。

在上述表格中,第一,第二和第三列的输入分别对应于块50,56和58的低端输入。第一列的输入表示块50的二进制移位数目。第二列的输入表示乘法块56是否通过乘以5的块的输出,第三列的输入表示乘法块58是否通过乘以3的块的输出。
在某些实施方式中,像素块阵列的大小是预知的,正如数字相机和具有固定图像获取输入的装置那样;在这些实施方式下,本领域的技术人员可知Ncol的乘法操作可被进一步减少。
图10a示出了可在RGB彩色空间存储器和YCrCb彩色空间存储器之间有效传送数据的另一个示例电路100。图10a的上部分示出了前述数据从RGB彩色空间经YCrCb转换为DCT块,至DCT运算工具进行数据压缩,然后通过信道102传输的流程,这通常适合于与远程终端可通信耦合的高速驱动装置(未示出)。图10a的下部分示出了相反的数据流程,以压缩的格式通过信道102,至反向DCT(“IDCT’)运算工具解压缩为DCT块(YCrCb彩色空间),转换为RGB彩色空间。
特别的,图10a的电路包括DCT SDRAM地址发生器104,用于从RGB彩色空间存储器(未示出)获取数据以进行压缩,和在解压缩后将数据存储在RGB彩色空间存储器中。在块106,获取的RGB数据通过DMAC被集成和分散至字线缓冲器108a,然后送至块110计算彩色空间转换的数据,再送至四个Y缓冲器112a-112d和一对CrA和CrB缓冲器112e-112h。当缓冲器112a-h充满后,它们作为DCT块被存取,进而被DCT块114,量化器116和霍夫曼编码器118进行压缩。在许多实施例中,数据乘法器(未示出)用于从其它平行的数据源获取视频数据连同数据,并通过信道102进行传输。
从信道102至RGB彩色空间存储器的数据处理通道沿与上述讨论相反的方向进行,图10a示出了相应的块(例如,块110对应于块110’)。其中压缩/解压缩功能都是由处理器执行的,例如,使用专门设计的DSP,许多种实施方式都可应用于这些硬件资源。
图10b示出了充满的DCT块且对于DCT功能块是可用的。Y1,Y2和CrA,CrB缓冲器被同时进行填充。但Y1和Y2块先于CrA和CbA完成,因为后者的数据是二次取样。Y1和Y2块一旦完成就被送至DCT块。在图中以#1示出。在#2,第二组Y缓冲器,Y3和Y4可开始进行填充,且获取CbA和CbB缓冲器的处理继续进行。在#2,对两个Y缓冲器,Y1和Y2的处理可开始进行。假设单个DCT块是可用的且Y1被处理后接着是Y2。当Y3和Y4缓冲器完成后且DCT块是可用的,则DCT变换可在Y3块继续进行,如#4所示。同样,当Y2缓冲器空闲时,读取存储器可重新开始,如#5所示,作为额外的一组Cr缓冲器,CrB,CbB也是可用的。依据存储器子系统的速度和DCT块的速度,#4和#5可以以任何顺序发生。一个单独的16×16块的DCT可产生4个Y块,1个Cr块,和1个Cb块。但此电路具有4个Y缓冲器,2个Cr缓冲器,和2个Cb缓冲器。这种不对称设计的目的是,每组各包含两个的两组Y数据是可用的,允许管线式传送,而Cr和Cb数据是不可用的除非完成整个16×16的块。
上述的各种实施例仅仅是作为举例给出的,而不是限制本发明。本领域的技术人员可以很容易的对本发明实施各种修正和变形,而不需要严格按照这里所述的实施例和实施方式。例如,JPEG格式或数据压缩/解压缩并不是必需的,由于采用本发明在RGB彩色空间和YCrCb彩色空间之间的转换可有利于其他的实施方式,本保护范围由以下权利要求来限定。
在权利要求中,括号内的参考标记不应当解释为对权利要求的限制。词语“包括”并不排除权利要求中未列出的其他元件或步骤。在一个元件之前的词语“一个”并不排除多个同类元件的出现。本发明可由包含数个不同元件的硬件装置来实现,也可通过适当编程的计算机来实现。在设备的权利要求中列举出了数个装置,这些装置中的几个可由一个或同样类型的硬件来实现,在相互不同的附加权利要求中所述的某些措施,并不表示这些措施的结合不能被使用。
权利要求
1.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的方法,包括提供RGB彩色空间存储器(24)中的、对应RGB显示屏区域的数据作为具有C列和R行个像素块的像素块阵列,其中一个像素块(图3)对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块;通过从彩色空间存储器之一获取数据并将获取的数据存储在其他彩色空间存储器的方式,在彩色空间存储器(24,38)之间传送数据,被传送的数据为关于C的一个函数,和关于每次存取一个像素块(图3)并追踪每个像素块中的行和该像素块阵列中的该像素块的函数。
2.如权利要求1的方法,进一步包括压缩传送的数据至YCrCb彩色空间存储器(38)中。
3.如权利要求1的方法,进一步包括在传送所述数据之前将YCrCb彩色空间存储器(38)中的数据解压缩。
4.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的方法,包括提供RGB彩色空间存储器(24)中的、对应RGB显示屏区域的数据作为具有C列和R行个像素块的像素块阵列,其中一个像素块(图3)对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块;通过每次访问一个像素块数据的方式,在像素块阵列中的地址处获取数据,并追踪每个像素块中的行和该像素块阵列中的该像素块,所述地址是关于C,追踪的行和该像素块阵列中被追踪的像素块的一个函数;且当获取数据时,将已获取的数据送入缓冲器以产生对应于RGB显示屏区域的Y,Cr和Cb数据阵列。
5.如权利要求4的方法进一步包括分别对各个缓冲器中的数据执行DCT,以产生Y,Cr和Cb数据阵列。
6.如权利要求4的方法进一步包括计算其中一个地址为关于追踪的行的计数乘以C的计数的一个函数。
7.如权利要求4的方法进一步包括计算其中一个地址为以下函数阵列中的像素块数目乘以TN,加上追踪的行的计数乘以C的计数乘以一个常数,其中TN对应于该像素块阵列中的追踪的像素块数目。
8.如权利要求4的方法其中一个像素块对应于可产生一个Cr数据阵列,一个Cb数据阵列,和四个Y数据阵列的DCT块的RGB数据。
9.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的方法,包括提供具有RGB显示屏区域的RGB彩色空间存储器(24)作为具有C列和R行个像素块的像素块阵列,其中一个像素块(图3)对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块;获取YCrCb彩色空间存储器(38)中的数据;当获取数据时,通过每次对一个像素块(图3)寻址的方式将已获取的数据写入像素块阵列,确定所述地址为关于C的一个函数,和关于追踪每个像素块中的行及该像素块阵列中的像素块的一个函数。
10.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的电路,包括提供RGB彩色空间存储器(24)中的、对应RGB显示屏区域的数据作为具有C列和R行个像素块的像素块阵列的装置,其中一个像素块(图3)对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块;通过从彩色空间存储器之一获取数据并将获取的数据存储在其他彩色空间存储器的方式,在彩色空间存储器(24,38)之间传送数据的装置,被传送的数据为关于C的一个函数,和关于每次存取一个像素块并追踪每个像素块(图3)中的行和该像素块阵列中的该像素块的函数。
11.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的电路,包括一个处理装置(34,36,110)被编程设计为可提供RGB彩色空间存储器(24)中的、对应RGB显示屏区域的数据作为具有C列和R行个像素块的像素块阵列,其中一个像素块对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块,所述处理装置被进一步编程设计为可通过从彩色空间存储器之一获取数据并将获取的数据存储在其他彩色空间存储器的方式,在彩色空间存储器(24,38)之间传送数据,被传送的数据为关于C的一个函数,和关于每次存取一个像素块并追踪每个像素块中的行和该像素块阵列中的该像素块的函数。
12.如权利要求11的电路,其中所述处理装置(34,36,110)被进一步编程设计为可计算其中一个地址为以下函数阵列中的像素块数目乘以TN,加上追踪的行的计数乘以C的计数乘以一个常数,其中TN对应于该像素块阵列中的追踪的像素块数目。
13.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的电路,包括一个处理装置(34,36,110)被编程设计为可提供RGB彩色空间存储器(24)中的、对应RGB显示屏区域的数据作为具有C列和R行个像素块的像素块阵列,其中一个像素块对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块,所述处理装置被进一步编程设计为通过每次对一个像素块存取数据,并追踪每个像素块中的行和该像素块阵列中的该像素块的方式在像素块阵列中的地址处获取数据,所述地址是关于C,被追踪的行和该像素块阵列中被追踪的该像素块的一个函数,并且当该数据被获取时,将已获取的数据送入缓冲器以产生对应于RGB显示屏区域的Y,Cr,Cb数据阵列。
14.如权利要求13的电路,其中所述处理装置(34,36,110)被进一步编程设计为计算其中一个地址为一个像素块(图3)的一个字段中的计数的函数。
15.在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的电路,包括一个处理装置(34,36,110)被编程设计为可提供RGB彩色空间存储器(24)中的、对应RGB显示屏区域的数据作为具有C列和R行个像素块的像素块阵列,其中一个像素块(图3)对应于足够的RGB数据用于产生至少具有一个Cr数据阵列和一个Cb数据阵列的DCT块,所述处理装置(34,36,110)被进一步编程设计为从YCrCb彩色空间存储器获取数据,并且,当获取数据时,通过每次对一个像素块寻址的方式将已获取的数据写入像素块阵列,所述地址被确定为关于C的一个函数,和关于追踪每个像素块中的行和该像素块阵列中的该像素块的一个函数。
全文摘要
在RGB彩色空间存储器(24)和YCrCb彩色空间存储器(38)之间传送数据并提供给DCT块运算工具(12)的方法,能够显著增加处理量并减少处理开销。根据一个实施例,DMA功能被优化用于从表示为RGB彩色空间的外部存储器中获取数据,并在执行YCrCb彩色空间的快速变换时,将数据进行JPEG变换。特别的,数据从RGB彩色空间存储器传送至适于处理YCrCb彩色空间存储器的DCT块运算工具。本方法还包括提供数据作为对应RGB显示屏区域的、具有C列R行个像素块的一个像素块阵列,其中一个像素块对应于足够的RGB数据以产生具有至少一个Cr数据阵列和一个Cb数据阵列的一个DCT块。通过每次存取一个像素块数据的方式,可以在像素块阵列的地址处获取数据,并且每个像素块中的行和该像素块阵列中的该像素块都被追踪。所述地址是关于C,被追踪的行和像素块阵列中被追踪的该像素块的一个函数。当获取数据时,将已获取的数据送入缓冲器用于产生对应于RGB显示屏区域的Y,Cr,Cb数据阵列。另一个实施例是,使用相反的操作将数据有效地从DCT块运算工具(12)传送至RGB彩色空间存储器(24)。
文档编号H04N1/41GK1394430SQ01803453
公开日2003年1月29日 申请日期2001年9月5日 优先权日2000年9月6日
发明者D·埃沃伊 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1