外部存储装置、存储图像数据的方法及图像处理器的制作方法

文档序号:7973429阅读:291来源:国知局
专利名称:外部存储装置、存储图像数据的方法及图像处理器的制作方法
技术领域
与本发明一致的设备和方法涉及存储图像数据,并且,更具体地,涉及外部存储装置、用于该外部存储装置的存储图像数据的方法、以及使用该方法来改善图像编码和/或解码速度的图像处理器。
背景技术
在诸如运动图像专家组(MPEG)-1、MPEG-2、MPEG-4视觉(Visual)、H.261、H.263、以及H.264标准的视频压缩标准中,将输入图像划分为16×16个宏块。在以帧间预测(interprediction)的所有编码模式和帧内预测(intraprediction)的所有编码模式编码每个宏块之后,比较编码宏块所需的比特率和编码模式的速率失真(RD)代价。然后根据比较的结果选择适合的编码模式并以所选编码模式编码宏块。在帧间预测中,以宏块为单位执行运动估计和运动补偿,以使用视频帧之间的相似性来在时间上减小冗余分量。
图1为相关技术的视频编码器10的框图。
参照图1,视频编码器10包括外部存储器11、压缩单元12、以及输出缓冲器13。
外部存储器11存储外部输入的图像、以及在通过压缩单元12而被压缩编码之后重构的先前帧的图像。
在帧间预测中,压缩单元12通过以宏块为单位,对输入图像执行运动估计、运动补偿、量化、离散余弦变换(DCT)、以及熵编码,而压缩输入图像。更具体地,压缩单元12通过在存储在外部存储器11中的先前帧中搜索与当前宏块最相似的区域、并计算运动向量,而执行运动估计。另外,压缩单元12通过使用通过运动估计得到的所计算的运动向量、从存储在外部存储器11中的先前帧的图像读取与当前宏块最相似的区域、并从当前宏块中减去所读取的区域以生成剩余数据,而执行运动补偿。压缩单元12可具有嵌入在其中的独立的本地存储器,用来存储用于运动估计和补偿的先前帧的图像数据,但是,由于其嵌入存储器的大小的限制,通常,压缩单元12从具有大容量的外部存储器11读取所需的先前帧的图像数据。
输出缓冲器13可通过先进先出(FIFO)存储器而被实现,并且,作为输出位流而输出由压缩单元12压缩的图像。
图2为用于说明图1的视频编码器10的外部存储器11中的图像数据的存储的图。
参照图2,将作为编码或解码的单位的宏块的行中的像素存储在外部存储器11的行中。例如,将宏块的行中的16个像素存储在与地址x0001_0000相对应的外部存储器11的行中。当单个像素所需的位数为8时,将128位图像数据存储在外部存储器11的行中。
如上所述,当图1的视频编码器10的压缩单元12执行运动补偿时,压缩单元12从外部存储器11读取由通过运动估计得到的运动向量指示的先前数据的图像数据。根据H.264标准,将宏块划分为16×8、8×16、8×8、或4×4块,用于运动补偿。换句话说,将每个宏块划分为各种大小的子块,用于运动补偿。这样的运动补偿被称为树形结构运动补偿。
当压缩单元12使用树形结构运动补偿对4×4块执行运动估计和补偿时,从外部存储器11读取与4×4块相对应的先前帧的图像数据所需的时间Tc如下Tc=(总线接口开销处理时间+传送时间)×(从外部存储器读取的总行数)总线接口开销处理时间是访问外部存储器11的一行以及访问外部存储器11的另一行之间的等待时间(latency)。在外部存储器11是动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、或双数据速率(DDR)SDRAM时,可能出现总线接口开销处理时间。换句话说,由于针对于每个预定读取单元而作出对外部存储器11的访问,所以,在预定读取单元改变时,出现预定等待时间。在图2中,假定总线接口开销处理时间为7个时钟周期。
通过将要从外部存储器11的行读取的数据的位数除以总线带宽,而得到传送时间。总线带宽与在单个时钟周期期间可通过外部存储器11和压缩单元12之间的数据传送路径(即,总线)传送的位数相关。假定总线带宽为32位。由此,当要从外部存储器11的行读取4个像素(即,4字节(32位)图像数据)时,传送时间是32/32,即,1个时钟周期。
图3为示出从外部存储器11读取图像数据、并执行运动补偿所需的时间的相关技术的时序图。
当将先前帧的图像数据存储在外部存储器11中时,压缩单元12访问外部存储器11四次,以读取与4×4当前子块相对应的存储在外部存储器11中的先前帧的图像数据。这是因为,4×4当前子块的每行的图像数据被存储在外部存储器11的不同行中。在此情况下,如下计算读取4×4当前子块所引用的先前帧的4×4图像数据所需的总读取时钟周期Tc1Tc1={(7+1)×4}=32cc(时钟周期)如上所述,总线接口开销处理时间是7cc,读取存储在外部存储器11的行中的4个像素所需的传送时间是1cc,并且,读取先前帧的4行的图像数据需要对外部存储器11进行4次访问。
从以上等式中可以看出,提取与在一个宏块中包括的16个4×4块相对应的先前帧的图像数据需要,16×Tc1,即,512cc。当针对于单个4×4块的运动补偿所需的时间是9cc、且可与读取操作并行地执行运动补偿时,如图3所示,从外部存储器11读取用于在单个宏块中包括的16个4×4块的运动补偿的图像数据、并执行运动补偿所需的时间是521cc。
根据相关技术,当以从宏块划分的4×4块为单位执行运动补偿时,将宏块的行中的像素存储在外部存储器11的不同行中。结果,读取用于每个4×4块的运动补偿的先前帧的图像数据需要对外部存储器11的至少四次访问,这增加了图像的压缩编码所需的整体处理时间。

