CN1780402A - 视频图像运动补偿装置 - Google Patents

视频图像运动补偿装置 Download PDF

Info

Publication number
CN1780402A
CN1780402A CN 200410091254 CN200410091254A CN1780402A CN 1780402 A CN1780402 A CN 1780402A CN 200410091254 CN200410091254 CN 200410091254 CN 200410091254 A CN200410091254 A CN 200410091254A CN 1780402 A CN1780402 A CN 1780402A
Authority
CN
China
Prior art keywords
module
register
data
motion vector
delay
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.)
Granted
Application number
CN 200410091254
Other languages
English (en)
Other versions
CN100469146C (zh
Inventor
解晓东
吴迪
贾惠柱
生滨
郑俊浩
张鹏
邓磊
张力
张帧睿
王忠立
高文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd filed Critical National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd
Priority to CN 200410091254 priority Critical patent/CN100469146C/zh
Publication of CN1780402A publication Critical patent/CN1780402A/zh
Application granted granted Critical
Publication of CN100469146C publication Critical patent/CN100469146C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种视频图像运动补偿装置,其包括运动向量预测模块、象素数据读取模块及象素插值计算模块;运动向量预测模块根据码流里的运动向量残差和标准规定的算法计算出宏块运动向量,通过第一缓存模块传送给象素数据读取模块;象素数据读取模块根据外部存储器的地址,接受外部存储器读回的数据,数据经过拼接和无限制运动向量处理,通过第二缓存模块传送到象素插值计算模块;插值模块实现标准的插值算法。采用本发明装置,可较好地实现标清视频和高清视频的视频图像运动补偿,如二分之一象素插值计算或四分之一象素插值计算等,可以有效地提高视频图像的处理速度和处理效率。

Description

视频图像运动补偿装置
技术领域
本发明涉及一种视频图像编解码补偿装置,尤其是一种视频图像运动补偿装置。
背景技术
二十世纪九十年代以来,国际标准化组织ISO、国际电工技术委员会IEC和国际电信联盟ITU制定了一系列多媒体编码的标准和建议,典型的有MPEG系列国际标准、H.26x系列视频压缩标准和联合视频编码标准JVT等。中国也正在制定数字音视频编解码标准AVS。
我国信息产业部科学技术司于2002年6月批准成立了“数字音视频编解码技术标准工作组”。工作组工作核心是制定我国的数字音视频编解码标准。所制订的标准目前被称为AVS(Advance Video Coding Standard)。AVS是一套适应面十分广阔的技术标准,优势表现在以下几个方面:自主性、高压缩率、低复杂度、低成本。
运动补偿算法:
1、参考图像选择:
不像H.264,AVS标准规定每帧图像使用的参考图像不应超过两个帧或四个场。具体来说对于P帧参考图像可以是显示顺序中前2个I/P帧,对于P场参考图像可以是显示顺序中前4个I/P场。对于B帧参考图像是显示顺序中前后最近的两个I/P帧,对于B场参考图像是显示顺序中前面最近的两个I/P场和后面最近的两个I/P场。特别的如果一个I帧的底场是P场,它只能参考同一帧的顶场。参考索引值用来标号当前图像进行解码处理所用的参考图像,由于P场可以有4个参考场,因此参考索引的取值范围是0..3。有些时候参考索引不出现在比特流中,缺省参考图像是标记为0的图像(或场)。
帧索引(picture_distance)表示当前编码帧在图像序列中的位置,确切地说是编码前的原始图像序列中的位置。图像序列中帧的数目会很多,每一帧都分配一个索引是不实际的而且也不利于硬件实现,因此帧索引的表示方法是循环使用0~255标记序列中的帧。编码时容许跳过一些原始图像(Numberskipframe<128),因此picture_distance是不连续的。计算方法如下:picture_distancecurrent=(picture_distanceprevious+1+Numberskipframe)mod 256。        (1)
场索引(DistanceIndex),相当于当前块所在场在原始图像序列中的标号,在帧编码中,所有块都被认为属于第一场或顶场,DistanceIndex等于picture_distance乘2。在场编码中,如果块属于第二场或底场,DistanceIndex等于picture_distance乘2加1;如果块属于第一场或顶场,DistanceIndex等于picture_distance乘2。
2、向量预测及生成:
和H.264相同,AVS也采用空域预测和时域预测的向量预测技术。
2.1、空域预测:
空域预测是指利用周边块的运动向量对当前块的运动向量进行差分编码的预测方式,它是去除运动向量空间冗余信息的一种办法。空域预测是依据这样的一个假设,即相邻的块的运动是相似的。这样相邻的块之间就具有很大的相关性,向量的空域预测充分利用了这种相关性来提高编码效率。当前亮度块E和它空域预测需要的相邻亮度块A、B、C和D之间的空间位置如图1所示。空间预测中,首先要根据这四个相邻的块生成预测向量,其次预测向量(MVEPred)与差分向量即从码流里获得的MVD值相加得到运动向量。E的大小可以是AVS标准规定的任何块类型,比如16×16、16×8、8×16或者8×8。
块距离(BlockDistance)表示当前块(属于当前图像)和它的运动矢量所指向的参考块(属于参考图像)之间的场距离,计算如下:
如果前向:
BlockDistance=(DistanceIndexcur-DistanceIndexref+512)mod 512。(2)
如果后向:
BlockDistance=(DistanceIndexref-DistanceIndexcur+512)mod 512。(3)
在一些情况,根据块A、B、C的参考索引和他们的可用性,可以直接判断MVEPred的值。比如E在16×8模式下,如果B“可用”并且参考索引值和E的上块相同,MVEPred等于B块的运动向量。如果A“可用”并且参考索引值和E的下块相同,MVEPred等于A块的运动向量。除此之外,就需要进行向量的空域预测计算才能产生预测向量。空域预测的过程如下:
首先,根据BlockDistance对相邻块的运动向量缩放,记缩放后的运动向量为MVA、MVB、MVC。如果参考块和当前块的BlockDistance不同,那么直接使用参考块的运动向量产生预测会导致时域上的偏差。解决办法是在使用参考块运动向量前,先把它缩放到与当前块相同的时域平面上。如果用Z代表相邻块A、B、C,用z代表向量分量x、y,mvZ_z代表某一个相邻块的运动向量分量,则向量缩放按如下方式进行:
MVZ_z=(mvZ_z×BlockDistanceE×(256/BlockDistanceZ)+128)>>8。(4)
其次,计算MVA,MVB,MVC之间的距离。两个运动向量之间的距离Dist(MV1,MV2)定义为两个向量的x分量差的绝对值与y分量差的绝对值之和。
最后,由三个距离Dist(MVA,MVB)、Dist(MVA,MVC)、Dist(MVC,MVB)的中值决定MVEPred的赋值。如果中值为A块和B块运动向量之间的距离,MVEPred等于C块的运动向量MVC,否则如果中值为A块和C块运动向量之间的距离,MVEPred等于B块的运动向量MVB,否则,MVEPred等于MVB。
空域预测的最后要将预测值与差分值相加得到最终运动向量,运动向量的基本单位为四分之一样本。
2.2、时域预测
时域预测是指利用相邻帧同一位置块的运动向量对当前块的运动向量进行推导的预测方式,它是去除运动向量时间冗余的一种办法。时域预测是依据这样的一个假设,即相邻帧同一位置块的运动是相似的。这些块的运动向量之间有很大的相关性,时域预测充分利用了这种相关性,并且它不需要编码差分运动向量,是提高编码效率的有效工具。时域预测只在B帧的直接模式中使用。直接模式也采用空域预测方式,如果参考帧中与当前块位置相同的块的编码模式为帧内编码,当前块的运动向量预测方式采用空域预测,为了说明方便,标记与当前块位置相同的参考块的对应的运动矢量为mvRef,该运动矢量指向的参考图像的距离索引为DistanceIndexRef。时域预测的过程如下:
首先确定当前块前向参考帧和后向参考帧,并获得它们的索引DistanceIndexFw和DistanceIndexBw。如果当前块所在图像是帧编码,前向参考帧和后向参考帧就是显示顺序中前面最近的锚(I、P帧或I、P场)和后面最近的锚。如果当前块所在图像是场编码,前向参考帧的选择由DistanceIndexRef决定,如果参考索引为DistanceIndexRef的图像在当前块前向可参考范围内,前向参考图像就是DistanceIndexRef所指的图像,否则前向参考帧是离当前帧最远的可参考场。后向参考帧的选择由当前块所在的场决定,如果当前块在顶场,则后向参考帧也是顶场,反之依然。
根据BlcokDistance公式计算BlockDistanceRef、DistanceIndexBw、BlockDistanceFw。
如果以Z表示Bw或Fw,z表示向量分量x或y。计算直接模式前向及后向运动向量的各个分量的公式如下:
mvZ_z=signal(mvRef_z)×(((16384/BlockDistanceRef)×(1-mvRef_z×BlockDistanceZ)-1)>>14)              (5)
2.3、对称模式:
对称模式是AVS标准中独有的预测模式,类似于双向预测,不同的是双向预测需要编码两个差分向量,而对称模式只需要编码一个前向的差分向量。后向运动向量是前向运动向量缩放并反向延伸的结果。如果前向向量为mvFw则后向向量为:
mvBw_z=-(mvFw_z×BlockDistanceBw×(256/BlockDistanceFw)+128)>>8                                   (6)
参考象素数据读回:
这部分的功能是根据运动向量指定的位置和相关参数指定的长宽,从片外存储器读取参考象素。它不在视频标准规定的范围内。
象素插值算法:
视频序列通过对模拟输入信号的采样得到,整象素点是视频图像的有效采样点。视频编码中普遍采用宏块为基本的编码单元,一个宏块就是一个16×16的象素方阵,宏块可以被16×8、8×16、8×8、4×8、8×4、4×4象素块划分。亚象素点处在整象素点之间,由整象素点插值得到,不同标准插值方法不同,但有共同点和相似之处。下面是AVS的插值算法:
如图2所示,为整数样本、二分之一样本和四分之一样本的位置示意图,其中用大写字母标记的为整数样本位置,用小写字母标记的为二分之一和四分之一样本位置。
二分之一样本和四分之一样本通过滤波实现,滤波器分别是F1(-1,5,5,-1)、F2(1,7,7,1)。
二分之一样本的计算过程如下:
二分之一样本b:首先用F1对水平方向上最近的4个整数样本滤波,得到中间值b’=(-C+5D+5E-F);最终的预测值b=Clip1((b’+4)>>3)。
二分之一样本h:首先用F1对垂直方向上最近的4个整数样本滤波,得到中间值h’=(-A+5D+5H-K);最终的预测值h=Clip1((h’+4)>>3)。
二分之一样本j:首先用F1在水平或垂直方向上对最近的4个二分之一样本中间值滤波,得到中间值j’=(-bb’+5h’+5m’-cc’),或者j’=(-aa’+5b’+5s’-dd’)。其中aa’,dd’和s’是相应位置二分之一样本中间值(用F1在水平方向滤波得到),bb’,cc’和m’是相应位置二分之一样本中间值(用F1在垂直方向滤波得到)。最终的预测值j=Clip1((j’+32)>>6)。采用水平方向或垂直方向滤波得到的值相同。
四分之一样本的计算过程如下:
四分之一样本a:首先用F2在水平方向上对ee’,D’,b’和E’四个值滤波,得到中间值a’=(ee’+7D’+7b’+E’);最终的预测值a=Clip1((a’+64)>>7)。其中ee’和b’是相应位置二分之一样本中间值,D’和E’是相应位置整数样本放大8倍的值。
四分之一样本d:首先用F2在垂直方向上对ff’,D’,h’和H’四个值滤波,得到中间值d’=(ff’+7D’+7h’+H’);最终的预测值d=Clip1((d’+64)>>7)。其中ff’和h’是相应位置二分之一样本中间值,D’和H’是相应位置整数样本放大8倍的值。四分之一样本n的插值过程与d的插值过程相同。
四分之一样本i:首先用F2在水平方向上对gg’,h”,j’和m”四个值滤波,得到中间值i’=(gg’+7h”+7j’+m”);最终的预测值i=Clip1((i’+512)>>10)。其中gg’和j’是相应位置二分之一中间值,h”和m”是相应位置二分之一样本中间值放大8倍的值,四分之一样本k的插值过程与i的插值过程相同。
四分之一样本f:首先用F2在垂直方向上对hh’,b”,j’和s”四个值滤波,得到中间值f’=(hh’+7b”+7j’+s”);最终的预测值f=Clip1((f’+512)>>10)。其中hh’和j’是相应位置二分之一中间值,b”和s”是相应位置二分之一样本中间值放大8倍的值,四分之一样本q的插值过程与f的插值过程相同。
四分之一样本e,g,p和r:
e=(D”+j’+64)>>7
g=(E”+j’+64)>>7
p=(H”+j’+64)>>7
r=(I”+j’+64)>>7
其中D”,E”,H”和I”是相应位置整数样本放大64倍的值,j’是相应位置二分之一样本中间值。
公开号为1125030的中国专利“用于运动补偿插值的方法与装置”给出了一种插值的方法与装置,主要是实现二分之一象素精度的插值运算,无法解决四分之一象素精度的插值。
公开号为1140958的中国专利“接收MPEG2的半象素运动补偿控制器”也是只针对于MPEG-2的半象素插值,由于计算能力输入数据带宽的限制,无法满足四分之一象素插值处理的要求。
公开号为1167533的中国专利“用于改进的运动补偿的方法与装置”是一种编码的运动估计实现方法和装置,并且只适用于H.261,MPEG-1,MPEG-2等标准,并不适用于MPEG-4,H.264,AVC等新标准。公开号为1115953的中国专利“适应运动大小的运动补偿编码方法及其装置”和公开号为1134084的中国专利“用在图像编码系统中的改进的运动补偿装置”也有同样的缺陷。
公开号为1139358的中国专利“运动图像补偿编码过程中运动补偿用的起始和终结地址发生电路”主要描述的是一个包括地址发生器、地址计算器、加法器的运动补偿地址计算电路,本专利运动补偿地址计算部件归运动补偿之外的专用地址部件统一计算,因此本专利没有地址计算部件相应的是象素数据读取装置,用来产生生成地址所需要的控制信号和返回数据的预处理,与这个专利不同。
目前的视频图像插值可实现二分之一象素插值、四分之一象素插值甚至八分之一象素插值,从象素插值算法的演变过程来看,其计算越来越复杂,计算量也越来越大。在数据的特殊相关性方面,一方面象素块内被处理数据间的相互关联、相互影响需要复杂的流水结构来提高处理速度,另一方面块间数据不相关,对相邻块的处理之间需要数据准备时间,而在这个时间内通常的流水处理装置是无法工作的,因此会影响处理效率。同时,以上专利都没有考虑无限制运动向量的处理,而亟待加以进一步改进。
发明内容
本发明所要解决的技术问题在于提供一种视频图像运动补偿装置,可较好地实现标清视频和高清视频的视频图像运动补偿,有效地提高视频图像的处理速度和处理效率。
本发明所要解决的技术问题是通过如下技术方案实现的:
一种视频图像运动补偿装置,其包括运动向量预测模块、象素数据读取模块及象素插值计算模块;所述的运动向量预测模块通过第一缓存模块连接象素数据读取模块,所述的象素数据读取模块通过第二缓存模块连接象素插值计算模块;
所述的运动向量预测模块根据码流里的运动向量残差和标准规定的算法计算出宏块运动向量,通过第一缓存模块传送给象素数据读取模块;所述的象素数据读取模块根据外部存储器的地址,接受外部存储器读回的数据,数据经过拼接和无限制运动向量处理,通过第二缓存模块传送到象素插值计算模块;所述的插值模块实现标准的插值算法。
采用本发明装置,可较好地实现标清视频和高清视频的视频图像运动补偿,如二分之一象素插值计算或四分之一象素插值计算等,可以有效地提高视频图像的处理速度和处理效率;同时考虑了对无限制运动向量的处理,适用于MPEG-4,H.264,AVC等新标准。
附图说明
图1为亮度块E和相邻亮度块的空间位置关系示意图;
图2为整数样本、二分之一样本和四分之一样本的位置示意图;
图3为本发明的结构示意图;
图4为本发明的运动向量预测模块的结构示意图;
图5为图4中空域预测模块的结构示意图;
图6为本发明的象素数据读取模块的结构示意图;
图7为本发明的象素插值计算模块的结构示意图;
图8为本发明的象素插值计算模块的数据流程图;
图9为图7中计算单元的结构示意图;
图10为图9中滤波器的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明的技术方案进一步说明:
如图3所示,为本发明的结构示意图,一种视频图像运动补偿装置,包括运动向量预测模块、象素数据读取模块及象素插值计算模块;运动向量预测模块通过第一缓存模块连接象素数据读取模块,象素数据读取模块通过第二缓存模块连接象素插值计算模块,缓存模块可以是寄存器或先进先出缓存模块FIFO或高速缓冲存储器CACHE或随机存取存贮器RAM或其它存储模块;象素数据读取模块中包括对无限制运动向量的支持。
其中,运动向量预测模块完成运动向量预测算法;象素数据读取模块完成参考数据的读取;象素插值计算模块完成象素插值计算算法。运动向量预测模块根据码流里的运动向量残差和标准规定的算法计算出宏块运动向量,传送给第一缓存模块,第一缓存模块在象素数据读取模块请求数据时,按数据的输入顺序发送数据给象素数据读取模块,如果第一缓存模块已经充满,则运动向量预测模块停止向它发送数据,如果第一缓存模块已经空,则象素数据读取模块停止向它索要数据。象素数据读取模块根据外部存储器的地址,接受存储器读回的数据,数据经过拼接和无限制运动向量处理,传送给第二缓存模块,第二缓存模块在象素插值计算模块请求数据时,按数据的输入顺序发送数据给象素插值计算模块,如果第二缓存模块已经充满,则象素数据读取模块停止向它发送数据,如果第二缓存模块已经空,则象素插值计算模块停止向它索要数据。插值模块实现标准的插值算法。
1、运动向量预测模块:
运动向量预测模块完成计算预测向量和预测向量与差分运动向量相加两个功能,差分运动向量来自输入。
如图4所示,为本发明的运动向量预测模块的结构示意图,运动向量预测模块包括五部分:输入缓存模块、空域预测模块、向量缓存模块、时域向量预测模块及输出缓存模块。输入缓存模块缓存输入进来的数据,此数据包括差分运动向量信息和参数信息,然后输入缓存模块将差分运动向量信息和参数信息传送到空域预测模块或时域预测模块;空域预测模块完成运动向量空域预测算法,其结果一方面可以通过输出缓存模块输出,另一方面可以通过向量缓存模块的缓存后,传输到时域向量预测模块;向量缓存模块不仅缓存运动向量预测模块向外的输出数据,也缓存运动向量预测模块向内的输入数据,数据流动是双向的;时域向量预测模块完成运动向量时域预测模块算法,结果数据通过输出缓存模块的缓存,最后输出结果。
如图5所示,为本发明的运动向量预测模块中的空域预测模块的结构示意图,其中A、B、C、D、E的含义见图1。空域预测模块是由寄存器模块组、缓存模块及计算单元组成,寄存器模块组是寄存器构建的存储模块,是一个类似FIFO的结构。寄存器模块组和缓存模块组成空域预测模块中存储结构。
当前宏块E和A、B、C、D用寄存器模块保存,使用寄存器的目的是保证不需要地址计算就可以获得数据,A和C之间有一个N-3存储单位的先进先出缓存模块FIFO或随机存取存贮器RAM构建的缓存模块组,N是一个与图像每行宏块的个数有关的数据。
当一个写信号有效时,该存储结构中每一个寄存器模块把数据传递给它紧邻右边的寄存器模块或缓存模块,每一个缓存模块把数据传递给它紧邻右边的缓存模块或寄存器模块,一个数据需要N-3个写信号才能从FIFO模块的左边传递到右边。每一个寄存器模块A、B、C、D都连接到运算单元ALU。运算单元ALU实现时域预测算法。
2、象素数据读取模块:
象素数据读取模块的作用是生成访存需要的控制参数、支持无限制运动向量的控制参数,以及取回数据的预处理。
如图6所示,为本发明的象素数据读取模块的结构示意图,象素数据读取模块分为四个模块:地址参数生成模块、请求参数生成模块、参数缓存模块和数据拼接和无限制运动向量模块。地址参数生成模块生成访存需要的地址和所需要的参数,送到请求参数生成模块;请求参数生成模块根据目前请求状态决定是否可以发送访存请求,如果可以发送请求,则请求信号和一组访存参数发送给外部存储器,并且部分访存参数送参数缓存模块缓存起来;参数缓存模块为先进先出缓存模块FIFO或RAM等存储设备,其能够缓存请求参数模块生成的数据,并在数据拼接和无限制运动向量模块处理数据时读出来,控制数据拼接和无限制运动向量模块的工作,参数传递通过FIFO缓存,可有效提高并行性;数据拼接和无限制运动向量处理模块在得到访存返回的数据,并从参数缓存模块获得相应数据的参数后,按插值要求拼接数据并且按无限制运动向量算法处理数据,结果数据输出。在整个象素数据读取模块的各个内部模块中,前两个模块(地址参数生成模块和请求参数生成模块)与后两个模块(数据拼接和无限制处理模块)之间为并行流水进行,也就是说前两个模块可以不考虑后两个模块的状态而连续的工作,后两个模块也可以不考虑前面两个模块的状态而连续的工作;参数缓存模块的作用可以保证模块间能够并行并且正确的工作。在象素数据读取模块中支持无限制运动向量。由数据拼接和无限制运动向量模块处理限制运动向量,该模块包括两个子模块,数据拼接模块和无限制运动向量处理模块。具体做工作方式是当有效数据到达模块内部并经过数据拼接模块处理后,此模块内置的无限制运动向量处理模块根据算法要求进行数据的填充,将填充后的数据作为象素数据读取模块的输出结果。
3、象素插值计算模块插值算法的数据结构及数据流动过程:
如图7所示,为本发明的象素插值计算模块的结构示意图,象素插值计算模块包括由M个寄存器构成的输入寄存器组、由N个列寄存器组构成的寄存器阵列和计算单元。在寄存器阵列中,每个列寄存器包含M个寄存器,选择N×N个寄存器构成寄存器窗口,寄存器窗口的行和列作为计算单元的输入。在所述装置中,M的取值与该装置可以处理的象素数据块大小相关,可以是数据块的长度,也可以是数据块的宽度;N是插值运算中滤波器的最高阶数。
象素数据通过输入寄存器组经过N个周期后输入到寄存器阵列中,即假设列寄存器组从右向左的编号为1,2,...N,则在第1个周期,输入寄存器组中的M个数据输入到列寄存器组1中;在第2个周期,列寄存器组1中的M个数据输入到列寄存器组2中,并且执行与第1个周期相同的输入操作;在第3个周期中,列寄存器组2中的M个数据输入到列寄存器组3中,并且执行与第2个周期相同的输入操作;以此类推,在第N-1个周期中,列寄存器组N-2中的M个数据输入到列寄存器组N-1中,并且执行与第N-2个周期相同的输入操作;在第N个周期,列寄存器组N-1中的M个数据输入到列寄存组N中,并且执行与第N-1个周期相同的输入操作。随后,每计算完一行数据后,都要经过一个时钟周期通过输入寄存器组输入一行象素数据。
为了使计算一个插值结果所需的所有象素数据在一个时钟周期出现在寄存器窗口中,象素数据需要在寄存器阵列中进行传递,包括三种传递方式:向左传递、循环向上传递和循环向下传递。向左传递是指寄存器阵列中的所有寄存器将自己保存的数据向其左边紧邻的寄存器传递。循环向上传递是指寄存器阵列中除最上面一行的所有寄存器将自己的数据向其紧邻的上一行寄存器传递,而最上面一行的寄存器将自己的数据传递给其正下方最下面一行的寄存器。循环向下传递是指寄存器阵列中除最下面一行的所有寄存器将自己的数据向其紧邻的下一行寄存器传递,而最下面一行的寄存器将自己的数据传递给其正上方最上面一行的寄存器。
象素插值计算模块进行插值计算的流程如图8所示。首先Q行象素数据中的N行经过N个时钟周期的向左传递,输入寄存器阵列中,然后开始对一行数据进行计算,计算一行数据需要M-N+1个时钟周期。在计算单数行数据时,其中M-N个时钟周期的每一个时钟周期,寄存器阵列中的数据都循环向下传递,M-N+1个时钟周期后的一个时钟周期,寄存器阵列中的数据都向左传递,并向寄存器阵列输入Q行数据中下一行未输入的数据;在计算双数行数据时,其中M-N个时钟周期的每一个时钟周期,寄存器阵列中的数据都循环向上传递,M-N+1个时钟周期后的一个时钟周期,寄存器阵列中的数据都向左传递,并向寄存器阵列输入Q行数据中下一行未输入的数据;直到将Q行的数据全部计算完毕。
下面给出一个实施例。如果待处理的象素数据块最大为13×13的数据块,而插值运算中的滤波器阶数最多是6,则象素插值计算模块有6个列寄存器组,每个列寄存器组有13个寄存器,因此共有78个寄存器,每个寄存器是8位。寄存器窗口是由6×6个寄存器构成,寄存器窗口内的数据将输出到计算单元进行插值计算。其流程如下:
首先,经过6个周期的向左传递,插值运算所需的13行数据中的6行数据输入到寄存器阵列中;
计算第一行数据,需要8个时钟周期,其中7个时钟周期的每一个时钟,寄存器阵列中的数据都循环向下传递;
8个时钟周期后的一个时钟周期,寄存器阵列中的数据向左传递;
计算第二行数据,需要8个时钟周期,其中7个时钟周期的每一个时钟,寄存器阵列中的数据都循环向上传递;
8个时钟周期后的一个时钟周期,寄存器阵列中的数据向左传递;
计算第三行数据,需要8个时钟周期,其中7个时钟周期的每一个时钟,寄存器阵列中的数据都循环向下传递;
8个时钟周期后的一个时钟周期,寄存器阵列中的数据向左传递;
以此类推,直到计算第八行数据完毕。
图9是本发明象素插值计算模块中计算单元的示意图,包括两组滤波器、多路选择器、多路选择输出器、第一延时寄存器组和第二延时寄存器组,每组滤波器可包括多个滤波器,具体的个数由具体的编解码技术确定。第一滤波器组,用于接收寄存器窗口输出的数据,进行滤波,并输出到第二滤波器组和多路选择器;第二滤波器组收到第一滤波器组输出的结果后进行滤波,并输出到多路选择输出器;第一延时寄存器组收到寄存器窗口输出的数据后,进行延时,输出到多路选择器;第二延时寄存器组接收来自多路选择器的输出,经过延时后输出到多路选择输出器;多路选择器接收第一延时寄存器组和第一滤波器组的输出,选择输出到多路选择输出器;多路选择输出器则对来自寄存器窗口、第二滤波器组、第二延时寄存器组和多路选择器输出的数据,选择其中一个数据作为结果输出。
滤波器的结构如图10所示,包括7个加法器和9个延时寄存器。从寄存器窗口输入的数据分别在加法器1、加法器2和加法器3中进行加法运算,结果分别输出到延时寄存器1、延时寄存器2和延时寄存器3中,延时寄存器主要用于缓存一个时钟周期的计算结果。延时寄存器1和延时寄存器3输出的计算结果在加法器4中进行相加后输出到延时寄存器4,而延时寄存器2和延时寄存器3输出的计算结果则在加法器5中进行相加,然后输出到延时寄存器5。加法器6对延时寄存器4和延时寄存器5的输出进行相加,再输出到延时寄存器6。延时寄存器2输出的计算结果经过延时寄存器7和延时寄存器8的两次延时,输出到加法器7中,与延时寄存器6输出的计算结果进行相加,最后通过延时寄存器9输出。
上述滤波器的结构属于流水结构,流水线长度是四个时钟周期,当流水线充分被利用时,该滤波器可以每个时钟周期产生一个结果。虽然是滤波器结构,但并没有乘法单元,所有计算通过加法树实现。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (13)

1、一种视频图像运动补偿装置,其特征在于,其包括运动向量预测模块、象素数据读取模块及象素插值计算模块;所述的运动向量预测模块通过第一缓存模块连接象素数据读取模块,所述的象素数据读取模块通过第二缓存模块连接象素插值计算模块;
所述的运动向量预测模块根据码流里的运动向量残差和标准规定的算法计算出宏块运动向量,通过第一缓存模块传送给象素数据读取模块;所述的象素数据读取模块根据外部存储器的地址,接受外部存储器读回的数据,数据经过拼接和无限制运动向量处理,通过第二缓存模块传送到象素插值计算模块;所述的插值模块实现标准的插值算法。
2、根据权利要求1所述的视频图像运动补偿装置,其特征在于:所述的第一缓存模块及第二缓存模块为寄存器或先进先出缓存模块或高速缓冲存储器或随机存取存贮器。
3、根据权利要求1所述的视频图像运动补偿装置,其特征在于:所述的运动向量预测模块包括输入缓存模块、空域预测模块、向量缓存模块、时域预测模块及输出缓存模块;所述的输入缓存模块缓存输入进来的数据,此数据包括差分运动向量信息和参数信息,然后输入缓存模块将差分运动向量信息和参数信息传送到空域预测模块或者时域预测模块;所述的空域预测模块完成运动向量空域预测算法,其结果作为运动向量预测模块的输出,并通过向量缓存模块的缓存,将参考运动向量传输到时域向量预测模块;所述的向量缓存模块不仅缓存运动向量预测模块向外的输出数据,也缓存运动向量预测模块向内的输入数据,其数据流动是双向的;所述的时域向量预测模块完成运动向量时域预测模块算法,再通过输出缓存模块的缓存,输出结果。
4、根据权利要求3所述的视频图像运动补偿装置,其特征在于:所述的空域预测模块是由寄存器模块组、缓存模块及计算单元组成;所述的寄存器模块组是寄存器构建的存储模块;所述的寄存器模块组和缓存模块组成空域预测模块中存储结构;当一个写信号有效时,所述的存储结构中每一个寄存器模块把数据传递给它紧邻右边的寄存器模块或缓存模块,每一个缓存模块把数据传送给它紧邻右边的缓存模块或寄存器模块;每一个寄存器模块都连接到计算单元;所述的计算单元实现空域预测算法。
5、根据权利要求4所述的视频图像运动补偿装置,其特征在于:所述的缓存模块为先进先出缓存模块或随机存取存贮器。
6、根据权利要求1所述的视频图像运动补偿装置,其特征在于:所述的象素数据读取模块包括地址参数生成模块、请求参数生成模块及数据拼接和无限制运动向量模块;所述的地址参数生成模块生成访存需要的地址和所需要的参数,送请求参数生成模块;所述的请求参数生成模块根据目前请求状态决定是否可以发送访存请求,如果可以发送请求,则请求信号和一组访存参数发送给外部存储器,并且部分访存参数送数据拼接和无限制运动向量模块;所述的数据拼接和无限制运动向量处理模块在得到访存返回的数据,并从请求参数生成模块获得相应数据的参数后,按插值模块的要求拼接数据并且按无限制运动向量算法处理数据,结果数据输出给插值模块。
7、根据权利要求6所述的视频图像运动补偿装置,其特征在于:所述的象素数据读取模块还包括参数缓存模块,所述的参数缓存模块为先进先出缓存模块或随机存取存贮器,其能够缓存请求参数模块生成的数据,并在数据拼接和无限制运动向量模块处理数据时读出来使用,控制数据拼接和无限制运动向量模块的工作;所述的地址参数生成模块和请求参数生成模块为第一部分,其与数据拼接和无限制处理模块之间为并行流水运行。
8、根据权利要求1所述的视频图像运动补偿装置,其特征在于:所述的象素插值计算模块包括输入寄存器组、寄存器阵列和计算单元;所述输入寄存器组包括M个寄存器,用于缓存输入的数据,并将数据输出到所述寄存器阵列;所述寄存器阵列包括N个列寄存器组,每个列寄存器组包括M个寄存器,所述列寄存器组用于保存计算一行或一列插值结果所需的所有数据;所述寄存器阵列中的N×N个寄存器构成寄存器窗口,用于保存计算一个插值结果所需的所有数据,所述寄存器窗口的行或列都可作为所述计算单元的输入;所述计算单元,用于完成插值滤波运算;其中M的取值与象素数据块的大小有关,N是滤波算法最长的滤波阶数。
9、根据权利要求8所述的视频图像运动补偿装置,其特征在于,所述M是象素数据块的长度或者是象素数据块的宽度,初始化时所述输入寄存器组将输入的象素数据经过N个周期后输出到寄存器阵列,具体是:假设寄存器阵列的列寄存器组从右向左编号为1,2,...N,则在第1个周期,输入寄存器组中的M个数据输入到列寄存器组1中;在第2个周期,列寄存器组1中的M个数据输入到列寄存器组2中,并且执行与第1个周期相同的输入操作;在第3个周期中,列寄存器组2中的M个数据输入到列寄存器组3中,并且执行与第2个周期相同的输入操作;以此类推,在第N-1个周期中,列寄存器组N-2中的M个数据输入到列寄存器组N-1中,并且执行与第N-2个周期相同的输入操作;在第N个周期,列寄存器组N-1中的M个数据输入到列寄存组N中,并且执行与第N-1个周期相同的输入操作。
10、根据权利要求8所述的视频图像运动补偿装置,其特征在于,当计算插值结果时,象素数据需在寄存器阵列中传递,其传递方式包括:向左传递、循环向上传递和循环向下传递;所述向左传递是指寄存器阵列中的所有寄存器将自己保存的数据向其左边紧邻的寄存器传递;所述循环向上传递是指寄存器阵列中除最上面一行的所有寄存器将自己的数据向其紧邻的上一行寄存器传递,而最上面一行的寄存器将自己的数据传递给其正下方最下面一行的寄存器;所述循环向下传递是指寄存器阵列中除最下面一行的所有寄存器将自己的数据向其紧邻的下一行寄存器传递,而最下面一行的寄存器将自己的数据传递给其正上方最上面一行的寄存器。
11、根据权利要求8所述的视频图像运动补偿装置,其特征在于,在进行插值计算时,是对每行数据进行计算;计算每行数据需要M-N+1个时钟周期;在计算单数行数据时,其中M-N个时钟周期的每一个时钟周期,寄存器阵列中的数据都循环向下传递,M-N+1个时钟周期后的一个时钟周期,寄存器阵列中的数据都向左传递;在计算双数行数据时,其中M-N个时钟周期的每一个时钟周期,寄存器阵列中的数据都循环向上传递,M-N+1个周期后的一个时钟周期,寄存器阵列中的数据都向左传递。
12、根据权利要求8所述的视频图像运动补偿装置,其特征在于,所述计算单元包括两组滤波器、多路选择器、多路选择输出器、第一延时寄存器组和第二延时寄存器组,每组滤波器可包括多个滤波器,具体的个数由具体的编解码技术确定;所述第一滤波器组,用于接收寄存器窗口输出的数据,进行滤波,并输出到所述第二滤波器组和所述多路选择器;所述第二滤波器组收到所述第一滤波器组输出的结果后进行滤波,并输出到所述多路选择输出器;所述第一延时寄存器组收到寄存器窗口输出的数据后,进行延时,输出到所述多路选择器;所述第二延时寄存器组接收来自所述多路选择器的输出,经过延时后输出到所述多路选择输出器;所述多路选择器接收所述第一延时寄存器组和所述第一滤波器组的输出,选择输出到所述多路选择输出器;所述多路选择输出器则对来自寄存器窗口、所述第二滤波器组、所述第二延时寄存器组和所述多路选择器输出的数据,选择其中一个数据作为结果输出。
13、根据权利要求8所述的视频图像运动补偿装置,其特征在于,所述滤波器包括7个加法器和9个延时寄存器;所述延时寄存器用于缓存一个时钟周期的计算结果;从寄存器窗口输入的数据分别在加法器1、加法器2和加法器3中进行加法运算,结果分别输出到延时寄存器1、延时寄存器2和延时寄存器3中;延时寄存器1和延时寄存器3输出的计算结果在加法器4中进行相加后输出到延时寄存器4;而延时寄存器2和延时寄存器3输出的计算结果则在加法器5中进行相加,然后输出到延时寄存器5;加法器6对延时寄存器4和延时寄存器5的输出进行相加,再输出到延时寄存器6;延时寄存器2输出的计算结果经过延时寄存器7和延时寄存器8的两次延时,输出到加法器7中,与延时寄存器6输出的计算结果进行相加,通过延时寄存器9输出。
CN 200410091254 2004-11-17 2004-11-17 视频图像运动补偿装置 Active CN100469146C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410091254 CN100469146C (zh) 2004-11-17 2004-11-17 视频图像运动补偿装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410091254 CN100469146C (zh) 2004-11-17 2004-11-17 视频图像运动补偿装置

Publications (2)

Publication Number Publication Date
CN1780402A true CN1780402A (zh) 2006-05-31
CN100469146C CN100469146C (zh) 2009-03-11

Family

ID=36770485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410091254 Active CN100469146C (zh) 2004-11-17 2004-11-17 视频图像运动补偿装置

Country Status (1)

Country Link
CN (1) CN100469146C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576918C (zh) * 2007-06-27 2009-12-30 中国科学院微电子研究所 一种数字音视频编解码技术标准帧间预测像素生成装置
CN103037192A (zh) * 2011-10-07 2013-04-10 三星显示有限公司 显示设备
CN103458245A (zh) * 2013-08-30 2013-12-18 上海高清数字科技产业有限公司 解码器运动补偿模块的流水设计方法及系统
CN110876059A (zh) * 2018-09-03 2020-03-10 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
CN114219699A (zh) * 2022-02-22 2022-03-22 绍兴埃瓦科技有限公司 匹配代价处理方法及电路和代价聚合处理方法
US11457216B2 (en) 2010-10-01 2022-09-27 Dolby International Ab Nested entropy encoding
US11659196B2 (en) 2010-10-01 2023-05-23 Dolby International Ab System for nested entropy encoding

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576918C (zh) * 2007-06-27 2009-12-30 中国科学院微电子研究所 一种数字音视频编解码技术标准帧间预测像素生成装置
US11457216B2 (en) 2010-10-01 2022-09-27 Dolby International Ab Nested entropy encoding
US11973949B2 (en) 2010-10-01 2024-04-30 Dolby International Ab Nested entropy encoding
US11659196B2 (en) 2010-10-01 2023-05-23 Dolby International Ab System for nested entropy encoding
CN103037192A (zh) * 2011-10-07 2013-04-10 三星显示有限公司 显示设备
CN103037192B (zh) * 2011-10-07 2018-06-29 三星显示有限公司 显示设备
CN103458245B (zh) * 2013-08-30 2016-12-28 上海高清数字科技产业有限公司 解码器运动补偿模块的流水设计方法及系统
CN103458245A (zh) * 2013-08-30 2013-12-18 上海高清数字科技产业有限公司 解码器运动补偿模块的流水设计方法及系统
CN110876059B (zh) * 2018-09-03 2022-06-10 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
WO2020048180A1 (zh) * 2018-09-03 2020-03-12 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
CN115250350A (zh) * 2018-09-03 2022-10-28 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
US11563949B2 (en) 2018-09-03 2023-01-24 Huawei Technologies Co., Ltd. Motion vector obtaining method and apparatus, computer device, and storage medium
CN110876059A (zh) * 2018-09-03 2020-03-10 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
CN115250350B (zh) * 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
CN114219699A (zh) * 2022-02-22 2022-03-22 绍兴埃瓦科技有限公司 匹配代价处理方法及电路和代价聚合处理方法

Also Published As

Publication number Publication date
CN100469146C (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
CN1157956C (zh) 运动估计器
CN1290342C (zh) 可执行区块比对移动补偿与全域移动补偿的装置与方法
WO2012122209A2 (en) Caching method and system for video coding
CN1933600A (zh) 用于h.264/avc编码器的运动估计方法
CN1227913C (zh) 水平滤波器
CN102143361B (zh) 一种视频编码方法和装置
CN1589028B (zh) 基于像素流水的帧内预测装置及预测方法
CN1852442A (zh) 一种分层运动估计方法和超大规模集成电路
CN1780402A (zh) 视频图像运动补偿装置
CN1703094A (zh) 1/4像素插值应用于1/2像素插值结果的图象插值装置和方法
CN1127264C (zh) 用于运动估计算法的分层可编程并行视频信号处理器
CN101631242A (zh) 视频加权预测系统及其编码解码方法
CN1926860A (zh) 用于降低量化噪声传播效应的最佳空域-时域变换
CN1535026A (zh) 直接编码模式下确定参考图像块的方法
Jiang et al. Highly paralleled low-cost embedded HEVC video encoder on TI KeyStone multicore DSP
CN1263309C (zh) 用于视频编码的运动矢量预测方法
Iwata et al. A 256 mW 40 Mbps full-HD H. 264 high-profile codec featuring a dual-macroblock pipeline architecture in 65 nm CMOS
CN1947346A (zh) 正交归一时空变换的基于提升的实现方式
CN1589024A (zh) 一种视频图像中运动矢量预测生成的方法及其装置
Li et al. A VLSI architecture design of an edge based fast intra prediction mode decision algorithm for H. 264/AVC
Asif et al. Exploiting MB level parallelism in H. 264/AVC encoder for multi-core platform
CN1310133C (zh) 一种视频图象象素插值装置
CN100340118C (zh) 运动估计的超大规模集成电路体系结构及数据缓存的方法
CN100339976C (zh) 多模多尺度运动估计的超大规模集成电路体系结构及方法
CN105898334B (zh) 一种应用于视频编解码的dc预测电路及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ZHANXUN COMMUNICATIONS (SHANGHAI) CO., LTD.

Free format text: FORMER OWNER: UNITED XINYUAN DIGITAL AUDIO-VIDEO TECHNOLOGY (BEIJING) CO., LTD.

Effective date: 20070615

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070615

Address after: Pudong Zhangjiang hi tech park Zuchongzhi road 201203 Shanghai City Center Building 1, Lane 2288, Spreadtrum

Applicant after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 100085 Beijing city Haidian District East Road No. 1 Yingchuang power block A room 701

Applicant before: UNITED XINYUAN DIGITAL AUDIO V

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190313

Address after: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee after: Xin Xin finance leasing (Beijing) Co.,Ltd.

Address before: Pudong Zhangjiang hi tech park Zuchongzhi road 201203 Shanghai City Center Building 1, Lane 2288, Spreadtrum

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20060531

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: X2021110000008

Denomination of invention: Video image motion compensation device

Granted publication date: 20090311

License type: Exclusive License

Record date: 20210317

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221019

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee before: Xin Xin finance leasing (Beijing) Co.,Ltd.