视频编解码的适应性预测候选位置的制作方法

文档序号:18706864发布日期:2019-09-17 23:50阅读:168来源:国知局
视频编解码的适应性预测候选位置的制作方法

本发明要求2017年02月07日提出的申请号为62/455,623且名称为"variationbasedmethodforvideocodinginmergemode"的美国临时专利申请的权利,其整体以引用方式并入本文中。

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



背景技术:

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

在图像与视频编解码中,使用基于树结构的方案,图像及其相应样本数组可以被分割成块。随后,用多个处理模式之一,每个块可以被处理。合并模式是这些处理模式之一,其中空间相邻块和时间相邻块可以共享相同的运动参数集。编码器和解码器遵循相同的规则以构造预测候选列表,并且表示所选择的预测候选的索引自编码器发送至解码器。因此,运动向量传输开销可以被降低。



技术实现要素:

本发明的方面提供一种以合并模式或跳过模式的视频编解码的方法。本方法可以包括接收图像的预测块;根据预测块的尺寸和/或形状,确定预测块的多个合并候选的数量和位置;以及构造包括多个合并候选的子集的运动数据的候选列表。

在一个实施例中,根据各自边的边长度,预测块的一个边上的合并候选的数量被确定。在一个实施例中,根据预测块的宽度与高度之比,预测块的一个边上的合并候选的数量被确定。在一个实施例中,预测块的一个边上的多个合并候选的位置被确定为基本上相等地分割各自边的多个位置。在一个实施例中,当位于所确定的多个位置中的一个处的合并候选不可用时,搜索被执行以查找位于不可用合并候选附近的候选。

在一个示例中,预测块的多个合并候选的多个位置包括在预测块的两个相对边上相互交错的多个候选位置。在不同示例中,预测块的多个合并候选包括多个空间候选和多个时间候选。

本发明的一方面提供了一种以合并模式或跳过模式的视频编解码的装置。本装置可以包括电路,其被配置为接收图像的预测块;根据预测块的尺寸和/或形状,确定预测块的多个合并候选的数量和位置;以及构造包括多个合并候选的子集的运动数据的候选列表。

本发明的另一方面提供了一种非暂时性计算机可读介质,其存储有实现以合并模式或跳过模式的视频编解码的方法的指令。

附图说明

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

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

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

图3a-图3c是根据本发明实施例的分割图像的第一基于树分割方案;

图4a-图4c是根据本发明实施例的分割图像的第二基于树分割方案;

图5a-图5b是根据本发明实施例的分割图像的第三基于树分割方案;

图6是定义合并模式处理的候选位置的第一传统方法;

图7是定义合并模式处理的候选位置的第二传统方法;

图8a-图8b和图9a-图9b是根据本发明实施例的适应性候选位置方式的第一示例;

图10a-图10c是根据本发明实施例的适应性候选位置方式的第二示例;

图11是根据本发明实施例的适应性候选位置方式的第三示例;

图12是根据本发明实施例的适应性候选位置方式的第四示例;

图13是根据本发明实施例的适应性候选位置方式的第五示例;

图14是根据本发明实施例的合并模式编码流程;以及

图15是根据本发明实施例的合并模式解码流程。

具体实施方式

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

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

编码器100可以将输入视频数据101中的图像分割成块,例如,使用基于树结构的分割方案。随后,得到的块可以用不同的处理模式进行处理,例如画面内预测模式、具有画面间模式的画面间预测、具有合并模式的画面间预测、具有跳过(skip)模式的画面间预测等。在一个示例中,当当前正在被处理的块,称为当前块,被用合并模式进行处理时,相邻块将选择自当前块的相邻和当前块的同位(collocated)块的相邻。当前块可以与所选择的相邻块合并,并共享所选择的相邻块的运动数据。此合并模式操作可以在相邻块组上执行,使得相邻块的区域可以被合并在一起,并共享相同的运动数据集。在发送期间,仅表示所选择的相邻块的索引被传输以用于合并区域,从而提高传输效率。