发明内容
本发明的示范实施例克服了以上缺点和未描述的其它缺点。并且,本发明不需要克服上述缺点,并且,本发明的示范实施例可以不克服上述任何问题。
本发明提供了外部存储装置、用于该外部存储装置的存储图像数据的方法、以及使用该方法的图像处理器,其中,可通过使对存储图像处理中的参考帧的外部存储器的访问次数最小,而减小对图像进行压缩编码和/或解码所需的时间。
本发明还通过使对外部存储器的访问次数最小,而减小操作频率和功耗量。
根据本发明的一方面,提供了将用于图像的压缩编码和/或解码的图像数据存储在外部存储器中的方法。该方法包括将在从宏块划分的预定大小的子块中包括的图像数据形成至少一个数据存储单位;以及将数据存储单位存储在外部存储器中。
根据本发明的另一方面,提供了存储用于图像的压缩编码和/或解码的图像数据的外部存储装置。该外部存储装置存储作为至少一个数据存储单位的图像数据,在根据作为用于图像的压缩编码和/或解码的处理单位的单位块划分的预定大小的子块中包括该图像数据。
根据本发明的另一方面,提供了对图像进行压缩编码和/或解码的图像处理器。该图像处理器包括外部存储器、存储器控制单元、以及图像处理单元。外部存储器存储外部输入的图像数据、以及先前处理的参考帧的图像数据。存储器控制单元将在从宏块划分的预定大小的子块中包括的图像数据形成至少一个数据存储单位,并控制针对每个数据存储单位而向外部存储器写入、或从外部存储器读取图像数据。图像处理单元将用于图像数据的请求传送到存储器控制单元,接收在存储器控制单元的控制下读取的图像数据,并对图像执行编码和/或解码。


