一种视频编码与解码过程中的数据传输方法及装置的制作方法

文档序号:7617907阅读:125来源:国知局
专利名称:一种视频编码与解码过程中的数据传输方法及装置的制作方法
技术领域
本发明涉及视频压缩技术,尤其涉及一种视频压缩过程中数据传输的方法及装置。
背景技术
在视频压缩标准中,涉及到帧内编码及帧间编码,而帧间编码主要是通过运动估计模块来计算运动向量,并根据该运动向量对参考帧进行预测。在具体实现方案中,运动估计模块因其计算复杂度比较高,多数情况下通过硬件专用电路来实现,以加速计算过程。
在运动估计模块中,包括一些内部存储单元,用来保存参考帧中的搜索窗、当前帧中的待处理宏块、中间计算结果及最终计算结果。DMA控制器负责将搜索窗的数据及待处理宏块数据从主存储器中通过数据总线传输到内部存储单元中。
在现有的方法中,一帧图象是逐行连续存在主存储区中的。这样的存储方式导致每个宏块(16×16)实际上是分成16个不连续的小区间,每个小区间是宏块中的一行,在小区间里地址是连续的。同理可知,搜索窗也是一些不连续的小区间,在各个小区间里地址是连续的。而通过DMA控制器每次只能传输地址空间连续的数据,这样为了传输16×16的宏块,或一个搜索窗,就需要启动16次DMA控制器,极大地增加了配置DMA控制器、启动DMA控制器、DMA中断处理服务执行时间等额外开销,降低了数据传输的效率。

