用于视频编解码的子预测单元时间运动向量预测

文档序号:1760679 发布日期:2019-11-29 浏览:19次 >En<

阅读说明:本技术 用于视频编解码的子预测单元时间运动向量预测 (Sub- predicting unit temporal motion vector prediction for coding and decoding video ) 是由 陈俊嘉 徐志玮 陈庆晔 黄毓文 于 2018-03-30 设计创作,主要内容包括:本发明之一方面提供一种视频编解码方法,其用子预测单元时间运动向量预测模式处理当前预测单元。该方法可以包括:接收包括多个子预测单元的当前预测单元;确定为当前预测单元的空间相邻块的运动向量的初始运动向量;基于初始运动向量,执行搜索流程以在当前预测单元的参考图像序列中搜索主同位图像;以及获得用于当前预测单元的多个子预测单元的主同位图像中的同位运动信息。搜索流程可以包括:开启运动向量缩放操作,以用于搜索参考图像序列的子集,以及关闭运动向量缩放操作,以用于在参考图像序列中搜索其他参考图像。(On the one hand the present invention provides a kind of video coding-decoding method, with sub- predicting unit temporal motion vector prediction mode treatment current prediction unit.This method may include: to receive the current prediction unit including multiple sub- predicting units;It is determined as the initial motion vector of the motion vector of the spatial neighboring blocks of current prediction unit;Based on initial motion vector, search routine is executed to search for main co-sited image in the reference image sequence of current prediction unit;And acquisition is for the same position motion information in the main co-sited image of multiple sub- predicting units of current prediction unit.Search routine may include: opening movement vector zoom operations, with the subset and closing movement vector zoom operations for searching for reference image sequence, for searching for other reference pictures in reference image sequence.)

用于视频编解码的子预测单元时间运动向量预测

交叉引用

本发明要求2017年03月30日提出的申请号为62/478,675且名称为"A New Methodfor Motion Vector Calculation in Sub-block Merge Candidate in Video Coding"的美国临时申请的权利,其整体以引用方式并入本文中。

技术领域

本发明涉及视频编解码技术。

背景技术

此处提供的先前技术描述通常用作说明本发明的上下文的目的。目前署名发明人的工作内容,既包含在本先前技术部分中所描述的工作的内容,也包含在申请时未被认为是先前技术的说明书的各方面,这些既不明确也不暗示地被承认是本发明的先前技术。

在图像与视频编解码中,使用基于树结构的方案,图像及其相应样本数组可以被分割成块。每个块可以用多种处理模式之一进行处理。合并模式是这些处理模式之一,其中空间相邻块和时间相邻块可以共享相同的运动参数集。因此,运动向量传输开销可以被降低。

发明内容

本发明的方面提供一种视频编解码方法,其用子预测单元时间运动向量预测模式处理当前预测单元。该方法可以包括:接收包括多个子预测单元的当前预测单元;确定为当前预测单元的空间相邻块的运动向量的初始运动向量;基于初始运动向量,执行搜索流程以在当前预测单元的参考图像序列中搜索主同位图像;以及获得用于当前预测单元的多个子预测单元的主同位图像中的同位运动信息。搜索流程可以包括:开启运动向量缩放操作,以用于搜索参考图像序列的子集,以及关闭运动向量缩放操作,以用于在参考图像序列中搜索其他参考图像。

在一实施例中,参考图像序列的子集包括在当前预测单元的第一参考图像列表和当前预测单元的第二参考图像列表中的至少一个中的参考图像序列中的前N个,或者包括在当前预测单元的第一参考图像列表中的前N0个参考图像,和在当前预测单元的第二参考图像列表中的前N1个参考图像。第一参考图像列表和第二参考图像列表均是以参考索引递增顺序排列的。此外,N、N0和N1均是大于或等于0的整数值。

在一实施例中,开启运动向量缩放操作包括:执行运动向量缩放,以缩放初始运动向量以获得用于检测参考图像序列的子集中的一个的已缩放运动向量。在一示例中,运动向量缩放是基于包括当前预测单元的当前图像与正在被研究的参考图像序列的子集中的一个之间的第一时间距离和包括当前预测单元的当前图像与与初始运动向量相关的参考图像之间的第二时间距离的。

在一实施例中,开启运动向量缩放操作包括:当参考图像序列的子集中的一个图像不是与初始运动向量相关的参考图像时,执行运动向量缩放,以缩放初始运动向量以获得用于检测参考图像序列的子集中的一个图像的已缩放运动向量。在一实施例中,关闭运动向量缩放操作包括:使用初始运动向量,以用于检测参考图像序列中的其他参考图像。

本方法的实施例还包括:确定用于搜索流程的搜索顺序;以及根据确定的搜索顺序,执行搜索流程。本方法的实施例还包括将用于在当前预测单元的参考图像序列中搜索主同位图像的搜索顺序从视频编码器发信到视频解码器。

在一实施例中,本方法还包括:根据搜索顺序,执行搜索流程,其中在搜索顺序中,与初始运动向量相关的参考图像先被搜索,且当前预测单元的两个参考图像类别中的多个参考图像后以交替方式且以参考索引递增顺序被搜索。在一实施例中,本方法还包括:将主同位图像从视频编码器发信到视频解码器。

本发明的方面提供一种视频编解码装置,其用子预测单元时间运动向量预测模式处理当前预测单元。本装置可以包括电路,用于:接收包括多个子预测单元的当前预测单元;确定为当前预测单元的空间相邻块的运动向量的初始运动向量;基于初始运动向量,执行搜索流程以在当前预测单元的参考图像序列中搜索主同位图像;以及获得用于当前预测单元的多个子预测单元的主同位图像中的同位运动信息。搜索流程可以包括:开启运动向量缩放操作,以用于搜索参考图像序列的子集,其中N为预定义阈值,以及关闭运动向量缩放操作,以用于在参考图像序列中搜索其他参考图像。

本发明的方面提供一种非暂时性计算机可读介质。介质储存有指令,其实现用子预测单元时间运动向量预测模式处理当前预测单元的方法。

附图说明

将结合下面的图式对被提供作为示例的本发明的各种实施例进行详细描述,其中相同的符号表示相同的组件,以及其中:

图1是根据本发明一实施例的示例视频编码器;

图2是根据本发明一实施例的示例视频解码器;

图3是根据本发明一些实施例的用于以高级运动向量预测(advanced motionvector prediction,高级运动向量预测)模式推导出运动向量预测子(motion vectorpredictor,MVP)候选或者用于以合并模式推导出合并候选的空间候选位置和时间候选位置的示例;

图4是根据本发明一些实施例的运动向量缩放操作的示例;

图5是根据本发明一些实施例的用子预测单元时间运动向量预测(sub-prediction unit temporal motion vector prediction,Sub-PU TMVP)模式处理当前预测单元的示例流程;

