对实时数码视频影流进行缓存控制的方法和装置的制作方法

文档序号:7973835阅读:105来源:国知局
专利名称:对实时数码视频影流进行缓存控制的方法和装置的制作方法
技术领域
本发明涉及图像通信技术领域,尤其涉及一种对实时数码视频影流进行缓存控制的方法和装置。
背景技术
随着视频压缩编码技术的不断发展,MPEG4(Motion Pictures Experts Group4)已经得到了广泛的应用,MPEG4视频压缩、解压缩的核心算法运动估计,运动补偿都是基于MPEG4宏块的运算。MPEG4宏块为视频帧内的16×16像素采样区域的数据,根据数据类型(亮度、色度)的不同,可以分为Y宏块、Cb宏块、Cr宏块(参照附图1)。运动估计是在参考帧中以当前宏块为中心寻找与当前宏块最佳匹配的宏块像素区域(参照附图2)。而当前宏块减去最佳匹配宏块得到亮度、色度残差宏块,与描述匹配块位置的运动矢量一起被编码,编码后的残差宏块在MPEG4视频压缩、解压缩过程中都要经过解码,与最佳匹配宏块相加重构新的参考宏块,即运动补偿(参照附图3)。
通用的MPEG4视频压缩、解压缩模块采用的“帧”缓存控制机制,需要2个完整帧尺寸的缓存空间进行乒乓操作。其一用于存储正在动态更新的压缩输入数据帧或解压缩输出数据帧,其二用于存储已经稳定完整的压缩输入数据帧或解压缩输出数据帧。具体流程(参照附图4)从A端口处输入的压缩输入数据帧或解压缩输出数据帧,以完整帧存储到数据存储区A或B,初始,将压缩输入数据帧或解压缩输出数据帧的第一帧缓存到数据存储区A,再将压缩输入数据帧或解压缩输出数据帧的第二数帧缓存到数据存储区B,当第一帧在数据存储区A缓存完成之后,其内数据可以交由数据帧处理模块进行处理,处理完毕之后,该数据存储区又可以从A端口接收新的一整帧数据存储;当第二帧在数掘存储区B缓存完成之后,其内数据可以交由数据帧处理模块进行处理,处理完毕之后,该数据存储区又可以从A端口接收新的一整帧数据存储;如此循环,数据存储区A和B相互配合的切换,将A端口输入的数据帧乒乓缓存的传送到所述数据帧处理模块进行处理。该结构应用于MPEG4视频压缩时,对应数据帧处理模块为MPEG4视频压缩模块;该结构应用于MPEG4视频解压缩时,对应数据帧处理模块为显示模块。
现有“帧”缓存控制机制,要求两个互为乒乓操作的数据存储区A和B的物理尺寸分别与一个完整数据帧的大小相等。如果将图像数据应用到移动通信设备必须解决在比较小的内存空间对较大图像尺寸数据帧缓存支持的问题。