在上述示例中,与当前块待合并的相邻块,可以自当前块的预定义候选位置集选择,其中候选位置包括一个或多个空间候选位置和/或一个或多个时间候选位置。每个空间候选位置与位于当前块周围的空间相邻块相关,并且空间相邻块位于包括当前块的当前图像处。每个时间候选位置与时间相邻块相关,并且时间相邻块位于包括当前块的同位块且围绕、覆盖或者位于当前块的同位块内的参考图像处。候选位置处的相邻块(称为候选块)是当前块的所有空间相邻块和当前块的所有时间相邻块的子集。这样,候选块可以被评估以用于待合并块的选择,而不是整个相邻块集。

通常,图像的分割可以适应于图像的局部内容。因此,得到的块可以位于图像的不同位置处,具有可变的尺寸和形状。根据本发明的方面,编码器可以使用适应性候选位置方式以定义并确定候选块的候选位置以用于合并模式处理。具体地,根据当前块的尺寸和/或形状,候选位置的数量和位置可以被适应性地定义。例如,相对于较小的当前块,较大的当前块可以沿着其侧边具有更多数量的候选位置。基于默认定义,在当前块的合并模式处理期间,候选位置的数量和位置可以基于当前块的尺寸和/或形状被确定。

在传统的视频编解码技术中,候选位置的数量和位置通常是预定义且固定的以用于不同块,即便当前块的形状和尺寸变化很大。相对于传统的固定候选位置技术,适应性候选位置方式可以提供更多且更好合并候选以用于当前块,使得编码器100的率失真性能更高。

在图1中,画面内预测模块110可以被配置成执行画面内预测以在视频压缩流程期间确定当前块的预测。画面内预测可以是基于与当前块相同的图像内的当前块的相邻像素。

画面间预测模块120可以被配置成执行画面间预测以在视频压缩流程期间确定当前块的预测。例如,运动补偿模块121可以自运动估计模块122接收当前块的运动数据集。在一个示例中,运动数据可以包括水平运动向量位移值和垂直运动向量位移值、一个或两个参考图像索引以及可选的参考图像列表与每个索引相关的辨识码(identification)。基于运动数据和存储在已解码图像缓存器251中的一个或多个参考图像,运动补偿模块121可以确定当前块的预测。

运动估计模块122可以被配置成确定当前块的运动数据集。具体地,在运动估计模块122处,用画面间模式或合并模式,当前块可以被处理。例如,画面间模式模块123可以执行运动估计流程,在一个或多个参考图像中搜索与当前块相似的参考块。这样的参考块可作为当前块的预测。在一个示例中,基于所使用的单向预测方法或者双向预测方法,一个或多个运动向量及相应参考图像可以被确定为运动估计流程的结果。例如,得到的参考图像可以由参考图像索引表示,以及在双向预测被使用的情况中,由相应的参考图像列表辨识码表示。

合并模式模块124被配置成执行合并模式的操作,以确定当前块的运动数据集。例如,合并模式模块124可以先确定候选块的候选位置的数量和位置以用于合并模式,并随后自候选位置选择一个待合并相邻块。例如,候选列表可以基于候选位置来构造。候选列表可以包括多个条目。每个条目可以包括相应候选块的运动数据。随后,每个条目可以被评估,并且具有最高率失真性能的运动数据集可以被确定以由当前块共享。随后,待共享运动数据可以被用作当前块的运动数据集。另外,在候选列表中包括待共享运动数据的条目的索引可以用于表示并标示此选择。此索引可以称为合并索引。

在画面间模式模块123或者合并模式模块124处确定的当前块的运动数据集可以被提供给运动补偿模块121。另外,与运动数据相关的运动信息103可以被生成并提供给熵编码器141,并随后被发送(signal)至视频解码器。对于画面间模式,得到的运动数据可以被提供至熵编码器141。对于合并模式,合并旗标可以被生成,并与当前块相关,其表示当前块用合并模式被处理。合并旗标(flag)及相应合并索引可以被包括在运动信息103中,并被发送到视频解码器。当用合并模式处理同一当前块时,基于合并索引,视频解码器可以推导出运动数据集。