图6是根据本发明一些实施例的用子预测单元时间运动向量预测模式处理当前块的示例流程;

图7是根据本发明一些实施例的降低与运动向量缩放操作相关的计算成本的第一示例方法;

图8是根据本发明一实施例的在用子预测单元时间运动向量预测模式处理当前预测单元的流程期间搜索主同位参考图像的示例搜索顺序;以及

图9是根据本发明一些实施例的降低与运动向量缩放操作相关的计算成本的第二示例方法。

具体实施方式

图1显示了根据本发明实施例的示例视频编码器100。编码器100可以包括帧内预测模块110、帧间预测模块120、第一加法器131、残差编码器132、熵编码器141、残差解码器133、第二加法器134和已解码图像缓存器151。帧间预测模块120还可以包括运动补偿模块121和运动估计模块122。如图1所示,这些组件可以耦接在一起。

编码器100接收输入视频数据101,并执行视频压缩流程以生成比特流102作为输出。输入视频数据101可以包括图像序列。每个图像可以包括一个或多个颜色分量,例如亮度分量或者色度分量。比特流102可以具有符合视频编解码标准的格式,例如高级视频编解码(Advanced Video Coding,AVC)标准、高效视频编解码(High Efficiency VideoCoding,HEVC)标准等。

编码器100可以将输入视频数据101中的图像分割成块,例如,使用基于树结构的分割方案。在一个示例中,编码器100可以以递归的方式将图像分割成编码单元(codingunit,CU)。例如,图像可以被分割成编码树单元(coding tree unit,CTU)。每个编码树单元可以被递归地分割成四个更小编码单元,直到默认尺寸被实现。自该递归分割流程而得到的编码单元可以是正方形块,但具有不同的尺寸。

随后,得到的块可以用不同的处理模式进行处理,例如帧内预测模式或者帧间预测模式。在一些示例中,得到的编码单元可以进一步被处理为预测单元(prediction unit,PU),并用预测模式进行处理。在一些示例中,得到的编码单元可以被进一步分割成多个预测单元。在一些示例中,预测单元可以包括亮度样本的块和/或一个或两个色度样本的块。因此,在本文中,预测单元和预测块(prediction block,PB)可以被交换使用,以用于指用预测编解码模式进行处理的亮度样本或者色度样本的块。通常,图像的分割可以自适应性于图像的局部内容。因此,得到的块(编码单元或者预测单元)可以在图像的不同位置处具有各种尺寸或者形状。

在图1中,帧内预测模块110可以被配置成执行帧内预测以在视频压缩流程期间确定当前正被处理的块(称为当前块)的预测。帧内图像预测可以是基于与当前块相同的图像内的当前块的相邻像素。例如,35种帧内预测模式如HEVC标准中所指定。

帧间预测模块120可以被配置成执行帧间预测以在视频压缩流程期间确定当前块的预测。例如,运动补偿模块121可以自运动估计模块122接收当前块的运动信息(运动数据)。在一示例中,运动信息可以包括水平运动向量位移值和垂直运动向量位移值、一个或两个参考图像索引以及与每个索引相关的参考图像列表的标识。基于运动信息和储存在已解码图像缓存器151中的一个或多个参考图像,运动补偿模块121可以确定当前块的预测。例如,如HEVC标准中所指定,两个参考图像列表,即列表0和列表1,可以被构造以用于编解碼B类型片段,并且每个列表可以包括参考图像序列的标识(identification,ID)。列表的每个成员可以与参考索引相关。因此,参考索引及相应的参考图像列表一起可以在运动信息中使用,以识别出此参考图像列表中的参考图像。

运动估计模块122可以被配置成确定当前块的运动信息,并将运动信息提供给运动补偿模块122。例如,使用帧间模式模块123或者合并模式模块124,运动估计模块122可以用多个帧间预测模式之一对当前块进行处理。例如,帧间预测模式可以包括高级运动向量预测(advanced motion vector prediction,AMVP)模式、合并模式、跳过模式、子预测单元时间运动向量预测模式等。

当当前块由帧间模式模块123进行处理时,帧间模式模块123可以被配置成执行运动估计流程,以在一个或多个参考图像中搜索与当前块相似的参考块。参考块可以用作当前块的预测。在一示例中,一个或多个运动向量和相应的参考图像可以被确定为基于所使用的单向或双向预测方法的运动估计流程的结果。例如,得到的参考图像可以由参考图像索引表示,以及在双向预测被使用的情况中,由相应的参考图像列表标识表示。由于运动估计流程,运动向量和相关参考索引可以被确定以用于单向预测,或者两个运动向量和两个各自的相关参考索引可以被确定以用于双向预测。此外,对于双向预测,对应于每个相关参考索引的参考图像列表(列表0或者列表1)也可以被识别出。这些运动信息(包括所确定的一个或两个运动向量、相关参考索引和各自的参考图像列表)被提供给运动补偿模块121。另外,这些运动信息可以被包括在发送到熵编码器141的运动信息103中。

在一示例中,高级运动向量预测模式用于在帧间模式模块123处预测性编码运动向量。例如,运动向量预测子(motion vector predictor,MVP)候选列表可以被构造。运动向量预测子候选列表可以包括自当前块空间相邻预测块组或者时间相邻预测块组获得的运动向量预测子序列。例如,位于某些位置处的空间相邻预测块或者时间相邻预测块的运动向量被选择并被缩放,以获得运动向量预测子序列。最佳运动向量预测子候选可以自运动向量预测子候选列表(其可以称为运动向量预测竞争)选择,以用于预测性编码先前确定的运动向量。因此,运动向量差(motion vector difference,MVD)可以被获得。例如,具有最佳运动向量编解碼效率的运动向量预测子候选可以被选择。这样,当高级运动向量预测高级运动向量预测模式被应用到当前块时,所选择的运动向量预测子候选的运动向量预测子索引(称为运动向量预测子索引)以及各自的运动向量差可以被包括在运动信息103中,并被提供给熵编码器141,以替换各自的运动向量。

当当前块由合并模式模块124进行处理时,合并模式模块124可以被配置成执行合并模式的操作,以确定提供给运动补偿模块121的当前块的运动数据集。例如,候选块的子集合可以自位于默认候选位置处的当前块的空间相邻块和时间相邻块的集合选择。例如,时间相邻块可以位于默认参考图像处,例如,当前块(或者包括当前块的当前图像)的参考图像列表,即列表0或者列表1的第一参考图像处。随后,合并候选列表可以基于所选择的时间候选块集或者空间候选块集被构造。合并候选列表可以包括多个条目。每个条目可以包括候选块的运动信息。对于时间候选块,在被列入到合并候选列表中之前,各自的运动信息(运动向量)可以被缩放。此外,对应于视觉候选块的合并候选列表中的运动信息可以具有设置为0的参考索引(意味着列表0或者列表1中的第一图像用作参考图像)。