发明内容
为了克服上述缺陷,本发明的目的在于提供一种能够在小于一帧的缓存空间内对MPEG4图像进行缓存控制的对实时数码视频影流进行缓存控制的方法和装置。
为达到上述目的,本发明采用以下技术方案一种对实时数码视频影流进行缓存控制的方法,用于MPEG4视频编解码过程中,包括如下步骤步骤A,发送实时数码视频影流的视频影流帧中由一个或多个局部相关性区域构成的部分图像区域,至处于接收状态的预定大小的数据存储区;同时,记录该部分图像区域在视频影流帧中的位置;步骤B,处于接收状态的预定大小的数据存储区与处于输出状态的预定大小的数据存储区执行乒乓操作;步骤C,处于输出状态的数据存储区中存储的部分图像区域,按照该部分图像区域在视频影流帧中的位置输出。
优选的在所述的对实时数码视频影流进行缓存控制的方法中,在MPEG4视频编码过程中,所述视频影流帧为视频影流输入帧;在MPEG4视频解码过程中,所述视频影流帧为解压缩输出帧。
优选的在所述的对实时数码视频影流进行缓存控制的方法中,所述局部相关性区域的划分方法为将视频影流帧划分为若干个区域,并且每个区域内部的更新顺序可以有更新顺序的反复,而任意两个区域之间没有更新顺序的反复,从而确定这样的区域即为局部相关性区域。
优选的在所述的对实时数码视频影流进行缓存控制的方法中,在无去块效应作用时,所述局部相关性区域的划分具体为每帧内每16个像素行划分为一个局部相关性的区域。
优选的在所述的对实时数码视频影流进行缓存控制的方法中,在视频解码过程中去块效应功能尘效的工作模式下,如去块效应作用区域为块边界两侧正负N个像素行,则该局部相关性的区域划分具体为,对于帧头部分,从每帧帧头开始向下平移N个像素行,作为一个局部相关性区域,从N+1行向下,每16个像素行作为一个局部相关性区域,至帧尾部分,从帧尾向上取32-N个像素行作为一个局部相关性区域,其中N取自然数,且其最大值为8。
优选的在所述的对实时数码视频影流进行缓存控制的方法中,所述预定大小的数据存储区的物理尺寸至少与一个最大局部相关性区域的大小相等。
优选的在所述的对实时数码视频影流进行缓存控制的方法中,所述预定大小的数据存储区的物理尺寸与视频影流帧的部分图像区域的大小相等。
一种对实时数码视频影流进行缓存控制的装置,用于MPEG4视频编解码过程中,包括
两个互为乒乓操作的预定大小的数据存储区,处于接收状态的数据存储区接收完视频影流帧中由一个或多个局部相关性区域构成的部分图像区域后,才可以转为输出状态,处于输出状态的数据存储区发送完视频影流帧中由一个或多个局部相关性区域构成的部分图像区域后,才可以转为输入状态;一缓存控制模块;其中,缓存控制模块发送视频影流帧中由一个或多个局部相关性区域构成的部分图像区域至处于接收状态的预定大小数据存储区,并记录该部分图像区域在视频影流帧中的位置;而将处于输出状态的预定大小数据存储区中存储的部分图像区域,按照该部分图像区域在视频影流帧中的位置输出。
优选的在所述的对实时数码视频影流进行缓存控制的装置中,所述的缓存控制模块包括地址映射单元、传输控制单元以及输出映射单元,其中,传输控制单元将视频影流帧中由一个或多个局部相关性区域构成的部分图像区域发送至处于接收状态的数据存储区,控制两个预定大小的数据存储区进行乒乓操作,使处于输出状态的数据存储区将所述部分图像区域输出;地址映射单元用于记录部分图像区域在视频影流帧中的绝对地址,并通过传输控制单元将该绝对地址发送给输出映射单元;使得处于输出状态的数据存储区输出部分图像区域时,按照该部分图像区域在视频影流帧中的绝对地址输出。
优选的在所述的对实时数码视频影流进行缓存控制的装置中,所述预定大小的数掘存储区的物理尺寸与视频影流帧的部分图像区域的大小相等。
本发明在通用的MPEG4压缩和解压缩模块外围增加“部分图像区域”缓存控制机制,代替现有的帧缓存控制机制,利用缓存控制模块以视频影流帧的部分图像区域为单位向数据存储区数据发送,数据存储区以部分图像区域为单位进行乒乓操作,然后输出;这样只需要两个“部分图像区域”尺寸的缓存空间用于存储传输数码视频影流数据,极大降低了硬件代价,利于将MPEG4压缩、解压缩技术应用于支持较大图像尺寸的移动通信设备。


