视频编码和解码的制作方法与工艺

文档序号:12009149阅读:282来源:国知局
视频编码和解码的制作方法与工艺
本发明涉及一种用于对数字图像序列进行编码的方法和装置以及用于对相应的位流进行解码的方法和装置。本发明属于数字信号处理领域,尤其属于使用运动补偿来减少视频流中的空间冗余和时间冗余的视频压缩领域。

背景技术:
例如H.263、H.264、MPEG-1、MPEG-2、MPEG-4、SVC的许多视频压缩格式使用基于块的离散余弦变换(DCT)和运动补偿以去除空间冗余和时间冗余。这些格式可被称为预测视频格式。视频信号的各帧或图像被分割成编码后的并且能够独立进行解码的片(slice)。片通常是帧的矩形部分、或者更通常为帧的一部分或整个帧。此外,各片被分割成多个宏块(MB),并且各宏块被进一步分割成块、通常为8×8个像素的块。在目前处于标准化过程中的最新的高效率视频编码(HEVC)中,各片被分割成非重叠的最大编码单位(LUC)、通常是大小为64×64个像素的块。而各LCU可以使用四叉树分解被迭代地分割成较小的可变大小的编码单位(CU)。各CU可以进一步被分割成最大为2个对称矩形的分区单位。这些编码帧为(被称为P帧的根据一个参考帧而预测到的或者被称为B帧的根据两个参考帧而预测到的)时间预测帧和(被称为内帧或I帧的)非时间预测帧这两种类型。时间预测在于从参考帧(视频序列的先前帧或将来帧)中发现最接近要编码的块的图像部分或参考区域。该步骤已知为运动估计。接着,连同与表示运动补偿要使用的参考区域的运动矢量有关的运动信息项一起,对要编码的块和参考部分之间的差进行编码(运动补偿)。为了进一步降低对运动信息进行编码的代价,已提出了利用相对于通常根据要编码的块周围的块的运动矢量所计算出的运动矢量预测结果的差来对运动矢量进行编码。在H.264中,针对根据位于要编码的块的因果邻域(例如根据位于要编码的块的上方和左方的块)中的运动矢量所计算出的中值预测结果来对运动矢量进行编码。仅对中值预测结果和当前块运动矢量之间的差(还被称为残差运动矢量)进行编码。使用残差运动矢量的编码节省了若干位率,但需要解码器进行运动矢量预测结果的相同计算从而对要解码的块的运动矢量的值进行解码。近来,已提出了诸如使用多个可能运动矢量预测结果等的进一步改进。被称为运动矢量竞争的该方法在于在几个运动矢量预测结果或候选之间判断哪个运动矢量预测结果使残差运动信息的编码代价(通常为率失真代价)最小。该残差运动信息包括残差运动矢量(即,要编码的块的实际运动矢量和所选择的运动矢量预测结果之间的差)、以及例如所选择的运动矢量预测结果的索引的编码值等的表示所选择的运动矢量预测结果的信息项。在目前处于标准化过程中的高效率视频编码(HEVC)中,已提出了以下:在参考帧中,从要编码的当前块的上方的预定组的块中选择第一空间运动矢量预测结果,从该当前块的左方的另一预定组的块中选择第二空间运动矢量预测结果,并且从同位置块中选择时间运动矢量预测结果。同位置块是位于与要编码的块相同位置处、但是在另一图像中的块。该运动矢量预测结果选择方案被称为高级运动矢量预测(AMVP)。作为运动矢量预测结果选择的结果,获得了混合有空间预测结果和时间预测结果的运动矢量预测结果候选的集合,其中依赖于各种空间运动矢量预测结果和时间运动矢量预测结果的可用性,该集合由0、1、2或3个候选构成。为了减少在位流中发送运动矢量预测结果的开销,通过应用除去重复的运动矢量、即具有相同值的运动矢量的抑制处理来缩减运动矢量预测结果的集合。例如,在上述的第一空间运动矢量预测结果和第二空间运动矢量预测结果相等的情况下,应仅保持这两者的其中一个以及时间运动矢量预测结果作为运动矢量预测候选。在这种情况下,仅需要1位来向解码器指示运动矢量预测结果的索引。还可以对运动矢量预测结果候选进行排序,从而将最可能的运动矢量预测结果定位于第一位置,这是因为在选择第一候选作为最佳预测结果的情况下发生最小开销。由于可以使用较少的位来对所选择的运动矢量预测结果的指示进行编码,因此充分缩减预测结果的集合使得赢得信令开销。在极限的情况下,例如如果所有的运动矢量预测结果都相等,则可以将候选的集合缩减为1,因此无需将与所选择的运动矢量预测结果有关的任何信息插入位流。如上所述,在当前HEVC提议中,使用可以是空间预测结果或时间预测结果的多个运动矢量预测结果来通过预测编码对运动矢量进行编码。因此,针对用于推导同位置运动矢量预测结果的用作参考帧的各帧,需要将其相关的运动矢量存储在编码器侧和解码器侧。在默认情况下,首先考虑到运动表示的粒度(在当前HEVC设计中,最小帧内块大小为4×4)、其次考虑到针对B_SLICE的每个运动块最多存在两个矢量,运动矢量存储器的大小庞大。估计出对于4K×2K的分辨率图片并且使用4×4个像素的每块的运动矢量的一个集合的粒度,每帧需要26兆位(Mbit)。在2010年10月7~15日于中国广州召开的JCTVC-C257上YepingSu和AndrewSegall所发布的“Onmotionvectorcompetition”、以及2011年1月20~28日于韩国大邱召开的JCTVC-D072上YepingSu和AndrewSegall所发布的“CE9:Reducedresolutionstorageofmotionvectordata”提出了缩减解码器侧所需的用于存储时间同位置矢量和参考索引的运动矢量存储器的大小。所提出的解决方案包括如图1所示的运动矢量的简单分块汇总。在当前HEVC实现中,将16个中的一个运动矢量保持在64×64个像素的各正方形中,并且考虑左上方的4×4块的运动矢量。这样使存储器要求降低了16倍。在序列参数集合中发送该缩减倍数。运动矢量存储器压缩处理是在自适应环路滤波处理之后并且在将解码图片放置到解码图片缓冲器(DPB)中之前进行的。该解决方案使得能够在编码效率损失的状态下大幅缩减运动矢量存储器。然而,该解决方案没有考虑MV存储器压缩时针对块汇总的集合中的预测结果的多样性。此外,对几个标准进行测试但并没有考虑多样性。此外,该解决方案既非自适应的也非灵活的。另外,在需要更多压缩的情况下,需要运动矢量去除时的较高缩减率,这可能会导致极大的编码效率损失。WO2004/012459A描述了用于限制所存储的运动矢量的数量的另一提议。将限制信息编码为头信息(可能以诸如SPS等的全局级、诸如PPS等的图片级或者诸如片头等的片级)。该限制信息表示图片的数量或存储有运动矢量的宏块的数量。在编码块参考所存储的运动矢量的情况下,使用该运动矢量,否则使用空运动矢量(这两个分量均等于0)。然而,该解决方案没有考虑块汇总。除了用以降低运动矢量存储要求的提议以外,其它现有提议已寻求AMVP的预测结果的改进。例如,2011年1月20~28日于韩国大邱召开的JCTVC-D164上Jung,G.Clare(OrangeLabs)所发布的“TemporalMVpredictormodificationforMV-Comp,Skip,DirectandMergeschemes”提出了使用居中的时间预测结果(还参见WO2011/001077A)。在该提议中,代替(作为HEVC的以前版本的)块的原点(左上方),通过将块的中心映射到同位置参考帧来寻找同位置块。在同位置块具有与当前块相同的大小或比当前块大的大小的情况下,中心和左上方的运动矢量具有相同值。图2示出被子分割成64个4×4块的同位置块,其中这些块各自具有自己的运动矢量。将该同位置块用于32×32的要编码的当前块,并且所选择的时间预测结果是该同位置块的中心处的加阴影的4×4块的运动矢量。代替左上方而选择分区的中心的目的是寻找同位置块的运动的更好表示。理论上,块的中心由于其是该块的重心因而是该块的更好表示。但来自同位置块的时间预测结果不是AMVP预测结果的集合中的唯一预测结果。2011年1月20~28日于韩国大邱召开的JCTVC-D125上Jian-LiangLin、Yu-PaoTsai、Yu-WenHuang、ShawminLei(MediaTekInc.)所发布的“ImprovedAdvancedMotionVectorPrediction”提出了如图3所示添加几个时间块。提出了时间同位置的左上方(T)的预测结果以及三个其它角部(左下方(I)、右下方(H)、右上方(E))的预测结果这四个预测结果。这样,将这些预测结果添加至预测结果集合,并且这些预测结果根据率失真标准彼此竞争。用于改善运动矢量预测结果的以上两个提议均未涉及对运动矢量存储器进行压缩。期望解决一个或多个现有技术的缺陷。还期望降低运动矢量存储器要求。优选地,该降低应在无附加编码效率损失或无明显的附加编码效率损失的情况下实现。此外,更优选地,该降低应结合编码效率改善来实现。还期望实现编码效率改善。优选地,这些改善应在无运动矢量存储器要求损失或无明显的运动矢量存储器要求损失的情况下实现。此外,更优选地,这些改善应结合运动矢量存储器要求的降低来实现。还期望在参考帧中寻找良好的代表运动矢量来用作预测结果,然而还利用这些代表运动矢量,即甚至将这些代表运动矢量用于除降低运动矢量存储器要求和/或改善编码效率以外的目的。