接着,合并候选列表中的最佳合并候选可以被选择并被确定为当前块的运动信息(预测竞争)。例如,假设各自的条目用作当前块的运动信息,每个条目可以被评估。具有最高率失真性能的合并候选可以被确定以由当前块共享。随后,待共享运动信息可以被提供到运动补偿模块121。另外,合并候选列表中包括待共享运动数据的所选择的条目的索引可以用于表示并发信此选择。这个索引称为合并索引。合并索引可以被包括在运动信息103中,并被发送到熵编码器141。

在可选示例中,跳过模式可以由帧间预测模块120使用。例如,与使用上述的合并模式相似,当前块可以以跳过模式被预测,以确定运动数据集,然而,没有残差被生成或者发送。跳过标志可以与当前块相关。跳过标志可以被发信到视频解码器。在视频解码器侧处,基于合并索引确定的预测(参考块)可以用作已解碼块,而无需添加残差信号。

在又一示例中,子预测单元时间运动向量预测模式(sub-PU TMVP)可以用作合并模式的部分,以处理当前块(这样,子预测单元时间运动向量预测模式也可以称为子预测单元时间运动向量预测合并模式)。例如,合并模式模块124可以包括子块合并模块125,其被配置成执行子预测单元时间运动向量预测模式的操作。在子预测单元时间运动向量预测模式的操作中,例如,当前块可以被进一步分割成子块集。随后,每个子块的时间同位运动向量可以被获得、缩放且用作子块的运动向量。这些得到的运动向量可以被计算为合并候选(称为子预测单元时间运动向量预测合并候选或者子预测单元候选),并被列入到合并候选列表中。另外,在一些示例中,与得到的运动向量相关的参考图像索引被设置成0,其对应于参考图像列表,即列表0或列表1。在上述的合并候选评估流程期间,如果子预测单元候选被选择(预测竞争),则对应于子预测单元合并候选的合并索引可以被生成并发送在运动信息103中。子预测单元候选也可以别提供给补偿模块121,其基于子预测单元候选生成当前块的预测。

上述描述了多种处理模式,例如,帧内预测模式、高级运动向量预测模式、合并模式、子预测单元时间运动向量预测模式和跳过模式。通常,不同的块可以用不同的处理模式进行处理,并且关于哪个处理模式将用于一个块的决策需要被做出。例如,模式决策可以是基于将不同处理模式应用到一个块的测试结果。测试结果可以基于各自处理模式的率失真性能被评估。具有最佳结果的处理模式可以被确定为处理此块的选择。在可选示例中,其他方法或者算法可以被使用以确定处理模式。例如,图像和自此图像分割而来的块的特征可以被考虑以用于确定处理模式。

第一加法器131自帧内预测模块110或者运动补偿模块121接收当前块的预测,以及来自于输入视频数据101的当前块。随后,第一加法器131可以自当前块的像素值提取预测,以获得当前块的残差。当前块的残差被发送至残差编码器132。

残差编码器132接收块的残差,并压缩此残差,以生成已压缩残差。例如,残差编码器132先可以将变换,例如离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)、小波变换等,应用到对应于变换块的所接收的残差,并生成变换块的变换系数。将图像分割成变换块的分割可以与将图像分割成预测块的分割相同或者不同,以用于帧间或者帧内预测处理。随后,残差编码器132可以量化系数以压缩残差。已压缩残差(已量化变换系数)被发送至残差解码器133和熵编码器141。

残差解码器133接收已压缩残差,并执行残差编码器132处所执行的量化操作与变换操作的逆流程,以重构变换块的残差。由于量化操作,因此已重构残差与自加法器131生成的初始残差相似,但通常不同于原始版本。

第二加法器134自帧内预测模块110和运动补偿模块121接收块的预测,以及自残差解码器133接收变化块的已重构残差。随后,第二加法器134将已重构残差与对应于图像中同一区域的所接收的预测进行组合,以生成已重构视频数据。已重构视频数据可以被储存在已解码图像缓存器151中,形成可以用于帧间预测操作的参考图像。

熵编码器141可以自残差编码器132接收已压缩残差,以及自帧间预测模块120接收运动信息103。熵编码器141也可以接收其他参数和/或控制信息,例如,帧内预测模式信息、量化参数等。熵编码器141编码所接收的参数或者信息,以形成比特流102。包括以已压缩格式的资料的比特流102可以透过通信网路被发送至解码器,或者发送至储存设备(例如,非暂时计算机可读介质),其中,由比特流102所承载的视频数据可以被储存。

图2显示了根据本发明实施例的示例视频解码器200。解码器200可以包括熵解码器241、帧内预测模块210、包括运动补偿模块221和合并模式模块224的帧间预测模块220,残差解码器233、加法器234和已解码图像缓存器251。如图2所示,这些组件被耦接在一起。在一示例中,解码器200自编码器接收比特流201,例如自编码器接收比特流102,并执行去压缩流程以生成输出视频数据202。输出视频数据202可以包括图像序列,例如,其可以被显示在显示设备,例如,监测器、触摸屏等。

熵解码器241接收比特流201,并执行是图1标例中由熵编码器141执行的编码流程的逆流程的解码流程。因此,运动信息203、帧内预测模式信息、已压缩残差、量化参数、控制信息等被获得。已压缩残差可以被提供到残差解码器233。

帧内预测模块210可以接收帧内预测模式信息,并因此生成用帧内预测模式编码的块的预测。帧间预测模块220可以自熵解码器241接收运动信息203,并因此生成预测,以用于用高级运动向量预测模式、合并模式、子预测单元时间运动向量预测模式、跳过模式等编码的块。所生成的预测被提供给加法器234。

例如,对于用高级运动向量预测模式编码的当前块,帧间模式模块223可以接收运动向量预测子索引和对应于当前块的运动向量差。帧内模式模块223可以以与图1标例中视频编码器100处的帧内模式模块123相同的方式构造运动向量预测子候选列表。使用运动向量预测子索引,并基于构造的运动向量预测子候选列表,运动向量预测子候选可以被确定。随后,运动向量可以透过结合运动向量预测子候选和运动向量差被推导出,并被提供给运动补偿模块221。结合其他运动信息,例如参考索引、各自的参考图像列表,并基于储存在已解码图像缓存器251中的参考图像,运动补偿模块221可以生成当前块的预测。

对于用合并模式编码的块,合并模式模块224可以自运动信息203获得合并索引。另外,合并模式模块224可以以与图1标例中视频编码器100处的合并模式模块124相同的方式构造合并候选列表。使用合并索引,并基于所构造的合并候选列表,合并候选可以被确定,并被提供给运动补偿模块221。运动补偿模块221因此可以生成当前块的预测。