图1为MPEG4宏块结构示意图;图2为MPEG4宏块运动估计示意图;图3为MPEG4宏块运动补偿示意图;图4为乒乓操作示意图;图5为实施例1的方法流程图;图6为实施例1的装置结构图;
图7为“去块效应”作用下的宏块行局部相关性图;图8为实施例2的方法流程图;图9为实施例2的装置结构图;图10为实施例2的N个数据帧的具体传输过程示意图。
具体实施例方式
本发明的发明构思为以实时数码视频影流的视频影流帧的部分图像区域为单位,在两个预定大小的数据存储区内进行乒乓操作。所述部分图像区域包括至少一个局部相关性区域。
下面以MPEG4视频解压缩模块输出的输出帧为例解释局部相关性区域划分的方法MPEG4视频解压缩模块输出的解压缩输出帧在更新顺序上可以分为若干个具有局部相关性的区域,即在每个区域内部,更新顺序可能是前后反复跳跃的,但是在任意两个局部相关性区域之间没有更新顺序的反复。
参照输出帧结构表,在MPEG4中,其帧结构如下表所示

即,MPEG4在进行图像的编、解码时,通常以16×16像素的宏块(macro block)为单位进行数据处理,解压缩输出帧的图像数据分为若干个宏块(X,Y)。MPEG4视频解压缩是以宏块为单位输出的,其输出顺序为(1,1),(1,2),(1,3)…(1,N),(2,1)…(M,1)…(M,N),从宏块(1,1)至宏块(1,N)称之为一个宏块行,在每个宏块行内部,输出数据的更新顺序可能是前后反复跳跃的;而在任意两个宏块行之间则不存在这样的跳跃反复,即第一宏块行与第二宏块行之间或与其它宏块行之间没有跳跃的反复。因此,可以称上述的宏块行为具有局部相关性的区域。
在MPEG4视频编码过程中,本发明所述的视频影流帧为视频影流输入帧;在MPEG4视频解码过程中,本发明所述的视频影流帧为解压缩输出帧。
实施例1本实施例为本发明应用于在MPEG4视频编码过程中的方法和装置。
参照附图5,在MPEG4视频编码过程中,对实时数码视频影流进行缓存控制的方法,具体包括如下步骤步骤1,发送视频影流输入帧中由一个或多个局部相关性区域构成的部分图像区域至处于接收状态的预定大小的数据存储区;同时,记录该部分图像区域在视频影流输入帧中的位置;本实施例中,所述一个局部相关性区域可以包括一个或多个宏块行。所述预定大小的数据存储区的物理尺寸可以与一个部分图像区域的大小相等。
步骤2,处于接收状态的数掘存储区存储部分图像区域完毕后,转为输出状态;同时,另一预定大小的数据存储区转为接收状态,继续接收下一部分图像区域;步骤3,处于输出状态的数据存储区中存储的部分图像区域,按照该部分图像区域在视频影流输入帧中的位置输出。
参照附图6,对实时数码视频影流进行缓存控制的装置包括视频影流输入模块、缓存控制模块、系统AHB总线、两个预定大小互为乒乓操作的数据存储区A和数据存储区B,以及MPEG4视频压缩模块;其中,缓存控制模块包括地址映射单元、传输控制单元以及输出映射单元,传输控制单元将视频影流输入帧中由一个或多个局部相关性区域构成的的的部分图像区域发送至处于接收状态的数据存储区,控制两个预定大小的数据存储区进行乒乓操作,使处于输出状态的数据存储区将所述部分图像区域输出;地址映射单元用于记录视频影流输入帧的部分图像区域在视频影流输入帧中的绝对地址,并通过传输控制单元将该绝对地址发送给输出映射单元;使得处于输出状态的数据存储区输出所述输出帧的部分图像区域时,按照该部分图像区域在视频影流输入帧中的绝对地址输出。
本发明对实时数码视频影流进行缓存控制的装置是这样工作的1、视频影流输入模块第一次输出部分图像区域视频影流输入模块准备输出视频影流输入帧时,系统默认数据存储区A为动态更新存储区,为可以接收状态;地址映射单元记录准备输出的部分图像区域(以部分图像区域为一个宏块行为例,第一次输出应当是第一帧的第一个宏块行)在视频影流输入帧中的绝对地址,然后将视频影流输入模块输出的第一宏块行经由系统AHB总线,存储在数据存储区A中,同时将记录的第一个宏块行在视频影流输入帧中的绝对地址,通过传输控制单元传输给输出映射单元。
当数据存储区A数据更新完毕后,停止数据传输。此时,传输控制单元使数据存储区A置为可以输出状态,由于此时数据存储区B中没有数据,将其置为可以接收状态。
2、视频影流输入模块第二次输出部分图像区域当传输控制单元发现数掘存储区A为可以输出状态且数据存储区B为可以接收状态后,视频影流输入模块准备输出第二个部分图像区域(第一帧的第二个宏块行)。
地址映射单元记录准备输出的第二个宏块行在视频影流输入帧中的绝对地址,然后将视频影流输入模块输出的第二个宏块行经由系统AHB总线存储在数据存储区B中,同时将第二个宏块行在视频影流输入帧中的绝对地址,通过传输控制单元传输给输出映射单元。当数据存储区B数据更新完毕后,停止数据传输,并置数据存储区B为可以输出状态。
在数据存储区B接收数据的同时,数据存储区A按照输出映射单元中存储的第一个部分图像区域在视频影流输入帧中的绝对地址向显示模块输出,输出完毕后,数掘存储区A被置为可以接收状态。
3、周而复始,直至1到N个输出帧输出完毕。
实施例2本实施例为本发明应用于在MPEG4视频解码过程中的方法和装置。
本领域内的普通技术人员公知的,MPEG4视频解码存在普通工作模式和“去块效应”工作模式。
在普通工作模式下,本实施例可以采用前述的方法划分局部相关性区域,即一个局部相关性区域包含一个或多个宏块行。
而在MPEG4视频解压缩模块“去块效应”功能生效的工作模式下(实时数码视频影流在解压缩时存在去块效应,在压缩时不存在去块效应),参照附图7,解压缩输出帧的数据更新仍然具有类似于宏块行的局部相关性。此时,如去块效应作用区域为块边界两侧正负N个像素行,则该局部相关性的区域划分具体为,对于帧头部分,从每帧帧头开始向下平移N个像素行,作为一个局部相关性区域,在该帧中这是最小的局部相关性区域;从N+1行向下,每16个像素行作为一个局部相关性区域,至帧尾部分,从帧尾向上取32-N个像素行作为一个局部相关性区域,其中N取自然数,且其最大值为8。在该帧中这是最大的局部相关性区域,此时,所述预定大小的数据存储区的物理尺寸至少与一个最大局部相关性区域的大小相等。
例如假设“去块效应”作用的区域为16×16宏块上下边界两侧的8个像素行,该局部相关性的区域划分应从每帧帧头开始向下平移8个像素行,这样,该帧第一个局部相关性的区域为8个像素行,中间为若干个16个像素行,相应的最后一个局部相关性的区域为24个像素行,此时,所述预定大小的数据存储区的物理尺寸至少与一个最大局部相关性区域(24个像素行)的大小相等。
参照附图8,在MPEG4视频解码过程中,对实时数码视频影流进行缓存控制的方法具体包括如下步骤
第一步,由缓存控制模块将视频解压缩模块输出的解压缩输出帧的部分图像区域,输出至处于接收状态的预定大小的数据存储区;同时,缓存控制模块记录该部分图像区域在解压缩输出帧中的映射位置;第二步,处于接收状态的数据存储区存储部分图像区域完毕后,转为输出状态,向显示模块输出其存储的部分图像区域;同时,在缓存控制模块的控制下另一预定大小的数据存储区转为接收状态,继续接收MPEG4视频解压缩模块发送的下一部分图像区域;第三步,显示模块在缓存控制模块记录的映射位置,显示处于输出状态的数据存储区发送的部分图像区域。
参照附图9,在MPEG4视频解码过程,对实时数码视频影流进行缓存控制的装置包括MPEG4视频解压缩模块、缓存控制模块、系统AHB总线、两个预定大小互为乒乓操作的数据存储区A和数据存储区B,以及显示模块;其中,缓存控制模块包括地址映射单元、传输控制单元以及输出映射单元,传输控制单元将解压缩输出帧的部分图像区域发送至处于接收状态的数据存储区,控制两个预定大小的数据存储区进行乒乓操作,使处于输出状态的数据存储区将所述部分图像区域输出;地址映射单元用于记录输出帧的部分图像区域在输出帧中的绝对地址,并通过传输控制单元将该绝对地址发送给输出映射单元;使得处于输出状态的数据存储区输出所述解压缩输出帧的部分图像区域时,按照该部分图像区域在解压缩输出帧中的绝对地址输出。
本发明对实时数码视频影流进行缓存控制的装置是这样工作的1、MPEG4视频解压缩模块第一次输出部分图像区域MPEG4视频解压缩模块准备输出解压缩输出帧时,系统默认数据存储区A为动态更新存储区,为可以接收状态;地址映射单元记录准备输出的部分图像区域(以部分图像区域为一个宏块行为例,第一次输出应当是第一帧的第一个宏块行)在解压缩输出帧中的绝对地址,然后将MPEG4视频解压缩模块解压缩输出的第一宏块行经由系统AHB总线,存储在数据存储A中,同时将记录的第一个宏块行在解压缩输出帧中的绝对地址,通过传输控制单元传输给输出映射单元。
当数据存储区A数据更新完毕后,停止数据传输。此时,传输控制单元使数据存储区A置为可以输出状态,由于此时数据存储区B中没有数据,将其置为可以接收状态。
2、MPEG4视频解压缩模块第二次输出部分图像区域当传输控制单元发现数据存储区A为可以输出状态且数据存储区B为可以接收状态后,MPEG4视频解压缩模块准备输出第二个部分图像区域(第一帧的第二个宏块行)。
地址映射单元记录准备输出的第二个宏块行在解压缩输出帧中的绝对地址,然后将MPEG4视频解压缩模块解压缩输出的第二个宏块行经由系统AHB总线存储在数据存储区B中,同时将第二个宏块行在解压缩输出帧中的绝对地址,通过传输控制单元传输给输出映射单元。当数据存储区B数据更新完毕后,停止数据传输,并置数据存储区B为可以输出状态。
在数据存储区B接收数据的同时,数据存储区A按照输出映射单元中存储的第一个部分图像区域在解压缩输出帧中的绝对地址向显示模块输出,输出完毕后,数据存储区A被置为可以接收状态。
3、周而复始,直至1到N个输出帧输出完毕。(如图10所示)。
权利要求
1.一种对实时数码视频影流进行缓存控制的方法,用于MPEG4视频编解码过程中,包括如下步骤步骤A,发送实时数码视频影流的视频影流帧中由一个或多个局部相关性区域构成的部分图像区域,至处于接收状态的预定大小的数据存储区;同时,记录该部分图像区域在视频影流帧中的位置;步骤B,处于接收状态的预定大小的数据存储区与处于输出状态的预定大小的数据存储区执行乒乓操作;步骤C,处于输出状态的数据存储区中存储的部分图像区域,按照该部分图像区域在视频影流帧中的位置输出。
2.根据权利要求1所述的对实时数码视频影流进行缓存控制的方法,其特征在于在MPEG4视频编码过程中,所述视频影流帧为视频影流输入帧;在MPEG4视频解码过程中,所述视频影流帧为解压缩输出帧。
3.根据权利要求1所述的对实时数码视频影流进行缓存控制的方法,其特征在于所述局部相关性区域的划分方法为将视频影流帧划分为若干个区域,并且每个区域内部的更新顺序可以有更新顺序的反复,而任意两个区域之间没有更新顺序的反复,从而确定这样的区域即为局部相关性区域。
4.根据权利要求3所述的对实时数码视频影流进行缓存控制的方法,其特征在于,在无去块效应作用时,所述局部相关性区域的划分具体为每帧内每16个像素行划分为一个局部相关性的区域。
5.根据权利要求3所述的对实时数码视频影流进行缓存控制的方法,其特征在于在视频解码过程中去块效应功能生效的工作模式下,如去块效应作用区域为块边界两侧正负N个像素行,则该局部相关性的区域划分具体为,对于帧头部分,从每帧帧头开始向下平移N个像素行,作为一个局部相关性区域,在该帧中这是最小的局部相关性区域;从N+1行向下,每16个像素行作为一个局部相关性区域,至帧尾部分,从帧尾向上取32-N个像素行作为一个局部相关性区域,其中N取自然数,且其最大值为8,在该帧中这是最大的局部相关性区域。
6.根据权利要求5所述的对实时数码视频影流进行缓存控制的方法,其特征在于,所述预定大小的数据存储区的物理尺寸至少与一个最大局部相关性区域的大小相等。
7.根据权利要求4所述的对实时数码视频影流进行缓存控制的方法,其特征在于,所述预定大小的数据存储区的物理尺寸与视频影流帧的部分图像区域的大小相等。
8.一种对实时数码视频影流进行缓存控制的装置,用于MPEG4视频编解码过程中,其特征在于包括两个互为乒乓操作的预定大小的数据存储区,处于接收状态的数据存储区接收完视频影流帧中由一个或多个局部相关性区域构成的部分图像区域后,才可以转为输出状态,处于输出状态的数据存储区发送完视频影流帧中由一个或多个局部相关性区域构成的部分图像区域后,才可以转为输入状态;一缓存控制模块;其中,缓存控制模块发送视频影流帧中由一个或多个局部相关性区域构成的部分图像区域至处于接收状态的预定大小数据存储区,并记录该部分图像区域在视频影流帧中的位置;而将处于输出状态的预定大小数据存储区中存储的部分图像区域,按照该部分图像区域在视频影流帧中的位置输出。
9.根据权利要求8所述的对实时数码视频影流进行缓存控制的装置,其特征在于,所述的缓存控制模块包括地址映射单元、传输控制单元以及输出映射单元,其中,传输控制单元将视频影流帧中由一个或多个局部相关性区域构成的部分图像区域发送至处于接收状态的数据存储区,控制两个预定大小的数据存储区进行乒乓操作,使处于输出状态的数据存储区将所述部分图像区域输出;地址映射单元用于记录部分图像区域在视频影流帧中的绝对地址,并通过传输控制单元将该绝对地址发送给输出映射单元;使得处于输出状态的数据存储区输出部分图像区域时,按照该部分图像区域在视频影流帧中的绝对地址输出。
10.根据权利要求8或9所述的对实时数码视频影流进行缓存控制的装置,其特征在于,所述预定大小的数据存储区的物理尺寸与视频影流帧的部分图像区域的大小相等。
全文摘要
本发明公开了一种对实时数码视频影流进行缓存控制的方法和装置,解决了现有帧缓存控制机制中需要两个整帧大小的物理存储区互为乒乓操作,不能应用于只有较小存储空间的小型手持设备的问题。包括两个互为乒乓操作的预定大小的数据存储区,一缓存控制模块;其中,缓存控制模块发送视频影流帧的部分图像区域至处于接收状态的数据存储区,并记录该部分图像区域在视频影流帧中的位置;而将处于输出状态的数据存储区中存储的部分图像区域,按照该部分图像区域在视频影流帧中的位置输出。本发明最少只需要两个“宏块行”尺寸的缓存空间用于存储传输通信图像数据,降低了硬件代价,利于将MPEG4解压缩技术应用于支持较大图像尺寸的小型手持设备。
文档编号H04N7/24GK1964495SQ20061016202
公开日2007年5月16日 申请日期2006年12月8日 优先权日2006年12月8日
发明者陈东瑛 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1