CN100405853C - 动态图像编码装置及动态图像处理装置 - Google Patents
动态图像编码装置及动态图像处理装置 Download PDFInfo
- Publication number
- CN100405853C CN100405853C CNB2005100529834A CN200510052983A CN100405853C CN 100405853 C CN100405853 C CN 100405853C CN B2005100529834 A CNB2005100529834 A CN B2005100529834A CN 200510052983 A CN200510052983 A CN 200510052983A CN 100405853 C CN100405853 C CN 100405853C
- Authority
- CN
- China
- Prior art keywords
- dynamic
- mentioned
- macroblock
- detection
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明旨在动态图像的编码处理中减少数据传送量的同时进行适当的编码处理。在动态图像处理装置(1)中,对整体上管理动态图像的编码或解码处理的处理器(10),附加了处理大运算量的动态检测的协处理器即动态检测/动态补偿处理部(80),并具有通过交织被多个存储器访问的缓冲器。另外,设有将动态检测处理时读取图像数据的步骤设成规定方式、同时对读入的图像数据进行精简时也能适当对应的部件。根据这种结构,本发明的动态图像处理装置可在动态图像的编码处理中减少数据传送量,并进行适当的编码处理。
Description
技术领域
本发明是涉及对动态图像进行编码处理的动态图像编码装置以及对动态图像进行编码或解码处理的动态图像处理装置。
背景技术
近年,在利用网络的动态图像传送、地面数字广播或以数字数据方式存储动态图像等场合,利用了动态图像的编码/解码技术。
进行这种动态图像的编码处理时,往往需要进行高负荷处理,特别是在动态检测中,存在如何进行模块匹配(block matching)以及与之相伴的来自帧存储器的数据传输的问题。
针对上述问题,一直以来提出了各种技术方案,例如在特开平6-113290号公报中公开了这样的技术:在动态检测处理中,为了减少运算量,并不对全部的像素进行取得编码对象的图像和被参考图像之间的差分绝对值总和的运算,而是对缩小到1/2大小的图像进行运算。
根据特开平6-113290号公报中记载的技术,取得差分绝对值总和的运算量是按照图像的缩小率而减少,因此可以减少运算处理量和运算处理时间。
另外,进行如上所述的动态图像的编码/解码处理时,可通过软件进行处理,但是为了实现处理的高速化等,其一部分处理则通过硬件进行。在动态图像的编码/解码处理中,由于高负荷的运算很多,可通过硬件进行其一部分处理的来使编码/解码处理顺畅。
通过特开2001-236496号公报中记载的技术,知道一种利用硬件进行一部分动态图像的编码处理的技术。
在特开2001-236496号公报中记载的技术中,对处理器内核附加有效率地进行运算(特别是动态检测处理)的图像处理周边装置而构成。通过该图像处理周边电路,可以有效率地进行大运算量的图像处理,并能提高处理能力。
发明内容
然而,在特开平6-113290号公报中记载的技术中,由于缩小了取得差分绝对值总和的图像,存在降低动态图像被解码时的图像质量的可能性。
另外,在已知的其他现有技术中,也难以在动态图像编码处理中做到减少数据传输量的同时进行适当的编码处理(即,防止图像质量下降而能有效率地进行处理)。
还有,如上述那样利用硬件进行一部分处理时,由于需要软件和硬件之间的协作,只有容易硬件化的处理才通过硬件进行。
另一方面,使用二维存取存储器的场合以及使软件的数据接口和硬件的数据接口匹配的同时,将处理的一部分硬件化则较为困难。
还有,特开2001-236496号公报中记载的技术中,虽然其构成适合动态检测处理,但并没有说明预测图像或差分图像的生成以及将这些图像转送到处理器的本地存储器的功能等,在这点上并不能充分改善动态图像的编码/解码处理性能。
这样,由于不能实现软件与硬件之间的高度协作,难以低成本且低耗电并有效率地进行动态图像的编码/解码处理。
本发明的第一课题是在动态图像的编码处理中减少数据传送量的同时进行适当的编码处理。另外,本发明的第二课题是实现软件与硬件之间的高度的协作,同时低成本且低耗电并有效率率地进行动态图像的编码或解码处理。
为解决上述第一课题,本发明是一种对动态图像数据进行包含动态检测处理的编码处理的动态图像编码装置,其特征在于设有:将一个成为构成动态图像的帧的编码对象的宏模块存储的编码图像用缓冲器(例如,图3中的编码对象原始图像缓冲器208),在上述动态图像数据的参考帧中存储成为动态检测搜索区域的规定范围内的动态图像数据的检索图像用缓冲器(例如,图3中的检索对象原始图像缓冲器207),以及将已编码的上述参考帧进行解码而得到的重构图像帧(例如,图3中的存储在帧存储器110中的重构图像)的、将成为搜索区域的规定范围内的动态数据存储的重构图像用缓冲器(例如,图3中的重构图像缓冲器203),并具有进行上述动态检测处理的动态检测处理部件(例如,图1中的动态检测/动态补偿处理部80);上述动态检测处理部件在构成上述动态图像的帧、上述参考帧以及构成上述重构图像帧的数据中,由上述各缓冲器将作为处理对象的规定数据依次读入并进行动态检测处理。
由此,作为动态检测处理专用的缓冲器,可包括编码图像用缓冲器、检索图像用缓冲器及重构图像用缓冲器,由于可以适当地读入必要数据并加以使用,在动态图像编码处理中,可以减少数据传送量的同时进行适当的编码处理。
还有,上述编码图像用缓冲器、检索图像用缓冲器和重构图像用缓冲器中的任一缓冲器至少具有将其存储区域交织(Interleave)到多个存储体(memory bank)中(例如,图5中的SRAM301~303)的特征。
由此,进行动态检测处理时,就可以并列运算(计算差分绝对值总和等)规定数量的像素,可实现处理的高速化。
还有,上述存储区域(即,上述编码图像用缓冲器、检索图像用缓冲器以及重构图像用缓冲器的存储区域)的特征为,该存储区域被分割成具有规定宽度的多个区域,该规定宽度是根据上述动态检测处理部件读出数据时读出的数据宽度(例如,图3中的差分绝对值总和处理部211利用图7所示的精简图像,在半像素精度下计算差分绝对值总和时的5像素数据宽度)和在上述存储体中作为使用单位的存取数据宽度(例如,图5中SRAM301~303所使用的数据宽度)而设定的,该多个区域分别交织到多个存储体中。
即,在可以同时存取的多个存储体中,存取数据宽度的总和,可为动态检测部件的读出数据宽度以上。
由此,动态检测处理部件从各个缓冲器读出数据时,通过对于各存储体并列地一次存取,可以读出作为处理对象的全部图像,因此可以实现处理的高速化。
另外,上述动态检测处理部件的特征在于,以上述读出数据宽度以下的数据宽度并列进行动态检测处理中的差分绝对值总和的计算处理。
还有,本发明的特征在于,上述存储区域被分割为具有4字节宽度的两个区域,该两个区域分别被两个上述存储体(例如,图7中的SRAM301,302)交织,上述动态检测部件以每4像素并列进行动态检测处理中的差分绝对值总和的处理。
由此,可适当调整对差分绝对值总和计算处理时的并列处理数据宽度与读出数据宽度之间的关系,可以进行适于交织结构的处理。
另外,本发明的特征在于,将上述动态图像数据的参考帧中通过精简处理其作为动态检测搜索区域的规定范围内的动态图像数据而生成的精简图像,存储到上述检索图像用缓冲器中。
从而,可以降低检索图像用缓冲器的存储容量,同时可以高速进行动态检测处理。
还有,本发明的特征在于,将上述动态图像数据的参考帧中通过1/2大小的精简处理其作为动态检测搜索区域的规定范围内的动态图像数据而生成的第一精简图像(例如,图8中的精简处理后的一个宏模块)和生成该第一精简图像时由被精简的动态图像数据构成的第二精简图像(例如,图8中的精简处理后的另一宏模块),存储到上述检索图像用缓冲器中。
从而,利用第一和第二精简图像即可高速进行动态检测处理,又可进行正确的动态检测处理。
还有,本发明的特征在于,上述检索图像用缓冲器及上述重构图像用缓冲器的存储区域分别被交织到同一的多个存储体。
从而,可以减少动态检测处理部件所具有的存储体的数量,并可以减少制造成本或提高集成电路时的集成度等。
还有,本发明的特征在于,上述检索图像用缓冲器可以存储围绕位于搜索中心的宏模块的规定数量的宏模块(例如,存储在图5中检索对象原始图像缓冲器207中的9个宏模块),上述动态检测处理部件以该检索图像用缓冲器存储的宏模块为对象进行动向量的检测,同时在移到邻接上述搜索中心的宏模块时,围绕位于上述搜索中心的宏模块的规定数量的宏模块之中,读入因上述搜索中心的移动而属于新搜索区域的宏模块,同时保持其他宏模块。(例如,按照图12所示的步骤进行)。
还有,本发明的特征在于,上述检索图像用缓冲器存储围绕位于搜索中心的宏模块的3行3列宏模块,上述动态检测处理部件以该3行3列的宏模块为对象进行动向量的检测,同时在移到邻接上述搜索中心的宏模块时,在上述3行3列的宏模块中,读入因上述搜索中心的移动而属于新搜索区域的分成3行或3列的宏模块,同时保持其他宏模块。
从而,可以有效地传送数据到检索图像用缓冲器中。
还有,本发明的特征在于,上述动态检测处理部件中,围绕位于上述搜索中心的宏模块的规定数量的宏模块的范围包括了上述动态图像数据的参考帧分界外时,对于参考帧的分界外的范围,扩展位于该参考帧分界的宏模块并加以插补。
从而,即使参考帧分界外的范围成为动态检测的搜索范围时,也能适当地进行动态检测。
还有,本发明的特征在于,上述动态检测处理部件在上述动态检测处理中,通过精简处理上述动态图像数据的参考帧中成为动态检测的搜索区域的规定范围的动态图像数据而生成的精简图像作为对象,检测出大致表示动态的广域动向量之后,根据该广域动向量,以与上述精简处理图像对应的未作精简处理的图像作为对象,检测出更加准确的动向量。
从而,可以利用经精简处理缩小的图像(精简图像)和具有正确信息的未精简的图像(重构图像等),进行灵活又适当的编码处理。
这样,按照本发明,在动态图像的编码处理中,可以减少数据的传送量、并能适当地进行编码处理。
并且,为克服上述第二课题的本发明的特征在于:
提供一种包含进行动态图像数据的编码处理的处理器和用以辅助该处理器中的处理的协处理器的动态图像处理装置,其中,上述协处理器(例如,图1中的动态检测/动态补偿处理部80)对编码处理对象即上述动态图像数据,以宏模块为单位,进行动态检测处理与预测图像及差分图像的生成处理,在每次结束各宏模块的处理时,输出该宏模块的差分图像,上述处理器(例如,图1的中处理器内核10)在每次从上述协处理器输出各宏模块的差分图像时,对该宏模块的差分图像继续进行编码处理(例如,从DCT变换到可变长编码及反向DCT变换、动态补偿处理等)。
由此,以宏模块为单位,处理器与协处理器分别进行已被分配的处理,因此可以使它们更有效率地并列工作,可以实现软件与硬件高度协作,同时低成本且低耗电的状态下有效率地进行动态图像的编码处理。
还有,本发明的特征在于,包含可将上述动态图像数据存储多份的帧存储器(例如,图1中的帧存储器110)和比该帧存储器更快地进行存取的本地存储器(例如,图1中的本地存储器40),上述协处理器读入上述帧存储器存储的帧数据,然后进行上述动态检测处理和预测图像及差分图像的生成处理,对于各宏模块每当生成该差分图像时,向上述本地存储器输出已生成的差分图像,上述处理器对上述本地存储器存储的差分图像继续进行编码处理。
从而,可以通过帧存储器或本地存储器进行处理器与协处理器的数据(差分图像的宏模块)收发,因此没有必要使相互收发数据的定时相吻合也可以更加有效地进行编码处理。
还有,本发明的特征在于,上述协处理器,在各个宏模块中每生成上述预测图像时,将生成的预测图像输出到上述本地存储器中,上述处理器基于上述本地存储器存储的预测图像和编码处理上述差分图像后再解码而获得的解码后的差分图像来进行动态补偿处理,再将该动态补偿处理结果即重构图像存储到上述本地存储器中。
从而,可以通过帧存储器或本地存储器进行处理器与协处理器的数据(预测图像的宏模块)的收发,因此没有必要使相互收发数据的定时相吻合,也可以更加有效率地进行编码处理。
还有,本发明的特征在于,上述协处理器还包含了将上述本地存储器存储的上述重构图像DMA传送到上述帧存储器的重构图像传送部件(例如,图3中的重构图像传送部214)。
从而,可以从本地存储器向帧存储器高速传送重构图像,同时减轻随之发生的处理器的负荷。
另外,本发明的特征在于,上述协处理器通过指定上述帧存储器中的参考对象的最前头地址及帧的尺寸,对应于依次处理的各宏模块的情况,自动生成上述帧存储器中的参考对象的地址。
从而,在处理器内核以宏模块为单位进行处理时,可以将宏模块存储到帧存储器中,也可以从帧存储器读出,可以用一次指令进行这时的地址的计算,可让地址的计算容易进行。
还有,本发明的特征在于,上述本地存储器由二维存取存储器构成。
从而,在将宏模块存储到本地存储器时,可以更加灵活地进行地址分配。
还有,本发明的特征在于,上述协处理器在将上述预测图像或差分图像的宏模块存储到上述本地存储器时,按照该本地存储器的尺寸,将宏模块包含的模块以纵一列或横一列的方式排列后加以存储。
从而,即使本地存储器的尺寸较小,也能防止存储区域的分段,可有效率地存储宏模块。
还有,本发明的特征在于,上述协处理器包含重构图像缓冲器(例如,图3中的重构图像缓冲器203),该缓冲器存储了包含编码处理中经动态补偿处理后的结果即重构图像的数据,对上述宏模块进行上述动态检测处理时,该重构图像缓冲器读入上述重构图像包含的规定数据(例如,对重构图像的参考区域而言,仅指图像亮度成分即Y成分等),利用该重构图像缓冲器读入的规定数据,对该宏模块生成上述预测图像。
从而,可以减少从帧存储器读入数据的次数,并可以高速且低耗电地进行处理。
还有,本发明的特征在于,上述协处理器具有存储编码对象即动态图像数据包含的数据的编码对象图像缓冲器(例如,图3中的编码对象原始缓冲器208),对上述宏模块进行上述动态检测处理时,该编码对象图像缓冲器读入上述编码对象即动态图像数据包含的规定数据(例如,编码对象的宏模块的Y成分等),利用该编码对象图像缓冲器读入的数据,对该宏模块生成上述差分图像。
从而,可以减少从帧存储器读入数据的次数,并可高速且低耗电地进行处理。
还有,本发明的特征在于,上述协处理器基于上述动态检测处理结果(例如,在动态检测中取得的差分绝对值总和)和该宏模块包含的像素数据,判断是否根据帧间编码处理或帧内编码处理中的任一处理对该编码处理对象即宏模块进行有效率地编码,基于与该判定结果对应的编码处理,生成上述预测图像及差分图像。
从而,在协处理器中,可以按每个宏模块选择更加有效率的编码方式。
另外,本发明的特征在于,上述协处理器在判定利用帧内编码处理时更有效率地进行编码时,将在该编码处理对象即宏模块的编码处理中所用的预测图像(例如,本地存储器40中的预测图像的存储区域)全部更新为零。
从而,不必附加特殊结构,可以选择更加合适的编码方式进行处理。
还有,本发明的特征在于,上述协处理器在上述动态检测处理中,检测分别与宏模块包含的各模块相关的动向量,根据检测出的动向量的近似程度,对各个模块分别设定个别的动向量或者对宏模块整体设定一个动向量(即,4MV模式的设定内容)进行判断,并按照该判定结果生成上述预测图像及差分图像。
从而,可以对各宏模块设定更加有效率且合适的动向量。
还有,本发明的特征在于,上述协处理器,在上述动态检测处理中,检测出的动向量指定的区域超出参考对象的帧中的帧分界时,对超出该帧分界的区域的像素数据进行插补,生成上述预测图像及差分图像。
从而,可以将非限制动向量(辨认超出帧分界的指定的动向量)用于编码处理。
还有,本发明的特征在于,上述协处理器,在接受宏模块的动向量时,在参考对象的帧中取得由该动向量指定的宏模块,通过上述处理器利用该取得的宏模块进行动态补偿处理,可以执行动态图像的解码处理。
从而,可以有效地运用动态图像处理装置所具有的编码功能,同时可以运用上述效果进行处理。
还有,本发明的特征在于,上述处理器将作为编码处理对象的帧、在编码处理中作为动态补偿处理结果的参考对象的帧的重构图像、对应于该重构图像的作为编码处理对象的动态图像数据包含的参考对象的帧以及在作为编码处理对象的帧生成的重构图像存储到上述帧存储器中,进行以宏模块为单位的编码处理,同时将对作为编码处理对象的帧生成的重构图像的宏模块,覆盖到在作为上述编码处理对象的帧、上述参考对象的帧的重构图像或上述参考对象的帧的宏模块的存储区域中不需要保持的存储区域。
从而,可以有效率地使用帧存储器,并可降低帧存储器要求的容量。
并且,本发明是一种包含了进行动态图像数据的解码处理的处理器和用以辅助该处理器的处理的协处理器的动态图像处理装置,其特征在于:上述协处理器,在收到解码处理对象即动态图像数据的动向量时,通过解码处理得到的参考对象的帧取得该动向量指定的宏模块,然后以宏模块为单位进行预测图像的生成处理,每次结束各宏模块的处理时,输出该宏模块的预测图像,每当上述协处理器输出各宏模块的预测图像时,上述处理器对该宏模块的预测图像进行动态补偿处理。
这样,依据本发明可以实现软件与硬件的高度的协作,同时低成本且低耗电的情况下有效率地进行动态图像的编码或者解码处理。
附图说明
图1是表示本发明的动态图像处理装置1的功能构成的框图。
图2是在本地存储器40中存储宏模块的状态的示意图。
图3是表示动态检测/动态补偿处理部80内部结构的框图。
图4是精简处理部206对从帧存储器读入的1个宏模块进行精简的状态的示意图。
图5是重构图像缓冲器203、检索对象原始图像缓冲器207及编码对象原始图像缓冲器208的存储器分配的示意图。
图6是表示重构图像缓冲器203存储的数据内容的示意图。
图7是将对图像数据的进行精简并横向缩小1/2后的图像数据存储到检索对象原始图像缓冲器207时的存储器分配的示意图。
图8是对图像数据进行精简后的情况下重构图像缓冲器203编码对象原始图像缓冲器208的存储器分配的示意图。
图9是对宏模块设定4个动向量的状态及设定1个动向量的状态的示意图。
图10是表示帧存储器110的存储内容的简略示意图。
图11是表示处理器内核10执行的编码函数执行处理的流程图。
图12是检索对象原始图像缓冲器207依次读入成为检索对象的图像数据时的状态转换的示意图。
图13是表示搜索区域超出帧分界时的状态的示意图。
图14是表示以图13(a)的形态下搜索区域超出帧分界时进行的周边像素插补的一例示意图。
图15是表示一例进行像素的精简时的插补的示意图。
图16是表示另一例进行像素的精简时的插补的示意图。
(符号说明)
1动态图像处理装置、10处理器内核、20指令存储器、30指令高速缓冲存储器、40本地存储器、50数据高速缓冲存储器、60内部总线仲裁部、70DMA控制部、80动态检测/动态补偿处理部、90协处理器、100,201外部存储器接口、110帧存储器、202,205插补处理部、203重构图像缓冲器、204半像素生成部、206,209精简处理部、207检索对象原始图像缓冲器、208编码对象原始图像缓冲器、210动态检测控制部、211差分绝对值总和处理部、212预测图像生成部、213差分图像生成部、214重构图像传送部、215周边像素生成部、216主机接口、217本地存储器接口、218本地存储器地址生成部、219MB管理部、220帧存储器地址生成部、301~303SRAM。
具体实施方式
以下参照附图,就本发明的动态图像处理装置的实施方式进行说明。
在本发明的动态图像处理装置中,对全面管理动态图像的编码或解码处理的处理器,附加了进行多运算量处理即动态检测处理的协处理器,该协处理器具备缓冲器,该缓冲器具有通过交织被多个存储体访问的结构。并且,在动态检测处理中读入图像数据的步骤是按规定方式进行的,同时设有对读入的图像数据进行精简时,也可以适当对应的部件。
通过这种结构,本发明的动态图像处理装置在进行动态图像的编码处理时,可以减少数据传送量,并进行适当的编码处理。
另外,在本发明的动态图像处理装置中,对全面管理动态图像的编码或解码处理的处理器,附加了进行多运算量处理的动态检测及动态补偿处理的协处理器。伴随这种结构,动态图像的编码或解码处理不以帧为单位进行,而是以宏模块为单位进行。而且进行动态图像编码或解码处理时,使用二维存取存储器(对存储器设想二维数据画像的、对该数据可以在纵横方向存取的存储器)。
通过这种结构,本发明的动态图像处理装置可以实现软件与硬件的高度协作,并能低成本且低耗电而有效率地进行动态图像的编码或解码处理。
另外,动态图像的编码处理中包含动态图像的解码处理,因此以下主要针对进行动态图像的编码处理的场合进行说明。
首先说明其结构。
图1是表示本发明的动态图像处理装置1的功能构成的框图。
图1中,动态图像处理装置1具备:处理器内核10、指令存储器20、指令高速缓冲器30、本地存储器40、数据高速缓冲器50、内部总线仲裁部60、DMA控制部70、动态检测/动态补偿部80、协处理器90、外部存储器接口(以下称“外部存储器I/F”)100和帧存储器110。
处理器内核10用以控制动态图像处理装置1的整体,经由指令高速缓冲器30取得指令存储器的规定地址上存储的指令代码,同时管理动态图像的编码处理的整体。具体地说,向动态检测/动态补偿处理部80的各部分及DMA控制部70输出指示信号(起动控制信号或模式设定信号),或者进行所谓DCT(Discrete Cosine Transform)或量子化的继动态检测后的编码处理。另外,处理器内核10在管理动态图像的整个编码处理时,执行编码函数执行程序(参照图11)。
这里,起动控制信号是指以规定的定时起动动态检测/动态补偿部80的各部分的指示信号;模式设定信号是指处理器内核10按每个帧对动态检测/动态补偿处理部80进行的、动向量检测处理中的搜索范围(其搜索范围设置到成为搜索中心的宏模块周围8像素或16像素中的哪个像素为止),4MV模式(用4个动向量进行编码)、非限制动向量(容许超出的帧分界作为动向量的参考对象)、圆控制、帧的压缩类型(P、B、I)压缩模式(MPEG1、2、4)等各种指定的指示信号。
指令存储器20存储输入到处理器内核10的各种指令代码,按照从处理器内核10的读出,向指令高速缓冲器30输出指定的地址的指令代码。
指令高速缓冲器30暂时存储从指令存储器20输入的指令代码,以规定定时向处理器内核输出。
本地存储器40是存储编码处理中生成的各种数据的二维存取存储器,例如用6模块组成的宏为单位存储编码处理中生成的预测图像及差分图像。
二维存取存储器是指在特开2002-222117号公报中记载的方式的存储器,例如,假设有“可以存储1字节(8位)的最小单位的假定的存储元件2,分别在纵向及横向各配置4个(共16)时的假定最小二维存储空间1”(参照同公报的图1),该假定最小二维存储空间1“从物理上来说,预先被4个物理化存储器4A~4C分割后加以变换。即,1个假定的最小二维存储空间1,与从4个物理的存储器4A~4C的同一地址开始的4字节的连续区域。”(参照同公报中的图3)。而且这种假定最小二维存储空间1,可以进行同公报的图5所示的存取。
这样,通过将本地存储器40设成二维存取存储器,使本地存储器40中的纵向及横向的存取变得容易,因此在本发明中按以下形式向本地存储器40存储宏模块。
图2是在本地存储器40中宏模块存储的状态的示意图。
图2中,本地存储器40中构成宏模块的6个模块(Y成分的4个模块及Cb、Cr成分的各1个模块)在纵向或横向并排存储到一列上。并且对各模块来说,构成模块的8像素在帧中保持8×8排列的状态被存储。
这样,通过将构成宏模块的6个模块在纵向或横向并排存储到一列上,可以防止数据的分段,因此能有效率地使用本地存储器40。而且也可以与本地存储器40的尺寸相吻合,可有效率地使用本地存储器40。例如,本地存储器40的横宽较小时,根据在纵向一列上存储6个模块,可以使宏模块有效率地存储到本地存储器40中。另外,在图2的说明中,假设Y、Cb、Cr的数据保持4∶2∶0的条件下说明了一个宏模块由6个模块构成的例子。即使Y、Cb、Cr的数据结构为4∶2∶2或4∶4∶4时也同样可以使用。
回看图1,数据高速缓冲器50,可暂时保持处理器内核10及内部总线仲裁部60之间输入输出的数据,按规定定时输出。
内部总线仲裁部60用以对动态图像处理装置1内部的总线进行仲裁,各部分通过总线输出数据时,调整各部分间的输出定时。
DMA(Direct Memory Access)控制部70不经过处理器内核10而对各部分间输入输出数据时进行控制,例如,在动态检测/动态补偿处理部80及本地存储器40中输入输出数据时,取代处理器内核10而控制通信,在数据的输入输出结束时,将结束情况通知给处理器内核10。
动态检测/动态补偿处理部80作为进行动态检测处理及动态补偿处理的协处理器起作用。
图3是表示动态检测/动态补偿处理部80的内部结构的框图。
图3中动态检测/动态补偿处理部80具备:外部存储器接口(I/F)201、插补处理部202,205、重构图像缓冲器203、半像素生成部204、精简处理部206,209、检索对象原始图像缓冲器207、编码对象原始图像缓冲器208、动态检测控制部210、差分绝对值总和处理部211、预测图像生成部212、差分图像生成部213、重构图像传送部214、周边像素生成部215、主机接口(I/F)216、本地存储器接口(I/F)217、本地存储器地址生成部218、宏模块(MB)管理部219和帧存储器地址生成部220。
外部存储器I/F201是用以使动态检测/动态补偿处理部80与外部存储器即帧存储器110进行数据的收发的输入输出接口。
插补处理部202上,通过外部存储器I/F201,从帧存储器110输入重构图像(被解码的帧)中的规定宏模块的Y、Cb、Cr成分。具体地说,在进行动态检测时,插补处理部202上输入重构图像的Y成分,此时插补处理部202将该输入的Y成分原样输出给重构图像缓冲器203。另一方面,在进行继动态检测后的编码处理(预测图像的生成等)时,插补处理部202上输入重构图像的Y、Cb、Cr成分,此时插补处理部202对Cb、Cr成分进行插补处理,输出给重构图像缓冲器203。
重构图像缓冲器203,基于周边像素生成部215的指示,对从插补处理部202输入的16×16像素的重构图像(宏模块),进行纵横8像素(周围4个像素)的插补,存储24×24像素的数据(以下称为“重构宏模块”)。对重构图像缓冲器203则容后详述(参照图5)。
半像素生成部204,从重构图像缓冲器203存储的重构宏模块生成半像素精度的数据。另外,半像素生成部204只在动向量的参考对象由半像素精度表示场合等必要的情况下才进行处理,除此之外的情况下使重构宏模块的数据原样通过。
插补处理部205利用半像素生成部204生成的半像素精度的数据,对重构宏模块进行插补,生成半像素精度的重构宏模块。还有,插补处理部205与半像素生成部204一样,只有在必要的情况下才进行处理,除此之外的情况下使重构宏模块的数据原样通过。
精简处理部206对经由外部存储器I/F201输入的检索对像原始图像(参考帧)中规定的多个宏模块(1次搜索区域)的Y成分进行精简,生成48×48像素的小图像模块。
图4是精简处理部206将从帧存储器读入的1个宏模块进行精简的状态的示意图。
图4中,精简处理部206每隔纵横1个像素对宏模块包含的像素进行精简。即,通过进行这样的精简处理,宏模块的尺寸缩小1/2。
另外,精简处理部206通过每隔纵横1个像素进行精简处理,使分成2部分的宏模块(小图像模块)也都作为精简后的宏模块输出到检索对像原始图像缓冲器207。
这样,通过保持由精简处理生成的2个小图像模块,在动态检测处理中使用1个小图像模块有效率地进行处理,并且在需要高精度的像素位置的检测及精简后脱落的部分的处理时,可以用2个小图像模块进行适当的处理。还有,精简处理部6的精简处理,是以缩小以下说明的检索对象原始图像缓冲器207的尺寸及减轻动态检测处理中的处理负荷等为目的的,因此在这些条件被满足的情况下可以不进行处理。
检索对象原始图像缓冲器207存储由精简处理部206生成的48×48像素的小图像模块。这里,未作精简处理部206的处理时,检索对象原始图像的Y成分则原样被存储到检索对象原始图像缓冲器207中。
另外,对检索对象原始图像缓冲器207的结构容后详述(参照图5)。
编码对象原始图像缓冲器208上存储了通过外部存储器I/F201从帧存储器110输入的、编码对象原始图像(编码对象帧)中规定宏模块的Y、Cb、Cr成分。具体地说,在进行动态检测时,编码对象原始图像缓冲器208上输入编码对象原始图像的Y成分。另一方面,在进行继动态检测后的编码处理(差分图像的生成等)时,编码对象原始图像缓冲器208上输入编码对象原始图像的Y、Cb、Cr成分。
这里,就重构图像缓冲器203、检索对象原始图像缓冲器207及编码对象原始图像缓冲器208的结构进行详细说明。
图5是重构图像缓冲器203、检索对象原始图像缓冲器207及编码对象原始图像缓冲器208的存储器分配的示意图。
图5中,在检索对象原始图像缓冲器207中存储有包括成为搜索中心的宏模块的周围3×3共9个宏模块。另外,检索对象原始图像缓冲器207由SRAM(Static Random Access Memory)301~303三个存储体构成,同时将32位宽度(4像素宽度)的长方形存储区域分别分配给存储体,并且将由各存储体构成的长方形存储区域按顺序排列。
另外,如图6所示,重构图像缓冲器203上,24×24像素即1个宏模块周围的4像素扩展一周后被存储。另外,重构图像缓冲器203与检索对象原始图像缓冲器207一样,由SRAM301~303三个存储体构成,同时将32位宽度(4像素宽度)的长方形存储区域分别分配给存储体,并且将由各存储体构成的长方形存储区域按顺序排列。
通过这种结构,差分绝对值总和处理部211将8像素并列作为处理对象进行动向量的检测时,以任意像素为最前头读出8像素时,也能以对各存储体(SRAM301~303)的并列的一次存取,就读出成为处理对象的全部8个像素。
因此,差分绝对值总和处理部211就可以更有效率且更快地进行动向量检测处理。
另外,在图5中的编码对象原始图像缓冲器208中,存储成为处理对象的1个宏模块。并且,编码对象原始图像缓冲器208由SRAM301~303中的任意一个构成。
这样,通过将重构图像缓冲器203、检索对象原始图像缓冲器207及编码对象原始图像缓冲器208由共同的存储器构成,可以减少动态检测/动态补偿处理部80所需要的存储器的个数。因此也就可以降低动态图像处理装置1的制造成本。
还有,检索对象原始图像缓冲器207上可以将图像数据精简后进行存储,此时也可以减少必要的存储器容量。
图7是将进行图像数据的精简的、横向缩小1/2后的图像数据存储到检索对象原始图像缓冲器207上时的存储器分配的示意图。
图7中,在检索对象原始图像缓冲器207上,包括成为搜索中心的宏模块周围的3×3共9个宏模块在横向缩小1/2后加以存储。另外,检索对象原始图像缓冲器207由SRAM301、302两个存储体构成,同时将32位宽度(4像素宽度)的长方形存储区域分别分配给存储体,并且由各存储体构成的长方形存储区域按顺序排列。即,图5中,对3个存储体进行存储器分配,而图7中,对2个存储体进行存储器分配即可。还有,编码对象原始图像缓冲器208由SRAM303构成。
并且,图7的情况与图5的情况相同,可将重构图像缓冲器203及编码对象原始图像缓冲器208由共同存储体构成。
图8是在进行了图像数据的精简后的重构图像缓冲器203及编码对象原始图像缓冲器208的存储器分配的示意图。
图8中示出精简处理部206输出的精简后的2个宏模块共同被存储的状态。
回看图3,精简处理部209对编码对象原始图像缓冲器208存储的编码对象原始图像的宏模块,在必要时进行精简处理。具体地说,在进行动态检测时,精简处理部209对编码对象原始图像的宏模块进行精简后,输出给差分绝对值总和处理部211,继动态检测进行编码处理(差分图像的生成等)时,不进行精简,而将编码对象原始图像的宏模块原样输出到差分图像生成部213。
动态检测控制部210按照协处理器10的指示,就各宏模块的处理,管理动态检测/动态补偿处理部80的各部分。例如,动态检测控制部210处理1个宏模块时,开始或停止差分绝对值总和处理部211、预测图像生成部212及差分图像生成部213的处理,或将1个宏模块的处理结束的状态通知给MB管理部219,或将差分绝对值总和处理部211的处理结果输出给主机接口216。
另外,动态检测控制部210,基于差分绝对值总和处理部211检测出的动向量,对各个宏模块,就以每个模块设定4个动向量进行编码的情况和对宏模块整体设定一个动向量进行编码的情况哪种情况更适合的问题进行判断。
图9是对宏模块设定4个动向量的状态和设定1个动向量的状态的示意图。
动态检测控制部210在各模块的动向量近似时,判定一个宏模块适合,在各模块的动向量不近似时,就判定每个模块适合4个动向量。
差分绝对值总和处理部211按照动态检测控制部210的指示进行动向量的检测。具体地说,差分绝对值总和处理部211计算出检索对象原始图像缓冲器207存储的小图像模块包含的像素(Y成分)和由精简处理部209输入的编码对象即宏模块的差分绝对值总和,获得大致的动向量(以下称“广域动向量”)。这样对应所获得的广域动向量以重构图像缓冲器203存储的重构宏模块为对象,差分绝对值总和处理部211通过搜索差分绝对值总和更小的宏模块,检测出更准确的动向量及正规的动向量。
进行这种处理时,差分绝对值总和处理部211计算出对构成宏模块的4个模块各自的Y成分的差分绝对值总和、对各1个模块的Cb、Cr成分各自的差分绝对值总和以及对构成宏模块的4个模块各自的动向量,将这些数据作为输出结果输出到动态检测控制部210。
预测图像生成部212按照动态检测控制部210的指示,基于插补处理部205输入的重构宏模块和动态检测控制部210输入的动向量,生成预测图像(利用动向量的参考对象构成的图像),经由本地存储器接口217存放到本地存储器40的规定区域(以下称为“预测图像存储器区域”)。还有,预测图像生成部212在编码处理对象的宏模块被执行帧间编码时进行上述处理,而编码对象的宏模块被执行帧内编码时,将预测图像存储器区域清“0”(复位)。
差分图像生成部213按照动态检测控制部210的指示,通过取得从本地存储器40的预测图像区域读出的预测图像和精简处理部209输入的编码对象即宏模块的差分,生成差分图像,并存放到本地存储器40的规定区域(以下称为“差分图像存储区域”)。另外,作为编码对象的宏模块被执行帧内编码处理时,由于预测图像被清“0”,差分图像生成部213将编码对象即宏模块直接作为差分图像。
重构图像传送部214按照动态检测控制部210的指示,从本地存储器40读出经处理器内核10的编码处理结果即重构图像,并通过外部存储器接口201输出到帧存储器110。即,重构图像传送部214作为一种DMAC(Direct Memory Access Controller)起作用。
周边像素生成部215,对重构图像缓冲器203及检索对象原始图像缓冲器207,进行以规定像素及分界像素对分别输入的图像周围进行插补的指示。
主机接口216具有处理器内核10与动态检测/动态补偿处理部80的输入输出接口功能,将处理器内核10输入的起动控制信号或模式设定信号输出到动态检测控制部210及MB管理部219,或暂时存储动态检测控制部210输入的运算结果(动向量等),并按照处理器内核10的读出请求,输出到处理器内核10。
本地存储器接口217是动态检测/动态补偿处理部80与本地存储器40的数据收发用的输入输出接口。
本地存储器地址生成部218设定本地存储器40中的各种地址。具体地说,本地存储器地址生成部218设定本地存储器40中的差分图像用模块(在差分图像生成部213中生成的差分图像的存储区域)的最前头地址、预测图像用模块(在预测图像生成部212中生成的预测图像的存储区域)的最前头地址及解码重构图像(由处理器内核10解码处理后的重构图像)的存储区域的最前头地址。并且,本地存储器地址生成部218设定本地存储器40(二维存取存储器)的宽度及高度。另外,本地存储器地址生成部218接受从MB管理部219的对本地存储器40的存取指示时,按照该指示,生成为存储或读出宏模块等的本地存储器40的地址,并输出给本地存储器接口217。
MB管理部219,对动态检测控制部210所进行的控制,进行更上位的控制,并以宏模块为单位进行各种控制。具体地说,MB管理部219基于经由主机接口216输入的来自处理器内核10的指示,或动态检测控制部210输入的动态检测处理结果,对本地存储器地址生成部218指示生成本地存储器40存取用的地址,或对帧存储器地址生成部220指示生成帧存储器110存取用的地址。
帧存储器地址生成部220设定帧存储器110中的各种地址。具体地说,帧存储器地址生成部220设定帧存储器110中的与检索对象原始图像相关的Y成分存储区域的最前头地址、与参考用重构图像相关的Y、Cb、Cr成分各自的存储区域的最前头地址、与编码对象原始图像相关的Y、Cb、Cr成分各自的存储区域的最前头地址以及与输出用重构图像(输出到动态检测/动态补偿处理部80的重构图像)相关的Y、Cb、Cr成分各自的存储区域的最前头地址。并且,帧存储器地址生成部220设定帧存储器110存储的帧的宽度及高度。另外,帧存储器地址生成部220从MB管理部219接收对帧存储器110的存取指示时,按照该指示,生成用以存储或读出帧存储器110存储的帧数据的帧存储器110的地址,并输出给外部存储器I/F201。
回看图1,协处理器90是进行动态检测处理及动态补偿处理以外的处理的协处理器,例如进行浮点小数点运算等。
外部存储器接口100是动态图像处理装置1用以与外部存储器即帧存储器110进行数据收发用的输入输出接口。
帧存储器110是存储动态图像处理装置1进行各种处理时生成的图像数据等的存储器,具有与检索对象原始图像相关的Y成分的存储区域、与参考用重构图像相关的Y、Cb、Cr成分各自的存储区域、与编码对象原始图像相关的Y、Cb、Cr成分各自的存储区域以及与输出用重构图像相关的Y、Cb、Cr成分各自的存储区域。这些存储区域的地址与其宽度及高度则由帧存储器地址生成部220设定。
图10是表示帧存储器110的存储内容的简略示意图,图10(a)表示当前帧的动态检测处理时的状态,图10(b)表示局部解码处理时(重构图像生成时)的状态,图10(c)表示下一个帧的动态检测处理时的状态。
图10(a)~(c)中,检索对象原始图像及编码对象原始图像是相同尺寸的存储区域,检索对象的重构图像的存储区域再加上2列(16像素)宏模块加以确保。这是根据动态图像处理装置1的编码处理方法而定的。即,由于动态图像编码装置1采用以宏模块为单位进行编码处理的方式,在该宏模块结束编码处理后也不能马上更新该帧(重构图像)。另一方面,搜索范围只涉及到成为搜索中心的宏模块周围最大16像素,因此在一个帧上增加2列宏模块后加以确保。另外,在搜索范围对应16像素以上,例如达到24像素时,有必要在一个帧上增加3列宏模块后加以确保。
由此,可以控制帧存储器110必要的存储容量,同时还可以以宏模块为单位进行本发明的编码处理。
还有,在个别地确保被参考的重构图像的存储区域和存储其次一个被参考的重构图像的区域时,虽然存储容量会稍微增加,但是因不发生上述不要的情况,所以各存储区域作成一个帧即可。
接下来说明工作过程。
首先,对动态图像编码装置1整体的工作情况进行说明。
图11是表示处理器内核10执行的编码函数执行处理(基于编码函数执行处理程序的处理)的流程图。图11所示的处理是在动态图像处理装置1中进行动态图像的编码时常时执行的处理,是对于一个帧进行编码的处理。动态图像处理装置1进行动态图像的编码时,适当重复图11所示的编码函数执行处理。并且图11中,步骤S3、6a、8、12是协处理器80执行的处理,其他步骤是处理器内核10执行的处理。
图11中,编码函数执行处理一开始,则进行与该帧相关的模式设定(步骤S1),对动态检测/动态补偿处理部80发送1个帧的编码处理的开始指令(包含最初宏模块的开始指令)(步骤S2)。
这样,动态检测/动态补偿处理部80被初始化,同时执行一个宏模块的动态检测处理、预测图像的生成及以及差分图像的生成处理(步骤S3),处理器内核10对一个宏模块的动态检测处理是否结束进行判断(步骤S4)。
在步骤S4中,判定一个宏模块的动态检测处理未结束时,处理器内核10重复步骤S4的处理,当判定一个宏模块的动态检测处理已结束时,发送继一个宏模块编码处理的开始指令(步骤S5)。
接着,动态检测/动态补偿处理部80执行继一个宏模块的动态检测处理、预测图像的生成以及差分图像的生成处理(步骤S6a),同时与之并列地,处理器内核10执行从DCT变换到可变波长编码处理及反向DCT变换,甚至动态补偿处理的编码处理(步骤S6b)。
其次,处理器内核10对动态检测/动态补偿处理部80发布将由步骤S6b生成的重构图像从本地存储器40传送到帧存储器110的指令(以下称为“重构图像传送指令”)(步骤S7)。
这样,动态检测/动态补偿处理部80的重构图像传送部214,将步骤S6b中生成的重构图像从本地存储器40传送到帧存储器110(步骤S8),处理器内核10对一个帧的编码处理是否结束进行判断(步骤S9)。
步骤S9中,判断一个帧的编码处理未结束时,处理器内核10移到步骤S4的处理,而判断一个帧的编码处理已结束时,处理器内核10在动态检测/动态补偿处理部80中,对最后被处理的宏模块执行从DCT变换到可变波长编码处理以及反向DCT变换、动态补偿处理的编码处理(步骤S10)。
并且,处理器内核10对动态检测/动态补偿处理部80,发送步骤S10中生成的重构图像的重构图像传送指令(步骤S11)。
这样,动态检测/动态补偿处理部80的重构图像传送部214,将步骤S10中生成的重构图像从本地存储器40传送到帧存储器110(步骤S12),处理器内核10结束编码函数执行处理。
另外,在步骤S3、S6a中,协处理器80进行动态检测处理、预测图像的生成以及差分图像的生成处理时,如上所述,通过由SRAM301~303并列存取一次,可读出宏模块。
接着,针对动态检测/动态补偿处理部80在检索对象原始图像缓冲器207中的状态转换进行说明。
在动态图像编码装置1中进行编码处理时,以成为搜索中心的宏模块为中心,检索对象原始图像缓冲器207依次读入其周围8个像素(一个宏模块)的区域。
图12是检索对象原始图像缓冲器207依次读入成为检索对象的图像数据时的状态转换的示意图。
图12中,一个帧的开始的宏模块(左上)作为搜索中心被存储时,检索对象原始图像缓冲器207读入其左上角宏模块的周围,即位于右侧、右下及下方的宏模块(参照图12(a))。对于超出帧分界的区域的数据,如后述那样,用周边像素生成部215进行插补。
另外,搜索中心移到下一个宏模块时,检索对象原始图像缓冲器207只重新读入在图12(a)中已读入的宏模块右侧的2个宏模块,对与图12(a)中的搜索区域重复的宏模块则使用原样读入的宏模块(参照图12(b))。
此后,每当搜索中心移到下一个宏模块时,同样只有右侧2个宏模块重新被读入,同时,搜索中心到达位于帧的最上行最右端的宏模块中(参照图12(c))。此时,由于不存在从右侧重新读入的宏模块,不进行宏模块的读入操作,取而代之,进行如上所述的周边像素的插补。
接着,搜索中心移到帧的第二行。此时,检索对象原始图像缓冲器207中不存在与图12(c)的搜索区域重复的宏模块,因此所有的宏模块将被重新读入(参照图12(d))。
然后,当搜索中心移到下一个宏模块时,检索对象原始图像缓冲器207只重新读入图12(d)中被读入的宏模块的右侧3个宏模块,对与图12(d)中的搜索区域重复的宏模块则使用原样读入的宏模块(参照图12(e))。
然后,每当搜索中心移到下一个宏模块时,同样也只有右侧的3个宏模块重新被读入,同时搜索中心到达位于帧的第二行最右端的宏模块(参照图12(f))。此时,由于不存在从右侧重新读入的宏模块,不进行宏模块的读入操作,取而代之,进行如上所述的周边像素的插补。
然后,在帧的各行进行同样的处理,在帧的最下行也进行同样的处理。并且,在帧的最下行,成为搜索中心的宏模块的下侧超出帧分界,因此,进行如上所述的周边像素的插补。
检索对象原始图像缓冲器207读入的宏模块,通过这样转换,无需对已读入的宏模块进行重复读入,从而可以有效率地进行处理。
接着,说明对周边像素生成部215超出帧分界的搜索区域进行插补的处理。
如上所述,位于帧分界的宏模块成为搜索中心时,搜索区域的一部分处于不存在读入宏模块的状态。
图13是表示搜索区域超出帧分界时的状态的示意图。
如图13(a)~(i)所示,搜索区域超出帧分界时,周边像素生成部215利用位于帧分界中的宏模块,生成超出帧分界区域的图形数据(周边像素)。
图14是一例在图13(a)的状态下搜索区域超出帧分界时进行的周边像素插补的示意图。还有,图14中,也举出了不进行像素精简时插补的例子,并表示了同一样子的周边像素用同一像素(位于帧分界的像素)插补的事实。
图14中位于帧分界中的宏模块原样扩展到帧外,位于帧的左上侧的宏模块向帧左上方的区域扩展。
这样通过进行周边像素的插补,可将非限制动向量(确认超出帧分界的指定的动向量)用于编码处理中。而且,如本发明的动态图像处理装置1那样,动态检测/动态补偿处理部80以宏模块为单位读入图像数据,进行编码处理时,可以仅用被读入的宏模块对周边像素进行插补,因此能有效地进行处理。
另外,图15和图16是一例进行了像素的精简后进行插补的示意图,其中图15是一例仅用精简后所剩的图像数据进行周边像素插补的示意图,图16是一例除了精简后所剩的图像数据以外、用精简前的像素对精简后落下的部分进行插补的示意图。
并且,插补像素的形态,除了图15或图16中所例示的以外,可以有其他各种形态。
如以上所述,本实施方式的动态图像处理装置1中,动态检测/动态补偿处理部80所具备的重构图像缓冲器203、检索对象原始图像缓冲器207及编码对象原始图像缓冲器208由多个存储器构成,同时将32位宽度(4像素宽度)的长方形存储区域分别分配给各存储体,并将由各存储体构成的长方形存储区域按顺序排列。
从而,在动态检测处理中,通过并列的一次存取,各存储体就可以读出成为处理对象的全部像素,因此可实现处理的高速化。
另外,各缓冲器由共同的存储体构成,因此能够减少动态检测/动态补偿处理部80所具备的存储器个数。
本实施方式的动态图像处理装置1,在作成协处理器的动态检测/动态补偿处理部80中进行动态图像的编码处理中负荷比重高的动态检测处理。此时,动态检测/动态补偿处理部80以宏模块为单位进行动态检测处理。
因此,在处理器内核10根据软件进行的编码处理及动态检测/动态补偿处理部80根据硬件进行的编码处理中,可以提高数据接口的整合性,并且每当各宏模块的动态检测结束时,处理器内核10可以依次执行继续的编码处理。
从而,能使处理器内核10和协处理器即动态检测/动态补偿处理部80更有效率地进行并列工作,并可有效率地进行动态图像的编码处理。
另外,动态检测/动态补偿处理部80以宏模块为单位读入图像数据,并进行动态检测处理,因此可以减少动态检测/动态补偿处理部80中所必要的缓冲器的尺寸,并可低成本且低耗电地进行编码处理。
并且,根据处理器内核10重新构成的本地存储器40内的重构图像,是由动态检测/动态补偿处理部80的重构图像传送部214根据DMA传送到帧存储器110中的,并在编码处理中使用。
因此,能减轻处理器内核10的处理负荷,进而可以降低处理器内核10的工作频率,甚至可以实现低耗电。另外,将动态图像处理装置1组装到便携式电话等移动设备中时,通过减轻的处理负荷而创出的处理器内核10的处理能力分配给其他应用软件的处理中,因此即使在移动设备中,也能使更高功能的应用软件进行工作。并且降低了处理器内核10所要求的处理能力,因此作为处理器内核10,可以使用便宜的处理器,实现成本的降低。
再者,本实施方式的动态图像处理装置1,具备了进行动态图像解码处理的功能,因此灵活利用上述编码处理中的优点,就可以进行动态图像的解码处理。
即,动态图像处理装置1中,通过接收成为解码对象的动态图像数据,就让处理器内核10执行可变波长解码处理,从而获得动向量。将该动向量保存到规定寄存器(动向量用寄存器)中。
这样,动态检测/动态补偿处理部80的预测图像生成部212基于该动向量,向本地存储器40传送宏模块(Y、Cb、Cr成分)。
而且,处理器内核10,对成为解码对象的动态图像,执行可变波长解码处理、反向扫描处理(反向曲折形扫描)、反向AC/DC预测处理、反向量子化处理、反向DCT处理等,并将该结果作为重构图像存储到本地存储器40中。
从而,动态检测/动态补偿处理部80的重构图像传送部214,从本地存储器40向帧存储器110以DMA形式传送重构图像。
这样的处理按每个宏模块重复,从而能够进行动态图像的解码处理。
Claims (9)
1.一种对动态图像数据进行包含动态检测处理的编码处理的动态图像编码装置,其特征在于设有:
将一个成为构成动态图像的帧的编码对象的宏模块存储的编码图像用缓冲器,在上述动态图像数据的参考帧中存储成为动态检测搜索区域的规定范围内的动态图像数据的检索图像用缓冲器,以及将已编码的上述参考帧进行解码而得到的重构图像帧的、将成为搜索区域的规定范围内的动态图像数据存储的重构图像用缓冲器;和
动态检测处理部件,在构成上述动态图像的帧、上述参考帧以及构成上述重构图像帧的数据中,由上述各缓冲器分别将作为处理对象的规定数据依次读入并进行动态检测处理;
上述编码图像用缓冲器、检索图像用缓冲器和重构图像用缓冲器中的至少任一缓冲器,将其存储区域分割成具有规定宽度的多个区域,该多个区域分别交织到多个存储体中,该规定宽度是根据上述动态检测处理部件读出数据时读出的数据宽度和在上述存储体中作为使用单位的存取数据宽度而设定的,并且,能够同时存取的多个存储体中的存取数据宽度的总和在所述动态检测处理部件的读出数据宽度以上。
2.如权利要求1所述的动态图像编码装置,其特征在于:上述动态检测处理部件以上述读取数据宽度以下的数据宽度并列进行动态检测处理中的差分绝对值总和的计算处理。
3.如权利要求1所述的动态图像编码装置,其特征在于:
上述存储区域被分割成具有4字节宽度的2个区域,该2个区域分别交织到2个上述存储体中;
上述动态检测处理部件按4个像素并列进行动态检测处理中的差分绝对值总和的处理。
4.如权利要求1所述的动态图像编码装置,其特征在于:将上述动态图像数据的参考帧中通过精简处理其作为动态检测搜索区域的规定范围内的动态图像数据而生成的精简图像,存储到上述检索图像用缓冲器中。
5.如权利要求1所述的动态图像编码装置,其特征在于:将上述动态图像数据的参考帧中,通过1/2大小的精简处理其作为动态检测搜索区域的规定范围内的动态图像数据而生成的第一精简图像和由被精简的动态图像数据中生成该第一精简图像后的数据构成的第二精简图像,存储到上述检索图像用缓冲器中。
6.如权利要求1所述的动态图像编码装置,其特征在于:
上述检索图像用缓冲器可以存储围绕位于搜索中心的宏模块的规定数量的宏模块;
上述动态检测处理部件以上述检索图像用缓冲器存储的宏模块为对象进行动向量的检测,同时在移到邻接上述搜索中心的宏模块时,围绕位于搜索中心的宏模块的规定数量的宏模块之中,读入因上述搜索中心的移动而属于新搜索区域的宏模块,同时保持其他宏模块。
7.如权利要求1所述的动态图像编码装置,其特征在于:
上述检索图像用缓冲器存储围绕位于搜索中心的宏模块的3行3列宏模块;
上述动态检测处理部件以该3行3列的宏模块为对象进行动向量的检测,同时移到邻接上述搜索中心的宏模块上时,在上述3行3列的宏模块中,读入因上述搜索中心的移动而属于新搜索区域的分成3行或3列的宏模块,同时保持其他宏模块。
8.如权利要求7所述的动态图像编码装置,其特征在于:上述动态检测处理部件中,围绕位于搜索中心的宏模块的规定数量的宏模块的范围包括了上述动态图像数据的参考帧分界外时,对于参考帧分界外的范围,扩展位于该参考帧分界的宏模块并加以插补。
9.如权利要求1所述的动态图像编码装置,其特征在于:上述动态检测处理部件在上述动态检测处理中,通过精简处理上述动态图像数据的参考帧中成为动态检测的搜索区域的规定范围的动态图像数据而生成的精简图像作为对象,检测出大致表示动态的广域动向量之后,根据该广域动向量,以与上述精简处理对应的未进行精简处理的图像作为对象,检测出更加准确的动向量。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004054822A JP2005244845A (ja) | 2004-02-27 | 2004-02-27 | 動画像処理装置 |
JP54822/04 | 2004-02-27 | ||
JP2004054821A JP4419608B2 (ja) | 2004-02-27 | 2004-02-27 | 動画像符号化装置 |
JP54821/2004 | 2004-02-27 | ||
JP54821/04 | 2004-02-27 | ||
JP54822/2004 | 2004-02-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1662068A CN1662068A (zh) | 2005-08-31 |
CN100405853C true CN100405853C (zh) | 2008-07-23 |
Family
ID=34889406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100529834A Expired - Fee Related CN100405853C (zh) | 2004-02-27 | 2005-02-28 | 动态图像编码装置及动态图像处理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050190976A1 (zh) |
KR (1) | KR100621137B1 (zh) |
CN (1) | CN100405853C (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
US7852961B2 (en) * | 2004-05-20 | 2010-12-14 | Samsung Electronics Co., Ltd. | Digital broadcasting transmission/reception devices capable of improving a receiving performance and signal processing method thereof |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
JP4553837B2 (ja) * | 2005-12-26 | 2010-09-29 | 三洋電機株式会社 | 復号装置 |
KR101352978B1 (ko) * | 2006-01-16 | 2014-01-28 | 고려대학교 산학협력단 | 향상된 계층간 참조 영상 지정, 복호 방법 및 그 장치 |
WO2007081189A1 (en) * | 2006-01-16 | 2007-07-19 | Electronics And Telecommunications Research Institute | Method and apparatus for selective inter-layer prediction on macroblock basis |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
US8660380B2 (en) | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
US8098898B2 (en) * | 2006-10-27 | 2012-01-17 | Panasonic Corporation | Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system |
US20080260021A1 (en) * | 2007-04-23 | 2008-10-23 | Chih-Ta Star Sung | Method of digital video decompression, deinterlacing and frame rate conversion |
EP1988502A1 (en) * | 2007-05-04 | 2008-11-05 | Deutsche Thomson OHG | Method and device for retrieving a test block from a blockwise stored reference image |
US8756482B2 (en) | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US9118927B2 (en) | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
JP4695124B2 (ja) * | 2007-09-13 | 2011-06-08 | 日本電信電話株式会社 | 動画像符号化における動き探索装置 |
CN101179724B (zh) * | 2007-12-11 | 2010-09-29 | 北京中星微电子有限公司 | 帧间压缩编码中的帧存储方法及装置 |
JP4508279B2 (ja) * | 2008-07-17 | 2010-07-21 | ソニー株式会社 | 画像処理装置、画像処理方法、及び、プログラム |
CN101400138B (zh) * | 2008-10-28 | 2010-06-16 | 北京大学 | 一种面向移动设备的地图数据精简方法 |
US8666181B2 (en) * | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
US9432674B2 (en) * | 2009-02-02 | 2016-08-30 | Nvidia Corporation | Dual stage intra-prediction video encoding system and method |
USRE47243E1 (en) * | 2009-12-09 | 2019-02-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
KR101700358B1 (ko) * | 2009-12-09 | 2017-01-26 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
CN101895743B (zh) * | 2010-03-11 | 2013-11-13 | 宇龙计算机通信科技(深圳)有限公司 | 一种处理器间编解码数据的传输方法、系统及可视电话 |
KR101664112B1 (ko) | 2010-11-16 | 2016-10-14 | 삼성전자주식회사 | 메모리 접근 주소 변환 장치 및 방법 |
KR101898464B1 (ko) | 2011-03-17 | 2018-09-13 | 삼성전자주식회사 | 모션 추정 장치 및 그것의 모션 추정 방법 |
WO2012164896A1 (ja) * | 2011-05-31 | 2012-12-06 | パナソニック株式会社 | 画像処理装置及び画像処理方法並びにデジタルカメラ |
CN102256131B (zh) * | 2011-07-28 | 2013-08-07 | 杭州士兰微电子股份有限公司 | 视频编码中数据帧存储空间的配置方法 |
US20130094586A1 (en) * | 2011-10-17 | 2013-04-18 | Lsi Corporation | Direct Memory Access With On-The-Fly Generation of Frame Information For Unrestricted Motion Vectors |
CN102595164A (zh) * | 2012-02-27 | 2012-07-18 | 中兴通讯股份有限公司 | 一种视频图像发送方法、装置及系统 |
JP5972687B2 (ja) * | 2012-07-02 | 2016-08-17 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
JP6543517B2 (ja) * | 2015-06-15 | 2019-07-10 | ハンファテクウィン株式会社 | 画像処理方法、画像処理装置及びプログラム |
US20230199199A1 (en) * | 2021-12-16 | 2023-06-22 | Mediatek Inc. | Video Encoding Parallelization With Time-Interleaving Cache Access |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061397A (en) * | 1994-04-19 | 2000-05-09 | Sony Corporation | Motion vector detecting device |
CN1316856A (zh) * | 2000-01-27 | 2001-10-10 | 三星电子株式会社 | 运动估计器 |
CN1396762A (zh) * | 2001-07-09 | 2003-02-12 | 三星电子株式会社 | 用于扫描搜索区内参考宏块窗口的运动估计装置和方法 |
WO2003092300A1 (en) * | 2002-04-24 | 2003-11-06 | Nec Corporation | Moving picture coding method and decoding method, and apparatus and program using the same |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448310A (en) * | 1993-04-27 | 1995-09-05 | Array Microsystems, Inc. | Motion estimation coprocessor |
US5699460A (en) * | 1993-04-27 | 1997-12-16 | Array Microsystems | Image compression coprocessor with data flow control and multiple processing units |
US5694170A (en) * | 1995-04-06 | 1997-12-02 | International Business Machines Corporation | Video compression using multiple computing agents |
US5909224A (en) * | 1996-10-18 | 1999-06-01 | Samsung Electronics Company, Ltd. | Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment |
JP3352931B2 (ja) * | 1997-12-26 | 2002-12-03 | 沖電気工業株式会社 | 動きベクトル検出装置 |
KR100246918B1 (ko) * | 1997-12-31 | 2000-03-15 | 윤종용 | 모션벡터 검출장치 |
JP2000308064A (ja) * | 1999-04-22 | 2000-11-02 | Mitsubishi Electric Corp | 動きベクトル検出装置 |
EP1139669A1 (en) * | 2000-03-28 | 2001-10-04 | STMicroelectronics S.r.l. | Coprocessor for motion estimation in digitised video sequence encoders |
EP1263239A3 (en) * | 2001-05-30 | 2005-02-09 | Nippon Telegraph and Telephone Corporation | Image compression system |
US20030012281A1 (en) * | 2001-07-09 | 2003-01-16 | Samsung Electronics Co., Ltd. | Motion estimation apparatus and method for scanning an reference macroblock window in a search area |
WO2003021971A1 (en) * | 2001-08-28 | 2003-03-13 | Ntt Docomo, Inc. | Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method, decoding method, and program usable for the same |
KR20030023815A (ko) * | 2001-09-14 | 2003-03-20 | (주)로고스텍 | 가중치를 이용한 움직임 추정 장치 및 방법 |
US7181070B2 (en) * | 2001-10-30 | 2007-02-20 | Altera Corporation | Methods and apparatus for multiple stage video decoding |
US6868123B2 (en) * | 2001-12-07 | 2005-03-15 | Motorola, Inc. | Programmable motion estimation module with vector array unit |
JP2003296724A (ja) * | 2002-04-05 | 2003-10-17 | Hitachi Ltd | 画像処理システム及びその方式 |
US7940844B2 (en) * | 2002-06-18 | 2011-05-10 | Qualcomm Incorporated | Video encoding and decoding techniques |
-
2005
- 2005-01-17 KR KR1020050004281A patent/KR100621137B1/ko not_active IP Right Cessation
- 2005-01-28 US US11/044,459 patent/US20050190976A1/en not_active Abandoned
- 2005-02-28 CN CNB2005100529834A patent/CN100405853C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061397A (en) * | 1994-04-19 | 2000-05-09 | Sony Corporation | Motion vector detecting device |
CN1316856A (zh) * | 2000-01-27 | 2001-10-10 | 三星电子株式会社 | 运动估计器 |
CN1396762A (zh) * | 2001-07-09 | 2003-02-12 | 三星电子株式会社 | 用于扫描搜索区内参考宏块窗口的运动估计装置和方法 |
WO2003092300A1 (en) * | 2002-04-24 | 2003-11-06 | Nec Corporation | Moving picture coding method and decoding method, and apparatus and program using the same |
Also Published As
Publication number | Publication date |
---|---|
US20050190976A1 (en) | 2005-09-01 |
CN1662068A (zh) | 2005-08-31 |
KR20050087729A (ko) | 2005-08-31 |
KR100621137B1 (ko) | 2006-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100405853C (zh) | 动态图像编码装置及动态图像处理装置 | |
CN105684036B (zh) | 并行的硬件块处理流水线和软件块处理流水线 | |
EP1454494B1 (en) | Processing digital video data | |
CN101998120B (zh) | 图像编码装置、图像编码方法及图像编码集成电路 | |
CN101309405B (zh) | 参考数据载入的方法及装置 | |
US9762919B2 (en) | Chroma cache architecture in block processing pipelines | |
US8731044B2 (en) | Moving-picture processing apparatus | |
CN102340662B (zh) | 一种视频处理设备和方法 | |
CN101156450A (zh) | 利用区域的动态高宽比的基于区域的3drs运动估计 | |
CN101193306A (zh) | 运动矢量检测装置和运动矢量检测方法 | |
CN103873874A (zh) | 一种基于可编程并行处理器的全搜索运动估计方法 | |
CN101146222B (zh) | 视频系统的运动估计内核装置 | |
CN101365136A (zh) | 帧内预测的方法及装置 | |
EP0602642B1 (en) | Moving picture decoding system | |
CN102932643B (zh) | 一种适用于hevc标准的扩展可变块运动估计电路 | |
CN102088610A (zh) | 视频编解码器及运动估计方法 | |
KR100564010B1 (ko) | 화상 처리 장치 | |
CN101267565A (zh) | 一种视频编码中运动矢量搜索方法及装置 | |
CN102801982B (zh) | 一种应用于视频压缩且基于块积分的快速运动估计方法 | |
JP3676237B2 (ja) | データ処理装置及び演算器 | |
CN102055975A (zh) | 存储器存取控制设备及其方法 | |
JPH03205985A (ja) | マルチプロセッサ型動画像符号化装置及びバス制御方法 | |
CN101212682B (zh) | 一种运动搜索区域的数据加载装置和方法 | |
CN102055976A (zh) | 存储器存取控制设备及其方法 | |
US5835391A (en) | Two-dimensional inverse discrete cosine transform apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080723 Termination date: 20160228 |