在一示例中,所接收到的合并索引可以指示子预测单元时间运动向量预测被应用到当前块。例如,合并索引处于预定义范围内,以用于表示子预测单元候选,或者合并索引与特定标志相关。因此,子预测单元时间运动向量预测模式相关的操作可以在子块合并模块225处被执行,以推导出对应于合并索引的各自的子预测单元合并候选。例如,子块合并模块225可以以与图1标例中视频编码器处的子块合并模块125相同的方式获得子预测单元合并候选。随后,所推导出的子预测单元合并候选可以被提供给运动补偿模块221。运动补偿模块221因此可以生成当前块的预测。

残差解码器233、加法器234可以与图1示例中的残差解码器133和第二加法器134在功能和结构方面相似。具体地,对于用跳过模式编码的块,没有残差被生成以用于这些块。已解码图像缓存器251储存参考图像,其用于在运动补偿模块221处所执行的运动补偿。例如,参考图像可以由自加法器234接收的已重构视频数据形成。另外,参考图像可以自已解码图像缓存器251获得,并被包括在输出视频数据202,以用于显示设备进行显示。

在不同的实施例中,编码器100和解码器200的这些组件可以用硬件、软件或者其组合实现。例如,合并模块124和合并模块224可以用一个或多个集成电路(integratedcircuit,IC)实现,例如应用专用集成电路(application specific integrated circuit,ASIC)、现场可程序设计门阵列(field programmable gate array,FPGA)等。又例如,合并模块124和合并模块224可以被实现为包括储存在计算机可读非暂时储存介质中的指令的软件或者韧体。这些指令,在由处理电路执行时,使得处理电路执行合并模块124或者合并模块224的功能。

注意的是,合并模块124和合并模块224可以被包括在其他解码器或者编码器中,其可以具有与图1或者图2所示的相似或者不同的结构。另外,在不同示例中,编码器100和解码器200可以被包括在同一设备或者独立设备中。

图3显示了根据本发明一些实施例的用于以高级运动向量预测模式推导出运动向量预测子候选或者用于以合并模式推导出候选的空间候选位置和时间候选位置的示例。图3中的候选位置与用于合并模式或者高级运动向量预测模式的如HEVC标准中指定的候选位置相似。如图所示,预测块310将用合并模式进行处理。候选位置集{A0,A1,B0,B1,B2,T0,T1}被预定义。具体地,候选位置{A0,A1,B0,B1,B2}是空间候选位置,其表示与预测块310处于同一图像中的空间相邻块的位置。相对地,候选位置{T0,T1}是时间候选位置,其表示参考图像中的时间相邻块的位置。在一些示例中,参考图像可以是参考列表(即列表0或列表1)的第一参考图像(参考索引等于0),例如,如片段标头中所指定。候选位置T1是位于预测块310的中心的周围。

在图3中,每个候选位置由样本的块表示,例如,具有4x4个样本的尺寸。此块的尺寸可以等于或者小于为用于生成预测块310的基于树的分割方案所定义的预测块的最小允许尺寸(例如,4x4个样本)。在这种配置下,在单个相邻预测块内,表示候选位置的块可以总是被覆盖。在可选示例中,样本位置可以用于表示候选位置。

在运动向量预测子候选列表或者合并候选列表构造流程期间,位于候选位置处的相邻预测块的运动信息可以被选择为运动向量预测子候选或者合并候选,并被包括在运动向量预测子候选列表或者合并候选列表中。在一些情景中,位于候选位置处的运动向量预测子候选或者合并候选可以是不可用的。例如,位于候选位置处的候选块可以是帧内预测的,或者可以位于包括当前预测块310的片段的外部,或与当前预测块310不是处于同一编码树块(coding tree block,CTB)列中。在一些情景中,位于候选位置处的合并候选可以是冗余的。例如,合并候选的运动信息与可视为冗余候选的运动向量预测子候选列表或者合并候选列表中另一候选的运动信息相同。在一些示例中,冗余合并候选可以自候选列表中移除。

在一示例中,在高级运动向量预测模式中,左侧运动向量预测子可以是来自于位置{A0,A1}的第一可用候选,顶端运动向量预测子可以是来自于位置{B0,B1,B2}的第一可用候选,并且时间运动向量预测子可以是来自于位置{T0,T1}的第一可用候选(T0先被使用。如果T0不可用,则T1被使用)。如果左侧运动矢量预测子不可用,且顶端运动矢量预测子不是已缩放运动矢量预测子,则如果在位于{B0,B1,B2}处的候选中存在已缩放运动矢量预测子,则第二顶端运动矢量预测子可用自位置{B0,B1,B2}推导出。作为一示例,在HEVC标准中,运动向量预测子候选列表尺寸被设置成2。因此,在两个空间运动向量预测子和一个时间运动向量预测子的推导流程之后,前两个运动向量预测子可以被包括在运动向量预测子候选列表中。如果在移除冗余之后,可用运动向量预测子的数量小于2,则零向量候选可以被添加到运动向量预测子候选列表中。

在一示例中,对于合并模式,多达四个空间合并候选自位置{A0,A1,B0,B1}推导出,并且一个时间合并候选自位置{T0,T1}(T0先被使用。如果T0不可用,则T1被使用)推导出。如果四个空间合并候选中的任何一个不可用,则位置B2用于推导出合并候选,以作为替代。在四个空间合并候选和一个时间合并候选的推导流程之后,移除冗余可以被应用,以移除冗余的合并候选。如果在移除冗余之后,可用合并候选的数量小于预定义的合并候选列表尺寸(例如,在一示例中的5),则额外的候选可以被推导出,并被添加到合并候选列表中。在一些示例中,额外的候选可以包括如下三种候选类型:组合双向预测合并候选、已缩放双向预测合并候选和零向量合并候选。

图4显示了根据本发明一些实施例的运动向量缩放操作400的示例。透过执行运动向量缩放操作400,已缩放运动向量432可以自同位运动向量422推导出。具体地,已缩放运动向量432与当前图像430和当前参考图像440相关。已缩放运动向量432可以用于确定用于当前图像430中当前块431的预测。相对地,同位运动向量422与同位图像420和同位参考图像410相关。同位运动向量422可以用于确定用于同位图像420中同位块421的预测。另外,图像410-图像440每个可以被分配图像顺序计数(picture order count,POC)值,即图像顺序计数1-图像顺序计数4,表示相对于视频序列中其他图像的输出位置(或者表示时间)。

具体地,同位块421可以是当前块431的时间相邻块。例如,在图3中,同位块421可以是位于候选位置T0或者候选位置T1处的时间相邻块,以用于高级运动向量预测模式或者合并模式。另外,对应于高级运动向量预测模式,当前参考图像440可以是由运动估计操作所确定的当前块431的参考图像。对应于合并模式,当前参考图像440可以是预配置以用于时间合并候选的参考图像,例如,当前块431的参考图像列表,即列表0或者列表1中的第一参考图像。