在可选示例中,跳过模式可以由画面间预测模块120使用。例如,在跳过模式中,使用与上述相似的画面间模式或者合并模式,当前块可以被预测,以确定运动数据集,然而,没有残差被生成或者发送。跳过旗标可以与当前块相关。跳过旗标和表示当前块的相关运动信息的索引可以被发送到视频解码器。在视频解码器侧处,基于相关运动信息所确定的预测(参考块)可以用作已解碼块,而无需添加残差信号。这样,适应性候选位置方式可以与跳过模式一起被使用。例如,在合并模式的操作已在当前块上被执行,且相关运动信息(合并索引)已被确定之后,跳过模式旗标可以与当前块相关,以表示跳过模式。

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

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

残差编码器132接收块的残差,并压缩此残差,以生成已压缩残差。例如,残差编码器132可以先将变换,例如离散余弦变换(discretecosinetransform,dct)、小波变换等,应用到对应于变换块的所接收的残差,并生成变换块的变换系数。将图像分割成变换块的分割可以与将图像分割成预测块的分割相同或者不同,以用于画面间或者画面内预测处理。随后,残差编码器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,例如自编码器100接收比特流102,并执行去压缩流程以生成输出视频数据202。输出视频数据202可以包括图像序列,例如,其可以被显示在显示设备,例如,监测器、触摸屏等。

与图1标例中的编码器100相似,解码器200可以使用适应性候选方式以处理用合并模式编码的当前块。例如,解码器200可以被配置成以与编码器100在编码当前块时确定相同的候选位置集的方式相同的方式,确定当前块的候选位置集。具体地,根据当前块的尺寸和/或形状,候选位置的数量和位置可以被确定。随后,以与编码器100编码当前块时构造相同的候选列表的方式相同的方式,解码器200可以构造候选列表。基于与当前块相关且比特流201中所接收的合并索引,运动数据集可以被确定。推导出运动数据集的上述流程可以在合并模式模块224处执行。

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

画面内预测模块210可以接收画面内预测模式信息,并因此生成用画面内预测模式编码的块的预测。画面间预测模块220可以接收运动信息203,并因此生成用具有画面间模式的画面间预测、具有合并模式的画面间预测或者具有跳过模式的画面间预测编码的块的预测。例如,对于用画面间模式编码的块,对应于此块的运动数据集可以自运动信息203获得,并被提供到运动补偿模块221。对于用合并模式编码的块,合并索引可以自运动信息103获得,并且基于此处描述的适应性候选位置方式推导出运动数据集的流程可以在合并模式模块224处执行。得到的运动数据可以被提供给运动补偿模块221。因此,基于所接收的运动数据和存储在已解码图像缓存器251中的参考图像,运动补偿模块221可以生成用于各自块的预测,其被提供至加法器234。

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

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

注意的是,实现本文公开的适应性候选位置方式的合并模块124和合并模块224可以被包括在其他解码器或者编码器中,这些解码器或者编码器可以具有与图1或者图2所示的相似或者不同的结构。另外,在不同示例中,编码器100和解码器200可以被包括在同一设备或者独立设备中。

图3a-图3c显示了根据本发明实施例的分割图像的第一基于树分割方案。第一基于树的割方案是基于四叉树,并可以在hevc标准中使用。作为示例,如hevc标准中所指定,图像可以被分割成片段(slice),片段可以被进一步分割成编码树块(codingtreeblock,ctb)。ctb可以具有8x8、16x16、32x32或者64x64尺寸的正方形形状。使用四叉树结构,ctb可以被分割成编码块(codingblock,cb)。

图3a显示了被分割成多个cb的ctb301的示例。图3b显示了对应于分割ctb301的流程的四叉树302。如图所示,ctb301是四叉树302的根311,四叉树302的叶节点(例如,叶节点331)对应于ctb301中的cb。四叉树302的其他节点(除了叶节点和根之外)(例如,节点321)对应于被分割成子块(childblock)的母块。根据包括ctb301的图像的局部内容,自分割流程得到的cb的尺寸可以被适应性确定。四叉树302的深度和cb的最小尺寸可以被指定在承载已编解码图像的比特流的语法元素中。