技术实现要素:
根据本发明的第一方面,提供一种用于确定时间运动矢量预测结果的方法,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述方法包括以下步骤:从与所述当前帧不同的参考帧的参考块内的运动矢量中选择一个运动矢量作为所述时间运动矢量预测结果,其中所述参考块是所述参考帧中与所述要编码的块同位置的同位置块或所述参考帧中的与所述同位置块相邻的块,以及该选择基于实现所述集合中的运动矢量预测结果之间的多样性所用的多样性标准。这种方法可以用来寻找存储器压缩处理期间的分块矢量汇总所用的最佳运动矢量。最佳预测结果的选择可以基于当前运动矢量的预测或合并(Merge)模式和跳过(Skip)模式的预测结果可以使用的预测结果的位置之间的空间和/或时空距离。在一个实施例中,在一组位置中选择运动矢量位置,其中该运动矢量位置在空间距离方面是与其它预测结果的位置相比的最远位置。此外,所考虑的位置应是同位置块的相邻块的良好表示。这样,可以获得预测结果集合的多样性。根据本发明的第二方面,提供一种用于确定时间运动矢量预测结果的方法,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述方法包括以下步骤:选择所述参考帧中的与所述要编码的块同位置的同位置块的右下方位置处的运动矢量,作为所述时间运动矢量预测结果。这种选择在相对较小的块大小的情况下良好地起作用,并且由于该选择是预先确定的因而具有无处理负担的优点。根据本发明的第三方面,提供一种用于确定时间运动矢量预测结果的方法,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述方法包括以下步骤:选择所述参考帧中与所述要编码的块同位置的同位置块的右下方位置处、或者所述参考帧中的与所述同位置块相邻的块中的右下方位置附近的预定位置处的运动矢量,作为所述时间运动矢量预测结果。在本发明的该方面中,该选择扩展成包括参考帧内的与同位置块相邻的块中的所述右下方位置附近的位置。这种选择在相对较小的块大小的情况下也良好地起作用,并且由于该选择是预先确定的因而具有无处理负担的优点。根据本发明的第四方面,提供一种用于确定时间运动矢量预测结果的方法,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述方法包括以下步骤:从与所述当前帧不同的参考帧的参考块内的运动矢量中选择一个运动矢量作为所述时间运动矢量预测结果,其中所述参考块是所述参考帧中与所述要编码的块同位置的同位置块或所述参考帧中的与所述同位置块相邻的块,以及该选择依赖于所述要编码的块的块大小。这种方式使得能够针对不同的块大小以不同方式选择运动矢量。在实验中,利用该方法实现了良好结果。例如,在第一块大小的情况下,选择所述参考块中的预定的第一位置处的运动矢量作为所述时间运动矢量预测结果,以及在与所述第一块大小不同的第二块大小的情况下,可选择所述参考块中的与所述第一位置不同的预定的第二位置处的运动矢量作为所述时间运动矢量预测结果。在所述第一块大小小于所述第二块大小的情况下,可以使所述第一位置为所述同位置块中的右下方位置并且使所述第二位置为所述同位置块中的中心位置。可选地,在第一块大小的情况下,使用第一选择方法来选择所述参考块中的一个运动矢量作为所述时间运动矢量预测结果,以及在与所述第一块大小不同的第二块大小的情况下,使用与所述第一选择方法不同的第二选择方法来选择所述参考块中的一个运动矢量作为所述时间运动矢量预测结果。一些实施例涉及确定至少一个所述空间运动矢量预测结果与所述参考块的至少一个运动矢量的相对位置,以及根据所述相对位置来选择所述时间运动矢量预测结果。这是确保各预测结果之间的受控多样性的有效方式。其它实施例涉及确定至少一个所述空间运动矢量预测结果的可用性,以及根据所述可用性来选择所述时间运动矢量预测结果。同样地,这是确保受控多样性的有效方式。例如,在一些实现中,可以排除一个或多个空间预测结果。此外,对于帧中的若干位置、例如帧的上方或帧的左侧边,预先已知一个或多个空间预测结果不可用。另一实施例采用查找表来选择所述时间运动矢量预测结果,所述查找表用于针对一个或多个能够选择的空间运动矢量预测结果的不同组合存储识别所述参考块的运动矢量的信息,以针对所关注的组合进行选择。这具有低复杂度且可以快速工作。第一方面~第四方面的方法可以用来实现降低用于存储运动矢量的存储器要求。这些方法还可以用来改善编码效率。在存储器缩减的情况下,在选择至少一个空间运动矢量预测结果之前选择所述时间运动矢量预测结果,因此在这种情况下,所述方法还可包括以下步骤:根据所关注的空间运动矢量预测结果的可能位置的平均位置来估计所关注的空间运动矢量预测结果的位置。如需要则可以根据将选择可能位置的相对频率来对平均值进行加权。而这依赖于所应用的选择处理,例如在AMVP中,针对上方预测结果从右向左以及针对左方预测结果从下向上执行搜索。这会对相对频率产生影响。根据本发明的第五方面,提供一种用于存储要用作时间运动矢量预测结果的运动矢量的方法,包括以下步骤:存储当前帧的要编码的块的运动矢量中、具有与根据本发明第一至第四方面中任意一方面所述的方法所确定的时间运动矢量预测结果相同的位置的运动矢量,以使得所存储的运动矢量可用作对相对于所述当前帧的将来帧进行编码所用的时间运动矢量预测结果,并且不存储所述当前帧的所述要编码的块中的其它运动矢量。这样与现有技术的块汇总方法相比改善了编码效率。根据本发明的第六方面,提供一种用于生成当前帧的要编码的块的运动矢量预测结果的集合的方法,其中允许所述集合包括至少一个空间运动矢量预测结果和至少一个时间运动矢量预测结果,所述方法包括以下步骤:使用根据根据本发明第一至第四方面中任意一方面所述的方法来确定所述集合的所述时间运动矢量预测结果或一个所述时间运动矢量预测结果。这样可以提供编码效率改善。在本发明的该方面中,可以存储所有的运动矢量,即并非必须缩减所存储的运动矢量的数量,尽管这当然是优选的。在这种情况下,至少一个所述空间运动矢量预测结果是在确定所述时间运动矢量预测结果之前选择的,以及所述时间运动矢量预测结果的确定是根据所选择的空间运动矢量预测结果来执行的。因此,与存储器缩减应用不同,可以考虑到空间预测结果选择的实际结果,从而在改善多样性方面得到良好结果。根据本发明的第七方面,提供一种用于将数字图像序列编码成位流的方法,其中图像的至少一部分是通过相对于参考图像部分的运动补偿来进行编码的,所述方法包括根据本发明的第一至第四方面中任意一方面所述的用于确定时间运动矢量预测结果的方法。根据本发明的第八方面,提供一种用于将数字图像序列编码成位流的方法,其中图像的至少一部分是通过相对于参考图像部分的运动补偿来进行编码的,所述方法包括根据本发明的第五方面所述的用于存储要用作时间运动矢量预测结果的运动矢量的方法。根据本发明的第九方面,提供一种用于将数字图像序列编码成位流的方法,其中图像的至少一部分是通过相对于参考图像部分的运动补偿来进行编码的,所述方法包括根据本发明第六方面所述的用于生成当前帧的要编码的块的运动矢量预测结果的集合的方法。在本发明的第十方面~第十五方面中,第一方面~第六方面的方法还可用在以下中:一种用于对包括编码后的数字图像序列的位流进行解码的方法,其中图像的至少一部分是通过相对于参考图像的运动补偿来进行编码的。根据本发明的第十六方面,提供一种用于确定时间运动矢量预测结果的设备,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述设备包括用于从与所述当前帧不同的参考帧的参考块内的运动矢量中选择一个运动矢量作为所述时间运动矢量预测结果的部件,其中所述参考块是所述参考帧中与所述要编码的块同位置的同位置块或所述参考帧中的与所述同位置块相邻的块,以及该选择基于实现所述集合中的运动矢量预测结果之间的多样性所用的多样性标准。根据本发明的第十七方面,提供一种用于确定时间运动矢量预测结果的设备,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述设备包括用于选择所述参考帧中与所述要编码的块同位置的同位置块的右下方位置处的运动矢量作为所述时间运动矢量预测结果的部件。根据本发明的第十八方面,提供一种用于确定时间运动矢量预测结果的设备,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述设备包括用于选择所述参考帧中与所述要编码的块同位置的同位置块的右下方位置处、或者所述参考帧中的与所述同位置块相邻的块中的右下方位置附近的预定位置处的运动矢量来作为所述时间运动矢量预测结果的部件。根据本发明的第十九方面,提供一种用于确定时间运动矢量预测结果的设备,其中所述时间运动矢量预测结果能够连同一个或多个空间运动矢量预测结果一起包括在当前帧的要编码的块的运动矢量预测结果的集合中,所述设备包括用于从与所述当前帧不同的参考帧的参考块内的运动矢量中选择一个运动矢量作为所述时间运动矢量预测结果的部件,其中所述参考块是所述参考帧中与所述要编码的块同位置的同位置块或所述参考帧中的与所述同位置块相邻的块,以及该选择依赖于所述要编码的块的块大小。根据本发明的第二十方面,提供一种用于存储要用作时间运动矢量预测结果的运动矢量的设备,包括控制部件,所述控制部件用于存储当前帧的要编码的块的运动矢量中、具有与根据本发明第十六至第十九方面中任意一方面所述的设备所确定的时间运动矢量预测结果相同的位置的运动矢量,以使得所存储的运动矢量可用作对相对于所述当前帧的将来帧进行编码所用的时间运动矢量预测结果,并且防止存储所述当前帧的所述要编码的块中的其它运动矢量。根据本发明的第二十一面,提供一种用于生成当前帧的要编码的块的运动矢量预测结果的集合的设备,其中允许所述集合包括至少一个空间运动矢量预测结果和至少一个时间运动矢量预测结果,所述设备包括根据本发明第十六至第十九方面中任意一方面所述的设备来确定所述集合的所述时间运动矢量预测结果或一个所述时间运动矢量预测结果。根据本发明的第二十二方面,提供一种用于将数字图像序列编码成位流的设备,其中图像的至少一部分是通过相对于参考图像部分的运动补偿来进行编码的,所述设备包括根据本发明第十六至第十九方面中任意一方面所述的用于确定时间运动矢量预测结果的设备。根据本发明的第二十三方面,提供一种用于将数字图像序列编码成位流的设备,其中图像的至少一部分是通过相对于参考图像部分的运动补偿来进行编码的,所述设备包括根据本发明第二十方面所述的用于存储要用作时间运动矢量预测结果的运动矢量的设备。根据本发明的第二十四方面,提供一种用于将数字图像序列编码成位流的设备,其中图像的至少一部分是通过相对于参考图像部分的运动补偿来进行编码的,所述设备包括根据本发明第二十一方面所述的用于生成当前帧的要编码的块的运动矢量预测结果的集合的设备。根据本发明的第二十五方面,提供一种用于对包括编码后的数字图像序列的位流进行解码的设备,其中图像的至少一部分是通过相对于参考图像的运动补偿来进行编码的,所述设备包括根据本发明第十六至第十九方面中任意一方面所述的用于确定时间运动矢量预测结果的设备。根据本发明的第二十六方面,提供一种用于对包括编码后的数字图像序列的位流进行解码的设备,其中图像的至少一部分是通过相对于参考图像的运动补偿来进行编码的,所述设备包括根据本发明第二十方面所述的用于存储要用作时间运动矢量预测结果的运动矢量的设备。根据本发明的第二十七方面,提供一种用于对包括编码后的数字图像序列的位流进行解码的设备,其中图像的至少一部分是通过相对于参考图像的运动补偿来进行编码的,所述设备包括根据本发明第二十一方面所述的用于生成当前帧的要编码的块的运动矢量预测结果的集合的设备。本发明还扩展至一种程序,其中所述程序在运行在计算机或处理器上的情况下,使计算机或处理器执行上述任一方法,或者在载入可编程设备的情况下,使该设备成为上述任一设备。该程序可以由自身3供或者由载体介质携带。该载体介质可以是存储或记录介质,或者该载体介质可以是诸如信号的传输介质。采用本发明的程序可以是瞬态或非瞬态的。如上所述,在本发明的实施例中,代替使用预测结果集合的最佳表示,考虑到空间预测结果的位置以在该预测结果集合中产生多样性。对于MV存储器压缩,与其它提议相比获得了显著结果。此外,与现有技术相比没有对计算复杂性产生影响。本发明还可用于运动矢量推导过程从而在预测结果集合中产生多样性。本发明还可用于提高运动矢量存储器压缩的编码效率。更精确地,在这种情况下,可以减少由于运动矢量存储器压缩的块汇总而产生的(编码效率方面的)损失、或者以与传统的块汇总类似的编码效率提高(运动矢量存储器压缩的)压缩率。广义来说,本发明的实施例可以改善AMVP方案和合并模式的编码效率。附图说明现在将通过示例的方式参考附图,其中:图1是用于说明用于降低运动矢量存储器要求的现有提议的示意图;图2是用于说明用于改善运动矢量预测结果的集合的现有提议的示意图;图3是用于说明用于改善运动矢量预测结果的集合的另一现有提议的示意图;图4示出根据本发明的实施例的适用于实现编码器或解码器的设备的部件;图5示出根据本发明的实施例的编码器的部件的框图;图6示出图5的编码器所处理的图像序列;图7示出根据本发明的实施例的解码器的各部件的框图;图8是用于说明用于判断图5的编码器和图7的解码器能够使用的运动矢量预测结果的集合的方法的示意图;图9是在使用图8的方法的情况下图5的编码器所执行的步骤的流程图;图10是在使用图8的方法的情况下图7的解码器所执行的步骤的流程图;图11是图5的编码器和图7的解码器能够使用的运动矢量块汇总方法的流程图;图12是用于说明图11的方法的基本原理的示意图;以及图13A~13C示出图11的方法中适合使用的各距离矩阵。具体实施方式图4示出被配置为实现根据本发明的实施例的编码器或实现根据本发明的实施例的解码器的设备1000的图。该设备1000例如是微计算机、工作站或轻薄便携式装置。设备1000包括通信总线1113,其中优选该通信总线1113连接有以下组件:诸如微处理器等的表示为CPU的中央处理单元1111;只读存储器(ROM)1107,其存储实现本发明所用的一个或多个计算机程序;随机存取存储器(RAM)1112,其存储本发明的方法的可执行代码并且提供如下寄存器,其中这些寄存器被配置为记录实现对数字图像序列进行编码的方法和/或对位流进行解码的方法所需的变量和参数;以及通信接口1102,其连接至传输要处理的数字数据所经由的通信网络1103。运动矢量存储器(MVM)1112a构成RAM1112的一部分并且用于存储参考帧的运动矢量。可选地,设备1000还可以具有以下组件:诸如硬盘等的数据存储部件1104,其能够容纳实现本发明的程序以及在本发明的实现期间所使用或所产生的数据;盘1106所用的盘驱动器1105,其中该盘驱动器被配置为从盘1106读取数据或者将数据写到所述盘上;屏幕1109,用于利用键盘1110或任何其它指示部件来显示数据以及/或者用作用户图形界面。设备1000可以连接至例如数字照相机1100或麦克风1108等的各种外围设备,其中这些外围设备各自连接至输入/输出卡(未示出)从而向设备1000供给多媒体数据。通信总线提供设备1000内所包括的或连接至设备1000的各种元件之间的通信和互操作性。该总线的表示并非限制性的,并且特别地,中央处理单元能够直接地或者利用设备1000的其它元件向设备1000的任意元件传达指示。盘1106可以由例如(可重写或不可重写的)致密盘(CD-ROM)、ZIP盘或存储卡等的任何信息介质以及概括而言由信息存储部件来替换,其中该信息存储部件可以由集成于该设备内或没有集成于该设备内的可能能够移除的微计算机或微处理器来读取,并且被配置为存储如下的一个或多个程序,其中执行该一个或多个程序使得能够实现根据本发明的对数字图像序列进行编码的方法和/或对位流进行解码的方法。可执行代码可以存储在只读存储器1107中、硬盘1104上或者例如前面所述的盘1106等的可移除数字介质上。根据变形例,程序的可执行代码可以利用通信网络1103经由接口1102接收到,从而在执行之前存储在诸如硬盘1104等的设备1000的存储部件的其中一个中。中央处理单元1111被配置为控制和引导根据本发明的程序的指令或软件代码的一部分的执行,其中这些指令存储在上述存储部件的其中一个中。在通电时,将存储在非易失性存储器中(例如硬盘1104上或只读存储器1107中)的程序传递至随机存取存储器1112,然后该随机存取存储器1112容纳程序的可执行代码以及用于存储实现本发明所需的变量和参数的寄存器。在本实施例中,该设备是使用软件来实现本发明的可编程设备。然而,可选地,本发明可以以硬件形式(例如,以专用集成电路或ASIC的形式)来实现。图5示出根据本发明的实施例的编码器30的框图。该编码器由连接的模块来表示,其中各模块被配置为例如以设备1000的CPU1111要执行的编程指令的形式来执行实现本发明的实施例的方法的相应步骤。编码器30接收到原始的数字图像序列i0~in301作为输入。各数字图像由已知为像素的一组样本来表示。编码器30输出位流310。位流310包括多个编码单位或片,其中各片包括:片头,其用于对对片进行编码所使用的编码参数的值进行编码;以及片本体,其包括编码视频数据。在HEVC中,这些片被分割成非重叠的最大编码单位(LCU)、通常是大小为64个像素×64个像素的块。而各LCU可以使用四叉树分解被迭代地分割成较小的可变大小的编码单位(CU)。各CU可以进一步被分割成最大为2个对称矩形的分区单位(PU)。图6示出数字图像i的序列301、片103、LCU104、CU105、PU106和TU107。TU(变换单位)是与PU分开定义的以在CU中进行变换和量化。注意,在以下说明中,使用术语“块”来代替HEVCACU中使用的特定术语CU和PU,或者PU是像素的块。返回图5,模块302将所输入的数字图像i分割成块。这些块是图像部分并且可以具有可变大小(例如,4×4、8×8、16×16、32×32、64×64))。模块306针对各输入块选择编码模式。后面说明模块306。存在空间预测编码或帧内编码以及时间预测编码或帧间编码这两类编码模式。对可能的编码模式进行测试。模块303实现帧内预测,其中利用例如根据给定要编码的块附近的像素计算出的“帧内”预测结果(由已编码的信息构建的像素块)来预测该要编码的块。在利用模块306选择帧内编码的情况下,对给定块与其预测结果之间的差以及所选择的帧内预测结果的指示进行编码。时间预测由模块304和305来实现。首先,从一组参考图像316中选择参考图像,并且利用运动估计模块304来选择该参考图像中的作为最接近给定要编码的块的区域的部分(还被称为参考区域)。通常,运动估计模块304使用块匹配算法(BMA)。关于“帧间编码”,两种预测类型是可能的。单预测(P型)包括通过参考一个参考图像中的一个参考区域来预测块。双预测(B型)包括通过参考一个或两个参考图像中的两个参考区域来预测块。在模块304中,对当前块和参考图像316之间的运动进行估计,从而在这些参考图像中的一个或几个参考图像中识别一个(P型)像素块或几个(B型)像素块以用作该当前块的预测结果。在使用几个块预测结果(B型)的情况下,将这些块预测结果合并以生成一个预测块。所使用的参考图像是已编码的然后(通过解码)进行重建得到的视频序列中的图像。利用运动补偿模块305来计算所选择的参考区域和给定块之间的差(还称为残差块)。所选择的参考区域由运动矢量来表示。在利用模块306选择帧间预测的情况下,对与运动矢量和残差块有关的信息进行编码。为了进一步降低位率,利用相对于运动矢量预测结果的差来对运动矢量进行编码。利用运动矢量预测和编码模块317来从运动矢量字段318获得运动矢量预测结果(还称为运动信息预测结果)的集合。后面将参考图8和9来详细说明模块317的操作。编码模式选择模块306使用诸如率失真标准等的编码代价标准来判断在帧内预测模式和帧间预测模式中哪个模式是最佳模式。将变换307应用于残差块,然后所获得的变换数据由模块308进行量化并且由模块309进行熵编码。将该变换应用于包括在块中的前述变换单位(TU)。如图6所示,可以使用所谓的残差四叉树(RQT)分解将TU进一步分割成较小的TU。在HEVC中,通常使用2级或3级的分解,并且认可的变换大小来自于32×32、16×16、8×8和4×4。变换基础源自于离散余弦变换DCT。最后,将要编码的当前块的编码残差块连同与所使用的预测结果有关的信息一起插入位流310。对于以“SKIP”模式编码后的块,仅将相对于该预测结果的参考编码在位流中,而无任何残差块。为了计算“帧内”预测结果或对“帧间”预测结果进行运动估计,编码器利用所谓的“解码”循环311~315对已编码的块进行解码。该解码循环使得可以根据量化变换后的残差来重建块和图像。在模块311中,通过对模块308所提供的残差应用逆量化来对量化变换后的残差进行去量化,并且在模块312中,通过对模块307的残差进行逆变换来对量化变换后的残差进行重建。在残差来自于“帧内”编码的情况下,在模块313中将所使用的“帧内”预测结果添加至该残差,从而恢复与因源自于有损变换(这里为量化操作)的损失而改变的原始块相对应的重建块。另一方面,在残差来自于“帧间”编码的情况下,在模块314中,合并当前运动矢量所指向的块(这些块属于当前图像索引所指的参考图像316),然后添加至该解码残差。这样,获得了因源自于量化操作的损失而改变的原始块。对重建信号应用最终环路滤波器315,从而减轻由于所获得的残差的高度量化所产生的影响并且改善信号质量。该环路滤波器包括“去块”滤波和线性滤波这两个步骤。去块滤波使各块之间的边界平滑从而从视觉上衰减由编码产生的这些高频率。线性滤波使用在编码器处自适应地确定的滤波系数来进一步改善信号。因而,在对图像的像素的所有块进行了解码的情况下,将模块315的滤波应用于该图像。然后将滤波后的图像(还称为重建图像)存储作为参考图像316,从而使得能够在针对当前视频序列的后续图像的压缩期间进行接下来的“帧间”预测。在HEVC的情形下,可以使用几个参考图像316对当前图像进行估计和运动补偿。换句话说,对N个图像执行运动估计。因而,在多个参考图像的一些参考图像中选择运动补偿所用的当前块的最佳“帧间”预测结果。结果,两个相邻块可以具有来自于两个不同的参考图像的两个预测结果块。这尤其是为什么要在压缩位流中指示预测结果块所使用的(除运动矢量以外的)参考图像的索引的原因。多个参考图像的使用即是用于防止错误的工具也是用于改善编码效率的工具。VCEG组推荐将参考图像的数量限制为4个。图7示出根据本发明的实施例的解码器40的框图。该解码器由连接的模块来表示,其中各模块被配置为例如以设备1000的CPU1111要执行的编程指令的形式执行实现本发明的实施例的方法的相应步骤。解码器40接收包括编码单位的位流401,其中每一个编码单位包括包含与编码参数有关的信息的头以及包含编码视频数据的本体。如前面参考图5所述,对编码视频数据进行熵编码,并且按预定的位数针对给定块对运动矢量预测结果的索引进行编码。接收到的编码视频数据由模块402进行熵解码,由模块403去量化,然后由模块404应用逆变换。特别地,在接收到的编码视频数据与要解码的当前块的残差块相对应的情况下,解码器也对来自该位流的运动预测信息进行解码,从而得到编码器所使用的参考区域。模块410对通过运动预测编码后的各当前块应用运动矢量解码。与图5的编码器的模块317类似,运动矢量解码模块410使用与来自当前帧和来自参考帧的运动矢量有关的信息(与图5中的运动矢量字段315类似的运动矢量字段411),以生成运动矢量预测结果的集合。后面将参考图10来更加详细地说明模块410的操作。在毫无丢失地接收到位流的情况下,解码器生成与编码器完全相同的运动矢量预测结果的集合。一旦获得了当前块的运动矢量预测结果的索引,则在没有发生丢失的情况下,可以对与当前块相关联的运动矢量的实际值进行解码并且供给至应用逆运动补偿的模块406。从所存储的参考图像408中的参考图像提取由解码后的运动矢量表示的参考区域并且还将该参考区域供给至模块406以使得模块406能够应用逆运动补偿。在应用了帧内预测的情况下,利用模块405应用逆帧内预测。作为根据帧间模式或帧内模式的解码的结果,获得了解码块。与在编码器处应用的去块滤波器315类似,利用模块407应用去块滤波器。最终,解码器40提供解码后的视频信号409。图8是用于说明当前HEVC实现期间运动矢量预测结果的集合或运动矢量候选的集合的生成的示意图。在当前HEVC设计中,使用多个运动矢量来通过预测编码对运动矢量进行编码。该方法被称为高级运动矢量预测(AMVP)并且被配置为考虑块结构大的新HEVC情形。该方案适用于跳过模式、帧间模式和合并模式。该方法使得能够从包括空间运动矢量和时间运动矢量的给定集合中选择最佳预测结果。在HEVC标准化处理中还对空间预测结果和时间预测结果的最佳数量进行估计。然而,截至本申请的递交日期,当前实现包括针对跳过模式和帧间模式的2个空间预测结果和1个时间同位置预测结果、以及针对合并模式的4个空间预测结果和1个时间预测结果。本发明不局限于用于AMVP的当前实现。AMVP的实现可以根据以下所述的当前实现改变,但可以设想以下要说明的本发明的实施例将提供与可以采用的其它实现相同的有利效果和结果。此外,在引言部分所参考的JCTVC-D072中,提出了代替当前版本中仅使用一个时间预测结果而是使用多个时间预测结果。本发明还可应用于该变形例。在图8所示的预测结果集合中,在上述运动矢量中以及包括上角块和左角块的左方块中选择两个空间运动矢量。左方预测结果是从块I、H、G、F中选择的。在存在矢量、并且参考帧索引与当前块的参考帧索引相同(这意味着用作预测结果的运动矢量指向与当前块的运动矢量相同的参考帧)的情况下,运动矢量预测结果被视为可用。该选择通过从下(I)向上(F)的搜索来进行。选择满足上述可用性标准的第一个预测结果作为左方预测结果(将仅一个左方预测结果添加至预测结果集合)。在不存在满足标准的预测结果的情况下,左方预测结果被视为不可用。帧间块可以是单预测(P型)或双预测(B型)的。在P帧中,帧间块仅为P型。在B帧中,帧间块为P型或B型。在P型的帧间块中,使用参考帧的列表L0。其运动矢量是指该列表中的一个参考帧。因此将参考索引与运动矢量相关联。在B型的帧间块中,使用参考帧的两个列表L0和L1。其两个运动矢量的其中一个是指列表L0中的一个参考帧,并且其两个运动矢量中的另一个是指列表L1中的一个参考帧。因此将参考索引与这两个运动矢量中的每一个相关联。运动矢量的不存在意味着对相关块进行了帧间编码、或者在编码后的运动矢量所关联的列表中不存在运动矢量。例如,对于B帧中的块,在相邻块仅具有列表“L1”中的一个运动矢量并且当前运动矢量在“L0”中的情况下,相邻运动矢量被视为针对当前运动矢量的预测不存在。作为搜索(在这种情况下为从右向左)的结果,再次从块E、D、C、B、A中选择上方预测结果。选择从右向左的满足以上所定义的可用性标准的第一个运动矢量(在预测结果存在并且具有与当前运动矢量相同的参考帧的情况下)作为上方预测结果。在不存在使该标准有效的预测结果的情况下,上方预测结果被视为不可用。在没有以针对编码和针对显示不同的方式对帧进行排序(顺次对这些帧进行编码而没有重新排序)的情况下,时间运动矢量预测结果来自于最近的参考帧。该结构与低延迟结构(在解码处理和显示处理之间无延迟)相对应。在B帧的情况下,针对同位置块考虑2个运动矢量。一个运动矢量在参考图像的第一列表“L0”中并且一个运动矢量在参考图像的第二列表“L1”中。在这两个运动矢量都存在的情况下,选择时间距离最短的运动。在这两个预测结果具有相同的时间距离的情况下,选择运动形式“L0”。然后,在需要的情况下,根据参考图像和包含要编码的块的图像之间的时间距离来对所选择的同位置的运动矢量进行缩放。在不存在同位置预测结果的情况下,预测结果被视为不可用。对于包括对帧重新排序并因此产生更多解码延迟的分层B帧编码,可以考虑2个同位置运动矢量。这两者来自于将来参考帧。选择与当前帧交叉的运动矢量。在这两个预测结果均与当前帧交叉的情况下,选择包含时间距离最短的运动矢量的块。在这两个预测结果具有相同的时间距离的情况下,选择来自第一列表“L0”的运动矢量。然后,在需要的情况下,根据参考图像和包含要编码的块的图像之间的时间距离来对被选择作为时间运动矢量预测结果的同位置运动矢量进行缩放。在不存在同位置预测结果的情况下,预测结果被视为不可用。如本说明书的引言部分所述,对于低延迟和分层这两个情况,当将同位置块分割成多个分区(可能地,同位置块包含多个运动矢量)时,所选择的运动矢量来自于中心分区(参见2011年1月20~28日于韩国大邱召开的JCTVC-D164上Jung,G.Clare(OrangeLabs)所发布的“TemporalMVpredictormodificationforMV-Comp,Skip,DirectandMergeschemes”(其提出了使用居中的时间预测结果)、以及WO2011/001077A)。作为生成运动矢量预测结果的该方法,所生成的预测结果的集合可以包含0、1、2或3个预测结果。在该集合中没有包含预测结果的情况下,无法预测运动矢量。在未经预测的状态下对垂直分量和水平分量这两者进行编码。(这对应于利用等于零值的预测结果所进行的预测。)在当前HEVC实现中,预测结果的索引等于0。与本领域技术人员众所周知的常用跳过模式类似,合并模式是特殊的帧间编码。与常用跳过模式相比较的主要不同之处是合并模式使参考帧索引的值、运动矢量预测结果的方向(双向或单向)以及(单向方向的)列表传播至预测块。除非运动矢量预测结果是在所考虑的参考帧始终是还称为Ref0的最近的在前参考帧(并且针对B帧始终是双预测)的情况下的时间预测结果,否则合并模式使用运动矢量预测结果及其参考帧索引。因而,块预测结果(复制块)来自于运动矢量预测结果所指向的参考帧。对集合内的候选进行排序对于减少发送预测结果集合中的最佳运动预测结果的开销而言很重要。集合的排序被配置成依赖于用以将最可能的运动预测结果定位于第一位置的当前预测模式,这是因为在选择第一候选作为最佳预测结果的情况下发生最小开销。在HEVC的当前实现中,时间预测结果是第一位置。可以通过使集合内的候选的数量最小化来进一步减少发送最佳预测结果的索引的开销。简单地将重复的运动矢量从集合中除去。对于合并模式的特殊情况,抑制处理考虑运动矢量的值及其参考帧。因此,为了判断两个预测结果是否是重复的预测结果,针对这两个预测结果比较运动矢量的两个分量及其参考索引,并且仅在这三个值相等的情况下,才将一个预测结果从集合除去。对于B帧,该相等标准扩展至方向和列表。因此,在两个预测结果都使用相同的方向、相同的列表(L0、L1或者L0和L1)、相同的参考帧索引并且具有相同值的运动矢量(对于双预测为MV_L0和MV_L1)的情况下,这两个预测结果被视为重复的预测结果。在AMVP中,索引信令依赖于上述的运动矢量预测结果抑制处理的结果。实际上,分配至发信令的位数依赖于抑制之后剩余的运动矢量的数量。例如,在抑制处理结束时、仅剩余一个运动矢量的情况下,由于解码器可以容易地恢复出运动矢量预测结果的索引,因此不需要用于发送该索引的开销。以下的表1示出针对各索引编码的与抑制处理之后的预测结果的数量相对应的码字。表1图9是用于说明编码器侧的AMVP方案的操作的流程图。除非另外说明,图9的操作由图5中的模块317来执行,并且该模块317可被视为包括图9中的模块603、605、607、610和615。图9中的运动矢量字段601对应于图5中的运动矢量字段318。图9中的熵编码器模块612对应于图5中的熵编码器模块309。图9的所有操作可以以软件形式实现并且由设备1000的中央处理单元1111来执行。运动矢量预测结果生成模块603接收要编码的当前运动矢量的参考帧索引613并且还接收运动矢量字段601。该模块603通过考虑参考帧索引613来如以上参考图8所述生成运动矢量预测结果集合604。然后,同样如以上参考图8所述,利用模块605应用抑制处理。模块605生成缩减的运动矢量预测结果集合606。还输出缩减集合606中的运动矢量预测结果的数量616。模块607接收要编码的运动矢量602并且应用缩减的运动矢量预测结果集合606中的最佳预测结果的率失真(RD)选择。在选择了最佳预测结果的情况下,模块607输出运动矢量预测结果索引608和所选择的运动矢量预测结果609。然后,模块610形成要编码的运动矢量602和所选择的运动矢量预测结果609之间的差。该差是运动矢量残差611。然后,在模块612中对该运动矢量残差进行熵编码。如以上参考表1所述,模块614根据缩减运动矢量预测结果集合606内的预测结果的数量616来将运动矢量预测结果索引608转换成码字615。如上所述,在该集合仅包含一个预测结果的情况下,没有向解码器侧发送索引并且没有生成码字。在该集合包含一个或多个预测结果的情况下,在模块614中生成码字然后在模块612中进行熵编码。图10是用于说明解码器侧的AMVP方案的操作的流程图。除非另外说明,图10的操作由图7中的模块410来执行,并且该模块410可被视为包括图10中的模块702、704、711和715。图10中的运动矢量字段701对应于图7中的运动矢量字段411。图10中的熵解码器模块706对应于图7中的熵解码器模块402。图10的所有操作可以以软件形式实现并且由设备1000的中央处理单元1111来执行。模块702接收当前帧和先前解码帧的运动矢量字段701。该模块702还接收要解码的当前运动矢量的参考帧索引713。模块702基于运动矢量字段701和参考帧索引713来生成运动矢量预测结果集合703。该处理同与编码器侧的模块603相关的所述处理相同。然后,利用模块704应用抑制处理。该处理同与编码器侧的模块605相关的所述处理相同。模块704生成缩减运动矢量预测结果集合708。还输出缩减集合708中的运动矢量预测结果的数量716。熵解码器模块706从位流705中提取运动矢量残差707并且对该运动矢量残差707进行解码。然后,模块706使用缩减集合708中的预测结果的数量716以(根据需要)提取运动矢量预测结果码字714。使用以上转换所用的表1,模块715根据缩减集合中的预测结果的数量716来将该码字(在存在的情况下)转换成预测结果索引值709。然后,根据预测结果索引值709来从缩减集合708中提取运动矢量预测结果710。模块711将该运动矢量预测结果添加至运动残差707,从而生成解码运动矢量712。通过上述显然可知,针对用作同位置运动矢量预测结果的推导所用的参考帧的各帧,需要将其相关的运动矢量存储在编码器侧和解码器侧。首先考虑到运动表示的粒度(在当前HEVC设计中,帧内模式中的最小块大小为4×4)、其次考虑到针对B_SLICE的每运动块存在两个矢量,这导致运动矢量存储器的大小变大。估计出针对4K×2K分辨率的图片并且使用每4×4块一个运动矢量集合的粒度,每帧需要26兆位。运动矢量存储器必须是快速存储器并且通常是RAM(例如,图4中的RAM1112)的一部分。这特别是对于便携式装置而言很昂贵。第一实施例现在将说明本发明的第一实施例。在第一实施例中,与引言部分所述的并且图1所示的提议JCTVC-C257和JCTVC-D072相同,对于N×N个运动矢量的集合的块汇总使用一个块位置。将与该一个块位置的相对应的块的运动矢量存储作为整个N×N集合的代表运动矢量。如图1所示,这些现有提议排他地使用左上方块位置。然而,该汇总方式无法考虑在与其它空间预测结果的竞争方案中使用同位置运动矢量预测结果。结果,尽管这些现有提议提供了运动矢量存储器要求的显著降低(例如,在图1的示例中,降低了16倍),但这些提议涉及编码效率方面的损失。例如,估计出在TMuCv0.9中使用存储器要求的16倍降低会得到0.5%的编码效率损失。由于同位置块的左上方块位置处的运动矢量通常与来自于要编码的当前块附近的块的空间预测结果类似,因此发生该情况。这意味着同位置运动矢量预测结果不会给预测结果集合整体带来充分的多样性。通过使用同位置块内的不同块位置、或者甚至使用同位置块附近的另一块中的块位置,可以获得较大程度的多样性。其效果如下:尽管仍实现了与上述现有提议相同的运动矢量存储器要求的降低,但本实施例与存储了所有的运动矢量并且没有使用块汇总的系统相比较,没有产生编码效率损失或没有产生显著的编码效率损失。本发明的实施例意识到包括空间预测结果和时间预测结果的混合的预测结果集合的多样性依赖于这些预测结果来自于的块的相对位置。各预测结果之间的距离越大,这些预测结果呈多样化的可能性越高。因而,优选可以进一步从空间预测结果的块位置中选择块位置作为同位置块的块位置。当然,该距离必须没有大到使得时间预测结果不再代表同位置块中的运动矢量。最终,同位置块由于其与当前块同位置而被精确地选择作为时间预测结果的源。因此,需要的是为时间预测结果选择提供时间预测结果和空间预测结果之间的受控多样性的块位置。应当理解,在AMVP中,根据可用性标准来从特定位置(图8所示的位置A~I)中选择空间预测结果。这意味着可以根据可用性来选择0、1或2个空间预测结果。针对同位置块的块汇总所要选择的块位置由于是在空间预测结果选择之前执行的,因而无法考虑到实际空间预测结果选择。为了使得可以在选择同位置块的块位置时考虑空间预测结果选择,需要将所有块位置处的运动矢量存储在同位置块中,这与降低运动矢量存储器要求相矛盾。然而,顺便提及,在目的不是降低存储器要求而是改善编码效率的情况下,如后面实施例将说明的,可以在选择同位置块的块位置时考虑空间预测结果选择。在HEVC测试模型的当前实现中,对于当前的跳过块或帧间块,如以上参考图8所述使用两个空间预测结果,而对于合并模式使用四个空间预测结果。然而,与跳过模式和帧间模式相比,选择合并模式的频率较低。因此,在本实施例中,假定具有如图8所示的左方预测结果和上方预测结果这两个空间预测结果。在空间预测结果集合中使用更多个或更少个预测结果的情况下,可以容易地扩展本实施例。此外,本实施例的说明涉及基于4×4的块汇总的运动矢量存储器压缩。这可以容易地扩展至块汇总所使用的所有其它大小。图11示出第一实施例的运动矢量存储器压缩处理中的用于确定其运动矢量将被选择作为一个运动矢量的4×4的块位置的方法的步骤。如上所述,由于这样得到选择一个运动矢量作为块整体的表示,因此这可被视为块汇总处理。无需存储具有除所确定的块位置以外的块位置的块的未选择的运动矢量(例如,在本情况中为15个运动矢量),从而得到显著的运动矢量存储器压缩(例如,在本情况中,16倍)。顺便提及,除了(各自具有垂直分量和水平分量以及参考帧索引的)运动矢量自身以外,块位置的选择还可应用于同位置预测结果的推导处理所需的所有其它数据(MV存储器压缩的当前实现没有考虑到其它数据)。这些数据包括模式(帧间/帧内)、运动矢量的参考帧索引、参考图像的列表“L0”和“L1”以及单向或双向的方向。在第一步骤S1001中,接收到空间预测结果的可能位置的列表。这些位置是与当前块相比较的相对位置。由于块汇总的原因,在如图1所示应用运动矢量的4×4块的汇总的情况下,可以考虑当前块的大小(以像素为单位)为16×16。因而,通过该算法接收到上方预测结果的可能位置A、B、C、D、E和左方预测结果的可能位置F、G、H、I。为了简便,如图12所示,可以考虑相邻块的最小CU大小等于4×4(以像素为单位)。在该情况下,所有的空间预测结果块具有作为MV存储器压缩期间将汇总的块的大小的相同大小。如图12所述,上方预测结果的可能位置是TP1~TP6,并且左方预测结果的可能位置是LP1~LP5。然后,在步骤S1002中,该算法确定各空间预测结果的平均位置。在图12的简化示例中,左方预测结果的平均位置是块LP3的位置,并且上方预测结果的平均位置是块TP3和TP4之间的边界。由于上方预测结果的平均位置是块TP3和TP4之间的边界,因此在后续处理中考虑这两个块TP3和TP4的位置,而对于左方预测结果,在后续处理中仅考虑块LP3的位置。然后,在步骤S1003中生成各预测结果的距离矩阵。该矩阵具有针对所汇总的块的各可能块位置的单元格,并且在各单元格中包含所关注的预测结果(视情况而定为上方预测结果或左方预测结果)的平均位置和所关注的单元格的可能块位置之间的最小距离。根据运动矢量存储器所采用的Z字形表示法,在图12中将可能的块位置编号为1~16。以下参考图13A~13C来说明该矩阵的结构。然后,在步骤S1004中,以逐个单元地对这两个预测结果的距离矩阵求和,从而获得一个整体矩阵距离。在步骤S1005中,识别该整体距离矩阵中的最大值。与该最大值相对应的位置是MV存储器压缩的块汇总所使用的位置(1006)。为了生成平均位置和图12中的编号为1~16的各可能块位置之间的最小距离矩阵,可以考虑从所关注的预测结果的平均位置起到达该块位置所需横跨的块的数量。例如,通过该测量,如示出左方预测结果的距离矩阵的图13A所述,相关的平均位置LP3和图12中编号为7的块位置之间的最小距离为4。这是由于为了达到该位置而需要横跨编号为9、3、4和7的块位置(4个块)的必然结果。在该测量中,没有考虑对角线情况来计算距离,但在需要的情况下可以使用这种情况。此外,在本算法中可以使用其它的距离测量。图13A和13B分别示出通过对左方预测结果和上方预测结果进行该测量所计算出的距离矩阵。此外,图13C示出通过逐个单元格地对图13A和13B的这两个矩阵求和所形成的整体距离矩阵。可以观察到,对于作为右下方的块位置的编号为16的块位置(参考图12),最大值为10。该块位置是在使用上方预测结果和左方预测结果的情况下利用算法识别出的块位置。在第一实施例中,解码器也执行相同的算法,并且解码器选择与编码器相同的块位置,并且避免存储未选择的块位置的运动矢量。因而,在解码器处也实现了运动矢量存储器要求的类似降低。第二实施例在第一实施例中,没有考虑在不同的位置TP1~TP6和LP1~LP5处选择空间预测结果的似然性。然而,在AMVP处理中,如已经参考图8所述,针对上方预测结果的搜索从最右位置开始并且向着最左位置移动。因而,预料到在图12中,从右向左依次如下:与TP5处的预测结果相比,选择位置TP6处的预测结果的频率更高,等等。这同样适用于搜索在下方位置开始并且向上移动至上方位置的左方预测结果。考虑到选择的相对频率,优选可以将上方预测结果的平均位置向右调整并且将左方预测结果的平均位置向下调整。利用反映相对选择频率的权重,可以将各预测结果的平均位置计算作为可能位置的加权平均值。第三实施例在上述的第一实施例和第二实施例中,编码器使用两个空间预测结果(上方预测结果和左方预测结果)。在第三实施例中,编码器仅使用空间预测结果集合中的一个空间预测结果。例如,在仅使用左方预测结果的情况下,使用图13A所给出的左方预测结果的距离矩阵来求出最佳位置。在该情况下,所选择的位置是编号为6的块位置(右上方块)。在仅使用上方预测结果的情况下,两个块位置具有最大值(编号为11的块位置和编号为16的块位置)。在该情况下,在如参考图8所述使用AMVP的情况下,理论上,与从左侧起的预测结果相比,选择从右侧起的预测结果的频率更高(如所述,在HEVC推导处理中,从E~A中选择预测结果)。因此,由于编号为11的块是最远块,因此该算法可以考虑使用该块。第四实施例在上述的第一实施例、第二实施例和第三实施例中,假定要编码的所有块均可以具有两个空间预测结果(上方预测结果和左方预测结果)。因此,为了块汇总而无法在各块之间进行区别。在第四实施例中,为了块汇总而对至少一个块以与其它块不同的方式进行处理。例如,编码器和解码器可以得知图像中的仅存在一个空间预测结果或者不存在空间预测结果的若干区域。特别地,编码器和解码器得知帧边界(帧边界针对所有帧均具有相同位置)。因此,算法可以考虑到该特定知识。例如,对于帧的左上方块,不存在可用的预测结果。在该情况下,算法可以求出块汇总所用的最佳块位置是块的中心。对于沿着上边界的块,仅左方预测结果可用,并且该算法所选择的块位置是编号为6的右上方块位置(与第三实施例相同)。对于沿着左边界的块,仅若干个上方预测结果可用。算法可以求出位置是编号为11的块、即左下方位置。实际上,图12中的位置TP1决不可用于左边界,因而这些位置的平均值是TP4(而非TP3和T4之间的边界),结果算法求出编号为11的块作为最远位置。在位流中的所有帧具有完全相同的分片(slicing)的情况下(即,在针对所有帧、各片具有完全相同的位置的情况下),本实施例可以扩展至片边界。第五实施例在前述实施例中,解码器执行与编码器相同的处理以确定块汇总所用的块位置。在第五实施例中,仅编码器使用算法,并且在位流(序列/图片/片头)中将块汇总所使用的块的位置发送至解码器。第六实施例在前述实施例中,编码器(和解码器(除第五实施例以外))进行图11的算法以确定块位置。在第六实施例中,编码器和解码器参考包含与空间预测结果的使用与否相对应的块位置的表。以下的表2中给出这种表的示例。该表是使用与图11的算法相同的算法来预先确定的。该解决方案与始终应用算法的情况相比复杂性变小。下表示出前面所述的示例所用的该特定表。这些位置参考图12。可用的空间预测结果N=4的汇总所用的块位置X4(中心)左方6(右上方)上方11(左下方)左方和上方16(右下方)第七实施例本实施例进一步扩展了第六实施例的思想。无论AMVP或合并模式所使用的空间块如何,右下方的块位置始终用于块汇总。这样减轻了处理负担并且无需发信令至确定了块位置的解码器。第八实施例前述实施例假定向所有块均匀地应用块汇总。然而,在HEVC中,允许不同大小的块。一个大小的块的块位置对于另一大小的块可能不是最佳的。例如,求出了表2所示的块位置以针对例如4×4块的小块良好地起作用,但在大块的情况下,使用其它的块位置可能会更好。在第八实施例中,在确定块位置时可以考虑块大小。这可以通过针对各不同的块大小具有与图13C的距离矩阵相似的距离矩阵来实现。第九实施例可以通过简单地从第一块大小的一个预定块位置切换至第二块大小的另一预定块位置来简化第八实施例。例如,在块大小小、例如小于或等于16×16(个像素)的情况下,可以始终选择右下方的块位置,而在块大小大、例如32×32(个像素)或以上的情况下,参见图2的阴影块位置,可以始终选择中心块位置。本实施例的模拟结果有优势。与引言部分JCT-VCD164所述的现有提议相同,与在所有情形中均使用中心块位置相比,获得了比特率节省(编码效率改善)。在需要的情况下,可以针对各块大小提供包括适合可用预测结果的各排列的块位置的表2所示的这种表。由于在大块的情况下的右下方位置可能无法如中心块那样代表块整体,因此认为与右下方位置相比,中心块位置对于较大的块更好地起作用。对于小块的情况不是这样,其中在小块的情况中,右下方位置由于所涉及的距离较小因而仍代表块整体,并且还向空间预测结果引入了受控多样性。第十实施例在第十实施例中,对于大块使用JCT-VCD164中所使用的块位置,并且对于小块使用右下方的块位置。第十一实施例在前述实施例中,针对块汇总所选择的块位置是同位置块中的块位置的其中一个。然而,并非必须将所选择的块位置局限于同位置块中的一个块位置。例如,代替同位置块的右下方位置,可以使用来自相同参考帧内的同位置块附近的另一块的右下方位置附近的块位置。例如,块位置可以是同位置块的正右方的块内的左下方位置、或者同位置块的正下方的块内的右上方位置、或者同位置块的右侧对角下方的块内的左上方位置。第十二实施例在引言部分所述的JCT-VCD125中,使用来自同位置块的一个时间预测结果(T)、以及来自同位置块的外部的该同位置块的左上角、左下角和右下角处的三个其它时间预测结果(E、H和I)这4个时间预测结果。代替使用T作为时间预测结果的其中一个,可以使用同位置块中的右下方块位置。这可能不会得到多样性方面的良好折衷,但在该块位置内中心应是最佳的。但就预测结果索引的编码而言,由于右下方等于预测结果H的频率可能更高(经常除去一个预测结果),因此这具有优势。实际上,在JCT-VCD125的贡献中,使用过多的预测结果,因而D125提高了预测结果索引专用的比率。第十三实施例在前述实施例中,已经为了降低运动矢量存储器要求的目的而选择了块位置。在第十三实施例中,为了改善编码效率的目的而选择块位置。这由于以下原因而成为可能:如果选择来自参考帧、例如来自同位置块中的适当块位置的时间预测结果从而利用空间预测结果实现受控多样性的情况下,则在对预测结果进行率失真选择的情况下时间预测结果往往成为空间预测结果的良好竞争者。在正如实践情况那样、时间预测结果与空间预测结果相比是较好的预测结果的情况下,改善该预测结果(在使该预测结果更接近要编码的块的所需运动矢量、因而使残差最小的意义上)对于编码效率而言有益。原则上,为了改善编码效率的目的,上述的第一实施例~第十二实施例全部可用于选择块位置。在第十三实施例中,仍可以存储所有的运动矢量,即并非必须采用运动矢量存储器缩减。然而,在多数情况下期望这种缩减。第十四实施例在存储了所有块位置处的运动矢量的情况下,在选择最佳块位置时可以考虑空间预测结果的选择的实际结果。例如,在图12中,在仅上方预测结果可用并且选择位置TP6的情况下,可以选择编号为11的块位置。另一方面,在仅上方预测结果可用并且选择位置TP1的情况下,可以选择编号为16的块位置。再次根据所选择的上方预测结果和左方预测结果的位置,在上方预测结果和左方预测结果的组合可用的情况下,其它的块位置将是更好的。通常,针对空间预测结果选择的各可能结果,可以确定最佳块位置。可以将这些最佳块位置存储在具有针对各不同结果的条目的查找表中。上述实施例基于输入图像的块分割,但更通常地,可以考虑要编码或解码的任何类型的图像部分(特别是矩形部分或者更通常为几何部分)。更通常地,本领域技术人员可以容易地想到的上述实施例的任何变形或改进均应被视为落在本发明的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1