对于运动向量缩放操作,可以假设运动向量的值与与此运动向量相关的两个图像之间的表示时间的时间距离成比例。基于此假设,已缩放运动向量432可以透过基于两个时间距离缩放同位运动向量422获得。例如,如图4所示,第一时间距离433可以是图像顺序计数3-图像顺序计数4的差,第二时间距离423可以是图像顺序计数2-图像顺序计数1的差。因此,使用如下表达式,已缩放运动向量MVS_x或者MVS_y的水平位移值或者垂直位移值可以被计算出:

其中MVC_x和MVC_y是同位运动向量422的垂直位移值和水平位移值。在可选示例中,运动缩放操作可以以不同于上述方式的方式被执行。例如,不同于上述表达式的表达式可以被使用,并且额外因素可以被考虑。

图5显示了根据本发明一些实施例的用子预测单元时间运动向量预测模式处理当前预测单元510的示例流程500。流程500可以被执行,以确定用于当前预测单元500的子块的合并候选集(运动信息)。流程500可以在图1标例中的视频编码器100中子块合并模块125处,或者在图2标例中的视频解码器200中子块合并模块225处执行。

具体地,当前预测单元510可以被分割成子预测单元501。例如,当前预测单元510可以具有MxN像素的尺寸,并被分割成(M/P)x(N/Q)个子预测单元501,其中M除以P,N除以Q。每个得到的子预测单元501是PxQ像素的尺寸。例如,得到的子预测单元501可以具有8x8像素、4x4像素或者2x2像素的尺寸。

随后,参考图像520,称为时间同位图像520,可以被确定。接着,每个子预测单元501的运动向量,称为初始子预测单元运动向量,可以被确定。如图所示,子预测单元511具有初始子预测单元运动向量531。子预测单元512具有初始子预测单元运动向量532。此后,时间同位子预测单元(其是子预测单元501的时间相邻块)的集合可以被确定。时间同位子预测单元的集合(每个对应于子预测单元501)可以被定位在时间同位图像520处,并由初始子预测单元运动向量确定。如图所示,分别使用初始子预测单元运动向量531和初始子预测单元运动向量532,时间同位子预测单元521和时间同位子预测单元522可以分别被确定。

随后,所确定的时间同位子预测单元的运动信息被获得以用于预测单元510。例如,时间同位子预测单元521的运动信息可以用于推导出子预测单元511的运动向量。例如,时间同位子预测单元521的运动信息可以包括运动向量541、相关参考索引,并且可选地包括对应于相关参考索引的参考图像列表。同样地,时间同位子预测单元522的运动信息(包括运动向量542)可以用于推导出子预测单元512的运动向量。例如,运动向量缩放可以被执行以推导出各自的运动向量。

在用子预测单元时间运动向量预测模式处理当前预测单元510的流程500的可选示例中,操作可以不同于上述描述。例如,在不同的示例中,不同的子预测单元501可以使用不同的时间同位图像,并且确定时间同位图像的方法可以变化。另外,确定初始子预测单元运动向量的方法可以变化。在一示例中,子预测单元的初始子预测单元运动向量可以使用同一运动向量,例如,当前预测单元510的特定相邻块的运动向量。

可以看出,子预测单元时间运动向量预测模式使能多个子预测单元的具体运动信息,以被推导出且使用以用于编码当前块。相对地,传统合并模式中,当前块作为整体被处理,并且合并候选用于整个当前块。因此,子预测单元时间运动向量预测模式可以比用于子预测单元的传统合并模式潜在地提供更多准确的运动信息,从而提高视频编解码效率。

图6显示了根据本发明一些实施例的用子预测单元时间运动向量预测模式处理当前块(预测单元)的示例流程600。流程600可以在图1标例中的视频编码器100中子块合并模块125,或者图2标例中的视频解码器200中子块合并模块225处执行。流程600始于S601,并继续到S610。

在S610中,在搜索流程期间,确定用于当前预测单元的子预测单元的参考图像(称为主同位图像)。首先,子块合并模块125或者子块合并模块225可以查找到当前预测单元的初始运动向量。初始运动向量可以被标记为vec_init。在一示例中,vec_init可以是来自于第一可用空间相邻块的运动向量,例如,图3标例中的位于位置{A0,A1,B0,B1,B2}之一处的相邻块之一。

在一示例中,vec_init是与搜索流程期间首先被搜索的参考图像列表相关的运动向量。例如,第一可用空间相邻块位于B片段中,其与两个参考图像列表相关。因此,第一可用空间相邻块可以具有与不同的参考图像列表,即列表0和列表1相关的两个运动向量。两个运动向量分别称为列表0运动向量和列表1运动向量。在搜索流程期间,列表0和列表1中的一个先被搜索(如下所述)以用于主同位图像,另一个接着被搜索。先被搜索的一个(列表0或者列表1)称为第一列表,接着被搜索的一个称为第二列表。因此,在列表0运动向量和列表1运动向量中,与第一列表相关的一个可以用作vec_init。

例如,列表X是第一列表,以用于搜索主同位图像中的同位信息,如果列表X=列表0,则vec_init使用列表0运动向量,并且如果列表X=列表1,则vec_init使用列表1运动向量。列表X(列表0或者列表1)的值取决于哪个列表(列表0或者列表1)更好以用于同位信息。如果列表0更好以用于同位信息(例如,取决于列表0和列表1如何被构造,列表0中图像的图像顺序计数距离比列表1中图像的图像顺序计数距离更靠近),则列表X=列表0,并且反过来也一样。列表X分配可以是位于片段层或图像层。在可选示例中,vect_init可以使用不同的方法而被确定。

在当前预测单元的初始运动向量被确定之后,同位图像搜索流程可以开始搜索主同位图像。主同位图像被标记为main_colpic。同位图像搜索流程将查找到当前预测单元的子预测单元的主同位图像。在同位图像搜索流程期间,当前预测单元的参考图像被搜索且研究(investigated),参考图像之一被选择为main_colpic。在不同的示例中,搜索流程可以以不同的方式来实施。例如,参考图像可以用不同的方法(例如,用或不用运动向量缩放操作)来研究。或者搜索参考图像的顺序可以改变。

在一示例中,搜索以如下顺序实施。首先,搜索由第一可用空间相邻块选择的参考图像(例如,与初始运动向量相关的参考图像)。随后,在B片段中,可以搜索当前预测单元的所有参考图像,从一个参考图像列表,即列表0(或列表1)开始,参考索引0、索引1、索引2等等(增加索引阶数(index order))。如果对列表0(或列表1)的搜索完成,而没有查找到有效的主同位图像,则可以搜索另一列表,即列表1(或列表0)。在P片段中,可以搜索列表0中当前预测单元的参考图像,从参考索引0开始,接着索引1、索引2等等(增加索引阶数)。