如hevc标准中所指定,cb还可以被分割一次,以形成预测块(predictionblock,pb)以用于画面内或者画面间预测处理的目的。图3c显示了hevc标准中所允许的8种pb分割类型。如图所示,cb可以被分割成1个、2个或者4个pb。在图3c中,得到的pb的宽度和高度如下面每个各自cb中所示,其中m表示以像素形式的每个cb的边长度。

图4a-图4c是根据本发明实施例的分割图像的第二基于树分割方案。第二基于树分割方案基于二叉树结构,并可以用于分割hevc标准中所定义的ctb。图4a显示了6种分割类型,其可以用于将块分割成更小块。与图3c相似,得到的子块的宽度和高度如下面每个各自cb中所示,其中m表示以像素形式的每个块的边长度。使用图4a中所示的分割类型,ctb可以被递归分割,直到得到的子块的宽度或者高度达到在一个示例中所指定的预定义最小宽度或者高度。

图4b显示了使用二叉树结构被分割成cb的ctb401的示例。图4c显示了对应于分割ctb401的流程的二叉树402。在图4b和图4c示例中,仅对称垂直分割类型和对称水平分割类型(即m/2xm和mxm/2)被使用。在二叉树402的每个非叶节点处,一个旗标(0或者1)被标记以表示水平分割或者垂直分割是否被使用。0表示水平分割,1表示垂直分割。二叉树402的每个叶节点表示得到的cb。在一些示例中,得到的cb可以被用作pb,而无需进一步分割。

图5a-图5b是根据本发明实施例的分割图像的第三基于树分割方案。第三基于树分割方案是基于混合四叉树加二叉树分割(quadtreeplusbinarytree,qtbt)结构,并可以用于分割hevc标准中所定义的ctb。图5a为使用qtbt结构分割的ctb501的示例。在图5a中,实线表示基于四叉树结构而分割的块的分界线,而虚线表示基于二叉树结构而分割的块的分界线。图5b显示了具有qtbt结构的树502。树502对应于分割ctb501的流程。实线表示基于四叉树结构的分割,而虚线表示基于二叉树结构的分割。

如图所示,在基于qtbt的分割流程期间,使用四叉树结构,ctb可以先被递归分割,直到得到的块的尺寸达到预定义最小叶节点尺寸。此后,如果叶四叉树块不大于最大允许二叉树根节点尺寸,则基于二叉树结构,叶四叉树块可以被进一步分割。二叉树分割可以被重复,直到得到的块的宽度或者高度达到最小允许宽度或者高度,或者直到二叉树深度达到最大允许深度。在一些示例中,自qtbt生成得到的cb(叶块)可以被用作pb,而无需进一步分割。

图6显示了定义合并模式处理的候选位置的第一传统方法600。传统方法600被使用在hevc标准中,如图所示,pb610将被用合并模式进行处理。候选位置集{a0,a1,b0,b1,b2,t0,t1}被定义以用于合并模式处理。具体地,候选位置{a0,a1,b0,b1,b2}是空间候选位置,其表示与pb610处于同一图像中的候选块的位置。相对地,候选位置{t0,t1}是时间候选位置,其表示处于参考图像中的候选块的位置。候选位置t1位于pb610的同位块的中心附近。

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

在一个示例中,基于图6中定义的候选位置{a0,a1,b0,b1,b2,t0,t1},合并模式流程可以被执行,以自候选位置{a0,a1,b0,b1,b2,t0,t1}选择一个候选块。在合并模式流程中,候选列表构造流程可以先被执行以构造候选列表。候选列表可以具有合并候选的预定义最大数量c。候选列表中的每个合并候选可以是运动数据集,其可以用于运动补偿预测。在一个示例中,根据预定义顺序,合并候选的第一数量c1自空间候选位置{a0,a1,b0,b1,b2}推导出,合并候选的第二数量,即c2=c-c1,自时间候选位置{t0,t1}推导出。

