在用于处理运动图像的设备中访问存储器的方法

文档序号:7666139阅读:185来源:国知局

专利名称::在用于处理运动图像的设备中访问存储器的方法
技术领域
:本发明涉及运动图像的图像处理领域(诸如,H.264和运动图像专家组-4(MPEG-4))。更详细地说,本发明涉及一种访问存储器的方法,其中由用于处理运动图像的设备处理图像,所述设备使用运动估计技术和运动补偿技术。
背景技术
:H.264或MPEG-4高级视频编码(AVC)与由国际标准化组织/国际电工委员会(ISO/IEC)MPEG建立的标准技术相应,其中ISO/IEC是国际标准化组织,并且联合视频组(JVT)是国际电信联盟-电信标准化部门视频编码专家组(ITU-TVCEG)的合伙项目。R264标准已提供区别于现有编码方案的改进的技术以便提高编码效率的级别。此外,H.264允许将编码工具(诸如,使用灵活块大小的帧内预测、环路去块效应滤波器、1/4像素运动补偿等)用作代表性技术。为了才艮据上述标准的设计/采用实时的编码器/解码器(编解码器),不仅有必要减少执行周期的数量,而且有必要最小化访问存储器的次数。由于多数视频CODEC的帧存储参考緩冲器(framestoragereferencebuffer)位于外部存储器,因此帧存储参考緩冲器相对于由CODEC执行的其他功能需要相当大量的访问时间。以下表格(表1)示出包括在H.264编码器中的每个功能模块中的相关存储器访问比率。表l<table>tableseeoriginaldocumentpage4</column></row><table>参照以上表格,W和H分别表示宽度和高度。如表1所示,通过以相对较大的访问需要比率执行运动压缩的运动补偿部分产生大部分存储器访问。具体地说,在移动环境中,因为通过减少帧间预测部分中存储器^皮访问的次数使帧间预测速率比帧内预测速率增加得更快,所以非常需要提供一种采用比目前所知的解码器更有效的解码器的方案。根据H.264中的运动压缩具有树结构的事实,单个宏块被划分为16x16、16x8、8xl6或8x8像素群,其中,在每种情况下寻找相关运动向量,并且及时在不同的时间点上预测图像值。上述处理能够具体应用在8x8大小的块被组分为8x4、4x8、4x4大小的子宏块,以便精确感测详细的运动的情况。目前,当求出1/2像素或1/4像素时,基本图像分别被放大2倍或4倍,并随后可执行运动预测。为了放大图像,在H,264中,通过使用六抽头滤波器(例如,六阶有限冲击响应(FIR)滤波器)从参考帧取回像素,并随后执行预测。图1是示出在普通运动图像处理期间进行4x4亮度帧间预测所必需的像素的示图。参照图1,在4x4大小的块(以下,称为"4x4块")的情况下,为了通过使用六抽头滤波器来求出内插像素(诸如,1/2像素或1/4像素等),除了4x4块像素之外还需要包括与相关块的上侧和下侧、以及左侧和右侧相邻的额外两个列/行或额外三个列/行。例如,在图1中,在使用六抽头滤波器的情况下,为了求出(垂直内插)将被垂直插入像素A0和Al之间的1/2像素(即,内插像素AO'),在内插中使用A—2、A—1、A0、Al、A2和A3。此时,将权重(即,六抽头滤波器的抽头值)赋给参与内插的像素。抽头数(权重)分别被设置为1、-5、20、20、-5和1。无疑地,能够以不同方法设置参与内插的像素的数量和赋给参与内插的像素的抽头数。以下表达式1示出通过使用六抽头滤波器估计1/2像素AO'的值的公式。表达式1A0,=(1xA—2-5xA—1+20xAO+20xAl-5xA2+lxA3)/32如表达式1,内插像素AO'相应于被分配适当权重的A—2、A—1、A0、Al、A2和A3的加权平均数。然而,由于在帧间预测操作期间参考緩冲器位于外部存储器,因此在该具体示例中,必要像素的数据字节应被加载到相应于内部中央处理单元(CPU)高速緩冲存储器的存储器L1和L2。此时,因为当执行一个16x16宏块的帧间预测时在最坏情况下存在个数为16的4x4块,所以总共1296(9x9x16=1296)[字节]的块应被取回以被读取。而且,在垂直内插的情况下,应对已被加载到存储器L1和L2的数据执行滤波,由于存储器的排列不是连续的,因此存储器被访问的次数增加。即,在4x4块的情况下,通过六次加载产生一个内插#_素,并且因为多于最大值20[字节]的字节不能被加载,所以大部分CPU寄存器具有数量大于20的寄存器。由于垂直内插所必需的总字节相当于36(9x4二36)[字节],所以当36[字节]被加载到寄存器从而对36[字节]执行滤波时,为两次重新加载而访问存储器,从而应通过两次加载实现滤波。结果,当考虑到寄存器被用于取回另一指令的情况时,更多重新加载需要被请求以执行该操作。相对大量的重新加载对操作所花费的时间产生负面影响。
发明内容并且本发明的示例性方面在于提供一种在运动图像处理设备中访问存储器的方法,该运动图像处理设备配备有比所述设备在运动补偿期间具有的计算性能更有效的计算性能。为了实现本发明的这些方面和其它示例性方面,^提供一种在用于处理运动图像的设备中访问存储器的方法,所述设备从外部存储器的帧緩冲器加载数据并使用运动预测技术。根据本发明一实施例,步骤可包括当在宏块的分割之后执行大小为8x8的块的帧间预测时,从帧緩冲器加载一些大小为8x8的相关块的像素和帧间预测所需要的额外像素数据。在内部高速緩沖存储器中存储大小为8x8的相关块的像素和额外像素数据,并使用存储的大小为8x8的相关块的像素和存储的额外像素数据;以及在大小为8x8的相关块和子块的帧间预测期间重复使用存储在高速緩冲存储器中的存储的大小为8x8的相关块的像素以及额外像素数据。通过结合附图进行的以下详细描述,本发明的上述和其它示例性特点的示例、方面和优点将会变得更加清楚,附图被提供以示出本发明的特定示例性方面以及各种各样的配置,其中图1是示出在普通运动图像处理期间4x4亮度帧间预测所必需的像素的示图;图2是示出在普通运动图像处理期间产生用于4x4亮度帧间预测的1/2像素和1/4像素的方案的示图;图3是示出在普通运动图像处理期间4x4亮度帧间预测所必需的读出像素的示图;图4是示出在图3示出的亮度帧间预测期间使用六抽头滤波器产生垂直内插像素的方案的示图;图5是示出根据本发明示例性实施例在运动图像处理期间用于4x4亮度帧间预测的像素的范围的示图;图6是示出根据本发明示例性实施例在运动图像处理期间产生用于4x4亮度帧间预测的内插像素的方案的示图;图7是示出本发明示例性实施例可被应用的多个运动图像处理设备中的一个的配置的框图;以及图8是应用本发明示例性实施例的CPU的硬件示图。具体实施方式以下,参照附图描述本发明示例性实施例,提供本发明示例性实施例的目的是说明性的而不是限制性的。尽管在不同附图中示出相同的部件,但是在下面的整个描述和附图中,由相同标号指定所述相同的部件。另外,在本发明的以下描述中,当合并于此的已知功能和配置的详细描述会通过背景信息混淆本发明的主题时,将省略对它们的详细描述。图2是示出在普通运动图像处理期间产生用于4x4亮度帧间预测的1/2像素和1/4像素的方案的示图。首先,将参照图2具体描述代表性技术。如图2所示,在通过使用六抽头滤波器执行1/2像素和1/4像素内插的情况下,首先,在水平方向和垂直方向执行1/2像素(例如,b、h、j、m、s等)内插之后,产生1/4像素(a、c、d、e、f、g、1、k等)内插以提供运动向量。图3是示出在普通运动图像处理期间4x4亮度帧间预测所必需的读出像素的示图。如图3所示,可以理解为了内插单个4x4块的像素,除4x4块的原始像素之外,读出包括附加像素和除所述附加像素之外在加载附加像素的同时被加载的像素的9x9块的像素。在现有技术配置中,每当处理相关4x4块时,从外部存储器加载9x9块的像素,在存储器L2中存储9x9块的像素,并处理9x9块的像素。因此,可以理解从外部存储器加载的数据的总量为9x9x4=324[字节]。图4是示出在图3示出的亮度帧间预测期间使用六抽头滤波器产生垂直内插像素的方案的示图。参照图4,在水平方向的数据从存储在存储器L2中的9x9块加载到寄存器的情况下,因为存储器跨距(stride)是连续的,所以在按照字(word)执行加载之后,CPU或数字信号处理器(DSP)可实施"乘力口法(MultiplyandAccumulate,MAC)"运算。此外,在加载垂直方向的数据的情况下,存储器的地址以每个跨距被移动,垂直方向的数据以字节被读入,并且MAC运算应被执行。为了基于算法执行这些功能,在4x4块的情况下必须执行36(4x9=36)次存储器访问。实际上,如图4所示,通过96(6x4x4=96)次访问存储器L2来执行MAC运算。而且,为了在外部存储器中存储从相关计算的结果产生的4x4内插像素,总共16(4x4=16)次操作是必要的。在前述的在垂直方向内插像素的方案中,因为在基本执行6次从存储器L2的加载操作之后执行MAC运算,所以每周期的MAC运算的数量减少,从而导致系统的性能下降。然而,根据本发明,在亮度帧间预测期间访问外部存储器所需的次数减少的同时,能够使存储器被访问的次数最小以便促进实时H.264解码器的实施例。通过在垂直方向产生内插像素期间从存储器L2读出不连续字节来改变间预测的代表性方法中,在计算滤波之后将计算的滤波存储在外部存储器中。以下,将参照附图对减少/最小化存储器被访问的次数以及实时H.264解码器的实施例进行描述。图5是示出根据本发明示例性实施例在运动图像处理期间用于4x4亮度帧间预测的像素的范围的示图。参照图5,根据本发明,当在执行16x16、8xl6和16x8块的帧间预测之后执行8x8块的帧间预测时,不仅8x8块的像素被加载到内部高速緩冲存储器(即,存储器L2),而且额外像素数据也被加载到内部高速緩冲存储器。此外,被加载的数据被存储在内部高速緩沖存储器,并且重新加载的数据的^皮重复使用以执行8x4、4x8和4x4块的帧间预测。换句话说,根据本发明,对于8x8块和8x8块的子块的帧间预测,从外部存储器的帧緩沖器仅加载总量为169(13x13=169)[字节]的数据,并且使用加载的数据。如图5所示,在本发明中,对于单个8x8块的帧间预测,除原始8x8块的像素之外,读出包括附加像素和除附加像素之外在加载附加像素的同时被加载的像素的13x13块的像素,并且在帧间预测期间按照这些像素中来自8x8块的像素的4x4块来重新使用多个像素。当在帧间预测模式中通过树结构执行16x16、8x16、16x8和8x8块的帧间预测时,在8x8块的情况下,存在与包括4x8、8x4和4x4块的三个子块相关的帧间预测模式。在现有方案中,在解码器接收七种具有树结构的模式之后,执行内插操作。对照在图4中的叙述,其中,在与小于8x8大小块的块相关的四种模式期间从外部帧緩冲器独立地读出相关块像素数据,在本发明中,8x8块大小以及额外像素数据被加载,因此,在内插操作期间数据加载任务可减少大约49%。图6是示出根据本发明示例性实施例在运动图像处理期间产生用于4x4亮度帧间预测的内插像素的示例性方案的示图。参照图6,根据本发明示例性实施例的垂直内插不执行通过按照字节从存储器L2加载被加载到存储器L2的13x13块的像素数据中的相关4x4块的像素以及相关4x4块的附加像素中的纵列(file)^隊素来采用FIR滤波器的方案。相反,在该示例性实施例中,滤波器的系数与滤波器分离。随后,实现以字来加载相关4x4块的像素数据,从而可完成同步任务。即,如图6所示,在存储器跨距连续的存储器L2的一部分以字(即,4[字节])被读入到寄存器之后,由寄存器通过字节中的打包(packing)任务,将第一加载字、第二加载字分别加载到寄存器。/。rO、。/。rl等,如图6所示,权重分配给每个加载字,并且加权的加载字根据以下顺序被累加。内插的第一垂直像素=%1"0-5xo/orl+20x%r2+20x%r3-5x%r4+%r5在整个任务中,按照顺序将最开始的六个纵列字加载到六个寄存器,实现在寄存器中的打包任务,并且从结果产生的四个字节的顺续数据中的每个字节相应于在4x4内插像素中第一行的四个像素中的每一像素。即,在从存储器L2加载字(6次)之后,同时产生四个内插像素。因此,该任务被执行四次,并且产生所有4x4内插像素。按照这种方式产生的4x4内插像素现在能够通过总共执行四次的任务以字被存储在外部存储器的帧緩冲器中。图7是示出本发明示例性实施例可被应用的运动图像处理设备的配置的框图。参照图7,解码器设备被配置以按照与编码器设备中的编码过程相反的顺序执行过程。首先,熵解码模块111按照宏块对视频编码层(VCL)和网络提取层(NAL)的比特流进行熵解码。在VCL和NAL中,单个帧被分割为多个像条(slice),—个像条由像条头和数据字段组成,并且每个像条数据可典型地包括至少一个宏块。反量化和逆变换模块113在对熵解码数据编码的同时例如对量化的离散余弦变换(DCT)系数进行反量化和恢复,并且在编码期间将离散余弦变换的数据变换为原始数据。变换的数据被提供给预测模块115,并通过数据总线100存储在存储器119中。根据上述有关本发明的某些示例性方面,预测模块115根据帧内预测模式或帧间预测模式对输入的宏块执行运动补偿,并恢复与当前宏块连接的原始图像。恢复的结果被提供到去块效应滤波器模块117,并随后通过数据总线100存储在外部存储器119的帧缓冲器中。该预测模块115执行帧内预测和帧间预测,并执行根据本发明的亮度帧间预测。去块效应滤波器模块in执行去块效应滤波,以便消除在恢复的图像上的块之间的块效应,去块效应滤波的结果被输出到后端,同时,去块效应滤波的结果被存储在外部存储器119中。以下将描述如在本发明中公开并被配置以操作上述过程的示例性实施例的优点和效果。图8是应用本发明示例性实施例的CPU的硬件示图。参照图8,在CPU(210)中包括寄存器(212)和高速緩冲存储器(214),即,Ll和L2,其中,高速緩冲存储器(214)从外部存储器(220)的帧緩沖器加载与宏块相关的像素数据。如上所述,在根据本发明的用于处理运动图像的设备和方法中,访问存储器的方案能够减少/最小化在运动补偿的操作期间存储器被访问的次数,这促使该设备配备有更有效的计算性能,从而可在实际中实现实时的H.264解码器(所述实时的H.264解码器目前尚属未知)。如上所述,在根据本发明的示例性实施例的用于处理运动图像的设备中,可实现用于访问存储器的改善性能,从而减少并降低处理运动图像所需要的时间。尽管参照本发明特定示例性实施例示出和描述本发明,但是本领域技术人员将理解在不脱离本发明的精神和范围的情况下,可对其进行形式和细节上的各种改变。因此,本发明的精神和权利要求的范围不必被定义和限定在描述的本发明示例性实施例。权利要求1、一种由用于处理运动图像的设备访问存储器的方法,所述设备从外部存储器的帧缓冲器加载数据并使用运动预测技术,所述方法包括步骤在宏块分割之后执行8×8大小的块的帧间预测的同时,从帧缓冲器加载帧间预测所必需的8×8大小的相关块的像素和额外像素数据,在内部高速缓冲存储器中存储8×8大小的相关块的像素和额外像素数据,并使用存储的8×8大小的相关块的像素以及存储的额外像素数据;以及在8×8大小的相关块和子块的帧间预测期间,重复使用存储在高速缓冲存储器中的存储的8×8大小的相关块的像素和存储的额外像素数据。2、如权利要求1所述的方法,其中,在8x8大小的块的子块中的4x4大小的块的帧间预测期间执行垂直内插的同时,被存储在高速緩冲存储器中的用于垂直内插的4x4大小的相关块的像素和相关块的像素的额外像素中,在将存储器跨距连续的一部分高速緩冲存储器按照指定的范围以4字节的字分别读入到寄存器之后,在寄存器的字节中的打包任务被执行,并且同时产生在4x4大小的内插像素中一行的4个内插像素。3、如权利要求2所述的方法,其中,在被存储在高速緩沖存储器中的用于垂直内插的4x4大小的相关块的像素和相关块的像素的额外像素中,将存储器跨距连续的所述一部分高速緩冲存储器按照指定的范围以4字节的字读入到寄存器的步骤与将第一、第二、第三、第四、第五和第六加载字加载到%r0、%rl、%r2、%r3、%r4和。/。r5寄存器的处理相应,并且基于以下表达式2执行在寄存器的字节中的打包任务表达式2%r0_5x%rl+20x%r2+20x%r3-5x%r4+%r5。4、如权利要求1至3的任何一个所述的方法,其中,8x8大小的块的像素和额外像素数据与13x13大小的块的像素数据相应。5、一种由用于处理运动图像的设备访问存储器的方法,所述设备将数据从外部存储器的帧緩冲器加载到内部高速緩冲存储器,并使用运动预测技术,所述方法包括步骤在宏块的分割之后执行4x4大小的块的帧间预测的同时,预先从帧緩冲器至少加载帧间预测所必需的4x4大小的相关块的像素和额外像素数据,并在内部高速緩冲存储器中存储4x4大小的相关块的像素和额外像素数据,并使用存储的4x4大小的相关块的像素和存储的额外像素数据;在被存储在高速緩冲存储器中的用于垂直内插的4x4大小的相关块的像素和相关块的像素的额外像素中,将存储器跨距连续的一部分高速緩冲存储器按照指定的范围以4字节的字分别读入到寄存器;以及执行在寄存器的字节中的打包任务,并同时产生在4x4大小的内插像素中一行的四个内插像素。6、如权利要求5所述的方法,其中,在被存储在高速緩冲存储器中的用于垂直内插的4x4大小的相关块的像素和相关块的像素的额外像素中,将存储器跨距连续的所述一部分高速緩冲存储器按照指定的范围以4字节的字分别读入到寄存器的处理与将第一、第二、第三、第四、第五和第六加载字加载到。/。r0、%rl、%r2、%r3、%r4和。/。r5寄存器的步骤相应,并且基于以下表达式2执行在寄存器的字节中的打包任务表达式2<formula>formulaseeoriginaldocumentpage3</formula>全文摘要一种用于访问用于处理运动图像的存储器的方法,所述方法从外部存储器的帧缓冲器加载数据并使用运动预测技术。所述方法包括步骤在宏块分割之后执行8×8大小的块的帧间预测的同时,从帧缓冲器加载帧间预测所需要的8×8大小的相关块的像素和额外像素数据,在内部高速缓冲存储器中存储8×8大小的相关块的像素和额外像素数据。存储的8×8大小的相关块的像素以及额外像素数据被使用;并随后在8×8大小的相关块和子块的帧间预测期间,重新使用存储在高速缓冲存储器中的存储的8×8大小的相关块的像素和存储的额外像素数据。文档编号H04N7/32GK101166277SQ200710180899公开日2008年4月23日申请日期2007年10月19日优先权日2006年10月20日发明者吴润济,周永勋,崔光杓,金汉相,金赞烈申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1