在主同位图像的搜索期间,参考图像被研究,以确定正在被研究的图像是否是有效或可用的。因此,每个参考图像的这种研究也称为可用性检测。在一些示例中,可以以如下方式执行该研究,以用于除了与初始运动向量相关的参考图像之外的每个已搜索图像(正在被研究的图像)。在第一步骤中,可以执行运动向量缩放操作。透过运动向量缩放操作,初始运动向量被缩放成已缩放运动向量,标记为vec_init_scaled,其对应于正在被研究的参考图像。缩放操作可以是基于当前图像(包括当前预测单元和第一可用空间相邻块)和与初始运动向量相关的参考图像之间的第一时间距离,以及当前图像和正在被研究的参考图像之间的第二时间距离。对于第一正在被研究的图像(其是与初始运动向量相关的参考图像),不执行缩放操作。

在一些示例中,可选地,在运动向量缩放操作被执行之前,是否执行运动向量缩放的决策可以被确定。例如,列表0或列表1中的正在被研究的参考图像和与初始运动向量相关的参考图像是否是同一图像被检查。当与初始运动向量相关的参考图像和正在被研究的参考图像是同一图像时,运动向量缩放可以被跳过,并且该正在被研究的图像的研究可以被完成。在相反的情景中,缩放操作可以如上所述进行执行。

下面是两个示例的检查列表0或列表1中正在被研究的参考图像和与初始运动向量相关的参考图像是否是同一图像。在第一示例中,当与第一可用空间相邻块的初始运动向量相关的参考索引不等于正在被研究的参考图像的参考索引时,缩放操作可以被执行。在另一示例中,与初始运动向量相关的参考图像的图像顺序计数值和正在被研究的参考图像的图像顺序计数值可以被检查。当图像顺序计数值不同时,缩放操作可以被执行。

在该研究的第二步骤中,基于已缩放初始运动向量,在正在被研究的图像中确定检测位置,并检测检测位置是帧间编解码的(用帧内预测模式进行处理)还是帧内编解码的(用帧内预测模式进行处理)。如果检测位置是帧间编解码的(可用性检测是成功的),则正在被研究的图像可以用作主同位图像,且搜索流程可以停止。如果检测位置是帧内编解码的(可用性检测是失败的),则搜索可以继续以研究下一参考图像。

在一示例中,当前预测单元的周围中心位置被添加vec_init_scaled,以在正在被研究的图像中确定检测位置。在不同的示例中,可以以不同的方式确定周围中心位置。在一示例中,周围中心位置可以是中心像素。例如,对于尺寸为MxN像素的当前预测单元,周围中心位置可以是位置(M/2,N/2)。在一示例中,周围中心位置可以是当前预测单元中的中心子预测单元的中心像素。在一示例中,周围中心位置可以是除了前面两个示例中的位置之外位于当前预测单元的中心周围的位置。在可选示例中,可以以不同的方式定义并确定检查位置。

对于与初始运动向量相关的参考图像,当前预测单元的周围中心位置可以被添加vec_init,而非vec_init_scaled,以确定检测位置。

在S620中,可以确定当前预测单元的子预测单元的初始运动向量。例如,尺寸为MxN像素的当前预测单元可以被分割成尺寸为PxQ像素的子预测单元。子预测单元初始运动向量可以被确定以用于每个子预测单元。第i个子预测单元的子预测单元初始运动向量可以被标记为vec_init_sub_i(i=0~((M/P)x(N/Q)-1))。在一示例中,子预测单元初始运动向量等于对应于S610中查找到的主同位图像的已缩放运动向量(即vec_init_sub_i=vec_init_scaled)。在一示例中,子预测单元初始运动向量,即vec_init_sub_i(i=0~((M/P)x(N/Q)-1))可以相互不同,且可以基于当前块的一个或多个空间相邻预测单元,或者用其他合适的方法被推导出。

在S630中,可以搜索子预测单元的同位图像,其称为子预测单元同位图像。例如,对于每个子预测单元,来自于参考图像列表0的子预测单元同位图像和来自于参考图像列表1的子预测单元同位图像可以被查找到。在一示例中,仅存在一个同位图像(使用如上所述的main_colpic),以用于当前预测单元的所有子预测单元的参考图像列表0。在一示例中,所有子预测单元的参考图像列表0的子预测单元同位图像可以不同。在一示例中,仅存在一个同位图像(使用如前面所述的main_colpic),以用于当前预测单元的所有子预测单元的参考图像列表1。在一示例中,所有子预测单元的参考图像列表1的子预测单元同位图像可以不同。第i个子预测单元的参考图像列表0的子预测单元同位图像可以被标记为collocated_picture_i_L0,且第i个子预测单元的参考图像列表1的子预测单元同位图像可以被标记为collocated_picture_i_L1。在一示例中,main_colpic均用于列表0和列表1的当前预测单元的所有子预测单元。

在S640中,可以在子预测单元同位图像中确定子预测单元同位位置。例如,子预测单元同位图像中的同位位置可以被查找到以用于子预测单元。在一示例中,可以根据如下表达式确定子预测单元同位位置。

同位位置x=sub-PU_i_x+vec_init_sub_i_x(整数部分)+shift_x,同位位置y=sub-PU_i_y+vec_init_sub_i_y(整数部分)+shift_y,其中,sub-PU_i_x表示当前预测单元内的第i个子预测单元的水平左上位置(整数位置),sub-PU_i_y表示当前预测单元内的第i个子预测单元的垂直左上位置(整数位置),vec_init_sub_i_x表示vec_init_sub_i的水平部分(vec_init_sub_i在计算上可以具有整数部分和分数部分,且整数部分被使用),vec_init_sub_i_y表示vec_init_sub_i的垂直部分(同理,整数部分被使用),shift_x表示第一位移值,shift_y表示第二位移值。在一示例中,shift_x可以是子预测单元宽度的一半,shift_y可以是子预测单元高度的一半。在可选示例中,shift_x或shift_y可以采用其他适当的值。

在S650中,可以获得位于子预测单元同位位置处的运动信息,以用于每个子预测单元。例如,作为第i个子预测单元的时间预测子的运动信息,标记为subPU_MI_i,可以被获得以用于来自于各自子预测单元同位图像的每个子预测单元。subPU_MI_i可以是来自于同位位置x和同位位置y上的collocated_picture_i_L0和collocated_picture_i_L1的运动信息。在一示例中,subPU_MI_i可以被定义为{MV_x,MV_y、相关参考列表、相关参考索引和诸如局部亮度补偿标志的其他合并模式敏感信息}的集合。MV_x和MV_y表示位于第i个子预测单元的collocated_picture_i_L0和collocated_picture_i_L1中同位位置x和同位位置y处的运动向量的水平运动向量位移值和垂直运动向量位移值。