在一些情景中,位于候选位置处的合并候选可以是不可用的。例如,位于候选位置处的候选块可以是画面内预测的,或者候选块位于包括当前pb610的片段的外部或与当前pb610不是处于同一ctb行(row)中。在一些情景中,位于候选位置处的合并候选可以是冗余的。例如,pb610的同一相邻块可以用两个候选位置进行覆盖。冗余的合并候选可以自候选列表中移除。当候选列表中的合并候选的总数小于合并候选的最大数量c时,额外的合并候选可以被生成(例如,根据预配置规则),以填充候选列表,使得候选列表可以被保持成具有固定长度。

在候选列表被构造之后,在编码器处,例如,编码器100,评估流程可以被执行,以自候选列表选择最佳合并候选。例如,对应于每个合并候选的率失真性能可以被计算出,并且具有最佳率失真性能的一个可以被选择。因此,与所选择的合并候选相关的合并索引可以被确定以用于pb610,并发送至解码器。

在解码器侧,例如解码器200,在接收pb610的合并索引之后,如上述相似的候选列表构造可以被执行。在候选列表被构造之后,在一些示例中,合并候选可以基于所接收到的合并索引自候选列表选择,而无需执行任何评估。所选择的合并候选的运动数据可以用于pb610的后续运动补偿预测。

图7显示了定义合并模式处理的候选位置的第二传统方法700。在方法700中,候选位置可以被定义成位于pb边的中间位置周围。如图7的左侧所示,中间候选位置可以包括位于当前pb710的左边处和顶边处的空间候选位置集{m0,m1}。中间候选位置还可以包括分布在参考图像中的同位pb712的每边处的时间候选位置集{mt0,mt1,mt2,mt3}。在一些示例中,中间候选位置{m0,m1,mt0,mt1,mt2,mt3}可以与图6示例中所定义的角候选位置{a0,a1,b0,b1,b2,t0}以及中心候选位置{t1}一起使用。

自结合图3a-图3c、图4a-图4c、图5a-图5b所述的基于树结构分割方案的示例可以看出,在图像编码器流程期间,得到的pb可以具有可变尺寸和形状。当传统的合并候选位置定义方法600和方法700用于合并模式处理时,候选位置被定义成位于位置的固定集处,而不考虑当前pb的尺寸或者形状。相对地,适应性候选位置方式根据当前pb的形状和/或尺寸定义候选位置的位置和数量。相对于适应性候选位置方式,传统的方法可以具有最佳候选块不被包括在候选位置中的更高风险,从而降低了编解码系统的性能。

图8a-图8b和图9a-图9b显示了根据本发明实施例的适应性候选位置方式的第一示例。在第一示例中,pb的候选位置的数量可以根据pb的尺寸被定义。例如,pb的尺寸越大,候选位置的数量将越大。pb的尺寸可以由pb的高度和宽度表示。在一个示例中,pb尺寸被定义成pb高度xpb宽度。

具体地,沿着pb边的候选位置的数量可以根据pb边的长度而被定义。即,沿着pb边的候选位置的数量是pb的边长度的函数。例如,pb边越长,沿着pb边的候选位置可以越多。例如,候选位置的一定数量可以被定义成对应于一定范围内的边长度。例如,对于4个像素的边长度,候选位置数量可以是0。对于8个像素到16个像素的范围内的边长度,一个候选位置可以被定义。对于20个像素到32个像素的范围内的边长度,两个候选位置可以被定义。基于为具有不同尺寸的pb所定义的候选位置的数量,候选位置的位置可以被相应地定义,以用于具有不同尺寸的pb。

基于上述定义,在编码流程或者解码流程期间,当当前pb将被用合并模式进行处理时,编码器或者解码器可以根据当前pb的尺寸确定候选位置的数量和位置。例如,基于候选位置的数量与边长度之间的函数,编码器或解码器可以确定沿着当前pb的边的候选位置的数量。在沿着此边的候选位置的数量被确定之后,沿着此边的这些候选位置的位置可以被接着确定。

