图像数据的存储器存取方法及系统的制作方法

文档序号:7975663阅读:126来源:国知局

专利名称::图像数据的存储器存取方法及系统的制作方法
技术领域
:本发明是有关于计算机技术,且特别.有关于图像数据的存储器存取方法及系统。
背景技术
:随着图像数据的编码压缩率的提高,对空间和时间上相关的信息的利用也大大地增加。特别是对于目前先进的H.264图像编码协议,对于上述相关信息的需求量相较于MPEG2有数倍的增加,也就是说对存储器数据的访问量进一步提高。特别是在作运动补偿(motioncompensation)处理时,由过去的16x16(水平方向16个像素x垂直方向16个像素)的操作块(block,即图像数据的一种处理单位)及16x8的揭:作块演变为现在的4x4、4x8、8x4、8x8、8x16、16x8及16x16操作块。由此可以看出这些操作块越变越小,组合越来越多。而存储器中连续的数据可以突发方式(burst)来存取以增加效率,因此操作块的多样化便会增加存储器存取的复杂度。不连续的数据则无法以突发方式(burst)来增加存取效率。现有的存储器可以支持的突发长度例如从最小的1至8。突发的起始地址(initialaddress)则会影响突发数据的存取顺序。目前针对较小操作块的技术,多将一个小矩形块内的像素线性地映射在连续的存储器地址空间中,从而提高4x4、4x8这类水平像素较少的操作块的读取效率。但是这种映射方式却不利于水平像素较多的操作块的读取效率,例如8x4、8x8、16x8及16x16等操作块。举例来说,请参照图1,图像100具有一操作块120,其中0到31为32个像素的编号,每行有8个像素。在此以总线宽度为64位、突发长度为4的存储器为例,小矩形操作块的大小为水平每行8像素,垂直方向上为4行。每个像素为8位(bit),因此,上述操作块共64位,可以一次突发操作将数据全部读出。图1左侧箭头中垂直方向的0、1、2、3代表突发数据访问的顺序。但如果水平方向需要的像素数增加,例如需要图像100中水平方向像素列130,而只需要操作块120的4行中的一行的时候,此次突发操作中的有效像素只占全部数据量的25%,效率会明显降低,另外还需要连续三次突发操作以读取操作块121123。另外,在计算机装置中,图像数据会由不同单元来存取。举例来说,影像解码器(videodecoder)以宏块(macroblock)为单位将图像写入至主存储器中的帧緩冲区(framebuffer),以小块(block)为单位读取主存储器中的图像。显示器(display)则依图像的水平像素列的顺序读取。图像数据在存储器中的某种储存顺序可能会对影像解码器的存储器存取很有效率,然而却对显示器的存储器存取非常没有效率。相反地,图像数据在存储器中的某种储存顺序地址可能会对显示器的存储器存取很有效率,然而却对影像解码器的存储器存取非常没有效率。由于不同单元以不同的图像数据单位及顺序,访问存储器中的图像数据,所以图像数据在存储器的储存方式会对这些单元存取存储器的效率上有不同程度的影响。如果图像数据在存储器中的储存方式不理想则会导致以下二个问题(1)读取时突发操作次数过多而影响效率;(2)每次读取的突发数据中的有效数据量太小而影响效率。因此,根据实际情况选择一种合理、高效的图像数据映射至存储器的方法是亟待解决的问题。
发明内容有鉴于此,本发明的目的在于提供图像数据的存储器存取方法及系统。基于上述目的,本发明实施例提供一种图像数据的存储器存取方法,执行于一计算机装置中,且上述计算机装置包含一存储器,该方法包含下列步骤将一图像数据的一操作块中的复数数据单元,依照一突发访问顺序以储存于上述存储器,使上述复数数据单元可由一次突发来存取。其中上述突发访问顺序中,上述复数数据单元的第一个数据单元与最后一个数据单元在上述图像数据上相接。另外,本发明实施例提供一种图像数据的存储器存取系统,该系统包含存储器及图像处理器。上述存储器用以储存数据。上述图像处理器将一图像数据的一梯:作块中的复数数据单元,依照一突发访问顺序以储存于上述存储器,使上述复数数据单元可由一次突发来存取。其中上述突发访问顺序中,上述复数数据单元的第一个数据单元与最后一个数据单元在上述图像数据上相接。本发明是利用存储器数据在一个最长突发长度内首尾数据单元相连的特性,采用顺时针或者逆时针的映射方式,形成死循环,而非通常扫描映射方式,藉此以实现存储器存取效率的改善。另外,可以经由合并存储器数据单元,使顺序方式(sequential)的存储器设置,能够适用于总线宽度是存储器单元宽度偶数倍的情况。此外,将本发明的方法应用于H.264的运动补偿功能块,则可以使最悲观的操作块读取情况的存储器访问次数降低一倍,从而大大提高了存储器使用效率。图1显示图像数据的操作块及其突发操作的映射方式的示意图;图2显示一计算机装置实施例的示意图;图3显示图像数据的存储器存取方法实施例的流程图;图4A显示操作块对突发操作的映射方式的示意图;图4B显示操作块对突发操作的映射方式的示意图;图5A显示操作块对突发操作的映射方式的示意图;图5B显示操作块对突发操作的映射方式的示意图;图5C显示操作块对突发操作的映射方式的示意图5D显示操作块对突发操作的映射方式的示意图;图5E显示操:作块对突发操作的映射方式的示意图。主要组件符号说明1图像处理器;2存储器;3显示器;4~总线;4043数据单元;100图像;120123操作块;130~像素列;200计算机装置;210图像;400操作块。具体实施方式以下说明是本发明的较佳实施例。其目的是要举例说明本发明一般性的原则,不应视为本发明的限制,本发明的范围当以权利要求所界定的为准。以下提出图像数据的存储器存取方法及系统。存储器设备一般都有两种突发访问方式,一种为交叉方式(interleave),具体存取方式如表格1所示,假设突发长度(burstlength)为8,从0到7为8个存储器数据操作基本单元,例如字组(word),表格中显示了从不同起始地址(initialaddress)及其对应的八个数据的突发访问顺序表格1:<table>tableseeoriginaldocumentpage7</column></row><table>另一种为顺序方式(sequential),如表格2所示表格2:<table>tableseeoriginaldocumentpage8</column></row><table>表格2的顺序方式中,从0到7为8个存储器数据操作基本单元。顺序方式是一种可以完全首尾相接的死循环顺序。也可以将数据单元0及1合并成一个单元,2及3合并成一个单元,4及5合并成一个单元,6及7合并成一个单元,形成首尾相接的死循环顺序,只是每个单元内的数据是存储器数据单元的两倍。利用首尾数据单元相接成死循环这个特性,可以找到一种方法使操作不同大小的块都能有比较高的存储器存取效率。图像数据的存储器存取系统可以由计算机程序或电路构成。图像数据的存储器存取方法可以执行于具有一存储器的一计算机装置中,例如桌上型个人计算机(Desktopcomputer)、笔记型计算机(Notebook)、游戏装置(gameconsole)、移动电i舌(mobilephone)、才几顶盒(set-topbox)及其它装置。当图像数据的存储器存取方法以实现作为储存在计算机可读取储存媒体的一计算机程序时,当此计算机程序加载至一计算机装置中,上述计算机装置则执行该图像数据的存储器存取方法的步骤。图2显示计算机装置的一实例。图像处理器l通过总线4耦接于存储器2、显示器3及其它装置。图像处理器1用以处理图像数据,并将图像数据写入至存储器2,并从存储器2读取图像数据。图像处理器1可以制作成芯片(chip)。图像处理器l可以是影像解码器(videodecoder)、图形处理单元(GraphicsProcessingUnit,简称GPU)、中央处理器(CentralProcessingUnit,简称CPU)、存储器控制器或其它装置。存储器2可以储存图像数据。存储器2的实例可以包含静态随机存储器(StaticRandomAccessMemory,简称SRAM)、延伸数据输出随才几存取存储器(extendeddataoutrandomaccessmemory,简称EDORAM)、动态随才几存取存储器(DynamicRandomAccessMemory,简称DRAM)、同步动态随机存取存储器(SynchronousDynamicRandomAccessMemory,简称SDRAM)、以及双倍数据速率SDRAM(doubledatarateSDRAM,简称DDRSDRAM)。显示器3用以显示图像数据,例如图像210。计算机装置200可以包含其它装置,例如通信单元,用来连接网络或各种传输线,或无线信道,以控制图像数据等信息的传输接收。参照图3以说明图像数据的存储器存取方法。图像处理器1将一图像数据(例如图2中的图像210)的一操作块中的复数数据单元,依照一突发访问顺序以储存于存储器2,使上述复数数据单元可由一次突发来存取(步骤S300)。其中上述突发访问顺序中,上述复数数据单元的第一个数据单元与最后一个数据单元在上述图像数据上相接。以下仍然以总线宽度为64位,突发长度为4的存储器为例。请参照图4,其中显示图像210的一操作块400。操作块400包含四个数据单元40~43。每个数据单元包含8个像素。箭头中的o、i、2、3分别代表数据单元4043的突发数据访问顺序。图像处理器1依照此突发访问顺序将数据单元40~43储存于存储器2。图4A显示逆时针突发数据访问的顺序。换言之,数据单元4043以逆时钟方向分布于操作块400中。第一个数据单元40与最后一个数据单元43在图像数据210上相接,形成一个死循环。在突发访问顺序中顺序相邻接的二个数据单元在操作块400中的位置也相邻接,例如数据单元40邻接于数据单元41,数据单元41邻接于数据单元42,数据单元42邻接于数据单元43,以及数据单元43邻接于数据单元40。数据单元也可以逆时钟方向分布于上述操作块中。图4b显示顺时针突发数据访问的顺序。箭头中的0、1、2、3分别代表数据单元40、43、42、41的突发数据访问顺序。换言之,数据单元40、43、42、41依照上述突发访问顺序,以顺时钟方向分布于操作块400中。上述图像处理器1在上述存储器的顺序突发存取模式中,可以利用一次突发操作以取得上述操作块中水平区域、垂直区域、各种形状的区域(例如l型、镜射l型、r型及镜射r型)或甚至是包含上述第一个及最后一个数据单元的区域(步骤s302)。根据图4a(或图4b),利用这种映射方式及存储器的顺序突发存取模式,既可以在一次突发搮:作中访问水平方向比较长的一行数据单元,也可以在一次突发操:作中访问垂直方向的两行数据单元中的前一部分,或者后一部分。当然我们也可以访问完整的两行信息。它们的共同特点就是只用一次突发操作就可以将需要的数据存取出来,并且数据的大部分为有效数据。操作的方式举例来说如下。存取四个数据单元图像处理器1存取四个数据单元时可以指定突发长度为4,突发访问顺序中第03个之中任一数据单元都可以被设为起始地址。存取三个数据单元图像处理器1存取三个数据单元时可以指定突发长度为4,突发访问顺序中第0~3个之中任一数据单元都可以被设为起始地址,在取得四个数据单元后忽略其中一个。不同起始地址会有不同的存取顺序,例如,起始地址为第0个的数据单元40,则突发访问顺序为0、1、2、3;起始地址为第l个的数据单元40,则突发访问顺序为1、2、3、0;起始地址为第2个的数据单元40,则突发访问顺序为2、3、0、1;起始地址为第3个的数据单元40,则突发访问顺序为3、0、1、2。存取二个数据单元图像处理器1存取二个数据单元时可以指定突发长度为2,突发访问顺序中第03个之中任一数据单元都可以被设为起始地址。不同起始地址会有不同的存取顺序,例如,起始地址为第0个的数据单元40,则突发访问顺序为0、1;起始地址为第l个的数据单元40,则突发访问顺序为1、起始地址为第2个的数据单元40,则突发访问顺序为2、3;起始地址为第3个的数据单元40,则突发访问顺序为3、0。存取一个数据单元图像处理器1也可以只存取一个数据单元。根据上面的举例说明,操作块也可以由N个数据单元组成,其次序分别为0至N-1,其中变量N为正整数。图5A图5E显示此操作块的映射方式。箭头表示以第O个数据单元为起始地址时,N个数据单元的突发访问顺序。N可以是存储器设备的突发操作最大长度。一般来说N为8,也就是说一次可以存取8个数据单元个数。M等于(N-2)/2。图5A及图5C为偏重于垂直方向兼顾水平方向的映射方式。图5D及图5E为偏重于水平方向兼顾垂直方向的映射方式。操作块中"0"的起点位置可以是任意位置,只要保证能维持数据单元的读取为顺时针或者逆时针的死循环顺序。这相当于把实际像素行映射到存储器存储单元的时候,起始地址可以是任意位置从0到N-1均可。图5C显示图5A调整第0个数据单元位置后的操作块。根据突发长度可以将数据单元合并,仍然形成一个死循环顺序,也就是说如果突发长度为8,我们可以把它应用为4,不过每个数据单元是原来的两倍。总之,上述方法是利用存储器数据在一个最长突发长度内首尾数据单元相连的特性,采用顺时针或者逆时针的映射方式,形成死循环,而非通常扫描映射方式,藉此以实现存储器存取效率的改善。可以经由合并存储器数据单元,使顺序方式(sequential)的存储器设置,能够适用于总线宽度是存储器单元宽度偶数倍的情况。如果将以上方法应用于H.264的运动补偿功能块,则可以使最悲观的操作块读取情况的存储器访问次数降低一倍,从而大大提高了存储器使用效率。虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属
技术领域
中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求所界定的为准。权利要求1.一种图像数据的存储器存取方法,执行于一计算机装置中,且上述计算机装置包含一存储器,其特征在于,该方法包含将一图像数据的一操作块中的复数数据单元,依照一突发访问顺序以储存于上述存储器,使上述复数数据单元可由一次突发来存取;其中上述突发访问顺序中,上述复数数据单元的第一个数据单元与最后一个数据单元在上述图像数据上相接。2.如权利要求1所述的图像数据的存储器存取方法,其特征在于,上述突发访问顺序中顺序相邻接的二个数据单元在上述操作块中的位置也相邻接。3.如权利要求2所述的图像数据的存储器存取方法,其特征在于,上述复数数据单元,依照上述突发访问顺序,以顺时钟方向分布于上述操作块中。4.如权利要求2所述的图像数据的存储器存取方法,其特征在于,上述复数数据单元,依照上述突发访问顺序,以逆时钟方向分布于上述操作块中。5.如权利要求1所述的图像数据的存储器存取方法,其特征在于,该方法还包含在上述存储器的顺序突发存取模式中,利用一次突发操作以取得上述操作块中包含上述第一个及最后一个数据单元的区域。6.如权利要求1所述的图像数据的存储器存取方法,其特征在于,该方法还包含在上述存储器的顺序突发存取^莫式中,利用一次突发操作以取得上述操作块中包含一个以上的数据单元的水平列。7.如权利要求6所述的图像数据的存储器存取方法,其特征在于,该方法还包含在上述存储器的顺序突发存取模式中,利用一次突发操作以取得上述操作块中包含一个以上的数据单元的垂直行。8.—种图像数据的存储器存取系统,其特征在于,该系统包含一存储器,用以储存数据;以及一图像处理器,将一图像数据的一操作块中的复数数据单元,依照一突发访问顺序以储存于上述存储器,使上述复数数据单元可由一次突发来存取;其中上述突发访问顺序中,上述复凄t数据单元的第一个数据单元与最后一个数据单元在上述图像数据上相接。9.如权利要求8所述的图像数据的存储器存取系统,其特征在于,上述突发访问顺序中顺序相邻接的二个数据单元在上述操作块中的位置也相邻接。10.如权利要求9所述的图像数据的存储器存取系统,其特征在于,上述复数数据单元,依照上述突发访问顺序,以顺时钟方向分布于上述操作块中。11.如权利要求9所述的图像数据的存储器存取系统,其特征在于,上述复数数据单元,依照上述突发访问顺序,以逆时钟方向分布于上述操作块中。12.如权利要求8所述的图像数据的存储器存取系统,其特征在于,在上述存储器的顺序突发存取模式中,上述图像处理器利用一次突发操作以取得上述操作块中包含上述第一个及最后一个数据单元的区域。全文摘要本发明提供一种图像数据的存储器存取方法及系统,该方法执行于一计算机装置中,且上述计算机装置包含一存储器,该方法包含下列步骤将一图像数据的一操作块中的复数数据单元,依照一突发访问顺序以储存于上述存储器,使上述复数数据单元可由一次突发来存取,其中上述突发访问顺序中,上述复数数据单元的第一个数据单元与最后一个数据单元在上述图像数据上相接。将本发明的方法应用于H.264的运动补偿功能块,则可以使最悲观的操作块读取情况的存储器访问次数降低一倍,从而大大提高了存储器使用效率。文档编号H04N7/26GK101212680SQ200610172288公开日2008年7月2日申请日期2006年12月30日优先权日2006年12月30日发明者王津福申请人:扬智科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1