另外,在一些示例中,MV_x和MV_y可以根据同位图像、当前图像和同位运动向量(motion vector,MV)之间的时间距离关系进行缩放。例如,当前图像中的子预测单元可以具有第一参考图像(例如,列表0或列表1中的第一参考图像),并具有包括该子预测单元的同位运动向量的子预测单元同位图像。同位运动向量可以与第二参考图像相关。因此,同位运动向量可以被缩放以基于当前图像与第一参考图像之间的第一时间距离和子预测单元同位图像与第二参考图像之间的第二时间距离来获得已缩放运动向量。流程600可以继续到S699,并结束于S699。

图7显示了根据本发明一些实施例的降低与运动向量缩放操作相关的计算成本的第一示例方法。当前预测单元的M个参考图像的序列700如图7所示。M个参考图像的序列700可以包括与初始运动向量相关的参考图像以及包括在当前预测单元的一个或两个参考图像列表(列表0和列表1)中的图像。例如,当前预测单元将用子预测单元时间运动向量预测模式进行处理,例如,基于图6的流程600。参考图像的序列700将在同位图像搜索流程期间被研究,以为了如图6的S610中所描述,查找到主同位图像。

在最糟糕情况的情景中,用于缩放初始运动向量的运动向量缩放操作可能需要被执行以用于所有M个参考图像(除了相同于与初始运动向量相关的参考图像的图像之外)。例如,当前预测单元可以在列表0中具有32个参考图像,并在列表1中具有32个参考图像。因此,在最糟糕情况中,大概64倍的运动向量缩放操作可能需要被执行。此外,在一个图像中可以存在大量的待处理的预测单元。因此,一个图像中的与运动向量缩放操作相关的计算成本在某些情景中可能是非常大的。

为了降低运动向量缩放成本,在一些实施例中,运动向量缩放操作被限制成前N个待搜索参考图像,例如,在参考图像列表中的至少一个中。N可以是预定义阈值。例如,N可以是3、4或5等。例如,运动向量缩放操作可以在搜索前N个待搜索参考图像时被执行;然而,没有运动向量缩放在搜索超过前N个待搜索参考图像的参考图像时被执行。相反地,初始运动向量可以用于研究正在被研究的图像。换句话说,如图7所示,运动向量缩放操作可以在搜索前N个待搜索参考图像时被开启,并在搜索超过前N个待搜索参考图像的参考图像时被关闭。

假设在考虑大量子预测单元时,搜索超过前N个待搜索参考图像的参考图像发生概率较小,而搜索前N个待搜索参考图像通常具有较高的概率。这样,跳过运动向量缩放操作发生概率小,并且得到的负面效果(正确性的损失)发生概率小,但最糟糕情况情景的大量计算成本可以被避免。

作为一示例,如图7所示,当搜索前N个参考图像时,与初始运动向量相关的参考图像可以先使用初始运动向量而被研究。随后,前N个参考图像中的其他图像可以被研究。例如,正在被研究的图像是否是与初始运动向量相关的参考图像可以被确定。随后,对于不是与初始运动向量相关的参考图像的正在被研究的图像,运动向量缩放可以被执行以获得已缩放运动向量。随后,已缩放运动向量可以用于研究正在被研究的图像(例如,确定检测位置并检测帧内编解碼的还是帧间编解碼的)。当搜索超过前N个参考图像700的参考图像时,缩放不被执行,并且初始运动向量可以用于研究正在被研究的图像。

下面是实现降低与运动向量缩放操作相关的计算成本的示例。在本示例中,变量i被定义,作为主同位图像搜索期间的搜索顺序。例如,当搜索第一图像时,i=1,当搜索第二图像时,i=2。初始运动向量的运动向量缩放操作在搜索主同位图像期间对前N个图像(i<=N)开启,并在已搜索图像顺序i>=(N+1)时被关闭。如果某个已搜索图像被关闭以用于初始运动向量缩放,则vec_init_scaled=vec_init可以在子预测单元时间运动向量预测流程中用于此图像。如果某个已搜索图像被开启以用于初始运动向量缩放的运动向量缩放,则vec_init_scaled=vec_init的已缩放版本可以在子预测单元时间运动向量预测流程中用于此图像。

现在描述灵活定义同位图像搜索流程(例如,图6的示例中所描述的同位图像搜索流程)中的搜索顺序的实施例。在一示例中,同位图像搜索流程可以具有预定义顺序。例如,如图6的示例中所描述,搜索顺序可以是固定的:首先,与初始运动示例相关的参考图像被搜索;随后,列表0(或列表1)中的图像以参考索引递增顺序而被研究;以及随后,列表1(或列表0)中的图像以参考索引递增顺序而被研究。然而,这种固定顺序的结果可能不是最优的。例如,参考图像列表,即列表0和/或列表1,可以因不同的图像或片段而被不同地排列。这样,以时间距离的形式的距离当前图像的最近参考图像的位置可以变化。相比于使用固定搜索顺序,灵活调整搜索主同位图像中的搜索顺序可以增大查找到更好主同位图像的概率。

因此,在一些实施例中,主同位图像搜索流程中的搜索顺序可以被定义或被配置为自适应的且可调的。例如,视频编码器100处的子块合并模块125或视频解码器200处的子块合并模块225可以根据一些条件,例如参考图像列表的参考图像排列,灵活地选择或确定搜索顺序。在一些示例中,编码器处所确定的搜索顺序可以在图像序列层、图像层、片段层或预测单元层中被发信到解码器。在一些示例中,编码器和解码器可以根据形成相同搜索顺序的相同规则确定搜索顺序,而无需任何发信操作。

例如,为了指定搜索顺序,下面的符号可以被采用。具有搜索顺序的待搜索图像i(表示为searched_i)可以由语法元素{USING_INITVEC_REF_PIC,LIST,REFERENCE_INDEX}分配或指定。在此语法元素中,USING_INITVEC_REF_PIC可以取0值或1值。如果USING_INITVEC_REF_PIC=1,则该语法元素指定待搜索图像,其为由当前预测单元的第一可用空间相邻块所选择的参考图像(即与初始运动向量相关的参考图像)。如果USING_INITVEC_REF_PIC=1,则searched_i的语法元素中的LIST和REFERENCE_INDEX被忽略。如果USING_INITVEC_REF_PIC=0,则searched_i的语法元素中的LIST和REFERENCE_INDEX变成有效的。具体地,LIST指定参考图像列表,即列表0或列表1,并且REFERENCE_INDEX指定参考索引。因此,参考图像可以由LIST和REFERENCE_INDEX指定。