图8a显示了pb810,其在左边处具有每个表示空间候选位置或者时间候选位置的两个候选位置以及在右边具有两个时间候选位置。由于较短的顶边长度/底边长度,例如,4个像素,没有候选位置被定义在pb810的顶边或者底边上。相对地,图8b显示了pb812,其具有与pb810相同的高度,以及在pb812的左边或者右边具有与pb810相似的候选位置数量。然而,pb812的顶边或者底边比pb810的顶边或者底边长。例如,顶边和底边可以具有16个像素的长度。因此,表示空间候选位置或者时间候选位置的候选位置801被定义在顶边,而表示时间候选位置的候选位置802被定义在底边上。

图9a和图9b显示了两个pb,即910和912,其具有相同宽度但不同高度。例如,pb910的高度是24个像素,而pb912的高度是4个像素。因此,相同数量的候选位置被定义在顶边或者底边以用于pb910和pb912。而不同数量的候选位置被定义在右边或者左边以用于pb910和pb912。具体地,pb912的左边或者右边可以具有0个候选位置,而pb910的左边或者右边,每个具有一个候选位置。左边候选位置表示空间候选位置和时间候选位置。

图10a-图10c显示了根据本发明实施例的适应性候选位置方式的第二示例。在第二示例中,pb的候选位置数量不仅依存于pb的尺寸或者宽度或高度,而且依存于pb的形状。例如,基于pb宽度(或者pb尺寸)和宽度/高度之比,沿着顶边或者底边的候选的数量可以被定义。

例如,当宽度/高度之比在阈值之上时,位于顶边或者左边上的候选位置的数量可以不同于宽度/高度之比在阈值之下时。图10a-第10b图显示了这种示例。在图10a中,pb1010沿着顶边和底边中每个具有两个候选位置,沿着右边或者左边具有0个候选位置。在第10b图中,pb1012具有与pb1010相同的宽度,但具有比pb1010长的高度。pb1012的宽度/高度之比小于pb1010的宽度/高度之比。因此,一个候选位置被定义以用于pb1012的顶边和底边中的每个,其小于被定义以用于pb1010的顶边和底边中的每个的两个候选位置。此外,一个候选位置被定义在pb1012的右边和左边中的每个上。

图10c显示了pb1014,其具有与pb1010相同的宽度/高度之比。然而,由于较小的pb尺寸,pb1014具有不同数量的候选位置。具体地,pb1014具有被定义以用于顶边和底边中的每个的一个候选位置,其小于被定义以用于pb1010的顶边和底边中的每个的两个候选位置。

基于上述定义,在编码流程或者解码流程期间,当当前pb将被用合并模式进行处理时,编码器或者解码器可以根据当前pb的宽度/高度之比以及当前pu的尺寸、宽度或者高度确定候选位置的数量和位置。

图11显示了根据本发明实施例的适应性候选位置方式的第三示例。在第三示例中,用相等分割放置方法,沿着pb边排列候选位置。换句话说,候选位置被定义成位于基本相等地分割pb边的位置处。基于相等分割放置方法的定义,在一个示例中,在视频编码器或者解码器处,下面流程被执行,以确定沿着当前pb的边的候选位置。

在第一步骤中,候选位置的数量n可以根据当前pb的尺寸和/或形状被确定,例如,使用图8a-图8b、图9a-图9b和图10a-图10b的示例中所述的方法。

在第二步骤中,候选位置在pb边上的原始位置可以被确定。例如,候选位置具有索引i,其处于0到n-1的范围内,且pb边的长度被表示为l。候选位置i的位置可以根据下面的表达式被确定,即(l/(n+1))*(i+1),其是pb边的一端与候选位置i的位置之间的距离以像素为单位的结果。

在第三步骤中,基于原始位置,候选位置i可以与预定义对齐位置对齐。例如,当前pb的相邻块的最小允许边长度可以是4个像素,因此,相邻块的分界线与是4个像素的倍数的位置对齐。候选位置可以与可能相邻块分界线对齐。

