运动预测方法

文档序号:7857260阅读:378来源:国知局
专利名称:运动预测方法
技术领域
本发明有关于视频处理,特别有关于视频数据的运动预测。
背景技术
H. 264压缩标准可通过采用例如子像素精度(sub-pixel accuracy)与多参考(multiple-referencing)的特征,可提供比特率(bit rate)相对于先前标准低很多的优秀的视频质量。视频压缩程序通常可被划分为5个部分,包含帧间预测 / 中贞内予页测(inter-prediction/intra-prediction)、变换 / 反变换(transform/inverse-transform)、量化 / 反量化(quantization/inverse-quantization)、环路滤波(loop filter)、以及熵编码(entropy encoding)。H. 264被用于各种应用,例如蓝光光盘(Blu-ray Disc)、DVB 广播服务、直接广播卫星电视(direct-broadcast satellitetelevision)服务、有线电视服务、以及实时(real-time)视频会议(conferencing)。 视频数据流包含一系列帧。每一帧被划分为用于视频处理的多个编码单元(例如宏块或扩充的(extended)宏块)。每一编码单元可被分割为四叉树分区(quad_treepartition),以及叶子编码单元被称为预测单元。预测单元可进一步被分割为四叉树分区,以及每一分区被分配有运动参数。为降低传输大量运动参数的成本,通过参考邻近已编码块,为每一分区计算运动向量预测子(motion vector predictor,以下简称为MVP),因邻近块的运动趋向于具有高空间相关性(spatial correlation),从而编码效率可被改善。请参考图1,图I是当前(编码)单元100与多个相邻(编码)单元A、B、C、以及D的示意图。在本范例中,当前单元100与相邻单元A、B、C、以及D的大小相同;然而,上述单元的大小不必相同。当前单元100的MVP根据相邻单元A、B、与C或者A、B、与D (若C不可用)被预测。当当前单元100为16 X 16块且相邻单元C的运动向量存在时,相邻单元A、B、与C的运动向量的中值(medium)被决定为当前单元100的MVP。当当前单元100为16 X 16块且相邻单元C的运动向量不存在时,相邻单元A、B、与D的运动向量的中值被决定为当前单元100的MVP。当当前单元100为16X16块的左半边的8X16分区时,相邻单元A的运动向量被决定为当前单元100的MVP。当当前单元100为16 X 16块的右半边的8 X 16分区时,相邻单元C的运动向量被决定为当前单元100的MVP。当当前单元100为16 X 16块的上半边的16X8分区时,相邻单元B的运动向量被决定为当前单元100的MVP。当当前单元100为16X16块的下半边的16X8分区时,相邻单元A的运动向量被决定为当前单元100的 MVP。当当前单元的MVP根据相邻单元A、B、C、以及D的运动向量被预测时,相邻单元A、B、C、以及D的运动向量并未被合适地在时间(temporal)上被缩放。举例来说,相邻单元A、B、与C的参考帧不同,而相邻单元A、B、与C的运动向量分别对应于上述参考帧。每一参考帧与当前帧之间的时间距离不同。因此在根据相邻单元A、B、与C的运动向量预测当前单元100的MVP之前,相邻单元A、B、与C的运动向量应根据时间距离在时间上被缩放。当前单元100的MVP仅根据相邻单元A、B、C、以及D的运动向量(motion vector,以下简称为MV)被预测。若考虑更多候选MVP并通过率失真优化(rate-distortionoptimization)从候选MVP中选择最佳者,MVP的预测精度可进一步改善。举例来说,运动向量竞争(motion vector competition, MVC)被提出以从序列级别(sequence level)指定的预定候选集合中选择最佳MVP。预定候选集合包含H. 264标准预测子(例如相邻单元的中值运动向量(median MV)),同位(collocated)单元的MV,以及相邻单元的MV,其中同位单元在参考帧中的位置与当前单元在当前帧中的位置相同。推荐的预定候选集合中的MVP的数量为二。预定候选集合,根据运动向量竞争方法,在视频序列级别中是固定的。