发明内容
本发明的目的是提高视频编码或解码过程中数据传输效率。
为了实现本发明的目的,一方面,本发明提供一种视频编码过程中的数据传输方法。该方法包括将图像的当前帧的每个宏块、及参考帧的每个宏块中的各行在主存储器中地址连续地存储;选定当前帧中的欲传送宏块,以及相应的参考帧中的搜索窗;将存储于主存储器中的欲传送宏块、以及搜索窗中的各宏块分别由DMA控制器一次传输到运动估计模块的第一存储单元A中;将传输到第一存储单元A中的搜索窗的宏块分别转移到第二存储单元B中,并使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储。
根据本发明的上述视频编码过程中的数据传输方法,使得所述第一存储单元A的容量至少能存储一个宏块的数据。
根据本发明的上述视频编码过程中的数据传输方法,在所述第一存储单元A中设置双缓冲区,使得其中一个缓冲区用于接收由DMA控制器传输来的宏块的数据,另一个缓冲区用于将已接收到的宏块的数据转移至第二存储单元B中,当两个缓冲区中宏块都传输完毕后,同时对两个缓冲区进行切换,并继续宏块数据传输和转移,直至将搜索窗的宏块全部转移至第二存储单元B中;将当前帧的宏块传输至第一存储单元A中。
根据本发明的上述视频编码过程中的数据传输方法,可以在所述运动估计模块内设置第三存储单元,专门用于存储由DMA控制器从主存储器中传输来的当前帧的宏块。
根据本发明的上述视频编码过程中的数据传输方法,其中每个缓冲区的容量至少能存储一个宏块的数据量。
另一方面,本发明提供一种视频编码过程中的数据传输装置,其包括主存储器、DMA控制器、运动估计模块,所述主存储器存储图像的当前帧及参考帧,所述运动估计模块包括第一存储单元A、第二存储单元B,所述DMA控制器将所述主存储器中的数据传输到运动估计模块的第一存储单元A中,其特征在于,所述运动估计模块还包括数据转移单元,在所述主存储器中,当前帧中各宏块内的行及参考帧中搜索窗的各宏块内的行以地址连续的方式存储,使得DMA控制器能分别将各宏块一次传送到运动估计模块的第一存储单元A中;所述数据转移单元用于将传送到第一存储单元A中的搜索窗中的宏块转移到第二存储单元B中,并使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储;所述第一存储单元A用于在一搜索窗中的各宏块全部转移至第二存储单元B中之后,存储与该搜索窗对应的当前帧的宏块。
根据本发明的上述视频编码过程中的数据传输装置,所述运动估计模块还可以包括第三存储单元,其专门用于存储从主存储器传送来的当前帧的宏块。
根据本发明的上述视频编码过程中的数据传输装置,所述运动估计模块还包括切换单元,所述第一存储单元A是双缓冲区,其交替用作存储从DMA控制器传输来的宏块、转移到第二存储单元B中的宏块;所述切换单元用于在DMA控制器及数据转移单元分别与相应的缓冲区数据传输完毕后,对两个缓冲区进行切换。所述切换单元也可以设置于数据转移单元中。
根据本发明的上述视频编码过程中的数据传输装置,可用于视频编码器中。
还一方面,本发明提供一种视频解码过程中的数据传输方法,其包括将图像的参考帧的每个宏块中各行在主存储器中地址连续地存储;在参考帧中找出对应于当前待解码宏块的搜索窗;将搜索窗中的每个宏块由DMA控制器分别一次传输到运动补偿模块的第四存储单元A′中,然后转移到第五存储单元B′中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储,直至将搜索窗中的宏块全部转移至第五存储单元B′中;将当前待解码宏块对应的运动矢量传输至第四存储单元A′中;由所述运动补偿模块得到解码宏块;将该解码宏块从第四存储单元A′由DMA控制器一次传输至主存储器中。
根据本发明的上述视频解码过程中的数据传输方法,使得所述第四存储单元A′的容量至少能存储一个宏块的数据。
根据本发明的上述视频解码过程中的数据传输方法,在所述第四存储单元A′中设置双缓冲区,使得其中一个缓冲区用于接收由DMA控制器传输来的宏块的数据,另一个缓冲区用于将已接收到的宏块的数据转移至第五存储单元B′中,当两个缓冲区中宏块都传输完毕后,同时对两个缓冲区进行切换,并继续宏块数据传输和转移,直至将搜索窗的宏块全部转移至第五存储单元B′中;将当前待解码宏块对应的运动矢量传输至所述第四存储单元A′中。
根据本发明的上述视频解码过程中的数据传输方法,还可以在运动补偿模块中设置第六存储单元,用于存储当前待解码宏块对应的运动矢量。
根据本发明的上述视频解码过程中的数据传输方法,使得每个缓冲区的容量至少能存储一个宏块的数据量。
又一方面,本发明提供一种视频解码过程中的数据传输装置,其包括主存储器、DMA控制器、运动补偿模块、用于存储运动矢量的第七存储单元D;所述主存储器存储图像的参考帧;所述运动补偿模块包括第四存储单元A′、第五存储单元B′;所述DMA控制器用于在所述主存储器与运动补偿模块之间传输数据,其特征在于,还包括数据转移单元,在所述主存储器中,参考帧中搜索窗的各宏块内的行以地址连续的方式存储,使得DMA控制器能将各宏块分别一次传送到运动补偿模块的第四存储单元A′中;所述数据转移单元用于将传送到第四存储单元A′中的搜索窗中的宏块转移到第五存储单元B′中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储;所述运动补偿模块由存储于第五存储单元B′中的搜索窗及由第四存储单元D传输到第四存储单元A′中的运动矢量得到解码宏块,并存储于第四存储单元A′中,然后由DMA控制器传输到主存储器中。
在根据本发明的上述视频解码过程中的数据传输装置中,在运动补偿模块中还可以设置第六存储单元,用于存储从第七存储单元D传送来的运动矢量。
在根据本发明的上述视频解码过程中的数据传输装置中,所述运动补偿模块还包括切换单元,所述第四存储单元A′是双缓冲区,其交替用作存储从DMA控制器传输来的宏块、转移到第五存储单元B′中的宏块;所述切换单元用于在DMA控制器及数据转移单元分别与相应的缓冲区数据传输完毕后,对两个缓冲区进行切换。其中,所述切换单元还可以设置于数据转移单元中。
根据本发明的上述视频解码过程中的数据传输装置,可以用于视频解码器。
利用本发明,通过将每个宏块中的各行在主存储器中地址连续地存储,使得每个宏块能够由DMA控制器一次传输到运动估计模块中,从而克服了现有技术中因每个宏块中各行地址不连续而引起的多次启动DMA控制器、中断DMA控制器的问题,提高了数据传输效率,并且能够减少能耗。
本发明主要用于视频压缩芯片,如MPEG4、H.264等。