在第四步骤中,候选位置i的可用性被检测。例如,当覆盖候选位置i的候选块被画面内编解码时,运动数据将在候选位置i处不可用。上述第二步骤、第三步骤和第四步骤可以被重复以用于n个候选位置中的每个,以确定n个候选位置的位置。

在图11中,pb1100的顶边具有l=64个像素的长度,并且n=2个候选位置,即1101-1102将沿着顶边被确定。对于第一候选位置1101,原始位置可以被确定为64/(2+1)=21.33个像素。假设在4个像素的倍数处对齐被要求,最终位置可以被确定成24个像素,其是自顶边的左端的距离。如果候选位置1101由4x4像素数组表示,则候选位置1101可以被定位在对于pb1100的顶边的左端自21像素到24像素的位置。

图12显示了根据本发明实施例的适应性候选位置方式的第四示例。在第四示例中,确定候选位置的流程可以开始于图11示例中的基于相等分割放置的流程。当候选位置被确定为在对齐位置处不可用时,细化搜索(refinementsearch)流程可以被执行,以在不可用候选位置周围搜索可用候选位置。在一个示例中,细化搜索流程可以开始于不可用候选位置的左侧第一对齐位置,随后是右侧第一对齐位置、左侧第二对齐位置,等等,直到可用候选位置被找到,或者所有对齐位置已被搜索。在可选示例中,不同细化搜索算法可以被使用。

在图12中,两个候选位置,即1201-1202来自于图11示例的基于相等分割放置的确定流程,并被确定为不可用。因此,细化搜索流程可以在不可用候选位置1201-1202中的每个的周围处执行。

图13显示了根据本发明实施例的适应性候选位置方式的第五示例。在第五示例中,位于pb的相对边中的两个处的候选位置的位置可以以交错方式被排列。如图13所示,pb1310具有设置在顶边上的两个候选位置,即1301-1302,以及设置在底边上的一个候选位置1303。具体地,候选位置1303被设置在水平方向上的两个候选位置1301-1302的中间。基于上述定义是交错放置方法,编码器或者解码器因此可以确定各自候选位置的位置以用于合并模式处理。

在上述适应性候选位置方式的第一示例至第五示例中,候选位置沿着pb的边被放置,这样,相对于两个传统方法中所使用的角候选位置、中心候选位置或者中间候选位置以用于在图6和图7标例中定义候选位置,其可以称为边候选位置。在不同示例中,边候选位置可以与角候选位置或中心候选位置或者中间候选位置一起使用,以用于合并模式处理。或者,边候选位置可以单独被使用。请注意,前述示例中所述的每个时间候选位置与围绕、覆盖或者位于当前pb的同位块之内的块相关,前述示例中所述的每个空间候选位置与围绕当前pb的块相关。

图14显示了根据本发明实施例的合并模式编码流程1400。合并模式编码流程1400使用适应性候选位置方式以用于合并模式处理。合并模式编码流程1400可以在图1标例中的编码器100中的合并模式模块124处执行。编码器100用于解释合并编码流程1400。流程1400可以始于步骤s1401,并继续到步骤s1410。

在步骤s1410中,接收当前pb的尺寸信息和/或形状信息。例如,用基于树结构的分割方法,图像可以被分割,并且得到的pb的尺寸信息和/或形状信息可以被存储在基于树结构的数据结构中。当当前pb将被用合并模式进行处理时,相关的尺寸和/或形状信息可以被传输到合并模式模块124。尺寸信息可以包括以像素数量形式的当前pb的宽度和高度。形状信息可以包括宽度与高度之比或者高度与宽度之比,以及可选的当前pb的高度或宽度。在一个示例中,pb可以是对应于亮度分量或者色度分量的像素数组。

在步骤s1420中,可以确定当前pb的候选位置,以用于合并模式处理的目的。具体地,适应性候选位置方式可以用于合并模式处理。因此,候选位置的数量和位置可以根据当前pb的尺寸和/或形状被确定。例如,基于所使用的哪种定义候选位置的方法,结合图8a-图8b、图9a-图9b、图10a-图10c和图11-图13所描述的确定候选位置的数量和位置的方法可以被使用。

