AVS视频标准中时域直接模式运动矢量的计算方法和装置
技术领域
本发明涉及视频编解码领域,尤其涉及一种AVS视频标准中计算时域直接模式运动矢量的方法和装置。
背景技术
AVS视频标准采用混合编解码框架,其基本流程如下:首先确定原始块的最佳预测模式,其次对原始块(原始图像)和预测块(参考图像)进行帧内预测或帧间预测,对预测残差进行8×8整数变换、量化和扫描,得到一维排列的残差系数;同时对原始块和预测块的相对位置偏移——运动矢量进行中值预测和差分编码;最后,对残差系数和上述差分编码的运动矢量进行二进制熵编码,以去除符号冗余度,并且将码字输出。
在AVS、H264、MPEG4等第二代数字视频标准中,帧间预测广泛应用了双向直接模式,其包括双向跳过模式。对于该模式,在降低码率的同时,运动矢量的计算将使用与后向参考图像相关的大量信息,运算更加复杂,对片外存储器的数据带宽要求也更高,尤其是对于VLSI(超大规模集成电路Very Large Scale Integration)。
在AVS视频标准中,双向直接模式分为空域直接模式和时域直接模式。其中,时域直接模式8×8块运动矢量的计算是唯一需要使用与后向参考图像相关的信息的部分。
AVS视频标准支持图像级帧场自适应,统计结果表明AVS帧场自适应编码具有帧场选择方式上的连续性,即在视频序列中,帧编码或场编码往往连续出现,很少出现帧编码和场编码频繁切换的情况。如果当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,则其4个8×8块均为SB_Direct_8×8模式,该4个8×8块的运动矢量可能并不一样,需要针对每个8×8块分别计算,并且在高分辨率图像AVS码流中,B_Skip和B_Direct_16×16宏块出现的概率远远大于其中仅包含一个SB_Direct_8×8模式8×8块的宏块出现的概率。
在图像级帧场自适应AVS编解码中,后向参考图像的参考图像、前向参考图像、当前B图像以及后向参考图像可能为帧,也可能为场。图1中示出了上述4个图像的一种显示顺序。在存在当前B图像的情况下,图像的处理顺序和显示顺序并不一致。本领域的普通技术人员可以理解,关于图像显示顺序,后向参考图像的参考图像可能出现在前向参考图像之前,也可能出现在前向参考图像和当前B图像之间,还可能出现在当前B图像和后向参考图像之间,甚至可能就是前向参考图像。而按照图像处理顺序,如图1所示,编解码器首先处理前向参考图像和后向参考图像的参考图像,然后处理后向参考图像,最后处理当前B图像。
计算时域直接模式8×8块的运动矢量需要的与后向参考图像相关的信息包括:
1、后向共同位置8×8块的参考索引MbReferenceIdCol,取值范围是0~3,2bit表示,其中后向共同位置8×8块是指后向参考图像中与当前B图像中的当前时域直接模式8×8块的左上角样本位置对应的样本所在的8×8编码块;
2、后向共同位置8×8块的块距离BlockDistanceCol,取值范围是0~511,9bit表示;
3、后向共同位置8×8块的水平运动矢量mvCol_x,如果图像水平方向亮度像素样本为-2048~2047.75,其取值范围是-8192~8191,14bit表示;
4、后向共同位置8×8块的垂直运动矢量mvCol_y,如果图像垂直方向亮度像素样本为-512~511.75,其取值范围是-2048~2047,12bit表示。
综上,与后向共同位置8×8块相关的信息至少需要2+9+14+12=37bit表示,考虑到数据存储需要字节对齐,与后向参考图像中每8×8块相关的信息以40bit(5Byte)表示。
下面以高清1080p/1080i图像为例说明存储与后向参考图像相关的信息所需的存储器容量。后向参考图像所属的帧以宏块为单位的宽度和高度:
MbWidth=(HorizontalSize+15)/16=(1920+15)/16=120;
MbHeight=(VerticalSize+15)/16=(1080+15)/16=68。
因此,对于每个高清1080p/1080i帧,存储与后向参考图像相关的MbReferenceIdCol、BlockDistanceCol和mvCol所需存储器的容量至少为120×68×4×5=163200Byte。考虑到成本和面积问题,如此大量的数据片内存储器显然无法承受,只能存储在片外存储器中。
当前8×8块为时域直接模式需要有2个条件,一是当前8×8块为SB_Direct_8×8,二是后向共同位置8×8块的编码类型不为I_8×8(IsIntraModeCol为0),其中每宏块的4个8×8块的IsIntraModeCol值要么都是1,要么都是0,因此计算时域直接模式8×8块的运动矢量还需要IsIntraModeCol信息。后向共同位置8×8块的编码类型IsIntraModeCol的取值范围是0~1,其中1表示I_8×8宏块类型,0表示非I_8×8宏块类型,用1bit表示。因此,高清1080p/1080i时存储与后向参考图像相关的IsIntraModeCol所需存储器的容量为120×68×1/8=1020Byte,可以考虑存储到片内存储器中。
计算时域直接模式8×8块的运动矢量需要的其它全局信息还包括:
1、当前B图像的图像间距PictureDistance,范围0到255,8bit表示;
2、后向参考图像的图像间距PictureDistanceBw,范围0到255,8bit表示;
3、前向参考图像的图像间距PictureDistanceFw,范围0到255,8bit表示;
4、当前B图像的图像编码结构PictureStructure,场为0,帧为1,1bit表示;
5、后向参考图像的图像编码结构PictureStructureBw,场为0,帧为1,1bit表示;
6、当前时域直接模式8×8块在当前B图像的场次分布BottomFieldFlag,顶场为0,底场为1,1bit表示;
7、当前宏块在图像中的水平位置MbNoX,范围0到(MbWidth-1);
8、当前宏块在图像中的垂直位置MbNoY,范围0到(MbHeight-1);
9、当前时域直接模式8×8块在宏块中的位置编号BlockNo,范围0到3,2bit表示。
根据AVS视频标准,由于后向参考图像先于当前B图像处理,处理后向参考图像并且存储与之相关的信息时,并不知道当前B图像的图像编码结构,尽管在大部分情况下它们是一致的,因此AVS参考编解码器将与后向参考图像相关的MbReferenceIdCol、BlockDistanceCol和mvCol信息以帧、场两种形式分别存储到片外存储器中,以备处理当前B图像时选用。并且根据AVS视频标准文档以及参考编解码器代码的描述,如果当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,计算4个8×8块的运动矢量需要对总线请求4次以便读取与后向共同位置8×8块相关的信息。这种片外存储器中数据存储和读取机制产生了两个问题:一是与后向参考图像相关的信息在片外存储器中存储了两次,浪费了片外存储器的存储空间;二是计算每个时域直接模式8×8块运动矢量时分别对片外存储器做读写访问,对总线的大量请求势必会降低运动矢量的计算速度。
发明内容
本发明要解决的技术问题是克服现有技术的上述不足,有效节约片外存储器的存储空间,减少对总线的请求次数,提高时域直接模式8×8块的运动矢量的计算速度。
为了达到上述目的,根据本发明的一个方面,提供了一种AVS视频标准中时域直接模式运动矢量的计算方法,包括下列步骤:
1)根据后向参考图像的图像编码结构,按照后向参考图像的宏块编解码顺序依次存储与后向参考图像相关的信息;
2)根据全局信息获得与后向共同位置8×8块相关的信息的存储地址,并根据所述存储地址读取所述与后向共同位置8×8块相关的信息,并将所述与后向共同位置8×8块相关的信息归一化;
3)根据归一化的与后向共同位置8×8块相关的信息计算时域直接模式8×8块的运动矢量。
如上所述的方法,在所述步骤1)前包括确定后向参考图像的宏块所包含的4个8×8块都不是I_8×8类型的块。
如上所述的方法,在所述步骤2)中如果当前B图像和所述后向参考图像的图像编码结构一致,当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,并且当前8×8块在宏块中的位置编号为0,则连续读取4组与后向共同位置8×8块相关的信息,并且将后3组缓存到地址转换映射电路中。
如上所述的方法,在所述步骤2)中如果当前B图像的图像编码结构为帧,所述后向参考图像的图像编码结构为场,当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,并且当前8×8块在宏块中的位置编号为0,则连续读取2组与后向共同位置8×8块相关的信息,并且将这2组缓存到地址转换映射电路中。
如上所述的方法,在所述步骤2)中如果当前B图像的图像编码结构为场,所述后向参考图像的图像编码结构为帧,当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,并且当前8×8块在宏块中的位置编号为0或2,则连续读取2组与后向共同位置8×8块相关的信息,并且将后1组缓存到地址转换映射电路中。
如上所述的方法,在所述步骤2)中根据如下公式计算所述存储地址Addr:
Addr=(AddrY×MbWidth+AddrX)×4+AddrOffset)×5,
其中AddrX、AddrY和AddrOffset分别表示后向共同位置8×8块所属宏块在片外存储器中的水平位置、垂直位置和后向共同位置8×8块在宏块内的位置偏移;MbWidth表示所述后向参考图像所属的帧以宏块为单位的宽度。
如上所述的方法,在所述步骤2)中也可以根据查表法获得所述存储地址Addr。
如上所述的方法,对于所述步骤2)中的所述归一化步骤:
如果当前B图像和所述后向参考图像的图像编码结构一致,则BlockDistanceCol等于BlockDistanceColRead;
如果当前B图像的图像编码结构为帧,所述后向参考图像的图像编码结构为场,且BlockDistanceColRead的最低位为0,则BlockDistanceCol等于BlockDistanceColRead,如果如果当前B图像的图像编码结构为帧,所述后向参考图像的图像编码结构为场,且BlockDistanceColRead的最低位不为0,则BlockDistanceCol等于BlockDistanceColRead加1;
如果当前B图像的图像编码结构为场,所述后向参考图像的图像编码结构为帧,且当前8×8块在当前B图像的顶场,则BlockDistanceCol等于BlockDistanceColRead减1,如果当前B图像的图像编码结构为场,所述后向参考图像的图像编码结构为帧,且当前8×8块在当前B图像的底场,则BlockDistanceCol等于BlockDistanceColRead;
其中,BlockDistanceCol为归一化的块距离,BlockDistanceColRead为读取的块距离。
根据本发明的另一方面,还提供了一种AVS视频标准中时域直接模式运动矢量的计算装置,包括片外存储器、地址转换映射电路、数据归一化电路和时域直接模式中值预测电路:
所述地址转换映射电路,用于根据后向参考图像的图像编码结构,按照后向参考图像的宏块编解码顺序依次将与后向参考图像相关的信息存储到所述片外存储器,根据全局信息获得与后向共同位置8×8块相关的信息在所述片外存储器中的存储地址,并根据所述存储地址读取所述与后向共同位置8×8块相关的信息;
数据归一化电路,用于将来自所述地址转换映射电路的所述与后向共同位置8×8块相关的信息归一化;
时域直接模式中值预测电路,用于根据归一化的与后向共同位置8×8块相关的信息计算时域直接模式8×8块的运动矢量。
如上所述的装置,所述地址转换映射电路还用于在所有操作前确定后向参考图像的宏块所包含的4个8×8块都不是I_8×8类型的块。
如上所述的装置,所述地址转换映射电路中包括缓存器,用于缓存一次连续读取但尚未使用的与后向共同位置8×8块相关的信息。
本发明产生的有益效果在于节约了片外存储器的存储空间,另外,根据本发明的优选实施例还优化了片外存储器的数据访问带宽,从而提高了时域直接模式运动矢量的计算速度。
附图说明
图1是根据本发明一个具体实施例的时域直接模式B图像的显示和处理顺序示意图;
图2是根据本发明一个具体实施例的与后向参考图像相关的信息在片外存储器的存储结构图;
图3是根据本发明一个具体实施例的片外存储器、地址转换映射电路和数据归一化电路的级联关系图;
图4是根据本发明一个具体实施例的时域直接模式中值预测电路的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明一个实施例的AVS视频标准中时域直接模式运动矢量的计算方法和装置进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
作为一种可实施的方式,本发明的时域直接模式运动矢量的计算方法将每宏块所包括的4个8×8块流水线处理。针对每一时域直接模式8×8块,计算与后向共同位置8×8块相关的信息在片外储存器的地址,从该地址处读取的数据即为计算当前时域直接模式8×8块的运动矢量所需的相关信息。前述的后向参考图像按照显示顺序在当前B图像之后,按照处理顺序在当前B图像之前。如图3和图4所示,根据本发明的一个具体实施例,时域直接模式运动矢量的计算方法具体包括如下步骤:
步骤1,不论后向参考图像的图像编码结构为帧还是为场,在以宏块为单元编解码后向参考图像的过程中,与后向参考图像相关的参考索引MbReferenceIdColWrite、块距离BlockDistanceColWrite和运动矢量mvColWrite信息,通过地址转换映射电路,依照宏块编解码顺序写入片外存储器的对应地址处。优选地,在此步骤前增加由该地址转换映射电路预判后向参考图像的宏块的4个8×8块的类型是否是I_8×8的步骤,如果是,则可以不对片外存储器的对应地址写入上述信息。由此,避免无用的信息被写入片外存储器,浪费总线带宽。
具体地,如果后向参考图像的图像编码结构为帧,则在处理后向参考图像的过程中将与之相关的信息根据后向共同位置8×8块所属宏块在帧中的水平位置MbNoX和垂直位置MbNoY以及后向共同位置8×8块在宏块中的位置编号BlockNo的顺序依次写入片外存储器中。图2示出了根据本发明一个具体实施例的与后向参考图像相关的信息在片外存储器的存储结构图,其中8×8块内的数字表示了与后向共同位置8×8块相关的信息的存储顺序,例如,数字03表示与该8×8块相关的信息在片外存储器中第4个存储。类似地,如果后向参考图像的图像编码结构为场,则片外存储器中首先存储与后向参考图像顶场相关的信息,然后存储与后向参考图像底场相关的信息,存储顺序也是根据宏块在场中的水平位置MbNoX和垂直位置MbNoY以及后向共同位置8×8块在宏块中的位置编号BlockNo。如所公知的,与每个后向共同位置8×8块相关的信息在片外存储器中需要5个字节来存储。
步骤2,根据所接收的全局信息Global Signal,地址转换映射电路获得与后向共同位置8×8块相关的信息在片外存储器的存储地址Addr,并根据Addr读取片外存储器,获得与后向共同位置8×8块相关的信息:参考索引MbReferenceIdColRead、块距离BlockDistanceColRead和运动矢量mvColRead。应该理解,对于片外存储器内的相同的地址,写入的信息:参考索引MbReferenceIdColWrite、块距离BlockDistanceColWrite和运动矢量mvColWrite即为读取的信息:参考索引MbReferenceIdColRead、块距离BlockDistanceColRead和运动矢量mvColRead。
具体地,如果当前B图像和后向参考图像的图像编码结构一致,则后向共同位置8×8块所属宏块在片外存储器中的水平位置AddrX等于MbNoX,垂直位置AddrY等于MbNoY;后向共同位置8×8块在宏块内的位置偏移AddrOffset等于BlockNo。
如果当前B图像的图像编码结构为帧,后向参考图像的图像编码结构为场,则AddrX等于MbNoX,AddrY等于MbNoY的二分之一;AddrOffset等于MbNoY的最低位的2倍加BlockNo的最低位。
如果当前B图像的图像编码结构为场,后向参考图像的图像编码结构为帧,则AddrX等于MbNoX;如果当前8×8块在当前B图像的顶场,AddrY等于MbNoY的2倍加BlockNo的最高位,否则,AddrY等于MbNoY的2倍加BlockNo的最高位减MbHeight;AddrOffset等于BlockNo的最低位。
在上述情况下,Addr=(AddrY×MbWidth+AddrX)×4+AddrOffset)×5。从片外存储器的存储地址Addr处读取后向共同位置8×8块的参考索引MbReferenceIdColRead、块距离BlockDistanceColRead和运动矢量mvColRead。
进一步地,如果当前B图像和后向参考图像的图像编码结构一致,当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,并且当前8×8块在宏块中的位置编号为0,则优选地,向片外存储器总线请求连续读取4组与后向共同位置8×8块相关的信息,并且将后3组缓存到地址转换映射电路中,以便当前宏块的其余3个8×8块可以直接使用这些缓存信息。由此,地址转换映射电路中所包含的缓存器的容量至少为3×5=15字节。
如果当前B图像的图像编码结构为帧,后向参考图像的图像编码结构为场,当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,并且当前8×8块在宏块中的位置编号为0,则优选地,向片外存储器总线请求连续读取2组与后向共同位置8×8块相关的信息,并且将这2组缓存到地址转换映射电路中,以便当前宏块的其余3个8×8块可以直接使用这些缓存信息,其中位置编号为2的8×8块和位置编号为0的8×8块使用相同的信息,位置编号为3的8×8块和位置编号为1的8×8块使用相同的信息。
如果当前B图像的图像编码结构为场,后向参考图像的图像编码结构为帧,当前宏块类型为时域直接模式B_Skip或B_Direct_16×16,并且当前8×8块在宏块中的位置编号为0或2,则优选地,向片外存储器总线请求连续读取2组与后向共同位置8×8块相关的信息,并且将后1组缓存到地址转换映射电路中,以便当前宏块的下一个8×8块可以直接使用这些缓存信息。
上面提供了优选的读取与后向共同位置8×8块相关的信息的过程,通过该优选的读取过程,将相关的信息提前缓存到了地址转换映射电路中,减少了对总线的请求次数,提高了时域直接模式8×8块的运动矢量的计算速度。但本领域普通技术人员可以理解,替代地,也可以每次读取一组信息。
除了上述的实现方式,地址转换映射电路也可以使用其他方式来获得与后向共同位置8×8块相关的信息的存储地址,例如查表法。
步骤3,数据归一化电路根据来自地址转换映射电路的参考索引MbReferenceIdColRead、块距离BlockDistanceColRead和运动矢量mvColRead计算后向共同位置8×8块的归一化参考索引MbReferenceIdCol、归一化块距离BlockDistanceCol和归一化运动矢量mvCol。该归一化的过程使得后面计算时域直接模式运动矢量时,无需考虑相关图像的图像编码结构。
具体的,如果当前B图像和后向参考图像的图像编码结构一致,则MbReferenceIdCol等于MbReferenceIdColRead;BlockDistanceCol等于BlockDistanceColRead;mvCol等于mvColRead。
如果当前B图像的图像编码结构为帧,后向参考图像的图像编码结构为场,则MbReferenceIdCol 等于MbReferenceIdColRead;如果BlockDistanceColRead的最低位为0,BlockDistanceCol等于BlockDistanceColRead,否则,BlockDistanceCol等于BlockDistanceColRead加1;mvCol_x等于mvColRead_x;mvCol_y等于mvColRead_y的2倍。
如果当前B图像的图像编码结构为场,后向参考图像的图像编码结构为帧,则MbReferenceIdCol等于MbReferenceIdColRead;如果当前8×8块在当前B图像的顶场,即BottomFieldFlag为0,则BlockDistanceCol等于BlockDistanceColRead减1,否则,BlockDistanceCol等于BlockDistanceColRead;mvCol_x等于mvColRead_x;mvCol_y等于mvColRead_y的二分之一。
上面详细公开了一种优选的块距离BlockDistanceColRead的归一化方式,在该优选方式中,仅利用了当前8×8块在当前B图像的场次分布BottomFieldFlag以及自身信息。当然,块距离BlockDistanceColRead的归一化方式也可以如所公知的利用所需要的其他辅助信息和上述BottomFieldFlag以及自身信息来按AVS视频标准文档和参考编解码器指定的方式进行。
本领域的普通技术人员可以理解,地址转换映射电路的功能在于将与后向共同位置8×8块相关的信息在片外存储器的读取地址进行重定向,该功能也可以在上述数据归一化电路中实现,此时,对于与后向共同位置8×8块相关的信息的存储过程,将是直接对片外存储器操作。
下面根据图4详细描述,时域直接模式中值预测电路根据上述后向共同位置8×8块的归一化参考索引MbReferenceIdCol、归一化块距离BlockDistanceCol和归一化运动矢量mvCol以及全局信息Global Signal计算时域直接模式运动矢量,该时域直接模式中值预测电路包括:时域直接模式参考索引计算电路、时域直接模式块距离计算电路和时域直接模式运动矢量计算电路。上述部件的具体操作如下:
步骤4,时域直接模式参考索引计算电路计算每个8×8块的前后向参考索引MbReferenceIdFw和MbReferenceIdBw。
具体的,如果当前B图像的图像编码结构为帧,则MbReferenceIdFw等于0,MbReferenceIdBw等于0。
如果当前B图像的图像编码结构为场,后向参考图像的图像编码结构为帧,则MbReferenceIdFw等于MbReferenceIdCol,MbReferenceIdBw等于BottomFieldFlag。
如果当前B图像的图像编码结构为场,后向参考图像的图像编码结构为帧,则MbReferenceIdBw等于BottomFieldFlag;如果MbReferenceIdCol等于BottomFieldFlag,则MbReferenceIdFw等于0,否则MbReferenceIdFw等于1。
步骤5,时域直接模式块距离计算电路计算每个8×8块的前后向块距离BlockDistanceFw和BlockDistanceBw。
具体的,如果当前B图像的图像编码结构为帧,则:
BlockDistanceFw=PictureDistance×2-PictureDistanceFw×2,
BlockDistanceBw=PictureDistanceBw×2-PictureDistance×2。
如果当前B图像的图像编码结构为场,则:
BlockDistanceFw=PictureDistance×2-PictureDistanceFw×2+MbReferenceIdFw+BottomFieldFlag-1,
BlockDistanceBw=PictureDistanceBw×2-PictureDistance×2+MbReferenceIdBw-BottomFieldFlag。
步骤6,时域直接模式运动矢量计算电路计算每个8×8块的前后向运动矢量mvFw和mvBw。
具体地,如果共同位置8×8块的归一化运动矢量水平分量mvCol_x小于0,则
mvFw_x=-(((16384/BlockDistanceCol)×(1-mvCol_x×BlockDistanceFw)-1)>>14),
mvBw_x=(((16384/BlockDistanceCol)×(1-mvCol_x×BlockDistanceBw)-1)>>14);
否则,
mvFw_x=(((16384/BlockDistanceCol)×(1+mvCol_x×BlockDistanceFw)-1)>>14),
mvBw_x=-(((16384/BlockDistanceCol)×(1+mvCol_x×BlockDistanceBw)-1)>>14)。
如果共同位置8×8块的归一化运动矢量垂直分量mvCol_y小于0,则
mvFw_y=-(((16384/BlockDistanceCol)×(1-mvCol_y×BlockDistanceFw)-1)>>14),
mvBw_y=(((16384/BlockDistanceCol)×(1-mvCol_y×BlockDistanceBw)-1)>>14);
否则,
mvFw_y=(((16384/BlockDistanceCol)×(1+mvCol_y×BlockDistanceFw)-1)>>14),
mvBw_y=-(((16384/BlockDistanceCol)×(1+mvCol_y×BlockDistanceBw)-1)>>14)。
对于计算每个8×8块的前后向运动矢量mvFw和mvBw的具体实施方法,本领域的工程技术人员能够实施出不同的可行方案,可以采用公知技术,在此不一一赘述。
一方面,无论后先参考图像与当前B图像是何种图像编码结构,在本发明中都根据后向参考图像的图像编码结构,按照后向参考图像的宏块编解码顺序依次将与后向参考图像相关的信息仅存储一次,由此有效节约了片外存储器的存储空间。
另一方面,以本发明的上述机制存储数据保证计算时域直接模式8×8块的运动矢量时可以最大程度地连续读取和写入与后向共同位置8×8块相关的信息,对于可能重复使用的与后向共同位置8×8块相关的信息,提前缓存到地址转换映射电路中,尽可能地减小访问片外存储器时请求总线的次数,从而优化了片外存储器的数据访问带宽。具体说来:
1、在处理后向参考图像的过程中,对于每个宏块的4个8×8块,避免重复请求写入片外存储器中地址连续处的与后向参考图像相关的信息,大大减少了写入过程中访问片外存储器的次数。
2、对于当前时域直接模式B_Skip或B_Direct_16×16类型宏块的4个8×8块,对总线请求一次即可以连续的读取与后向参考图像相关的信息,最大程度地减少了读取过程中访问片外存储器的次数。
3、针对当前B图像和后向参考图像的图像编码结构不一致的情况,地址转换映射电路对与后向共同位置8×8块相关的信息在片外存储器的地址进行了重定向,避免了时域直接模式中值预测电路根据当前B图像和后向参考图像的图像编码结构分别计算运动矢量,提高了资源的利用率。
本发明产生以上有益效果,节约了存储空间,优化了时域直接模式运动矢量的计算效率和资源利用率,提高了访问片外存储器的效率,从而提高了AVS编解码器的处理速度,降低了AVS编解码器的硬件实现复杂度,尤其对图像分辨率高、片内存储器资源有限的AVS视频编解码器性能提升更高。本发明可用于AVS视频编解码芯片和FPGA的IP核设计
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。