发明内容
为解决以上技术问题,特提供以下技术方案本发明实施方式提供一种运动预测方法,包含决定用于当前单元的运动预测的候选单元;决定对应于当前单元的已编码单元;计算对应于已编码单元中的每一个的候选单元的运动向量与已编码单元中的每一个的运动向量之间的运动差值;根据一系列的权 重,将对应于候选单元中的每一个的运动差值相加,以获取多个分别对应于候选单元中的每一个的加权和;以及根据加权和,从候选单元选择至少一用于当前单元的运动预测的选定的候选单元。以上所述的运动预测方法,候选集合根据当前单元的特征被自适应地决定,可改善运动预测的性能。


图I是当前编码单元与多个相邻编码单元的示意图。图2是根据本发明一个实施方式的视频编码器的方框图。图3是两个候选单元的运动向量的缩放的示意图。图4是具有时间差调整的运动预测方法的流程图。图5是根据本发明一个实施方式的用于当前单元的运动预测的多个候选单元的示意图。图6A与图6B是根据本发明一个实施方式的具有自适应(adaptively)选定的候选单元的运动预测方法的流程图。图7是根据本发明一个实施方式的对应于不同已编码单元与候选单元的记录运动差值的表的示意图。
具体实施例方式在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属技术领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准贝U。在说明书及权利要求书中所提及的“包含”为开放式的用语,因此,应解释成“包含但不限定在”。此外,“耦接”一词在这里包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接在第二装置,或通过其它装置或连接手段间接地电气连接到第二装置。
请参考图2,图2是根据本发明一个实施方式的视频编码器200的方框图。在一个实施方式中,视频编码器200包含运动预测模块202、减法模块204、变换模块206、量化模块208、以及熵编码模块210。视频编码器200接收视频输入并产生作为输出的比特流。运动预测模块202对视频输入执行运动预测以产生预测样本与预测信息。然后减法模块204从视频输入减去预测样本以获取残差(residue),从而将视频输入的视频数据量减少至残差的视频数据量。然后残差被顺序发送至变换模块206与量化模块208。变换模块206对残差执行离散余弦变换(discrete cosine transform,DCT)以获取变换的残差。然后量化模块208量化变换的残差以获取量化的残差。然后熵编码模块210对量化的残差与预测信息执行熵编码以获取作为输出的比特流。运动预测模块202根据多个候选单元的运动向量预测当前帧的当前单元的MVP。在一个实施方式中,候选单元为与当前单元相邻的相邻单元。在运动预测模块202预测当前单元的MVP之前,计算候选单元的参考帧与当前帧之间的时间距离,以及候选单元的运动向量根据时间距离被缩放。请参考图3,图3是两个候选单元310与320的运动向量的缩放的示意图。当前帧k包含用于当前单元300的运动预测的两个候选单元第一候选单 元310与第二候选单元320。第一候选单元310具有相应于参考帧i的运动向量MV1,以及参考帧i与当前帧k之间的第一时间差Dik被计算。第二候选单元320具有相应于参考帧I的运动向量MV2,以及参考帧I与当前帧k之间的第二时间差Dlk被计算。然后目标搜索帧j与当前帧k之间的目标时间距离D#被计算。目标搜索帧j为选择的参考帧。然后通过第一时间距离Dik划分目标时间距离Djk,第一时间缩放因子被计算,以及第一候选单元310的运动向量MV1被乘以第一时间缩放因子(Djk/Dik)以获取对应于第一候选单元310的缩放的运动向量MV/。然后通过第二时间距离Dlk划分目标时间距离Djk,第二时间缩放因子被计算,以及第二候选单元320的运动向量MV2被乘以第二时间缩放因子(Djk/Dlk)以获取对应于第二候选单元320的缩放的运动向量MV2'这样,缩放的运动向量MV/与MV2’都相应于目标搜索帧j被测量,因此时间距离差因子从缩放的运动向量MV/与MV2’移除。然后运动预测模块202可根据候选单元310与320的缩放的运动向量MV/与MV2,预测当前帧300的MVP。请参考图4,图4是具有时间差调整的运动预测方法400的流程图。首先,决定当前帧的当前单元的多个候选单元(步骤402)。候选单元与当前单元是具有相同大小或不同大小的块,且上述单元的每一个可以是编码单元、预测单元、或预测单元分区。在一个实施方式中,候选单元包含当前单元的左边的左单元A、当前单元的上边的上单元B、当前单元的右上方的右上单元C、以及当前单元的左上方的左上单元D。然后获取候选单元的多个运动向量(步骤404)。然后根据候选单元的多个参考帧与当前帧之间的时间距离,计算候选单元的多个时间缩放因子(步骤406)。在一个实施方式中,候选单元的参考帧与当前帧之间的多个时间距离首先被计算,目标搜索帧与当前帧之间的目标时间距离也被计算,以及然后分别通过对应于候选单元的时间距离划分目标时间距离,以获取对应于候选单元的多个时间缩放因子,如图3所示。然后,根据时间缩放因子,缩放候选单元的运动向量,以获取多个缩放的运动向量(步骤408)。在一个实施方式中,将候选单元的运动向量分别乘以候选单元的时间缩放因子,以获取候选单元的缩放的运动向量,如图3所示。然后根据缩放的运动向量,从候选单元选择当前单元的运动向量预测子(步骤410)。在一个实施方式中,根据缩放的运动向量计算中值缩放的运动向量(例如对缩放的运动向量排序),以及然后从缩放的运动向量选择中值缩放的运动向量作为当前单元的MVP。当运动预测模块202根据运动向量竞争方法决定当前单元的MVP时,通常,仅在序列级别决定的两个候选单元的运动向量被包含在用于决定当前单元的MVP的候选集合中。另外,候选集合并非根据当前单元的特征被自适应地决定。若候选集合根据当前单元的特征被自适应地决定,则运动预测的性能可被改善。请参考图5,图5是根据本发明一个实施方式的用于当前单元512的运动预测的多个候选单元的示意图。在本实施方式中,当前单元512与候选单元为具有不同大小的块,举例来说,当前单元512是16x16块而候选单元是4x4块。在另一实施方式中,当前与候选单元的大小可相同或不同,其大小可为4x4、8x8、8xl6、16x8、16xl6、32x32、或64x64。在本实施方式中,当前帧502的四个候选单元A、B、C、与D的运动向量可作为用于决定当前单元512的MVP的候选者。另外,同位单元514在参考帧504中的位置与当前单元512在当前帧 502中的位置相同,以及与同位单元514相邻或位于同位单元514中的多个候选单元a j的运动向量也可作为用于决定当前单元512的MVP的候选者。当前帧502中的候选单元A为位于当前单元512左边的分区,当前帧502中的候选单元B为位于当前单元512上边的分区,当前帧502中的候选单元C为位于当前单元512右上方的分区,以及当前帧502中的候选单元D为位于当前单元512左上方的分区。参考帧504中的候选单元a为位于同位单元514左边的分区,参考帧504中的候选单元b为位于同位单元514上边的分区,参考巾贞504中的候选单元c为位于同位单元514右上方的分区,参考帧504中的候选单元d为位于同位单元514左上方的分区。另外,参考帧504中的候选单元e为位于同位单元514内部的分区,参考帧504中的候选单元f与g为位于同位单元514右边的分区,参考帧504中的候选单元h为位于同位单元514左下方的分区,参考帧504中的候选单元i为位于同位单元514下边的分区,参考帧504中的候选单元j为位于同位单元514右下方的分区。在一个实施方式中,用于决定当前单元512的MVP的候选集合更包含计算的运动向量,举例来说,等于候选单元A、B、与C的运动向量的中值的运动向量、等于候选单元A、B、与D的运动向量的中值的运动向量、以及通过类似于图4中所示的方法得到的缩放的MVP。在对应于当前单元512的多个运动向量被决定为包含在候选集合中之后,至少一运动向量从用于当前单元512的运动预测的候选集合被自适应地选择。请参考图6A与图6B,图6A与图6B是根据本发明一个实施方式的具有自适应选定的候选单元的运动预测方法600的流程图。决定对应于当前单元512的多个已编码单元(步骤602)。决定对应于当前单元512的多个候选单元(步骤603)。用于当前单元512的候选集合从对应于当前单元512的多个运动向量中选择。运动向量可包含同一帧中的已编码分区/块的运动向量的一个或组合、计算的运动向量、以及参考帧中的运动向量。在一个实施方式中,对应于图5中所示的当前单元512的候选集合包含当前巾贞502中的单元A、B、C、以及D的运动向量与参考帧504中的单元e的运动向量。候选集合可根据一个或多个先前统计、相邻信息、当前单元的形状、以及当前单元的位置而被决定。举例来说,对应于当前单元512的多个运动向量根据相邻信息被归类(rank),且前三个运动向量被选择为包含在候选集合之中。最终的MVP可通过运动向量竞争方法或其它选择方法从候选集合中选择。在某些实施方式中,多个运动向量根据选择顺序被归类,以及选择顺序由运动差的加权和决定。运动差为每一运动向量预测子与候选单元的对应解码运动向量(即实时运动向量)之间的差。权重可通过当前单元的形状与位置决定,或权重可通过相邻块的形状与位置决定。请参考图7,图7是根据本发明一个实施方式的对应于不同已编码单元与候选单元的记录运动差值的表的示意图。举例来说,假定单元A被选择为目标已编码单元。计算单元A与位于单元A左边的候选单元Aa的运动向量之间的运动差值Da,a。也计算单元A与位于单元A上边的候选单元Ba的运动向量之间的运动差值Db,a。也计算单元A与位于单元A右上方的候选单元Ca的运动向量之间的运动差值DaA。也计算单元A与位于单元A左上方的候选单元Da的运动向量之间的运动差值Dd,a。也计算单元A与位于对应于单元A的同位单元的左边的候选单元aA的运动向量之间的运动差值Da,A。类似地,也计算对应于已编码单元A的运动差值Db,A,-,Djjao然后对应于已编码单元A的计算的运动差值Da,a,Db,a,DaA,Dd,a,Da,A,Db,A,…,Dia被记录在图7所示的表中。然后从已编码单元选择目标已编码单元B (步骤604),计算目标已编码单元B的运动向量与对应于目标已编码单元B的多个 候选单元的运动向量之间的运动差值DA,B,DB,B,Dc,B,Dd,B,Da,B,Db,B,-,Dj-B (步骤606)并将其记录在图7所示的表中。步骤604与步骤606重复执行直到所有已编码单元A、B、C、D、以及e均被选择为目标已编码单元且对应于已编码单元A、B、C、D、以及e的运动差值均已计算(步骤608)。在对应于已编码单元A、B、C、D、以及e的运动差均已计算之后,通过运动差的加权和决定多个运动向量的选择顺序,从候选单元选择目标候选单元(步骤610)。举例来说,若候选单元A被选择作为目标候选单元,则根据一系列权重WA、WB、W。、WD、以及We将对应于目标候选单元A的运动差值Da,a、Da,b、Da;c> Da,d、以及DA,e相加,以获取对应于目标候选单元A的加权和 SA=[ (Da;aXWa)+ (Da;bXWb)+ (Da;cXWc)+ (Da;dXWd)+ (DA;eXffe)](步骤 612),其中权重WA、WB、Wc, WD、以及W6分别对应于已编码单元A、B、C、D、以及e中的一个。然后其它候选单元B、C、D、e、…、i、以及j被顺序选择为目标候选单元,对应于候选单元B、C、D、e、…、i、以及j的加权和SB、Sc、SD、Se、…、Sp以及Sj被顺序计算。当所有候选单元均已被选择为目标候选单元且对应于所有候选单元A、B、C、D、e、…、i、以及j的加权和SA、SB、Sc、SD、Se、…、Sp以及Sj均已计算时(步骤614),根据对应于候选单元A、B、C、D、e、…、i、以及j的加权和SA、SB、Sc, SD、Se,…、Si、以及Sj从候选单元A、B、C、D、e、…、i、以及j选择至少一用于当前单元的运动预测的选定的候选单元(步骤616)。在一个实施方式中,根据大小对加权和SpSpSpSj^Se、…、Si、以及Sj排序,且对应于最佳加权和(根据不同加权方法可为最小加权和或最大加权和)的候选单元被决定为选定的候选单元。最后,根据选定的候选单元的运动向量预测当前单元512的运动向量。虽然本发明已以较佳实施方式揭露如上,然其并非用于限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应以权利要求所界定的范围为准。
权利要求
1.一种运动预测方法,包含 决定用于当前单元的运动预测的多个候选单元; 决定对应于该当前单元的多个已编码单元; 计算对应于该多个已编码单元中的每一个的该多个候选单元的多个运动向量与该多个已编码单元中的每一个的运动向量之间的多个运动差值; 根据一系列的多个权重,将对应于该多个候选单元中的每一个的该多个运动差值相力口,以获取多个分别对应于该多个候选单元中的每一个的加权和;以及 根据该多个加权和,从该多个候选单元选择至少一用于该当前单元的运动预测的选定的候选单元。
2.如权利要求I所述的运动预测方法,其特征在于,该运动预测方法更包含 根据该选定的候选单元的该运动向量,预测该当前单元的运动向量。
3.如权利要求I所述的运动预测方法,其特征在于,该多个运动差值的计算步骤更包含 从该多个已编码单元选择目标已编码单元; 计算对应于该目标已编码单元的该多个候选单元的该多个运动向量与该目标已编码单元的该运动向量之间的该多个运动差值;以及 重复对应于该目标已编码单元的该目标已编码单元的选择与该多个运动差值的计算步骤,直到该多个已编码单元的全部已被选择为该目标已编码单元。
4.如权利要求I所述的运动预测方法,其特征在于,该多个运动差值的相加步骤更包含 从该多个候选单元选择目标候选单元; 根据该系列的该多个权重,将对应于该目标候选单元的该多个运动差值相加,以获取对应于该目标候选单元的该加权和;以及 重复对应于该目标候选单元的该目标候选单元的选择与该多个运动差值的相加步骤,直到该多个候选单元的全部已被选择为该目标候选单元。
5.如权利要求4所述的运动预测方法,其特征在于,该多个权重分别对应于该多个已编码单元的一个。
6.如权利要求I所述的运动预测方法,其特征在于,该多个选定的候选单元的选择步骤更包含 对该多个加权和排序;以及 将对应于最佳加权和的该候选单元选择为该选定的候选单元。
7.如权利要求I所述的运动预测方法,其特征在于,该多个已编码单元包含该当前单元的左边的左单元、该当前单元的上边的上单元、该当前单元的右上方的右上单元、该当前单元的左上方的左上单元、以及同位单元,其中该同位单元在参考帧中的位置与该当前单元在当前帧中的位置相同。
8.如权利要求I所述的运动预测方法,其特征在于,该多个候选单元包含该当前单元的左边的左单元、该当前单元的上边的上单元、该当前单元的右上方的右上单元、以及该当前单元的左上方的左上单元。
9.如权利要求8所述的运动预测方法,其特征在于,该多个候选单元更包含第一中值单元与第二中值单元,其中该第一中值单元的运动向量等于该左单元、该上单元、以及该右上单元的运动向量的中值,以及该第二中值单元的运动向量等于该左单元、该上单元、以及该左上单元的运动向量的中值。
10.如权利要求8所述的运动预测方法,其特征在于,同位单元在参考帧中的位置与该当前单元在当前帧中的位置相同,以及该多个候选单元更包含该同位单元的左边的左同位单元、该同位单元的上边的上同位单元、该同位单元的右上方的右上同位单元、该同位单元的左上方的左上同位单元、该同位单元、该同位单元的右边的右同位单元、该同位单元的左下方的左下同位单元、该同位单元的下边的下同位单元、以及该同位单元的右下方的右下同位单元。
11.如权利要求I所述的运动预测方法,其特征在于,该当前单元与该多个候选单元是块或宏块。
全文摘要
一种运动预测方法,包含决定用于当前单元的运动预测的多个候选单元;决定对应于当前单元的多个已编码单元;计算对应于所述多个已编码单元中的每一个的多个候选单元的多个运动向量与多个已编码单元中的每一个的运动向量之间的多个运动差值;根据一系列的多个权重,将对应于多个候选单元中的每一个的多个运动差值相加,以获取多个分别对应于多个候选单元中的每一个的加权和;以及根据多个加权和,从多个候选单元选择至少一用于当前单元的运动预测的选定的候选单元。通过上述运动预测方法,候选集合根据当前单元的特征被自适应地决定,可改善运动预测的性能。
文档编号H04N7/26GK102833540SQ201210272628
公开日2012年12月19日 申请日期2011年1月18日 优先权日2010年1月18日
发明者蔡玉宝, 傅智铭, 林建良, 黄毓文, 雷少民 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1