通过参照附图而详细描述本发明的示范实施例,本发明的以上和其它方面将变得更为清楚,附图中图1为相关技术的视频编码器的框图;图2为用于说明相关技术的视频编码器的外部存储器中的图像数据的存储的图;图3为示出从相关技术的视频编码器的外部存储器读取图像数据、并执行运动补偿所需的时间的时序图;图4为根据本发明的示范实施例的图像处理器的框图;图5图解了根据本发明的示范实施例的存储4×4个子块的图4的外部存储器的结构;图6图解了根据本发明的示范实施例的存储8×8个子块的图4的外部存储器的结构;图7为作为图4的图像处理单元的示范实施例的视频编码器的框图;图8为示出根据本发明的示范实施例的从外部存储器读取图像数据、并执行运动补偿所需的时间的时序图;以及图9为图解根据本发明的示范实施例的将图像数据存储在外部存储器中的方法的流程图。
具体实施例方式
下文中,将通过参照附图来描述本发明的示范实施例。
图4为根据本发明的示范实施例的图像处理器的框图。
参照图4,图像处理器包括外部存储器400、存储器控制单元520、以及图像处理单元530。存储器控制单元520、以及图像处理单元530可被包括在单个片上系统(SOC)500中。图像处理器具有通过存储器控制单元520的与外部存储器400的相互数据接口的结构。执行运动估计、运动补偿、离散余弦变换(DCT)、量化和熵编码的视频编码器、或者通过利用编码的逆过程处理图像数据而执行解码的视频解码器可用于图像处理单元530。
图像处理单元530将关于读取或写入图像数据的编码或解码所需的图像数据的请求传送到存储器控制单元520。
存储器控制单元520响应于该请求控制以预定数据单位向外部存储器400写入图像数据、或从外部存储器400读取图像数据的操作。更具体地,存储器控制单元520将在从宏块划分的预定大小的子块中包括的图像数据形成外部存储器400中的单个数据存储单位,并且,控制写入和读取操作,以便以被包括在外部存储器400的单个数据存储单位中的方式提供在子块中包括的图像数据。这样,存储器控制单元520减小了在图像处理单元530以子块为单位执行运动估计和运动补偿时对外部存储器400的访问次数。这里,单个数据存储单位涉及与外部存储器400的一个地址相对应的读取单元,并可为外部存储器400的单个行。
图5图解了根据本发明的示范实施例的存储4×4个子块的图4的外部存储器400的结构。在图5中,M1至M64各自指示4×4子块的行,即,4个像素。另外,假定可在外部存储器400的行中存储的数据大小为16字节。
参照图5,将从宏块划分的预定大小的子块存储在外部存储器400的单个行中。更具体地,将4×4块的4行连续地存储在与单个地址相对应的外部存储器400的行中。例如,将在宏块的左上角的4×4子块的4行M1、M2、M3和M4连续地存储在外部存储器400的行A1中。这里,假定与行A1相对应的地址为x0001_0000。如上所述,根据相关技术,将宏块的行而不是子块的行存储在外部存储器的行中。换句话说,根据相关技术,将M1、M5、M9和M13的像素存储在外部存储器400的行中,即,单个读取单元中。
通常,图像处理中的运动估计和运动补偿需要最大的计算和存储器访问。当根据本发明的示范实施例、使用外部存储器400对4×4子块执行运动补偿时,可通过仅读取存储在外部存储器400的行中的图像数据,而提取4×4子块的运动补偿所需的参考帧的图像数据,而不需要如相关技术中那样读取存储在外部存储器400的4行中的图像数据,由此,减小了对外部存储器400的访问次数。
当可被存储在外部存储器400的行中的数据大小改变时,可通过将4×4子块的图像数据连续地存储在外部存储器400中,而减小对外部存储器400的访问次数。
图6图解了根据本发明的示范实施例的存储8×8个子块的图4的外部存储器400的结构。在图6中,N1至N32各自指示8×8个子块的行,即,8个像素。
参照图6,将从宏块划分的8×8子块的像素存储在外部存储器400的连续行B1至B4中。在图6中,假定可被存储在外部存储器400的单个行中的数据大小为16字节。在此情况下,将8×8子块的8行中的两个存储在外部存储器400的行(即,与单个地址相对应的单个数据存储单位)中。例如,将宏块的左上角的8×8子块的N1和N2存储在外部存储器400的第一行B1中,将N3和N4存储在外部存储器400的第二行B2中,将N5和N6存储在外部存储器400的第三行B3中,并且,将N7和N8存储在外部存储器400的第四行B4中。这样,将8×8子块的8行N1至N8中的像素存储在外部存储器400的4行B1至B4中。如上所述,由于根据现有技术将宏块的行存储在外部存储器的行中,所以,应当读取至少8行的图像数据,以读取存储在外部存储器中的8×8子块的图像数据。然而,根据本发明,可通过读取外部存储器的4行中的图像数据,而读取8×8块的运动估计和运动补偿所需的参考帧的图像数据。
这样,即使在不能将在从宏块划分的8×8子块中包括的图像数据存储在外部存储器400的行中时,也将其形成为至少一个数据存储单位,并存储在外部存储器400的连续行中,由此,减小了为了读取8×8子块的运动估计和运动补偿所需的参考帧的图像数据而访问外部存储器400的次数。
图7为作为图4的图像处理单元530的例子的视频编码器的框图。
参照图7,图像处理单元530包括运动估计单元531、运动补偿单元532、变换单元533、量化单元534、重新配置单元535、熵编码单元536、逆量化单元537、逆变换单元538、滤波器539、第二本地存储器540、以及帧内预测单元541。运动估计单元531可包括用来暂时存储用于运动估计的图像数据的第一本地存储器531a。
对于帧间预测,运动估计单元531在参考画面中搜索当前宏块的预测值。为得到运动估计所需的参考帧的图像数据,运动估计单元531从第二本地存储器540读取所需的图像数据,或将关于所需图像数据的请求传送到存储器控制单元520。这里,参考帧可为过去或将来的帧、或者先前编码并传送的帧。
运动估计单元531在参考帧的区域中搜索匹配预定大小的块的区域。在根据H.264标准的树形结构运动补偿的情况下,预定大小的块可为从宏块划分的16×8、8×16、8×8、或4×4块。更具体地,运动估计单元531比较当前帧的预定大小的当前块以及从当前块延伸的预定搜索区域中的块,以搜索最佳匹配区域。这里,运动估计单元531选择这样的候选区域作为最佳匹配区域,该候选区域使通过从当前块中减去该候选区域而得到的剩余能量最小。作为运动估计的结果,计算指示最佳匹配区域的位置的运动向量。
运动补偿单元532通过使用运动向量、从当前块中减去从参考帧提取的最佳匹配区域,而生成余数(residue)。由于将数据以预定大小的块为单位存储在根据本发明的示范实施例的外部存储器400中,所以,可减小运动补偿单元532访问外部存储器400的次数。
通过运动补偿生成的余数通过变换单元533和量化单元534而被变换和量化。量化的余数通过重新配置单元535,以被熵编码单元536编码。为了得到用于帧间预测的参考画面而被量化的画面通过逆量化单元537和逆变换单元538,由此,重构当前画面。重构的当前画面通过执行解块滤波的滤波器539,并被存储在第二本地存储器540或外部存储器400中,以用于帧间预测,即,下一个画面的运动估计和运动补偿。
图8为示出根据本发明的示范实施例的从外部存储器400读取图像数据、并执行运动补偿所需的时间的时序图。
图像处理单元530可通过对外部存储器400的单次访问,而读取与4×4当前子块相对应的参考帧的图像数据。
根据本发明的示范实施例而从外部存储器400读取先前帧的4×4图像数据所需的总读取时钟周期Tc2如下Tc2=7+4=11cc,其中,7cc是总线接口开销处理时间,而4cc是在总线带宽是32位时、读取与存储在外部存储器400的行中的16个像素相对应的128位所需的传送时间。由此,提取与在单个宏块中包括的16个4×4子块相对应的参考帧的图像数据需要16×Tc2,即176cc。当单个4×4子块的运动估计所需的时间是9cc、且可与读取操作并行地执行运动补偿时,如图8所示,从外部存储器400提取用于在单个宏块中包括的16个4×4子块的运动补偿的图像数据、并执行运动补偿所需的时间是185cc。由此,可以看到,与图3中图解的现有技术相比,处理速度改善了约50%。
图9为图解根据本发明的示范实施例的将图像数据存储在外部存储器400中的方法的流程图。
参照图9,在操作910中,存储器控制单元520将在从先前处理的参考帧的图像数据的宏块划分的预定大小的子块中包括的图像数据形成至少一个数据存储单位。
在操作920中,存储器控制单元520将数据存储单位存储在外部存储器中,以控制根据图像处理单元530的请求、针对每个预定大小的子块而写入或读取图像数据。
根据本发明的示范实施例,当提取用于从宏块划分的预定大小的子块(例如,4×4子块)的运动估计和运动补偿的参考帧的图像数据时,可减小对外部存储器的访问次数,并且,由此,可减小用于图像处理的计算量和功耗量。具体地,根据本发明的示范实施例的外部存储装置防止总线接口的过度开销,并且在应用于使用流水线方法的运动估计和运动补偿模块时,减小了用于运动估计和运动补偿的计算量和功耗量,由此,减小了图像编码或解码所需的处理时间。
如上所述,根据本发明的示范实施例,可减小在图像处理中对外部存储器访问的次数,由此,减小了图像处理中的计算量和功耗量。
此外,根据本发明的示范实施例,可优化外部存储器和图像处理单元之间的总线带宽的使用。
还可作为计算机可读记录介质上的计算机可读代码来实现本发明。计算机可读记录介质是可存储之后可由计算机系统读取的数据的任意数据存储装置。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置、以及载波。计算机可读记录介质还可在与计算机系统耦接的网络上分布,以便以分布式方式存储并执行计算机可读代码。
尽管已通过参照本发明的示范实施例而具体示出并描述了本发明,但本领域的技术人员将理解,可在其中作出各种形式和细节上的改变,而不会背离如由所附权利要求定义的本发明的精神和范围。
权利要求
1.一种将用于图像的压缩编码或解码的图像数据存储在存储器中的方法,该方法包括将在从宏块划分的子块中包括的图像数据形成至少一个数据存储单位;以及将数据存储单位存储在存储器中。
2.如权利要求1所述的方法,其中,通过连接子块的行而形成数据存储单位。
3.如权利要求1所述的方法,其中,将数据存储单位存储在与单个地址相对应的存储器的单个行中。
4.如权利要求1所述的方法,其中,子块是4×4子块和8×8子块中的一个。
5.如权利要求1所述的方法,其中,图像数据指示图像的像素的像素值。
6.如权利要求1所述的方法,其中,从用于子块的运动估计和运动补偿的参考帧导出图像数据。
7.一种存储用于图像的压缩编码或解码的图像数据的存储装置,其中,该存储装置存储作为至少一个数据存储单位的图像数据,在根据作为用于图像的压缩编码或解码的处理单位的单位块划分的子块中包括该图像数据。
8.如权利要求7所述的存储装置,其中,通过连接子块的行而形成数据存储单位。
9.如权利要求7所述的存储装置,其中,将数据存储单位存储在与单个地址相对应的存储器的单个行中。
10.如权利要求7所述的存储装置,其中,子块是4×4子块和8×8子块中的一个。
11.如权利要求7所述的存储装置,其中,图像数据指示图像的像素的像素值。
12.如权利要求7所述的存储装置,其中,从用于子块的运动估计和运动补偿的参考帧导出图像数据。
13.一种对图像进行压缩编码或解码的图像处理器,该图像处理器包括存储器,其存储外部输入的图像数据、以及先前处理的参考帧的图像数据;存储器控制单元,其将在从宏块划分的子块中包括的图像数据形成至少一个数据存储单位,并控制针对每个数据存储单位而向存储器写入、或从存储器读取图像数据;以及图像处理单元,其将关于图像数据的请求传送到存储器控制单元,接收在存储器控制单元的控制下读取的图像数据,并对图像执行编码或解码。
14.如权利要求13所述的图像处理器,其中,通过连接子块的行而形成数据存储单位。
15.如权利要求13所述的图像处理器,其中,将数据存储单位存储在与单个地址相对应的存储器的单个行中。
16.如权利要求13所述的图像处理器,其中,子块是4×4子块和8×8子块中的一个。
17.如权利要求13所述的图像处理器,其中,图像数据指示图像的像素的像素值。
18.如权利要求13所述的图像处理器,其中,从用于子块的运动估计和运动补偿的参考帧导出图像数据。
全文摘要
提供了外部存储装置、用于该外部存储装置的存储图像数据的方法、以及使用该方法来改善图像编码和/或解码速度的图像处理器。该方法包括将在从宏块划分的预定大小的子块中包括的图像数据形成至少一个数据存储单位;以及将数据存储单位存储在外部存储器中。
文档编号H04N7/24GK1937773SQ200610159509
公开日2007年3月28日 申请日期2006年9月25日 优先权日2005年9月23日
发明者李映燮, 全钟求, 沈优星, 姜羽锡, 俞基源 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1