图8显示了根据本发明一实施例的在用子预测单元时间运动向量预测模式处理当前预测单元的流程期间搜索主同位参考图像的示例搜索顺序。在图8中,示出了包括当前预测单元的当前图像810和两个参考图像列表,即列表0和列表1。列表0包括具有参考索引0、参考索引1和参考索引2的三个参考图像,即831-833。列表1包括具有参考索引0、参考索引1和参考索引2的三个参考图像,即841-843。为与初始运动向量相关的参考图像的初始参考图像820也被示出。初始参考图像820可以是图像831-833和图像841-843中的一个。

在图8的示例中,用于搜索主同位参考图像的搜索顺序被定义成如下。首先,初始参考图像820被搜索。随后,两个参考图像列表中的参考图像831-833和参考图像841-843按照交替的方式且按照参考索引递增顺序被搜索。具体地,按照顺序:820,841,833,842,832,843和831,图8中的参考图像被搜索。在时间距离上主同位图像距离当前图像810越近,这两个图像之间的相关性越高,且用于当前预测单元的子预测单元的同位运动信息的质量可能越好。因此,相比于连续搜索两个参考图像列表,即列表0和列表的搜索顺序,图8的示例中定义的搜索顺序可以得到更好的结果。

与图8标例的搜索顺序相似的搜索顺序可以按照如下方式用语法元素而被指定:

当i=0时,图像searched_i被指定为{1,不计,不计};

当i=1,3,5...(奇整数)时,图像searched_i被指定为{0,LA,(((i+1)/2)-1)};以及

当i=2,4,6...(偶整数)时,图像searched_i被指定为{0,LB,((i/2)-1)}。

在上述说明中,(/2)的操作表示整数除法(例如,1/2=0,2/2=1等等)。在上述说明中,LA和LB可以表示两个不同的参考图像列表。例如,在一示例中,LA=列表0,LB=列表1,在另一示例中,LA=列表1,LB=列表0。

在一实施例中,主同位图像在编码器处被确定,并随后被发信到解码器。确定的主同位图像可以是同位图像搜索流程的结果,或者可以是预配置的。或者,确定的主同位图像可以以其他适当的方式而被确定。因此,语法元素可以从编码器被发信到解码器,以直接指示主同位图像。换句话说,主同位图像可以从编码器被发信到解码器。因此,存在一个同位图像选择。该发信可以被设计在序列层、图像层、片段层或预测单元层。在一示例中,发信的同位主图像是与初始运动向量相关的参考图像。因此,语法元素{1,不计,不计}可以被发送。

本文所描述的流程和功能可以被实现为计算机程序,其在由一个或多个处理执行时可以使得一个或多个处理器执行各自的流程和功能。计算机程序可以被储存或者分布在适当的介质上,例如,与其他硬件一起提供、或者作为其他硬件一部分的光储存介质或者固态介质。计算机程序也可以以其他形式被分布,例如,透过因特网,或者其他有线或无线电通信系统。例如,计算机程序可以被获得并加载在一装置中,其包括透过物理介质或者分布系统获得计算机程序,例如,包括来自于连接到因特网的服务器。

图9显示了根据本发明一些实施例的降低与运动向量缩放操作相关的计算成本的第二示例方法。相似于图7的示例,另一方法被采用以用于在搜索当前预测单元的主同位图像时,确定用正在被执行的运动向量缩放操作(即开启的缩放操作)所研究的N个参考图像。在图9中,示出了包括当前预测单元的当前图像910和两个参考图像列表,即列表0和列表1。列表0包括参考图像931-934,其分别具有参考索引0、参考索引1、参考索引2和参考索引3。列表1包括参考图像941-944,其分别具有参考索引0、参考索引1、参考索引2和参考索引3。为与初始运动向量相关的参考图像的初始参考图像920也被示出。初始参考图像920可以是图像931-934和图像941-944中的一个。

在一具体示例中,用于主同位图像搜索流程的搜索顺序被定义为:920、941-944和934-931。换句话说,初始参考图像920先被搜索,随后是按照索引递增顺序的列表1,以及按照索引递增顺序的列表0。在可选示例中,用于主同位图像搜索流程的搜索顺序被定义为:920、934-932和941-944。在初始参考图像920先被搜索之后,列表0按照索引递增顺序被搜索,随后,列表1按照索引递增顺序被搜索。上述两个搜索顺序中的哪个被采用可以是基于某个条件的,或者可以是基于承载在编解码比特流中的各自片段标头或图像标头中的标头信息的。

用开启的缩放操作所研究的N个参考图像被定义为列表0中的前N0个参考图像,以及列表1中的前N1个参考图像。在图9的示例中,N0=2和N1=2。因此,当参考图像941-942和参考图像934-933在搜索期间被研究时,缩放操作被开启,且缩放操作可以被执行以从初始运动向量获得已缩放运动向量。可选地,正在被研究的图像是否是初始参考图像920可以被检查。当正在被研究的图像是初始参考图像920时,缩放操作不被执行,且此图像的研究可以被完成。相反地,对于不包括在前N0个或前N1个参考图像中的参考图像943-944和参考图像932-931,缩放操作可以被关闭以节省计算成本。

通常,为了节省运动向量缩放操作的成本,待搜索参考图像序列中的N个参考图像可以被确定,以用开启的缩放操作进行研究,而待搜索参考图像序列中其他参考图像可以用关闭的缩放操作进行研究。N个参考图像可以被确定为图7示例中的待搜索图像序列中的前N个,或者包括两个参考图像列表,即列表0和列表1中的第一部分(N0个)和第二部分(N1个)的N个参考图像。可选地,N可以以不同于图7或图9的示例的方式而被确定,例如,基于参考图像列表如何被构造,以及搜索顺序如何被采用。此外,N也可以基于不同情景而是可变的,例如,基于当前图像的统计,或当前预测单元的尺寸等。

计算机程序可以由提供程序指令的计算机可读介质访问,以用于由计算机或者任何指令执行系统使用,或者连接到计算机或者任何指令执行系统。计算机可读介质可以包括任何装置,其储存、通信、传输或者传送计算机程序,以用于由指令执行系统、装置或者设备使用,或者连接到指令执行系统、装置或者设备。计算机可读介质可以包括计算机可读非暂时性储存介质,例如,半导体或固态内存、磁带、可移动计算机磁盘、随机访问内存(random access memory,RAM)、只读储存器(read-only memory,ROM)、磁盘和光盘等。计算机可读非暂时性储存介质可以包括所有类型的计算机可读介质,包括磁储存介质、光储存介质、闪光介质和固态储存介质。

由于已经结合本发明的被提出用作示例的具体实施例描述了本发明的各个方面,可以做出这些示例的替代、修改和变形。因此,此处所说明的实施例用作示意目的,但不用于限制。在不脱离请求项的范围的情况下,可以做出改变。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:编码装置、解码装置、编码方法及解码方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类