例如,沿着pb边的候选位置的数量可以根据pb边的长度被确定。或者,除了pb边的长度之外,沿着边的候选位置的数量可以根据宽度/高度之比而被确定。例如,在pb的候选位置的数量被确定之后,候选位置的位置可以被确定。当相等分割放置方法被使用时,合并模式模块124因此可以确定候选位置的位置。例如,图11示例中所述的四步骤流程的步骤可以被执行以确定候选位置在pb边上的位置。可选地,图12示例中的细化搜索流程可以被执行以搜索位于不可用候选位置周围的额外候选位置。当交错放置方法被使用时,合并模式模块124可以相应地确定pb的候选位置的位置。之后,细化搜索流程可以被执行。

在步骤s1430中,基于步骤s1420中所确定候选位置,可以构造候选列表。例如,空间候选位置及和时间候选位置集可以自步骤s1420处所确定的候选位置中选择以用于构造候选列表。此选择可以考虑候选位置是否是可用或者冗余。对应于所选择的候选位置的运动数据被包括在候选列表中。具体而言,对应于所选择的空间候选位置的运动数据可以包括当前pb的特定空间相邻块的运动向量、参考图像索引、预测方法或者其他信息。特定空间向量块位于相同于所选择的空间候选位置的位置处,并处于包括当前pb的当前图像中。对应于所选择的时间候选位置的运动数据可以包括当前pb的同位块的特定时间相邻块的运动向量、参考图像索引、预测方法或者其他信息,其中特定时间相邻块位于当前pb的参考图像中,并且特定时间相邻块的位置位于相同于所选择的时间候选位置的位置处。如果得到的候选列表的成员小于候选列表的预配置长度,则额外的运动数据可以被创建。在不同的示例中,构造候选列表的流程可以变化。

在步骤s1440中,可以确定合并候选。例如,候选列表的成员(即运动数据)可以被评估,例如,使用基于率失真优化的方法。最佳运动数据集可以被确定,或者具有大于阈值的性能的运动数据集可以被识别出。因此,候选列表中表示所确定的运动数据的合并索引可以被确定。

在步骤s1450中,可以将合并索引自编码器100发送至解码器。流程1400继续到步骤s1499,并结束于步骤s1499。

图15显示了根据本发明实施例的合并模式解码流程。合并模式解码流程1500使用适应性候选位置方式以用于合并模式处理。合并模式解码流程1500可以在图2示例中的解码器200中的合并模式模块224处执行。解码器200用于解释合并模式解码流程1500。本流程1500可以始于步骤s1501并继续到步骤s1510。

在步骤s1510中,可以接收当前pb的合并索引。在视频编码器处使用适应性候选位置,当前pb可以被编码。例如,pb与表示pb用合并模式进行编码的合并旗标相关。合并旗标和合并索引可以与pb相关,并被承载在输入比特流201中。

在步骤s1520中,也可以接收当前pb的尺寸信息和/或形状信息。例如,尺寸信息可以包括当前pb的高度或宽度,并被承载在输入比特流201中。形状信息可以包括宽度与高度之比或者高度与宽度之比,以及可选地包括当前pb的高度或者宽度。

在步骤s1530中,以与步骤s1420处所执行的方式相似的方式,基于pb的尺寸信息,可以确定候选位置。例如,对应于定义候选位置的定义,相应的确定候选位置的数量和位置的方法,例如结合图8a-图8b、图9a-图9b、图10a-图10c和图11-图13所描述的方法,可以被使用。

在步骤s1540中,以与步骤s1430相似的方式,基于s1530中所确定的候选位置,可以构造候选列表。

在步骤s1550中,基于候选列表和接收到的合并索引,可以确定当前pb的合并候选。合并候选包括运动数据集,其可以后续用于在运动补偿模块221处生成当前pb的预测。本流程1500继续到步骤s1599,并结束于步骤s1599。

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1