图1示出了根据本发明的视频编码过程中的数据传输方法的一个实施例的流程图;图2示出了根据本发明的视频编码过程中的数据传输装置的一个实施例的示意图;图3示出了根据本发明的视频解码过程中的数据传输方法的流程图;图4示出了根据本发明的视频解码过程中的数据传输装置的一个实施例的示意图。
具体实施例方式
下面参照附图详细说明本发明。所给出的附图仅用于说明,并不限制本发明。
图1示出了根据本发明的视频编码过程中的数据传输方法的一个实施例的流程图。
如图1所示,将图像当前帧存储于主存储器中,并使其中每个16×16宏块的16行在主存储器中以地址连续的方式存储,但各宏块之间地址可以不连续;选定当前帧的一个宏块Ei,并在主存储器中找出参考帧中相应该宏块Ei的搜索窗S所对应的各个宏块Si的起始地址;其中参考帧中每个16×16宏块Si的16行在主存储器中也是按地址连续的方式存储的;将参考帧的搜索窗中的16×16宏块Si分别由DMA控制器经数据总线依次传输到运动估计模块的256字节的第一存储单元A中,然后将宏块Si转移到的第二存储单元B的Bi处,其中i=1,……9,直到将参考帧的搜索窗中的所有宏块Si全部转移到第二存储单元B(48×48=2304字节)中,并使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储,例如,B1的第1行与B2的第1行在地址上是连续的,但B1的第1行与B1的第2行在地址上是不连续的。这与在主存储区域中不同,S1的第1行与S2的第1行在地址上是不连续的,但S1的第1行与S1的第2行在地址上是连续的。然后,将当前帧的宏块Ei由DMA控制器经数据总线传输至第一存储单元A中;至此,完成进行一次运动估计运算所需数据的传输。以此方式,传输主存储器中当前帧及参考帧的搜索窗中的各宏块。在后续的传输中,如果所选定的搜索窗与前一个搜索窗部分重合时,则只将未重合部分的宏块分别传送到第一存储单元A中,然后转移至第二存储单元B中并将未重合部分相应宏块覆盖。
在上述方法中,所述第一存储单元A的存储容量并不限于256字节,可以大于等于256字节。
在上述方法中,为了进一步提高数据传输效率,设置第一存储单元A包含2个256字节的缓冲区A1和A2。DMA控制器首先通过数据总线传送参考帧内搜索窗的一个宏块Si到A1中;待宏块Si全部传至A1中之后,将A1中的数据搬运到第二存储单元B中对应的宏块位置Bi上,与此同时,DMA控制器将参考帧内搜索窗的下一宏块Si+1传送至A2中;当两者均完成后,A1和A2同时以乒乓方式进行切换。如此继续,直到搜索窗内待传的宏块全部传送完毕。
在上述方法中,所述缓冲区A1和A2的存储容量并不限于256字节,可以分别大于等于256字节。
当然,可以将图1所示的例子稍作修改,在运动估计模块中设置第三存储单元,用于存储当前帧的宏块Ei。
图2示出了根据本发明的视频编码过程中的数据传输装置的一个实施例的示意图。如图2所示,视频编码过程中的数据传输装置包括主存储器1、DMA控制器2、运动估计模块3,主存储器1中存储有图像的当前帧E及参考帧R,运动估计模块3包括第一存储单元A、第二存储单元B、数据转移单元5,其中,当前帧E的每个16×16宏块Ei中的16行地址连续,在参考帧R中选定一个48×48搜索窗S,其中每个16×16宏块Si(其中i=1,……9)中的行地址连续,从而DMA控制器能将每个宏块经数据总线一次传送到运动估计模块的256字节的第一存储单元A中。对于传输到第一存储单元A中的搜索窗S的宏块Si,数据转移单元5将其相应地转移到第二存储单元B的Bi(其中i=1,……9)处。
在图2中,为了进一步提高数据传输效率,在第一存储单元A中设置了两个256字节的缓冲区A1和A2,在运动估计模块3中设置切换单元7。DMA控制器2首先通过数据总线4传送参考帧R内搜索窗S的一个宏块Si到A1中;待宏块Si全部传至A1中之后,数据转移单元5开始将A1中的数据搬运到第二存储单元B中对应的宏块位置Bi上,与此同时,DMA控制器2将参考帧内搜索窗S的下一宏块Si+1传送至A2中;当两者均完成后,切换单元7以乒乓方式同时切换A1和A2。如此继续,直到搜索窗S内的9个宏块全部转移至第二存储单元B中。
当为当前帧下一待传宏块Ei+1所选定的搜索窗Si+1与前一搜索窗Si有部分相同是,则相同部分不用再重新传送,而只传送不相同的部分,并替代第二存储单元B中相应的部分。
在上述的视频编码过程中的数据传输装置中,可以在运动估计模块3中设置256字节的第三存储单元,当首先传输当前帧的宏块Ei时,用于存储从DMA控制器传送到运动估计模块3中的当前帧宏块Ei。
在上述实施例中,所述的第一、第二、第三存储单元可以为一般的存储单元,如SRAM,SDRAM。所述的数据转移单元可以由地址发生器与寄存器构成,然后通过地址映射将第一存储单元A中的搜索窗的宏块数据转移到第二存储单元B中。所述的切换单元可以是转换开关。
在上述实施例中,在视频编码过程中由运动估计模块所生成的各宏块的运动矢量,由于数据量很少,可以直接用CPU传送,而不必利用DMA控制器进行传送。
上述的视频编码过程中的数据传输装置可以用于视频编码器中。
图3示出了本发明的解码过程中数据传输方法的一个实施例的流程图。
将图像参考帧R存储于主存储器1中,并使其中每个16×16宏块的256个数据在主存储器中地址连续;选定参考帧R中对应于当前待解码宏块Ei′的48×48的搜索窗S;将参考帧R的搜索窗S中的16×16宏块Si分别由DMA控制器2经数据总线4依次传输到运动补偿模块3′的256字节的第四存储单元A′中,然后将宏块Si分别转移到的第五存储单元B′的Bi′处,其中i=1,……9,直到将搜索窗S中的所有宏块Si全部转移到第五存储单元B′(48×48=2304字节)中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储,例如,B1′的第1行与B2′的第1行在地址上是连续的,但B1′的第1行与B1′的第2行在地址上是不连续的。这与在主存储区域中不同,S1′的第1行与S2′的第1行在地址上是不连续的,但S1′的第1行与S1′的第2行在地址上是连续的;然后,将当前待解码宏块Ei′对应的运动矢量传输至第四存储单元A′中;至此,一次运动补偿运算所需的数据已经传输完毕。待运动补偿运算完成后,插值得到的解码宏块Ei′存放在第四存储单元A′中,然后启动一次DMA将该宏块传送到主存储器中。
在上述解码过程中的数据传输方法,所述第四存储单元A′的容量至少能存储一个宏块的数据量。
在上述方法中,为了进一步提高数据传输效率,设置第四存储单元A′包含2个256字节的缓冲区A1′和A2′。DMA控制器首先通过数据总线传送参考帧内搜索窗的一个宏块Si到A1′中;待宏块Si全部传至A1′中之后,将A1′中的数据搬运到第五存储单元B′中对应的宏块位置Bi′上,与此同时,DMA控制器将参考帧内搜索窗的下一宏块Si+1传送至A2′中;当两者均完成后,A1′和A2′同时以乒乓方式进行切换。如此继续,直到搜索窗内待传的宏块全部传送完毕。
在上述解码过程中的数据传输方法中,所述每个缓冲区A1′和A2′的容量至少能存储一个宏块的数据量。
在上述解码过程中的数据传输方法,也可以在运动补偿模块中设置第六存储单元,用于存储当前帧的宏块Ei′。
图4是视频解码过程中的数据传输装置的一个实施例的示意图。如图4所示,视频解码过程中的数据传输装置包括主存储器1、DMA控制器2、运动补偿模块3′、用于存储运动矢量的第七存储单元D、及数据总线4;所述主存储器1存储图像的参考帧R;所述运动补偿模块3′包括第四存储单元A′、第五存储单元B′、数据转移单元5′;在所述主存储器1中,参考帧R中搜索窗S的各宏块内的行以地址连续的方式存储,使得DMA控制器2能分别将各宏块一次传送到运动补偿模块3′的第四存储单元A′中;所述数据转移单元2用于将传送到第四存储单元A′中的搜索窗中的宏块转移到第二存储单元B′中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储;所述运动补偿模块3′由存储于第五存储单元B′中的搜索窗S及由第七存储单元D传输到第四存储单元A′中的运动矢量得到解码宏块Ei′,并存储于第四存储单元A′中,然后由DMA控制器2经数据总线4传输到主存储器1中。
在图4所示的视频解码过程中的数据传输装置中,在运动补偿模块3′中还可以设置第六存储单元,用于存储从第七存储单元D中传输来的运动矢量。
在上述视频解码过程中的数据传输装置中,所述第四存储单元A′至少能存储一个宏块的数据。
为了进一步提高数据传输效率,在上述视频解码过程中的数据传输装置中,所述运动补偿模块3′还可以包括切换单元7′所述第四存储单元A设置为双缓冲区A1′和A2′,DMA控制器2首先通过数据总线4传送参考帧R内搜索窗S的一个宏块Si到A1′中;待宏块Si全部传至A1′中之后,数据转移单元5开始将A1′中的数据搬运到第五存储单元B′中对应的宏块位置Bi′上,与此同时,DMA控制器2将参考帧内搜索窗S的下一宏块Si+1′传送至A2′中;当两者均完成后,切换单元7以乒乓方式同时切换A1′和A2′。如此继续,直到搜索窗S内的宏块全部转移至第五存储单元B′中。
在上述视频解码过程中的数据传输装置中,所述切换单元7′也可以设置于数据转移单元5′中。
在上述实施例中,所述的第四、第五、第六、第七存储单元可以为一般的存储单元,如SRAM,SDRAM。所述的数据转移单元可以由地址发生器与寄存器构成,然后通过地址映射将第四存储单元A′中搜索窗的宏块数据转移到第五存储单元B′中。所述的切换单元可以是转换开关。
在上述实施例中,在视频解码过程中,由于各待解码宏块的运动矢量的数据量很少,可以直接用CPU将其传送至运动补偿模块中,而不必利用DMA控制器进行传送。
上述视频解码过程中的数据传输装置可以用于视频解码器。
在上述实施例中,根据需要,可以一次传送两个或两个以上的宏块。
运动补偿模块中根据需要可以增设存储单元,专门用于存储运动补偿模块所得到的解码宏块。
上述实施方式只是为了更清楚地说明本发明,而本发明并不限于上述实施方式。可以明白的是,本领域的技术人员对本发明所做的任何显而易见的修改、变更,在不背离本发明的精神和本质的情况下都将落入本发明的保护范围内。
权利要求
1.一种视频编码过程中的数据传输方法,其特征在于,将图像的当前帧的每个宏块、及参考帧的每个宏块中的各行在主存储器中以地址连续的方式存储;选定当前帧中的欲传送宏块,以及相应的参考帧中的搜索窗;将存储于主存储器中当前帧的欲传送宏块、以及搜索窗中的各宏块分别由DMA控制器一次传输到运动估计模块的第一存储单元A中;将传输到第一存储单元A中的搜索窗的宏块分别转移到第二存储单元B中,并使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储。
2.根据权利要求1所述的数据传输方法,其特征在于,使得所述第一存储单元A的容量至少能存储一个宏块的数据。
3.根据权利要求1所述的数据传输方法,其特征在于,在所述第一存储单元A中设置双缓冲区,使得其中一个缓冲区用于接收由DMA控制器传输来的宏块的数据,另一个缓冲区用于将已接收到的宏块的数据转移至第二存储单元B中,当两个缓冲区中宏块都传输完毕后,同时对两个缓冲区进行切换,并继续宏块数据传输和转移,直至将搜索窗的宏块全部转移至第二存储单元B中;将当前帧的宏块传输至第一存储单元A中。
4.根据权利要求1所述的数据传输方法,其特征在于,在所述运动估计模块内还设置第三存储单元;在所述第一存储单元A中设置双缓冲区;将当前帧的宏块传输至第三存储单元中;将参考帧中搜索窗的一宏块传输至第一存储单元A的一个缓冲区中;然后将该缓冲区中的宏块数据转送至第二存储单元B中,同时另一个缓冲区用来接收DMA控制器传输来的下一宏块数据;当与两个缓冲区的数据传输完毕后,同时对两个缓冲区进行切换,并继续数据的传输和转送,直到搜索窗的宏块全部转移至第二存储单元B中,而且使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储。
5.根据权利要求3或4所述的数据传输方法,其特征在于,使得每个缓冲区的容量至少能存储一个宏块的数据量。
6.一种视频编码过程中的数据传输装置,其包括主存储器、DMA控制器、运动估计模块,所述主存储器存储图像的当前帧及参考帧,所述运动估计模块包括第一存储单元A、第二存储单元B,所述DMA控制器将所述主存储器中的数据传输到运动估计模块的第一存储单元A中,其特征在于,所述运动估计模块还包括数据转移单元,在所述主存储器中,当前帧中各宏块内的行及参考帧中搜索窗的各宏块内的行以地址连续的方式存储,使得DMA控制器能分别将各宏块一次传送到运动估计模块的第一存储单元A中;所述数据转移单元用于将传送到第一存储单元A中的搜索窗中的宏块转移到第二存储单元B中,并使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储;所述第一存储单元A用于在一搜索窗中的各宏块全部转移至第二存储单元B中之后,存储与该搜索窗对应的当前帧的宏块。
7.一种视频编码过程中的数据传输装置,其包括主存储器、DMA控制器、运动估计模块,所述主存储器存储图像的当前帧及参考帧,所述运动估计模块包括第二存储单元B、第三存储单元,所述DMA控制器将所述主存储器中的宏块数据传输到运动估计模块中,其特征在于,所述运动估计模块还包括第一存储单元A、数据转移单元,在所述主存储器中,当前帧中各宏块内的行及参考帧中搜索窗的各宏块内的行以地址连续的方式存储,使得DMA控制器能将当前帧的每个宏块分别一次传送到第三存储单元中、将参考帧中的搜索窗的每个宏块分别一次传送到第一存储单元A中;所述数据转移单元用于将传送到第一存储单元A中宏块转移到第二存储单元B中,并使搜索窗每行中所包含的各宏块的行在第二存储单元B中以地址连续的方式存储。
8.根据权利要求6或7所述的数据传输装置,其特征在于,所述运动估计模块还包括切换单元,所述第一存储单元A是双缓冲区,其交替用作存储从DMA控制器传输来的宏块、转移到第二存储单元B中的宏块;所述切换单元用于在DMA控制器及数据转移单元分别与相应的缓冲区数据传输完毕后,对两个缓冲区进行切换。
9.根据权利要求6或7所述的数据传输装置,其特征在于,所述数据转移单元还包括切换单元,所述第一存储单元A是双缓冲区,该双缓冲区交替用作存储从DMA控制器传输来的宏块、转移到第二存储单元B中的宏块;所述切换单元用于在DMA控制器及数据转移单元分别与相应的缓冲区数据传输完毕后,对两个缓冲区进行切换。
10.根据权利要求6或7所述的数据传输装置,其特征在于,用于视频编码器中。
11.一种视频解码过程中的数据传输方法,其包括将图像的参考帧的每个宏块中各行在主存储器中以地址连续的方式存储;在参考帧中找出对应于当前待解码宏块的搜索窗;将搜索窗中的每个宏块由DMA控制器分别一次传输到运动补偿模块的第四存储单元A′中,然后转移到第五存储单元B′中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储,直至将搜索窗中的宏块全部转移至第五存储单元B′中;将当前待解码宏块对应的运动矢量传输至第四存储单元A′中;由所述运动补偿模块得到解码宏块;将该解码宏块从第四存储单元A′由DMA控制器一次传输至主存储器中。
12.根据权利要求11所述的数据传输方法,其特征在于,使得所述第四存储单元A′的容量至少能存储一个宏块的数据。
13.根据权利要求11所述的数据传输方法,其特征在于,在所述第四存储单元A′中设置双缓冲区,使得其中一个缓冲区用于接收由DMA控制器传输来的宏块的数据,另一个缓冲区用于将已接收到的宏块的数据转移至第五存储单元B′中,当两个缓冲区中宏块都传输完毕后,同时对两个缓冲区进行切换,并继续宏块数据传输和转移,直至将搜索窗的宏块全部转移至第五存储单元B′中;将当前待解码宏块对应的运动矢量传输至所述第四存储单元A′中。
14.根据权利要求11所述的数据传输方法,其特征在于,在所述运动补偿模块内还设置第六存储单元;在所述第四存储单元A′中设置双缓冲区;将当前待解码宏块对应的运动矢量传输至第六存储单元中;将参考帧中搜索窗的一宏块传输至第四存储单元A′的一个缓冲区中;然后将该缓冲区中的宏块数据转送至第五存储单元B′中,同时另一个缓冲区用来接收DMA控制器传输来的下一宏块数据;当与两个缓冲区的数据传输完毕后,同时对两个缓冲区进行切换,并继续数据的传输和转移,直到搜索窗的宏块全部转移至第五存储单元B′中,而且使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储。
15.根据权利要求13或14所述的数据传输方法,其特征在于,使得每个缓冲区的容量至少能存储一个宏块的数据量。
16.一种视频解码过程中的数据传输装置,其包括主存储器、DMA控制器、运动补偿模块、用于存储运动矢量的第七存储单元D;所述主存储器存储图像的参考帧;所述运动补偿模块包括第四存储单元A′、第五存储单元B′;所述DMA控制器用于在所述主存储器与运动补偿模块之间传输数据,其特征在于,还包括数据转移单元,在所述主存储器中,参考帧中搜索窗的各宏块内的行以地址连续的方式存储,使得DMA控制器能将各宏块分别一次传送到运动补偿模块的第四存储单元A′中;所述数据转移单元用于将传送到第四存储单元A′中的搜索窗中的宏块转移到第五存储单元B′中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储;所述运动补偿模块由存储于第五存储单元B′中的搜索窗及由第四存储单元D传输到第四存储单元A′中的运动矢量得到解码宏块,并存储于第四存储单元A′中,然后由DMA控制器传输到主存储器中。
17.一种视频编码过程中的数据传输装置,其包括主存储器、DMA控制器、运动补偿模块、用于存储运动矢量的第七存储单元D;所述主存储器存储图像的参考帧,所述运动补偿模块包括第五存储单元B′、第六存储单元,所述DMA控制器用于在所述主存储器与运动补偿模块之间传输数据,其特征在于,所述运动补偿模块还包括第四存储单元A′、数据转移单元,所述第六存储单元用于存储从第七存储单元D传送来的运动矢量;在所述主存储器中,参考帧中搜索窗的各宏块内的行以地址连续的方式存储,使得DMA控制器能将各宏块分别一次传送到运动补偿模块的第四存储单元A′中;所述数据转移单元用于将传送到第四存储单元A′中的宏块转移到第五存储单元B′中,并使搜索窗每行中所包含的各宏块的行在第五存储单元B′中以地址连续的方式存储;所述运动补偿模块由存储于第五存储单元B′中的搜索窗及所述第六存储单元中的运动矢量得到解码宏块,并存储于第四存储单元A′中,然后由DMA控制器传输到主存储器中。
18.根据权利要求16或17的数据传输装置,其特征在于,所述运动补偿模块还包括切换单元,所述第四存储单元A′是双缓冲区,其交替用作存储从DMA控制器传输来的宏块、转移到第五存储单元B′中的宏块;所述切换单元用于在DMA控制器及数据转移单元分别与相应的缓冲区数据传输完毕后,对两个缓冲区进行切换。
19.根据权利要求16或17所述的数据传输装置,其特征在于,所述数据转移单元还包括切换单元,所述第四存储单元A′是双缓冲区,其交替用作存储从DMA控制器传输来的宏块、转移到第五存储单元B′中的宏块;所述切换单元用于在DMA控制器及数据转移单元分别与相应的缓冲区数据传输完毕后,对两个缓冲区进行切换。
20.根据权利要求16或17所述的数据传输装置,其特征在于,用于视频解码器。
全文摘要
本发明涉及视频压缩过程中的数据传输方法及装置,包括用于视频编码及解码过程中的数据传输方法及装置。根据本发明,通过将欲传输的各宏块中各行以地址连续的方式存储,使得各宏块能够由DMA控制器在主存储器与运动估计/补偿模块之间一次传输完毕。对于参考帧的搜索窗中的各宏块,通过在运动估计/补偿模块内设置数据转移单元,分别将传输到运动估计/补偿模块内第一/第四存储单元的宏块转移到第二/第五存储单元中,并使搜索窗每行中所包含的各宏块的行在第二存储单元/第五存储单元中以地址连续的方式存储。通过本发明,可以减少DMA控制器的启动、中断次数,提高数据传输效率并减少功耗。
文档编号H04N7/26GK1671211SQ200510069088
公开日2005年9月21日 申请日期2005年5月10日 优先权日2005年5月10日
发明者王浩, 夏煜, 白锋, 怀千江 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1