LUT中的运动候选的检查顺序的制作方法

文档序号:31074726发布日期:2022-08-09 21:33阅读:34来源:国知局
lut中的运动候选的检查顺序1.本技术是申请日为2019年7月1日、申请号为201910586791.3、发明名称为“lut中的运动候选的检查顺序”的发明专利申请的分案申请。
技术领域
:2.本专利文档涉及视频编码和解码技术、设备和系统。
背景技术
::3.尽管视频压缩有所进步,但是数字视频仍然占互联网和其它数字通信网络上最大的带宽使用。随着能够接收并且显示视频的连接的用户设备的数量增加,预计数字视频使用所需的带宽将继续增长。技术实现要素:4.本文档公开了用于编码并且解码数字视频的方法、系统、和设备。5.在一个示例方面,公开了视频处理方法。该方法包括:维护表,其中每个表包括运动候选的集合并且每个运动候选与对应的运动信息相关联;以及至少基于一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换,执行包括以规则中定义的顺序检查表中的运动候选,直到满足检查终止准则。6.在又一示例方面,公开了实施本文描述的视频编码方法的视频编码器设备。7.在又一代表性方面,本文描述的各种技术可以体现为存储在非暂时性计算机可读介质上的计算机程序产品。计算机程序产品包括用于实行本文描述的方法的程序代码。8.在又一代表性方面,视频解码器装置可以实施如本文描述的方法。9.在随附的附件、附图、和以下描述中阐述了一个或多个实施方式的细节。从描述和附图以及从权利要求,其它特征将是显而易见的。附图说明10.图1是示出视频编码器实施方式的示例的框图11.图2示出了h.264视频编码标准中的宏块分割。12.图3示出了将编码块划分成预测块的示例。13.图4示出了将ctb(codingtreeblock,编码树块)细分为cb和变换块(transformblock,tb)的示例实施方式。实线指示cb边界并且虚线指示tb边界,包括具有其分割的示例ctb、和对应的四叉树。14.图5示出了用于分割视频数据的四叉树二叉树(quadtreebinarytree,qtbt)结构的示例。15.图6示出了视频块分割的示例。16.图7示出了四叉树分割的示例。17.图8示出了树类型信令(signaling)的示例。18.图9示出了用于merge候选列表构造的推导过程的示例。19.图10示出了空间merge候选的示例位置。20.图11示出了考虑空间merge候选的冗余检查的候选对的示例。21.图12示出了nx2n和2nxn分割的第二pu的位置的示例。22.图13示出了时间merge候选的运动矢量缩放。23.图14示出了时间merge候选的候选位置、以及它们的共位的图片。24.图15示出了组合的双向预测merge候选的示例。25.图16示出了运动矢量预测候选的推导过程的示例。26.图17示出了空间运动矢量候选的运动矢量缩放的示例。27.图18示出了用于cu(codingunit,编码单元)的运动预测的示例可选时域运动矢量预测(alternativetemporalmotionvectorprediction,atmvp)。28.图19绘画地描绘了源块和源图片的识别的示例。29.图20示出了具有四个子块和相邻块的一个cu的示例。30.图21示出了双边匹配的示例。31.图22示出了模板匹配的示例。32.图23描绘了帧速率上转换(framerateupconversion,fruc)中的单边运动估计(motionestimation,me)的示例。33.图24示出了基于双边模板匹配的dmvr的示例。34.图25示出了用于推导空间merge候选的空间相邻块的示例。35.图26描绘了查找表的代表性位置的选择如何更新的示例。36.图27a和图27b示出了用运动信息的新集合更新查找表的示例。37.图28是用于实施本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。38.图29是视频比特流处理的示例方法的流程图。39.图30示出了具有提出的hmvp方法的解码流程图的示例。40.图31示出了使用提出的hmvp方法更新表的示例。41.图32a和图32b示出了基于冗余去除的lut(lookuptable,查找表)更新方法(去除了一个冗余运动候选)的示例。42.图33a-图33b示出了基于冗余去除的表更新方法(去除了多个冗余运动候选)的示例。具体实施方式43.为了改进视频的压缩比,研究人员持续地寻找通过其来编码视频的新技术。44.1.简介45.本文档涉及视频编码技术。具体地,本文档涉及视频编码中的运动信息编码(诸如merge模式、amvp模式)。本文档可以应用于像hevc的现有视频编码标准、或要最终确定的标准(多功能视频编码)。本文档也可以适用于未来视频编码标准或视频编解码器。46.简要讨论47.视频编码标准已经主要地通过众所周知的itu-t和iso/iec标准的发展而演进。itu-t产生了h.261和h.263,iso/iec产生了mpeg-1和mpeg-4视频(visual),并且两个组织联合地产生了h.262/mpeg-2视频和h.264/mpeg-4高级视频编码(advancedvideocoding,avc)以及h.265/hevc标准。自从h.262以来,视频编码标准基于混合视频编码结构,其中利用时间预测加上变换编码。图1中描绘了典型的hevc编码器框架的示例。48.2.1分割结构49.2.1.1h.264/avc中的分割树结构50.先前标准中的编码层的核心是宏块,包含16×16的亮度样本(sample)块,并且在4:2:0颜色采样的通常情况,包含两个对应的8×8的色度样本块。51.帧内编码的块使用空间预测以利用像素当中的空间相关性。定义了两个分割:16x16和4x4。52.帧间编码块通过估计图片当中的运动来使用时间预测而不是空间预测。可以针对16x16宏块或其任何子宏块分割:16x8、8x16、8x8、8x4、4x8、4x4(参见图2)独立地估计运动。每个子宏块分割仅允许一个运动矢量(motionvector,mv)。53.2.1.2hevc中的分割树结构54.在hevc中,通过使用标示为编码树的四叉树结构将ctu划分成cu,以适应各种局部特性。是否要使用图片间(时间)或图片内(空间)预测编码图片区域的决定是在cu级别处做出的。根据pu划分类型,每个cu可以进一步划分成一个、两个或四个pu。在一个pu内部,应用相同的预测过程,并且在pu基础上将相关信息发送到解码器。在通过基于pu划分类型应用预测过程获得残差块之后,可以根据与cu的编码树类似的另一四叉树结构将cu分割为变换单元(tu)。hevc结构的关键特征之一是它具有包括cu、pu、和tu的多个分割概念。55.在下文中,如下突出使用hevc的混合视频编码涉及的各种特征。56.1)编码树单元和编码树块(ctb)结构:hevc中的类似结构是编码树单元(ctu),编码树单元具有由编码器选择的尺寸并且可以大于传统宏块。ctu由亮度ctb和对应的色度ctb和语法元素组成。亮度ctb的尺寸l×l可以选取为l=16、32、或64个样本,更大的尺寸典型地能够更好的压缩。hevc然后支持使用树结构和类似四叉树信令将ctb分割为更小的块。57.2)编码单元(cu)和编码块(cb):ctu的四叉树语法指定其亮度和色度cb的尺寸和位置。四叉树的根与ctu相关联。因此,亮度ctb的尺寸是亮度cb的最大支持尺寸。联合地信令通知ctu到亮度和色度cb的划分。一个亮度cb和通常地两个色度cb与相关联的语法一起形成编码单元(cu)。ctb可以仅包含一个cu或者可以被划分以形成多个cu,并且每个cu具有相关联的到预测单元(pu)的分割和变换单元的树(tu)。58.3)预测单元和预测块(predictionblock,pb):是否要使用帧间或帧内预测编码图片区域的决定是在cu级别处做出的。pu分割结构在cu级别处具有其根。取决于基本预测类型决定,亮度和色度cb然后可以进一步以尺寸划分并且从亮度和色度预测块(pb)中预测。hevc支持从64×64下到4×4样本的可变pb尺寸。图3示出了对于mxmcu允许的pb的示例。59.4)tu和变换块:使用块变换编码预测残差。tu树结构在cu级别处具有其根。亮度cb残差可以与亮度变换块(tb)相同或者可以进一步被划分成更小的亮度tb。这同样适用于色度tb。与离散余弦变换(discretecosinetransform,dct)的整数基函数类似的整数基函数定义方形tb尺寸4×4、8×8、16×16、和32×32。对于亮度帧内预测残差的4×4变换,替代地指定从离散正弦变换(discretesinetransform,dst)的形式推导的整数变换。60.图4示出了将ctb细分为cb[和变换块(tb)]的示例。实线指示cb边界并且虚线指示tb边界。(a)ctb与其分割。(b)对应的四叉树。[0061]2.1.2.1到变换块和单元的树结构化的分割[0062]对于残差编码,可以将cb递归地分割为变换块(tb)。分割由残差四叉树信令通知。仅指定了方形cb和tb分割,其中块可以递归地划分到象限(quadrant),如图4中所示。对于尺寸m×m的给定亮度cb,标志信令通知是否将其划分成尺寸为m/2×m/2的四个块。如果进一步划分是可能的,如由sps中指示的残差四叉树的最大深度信令通知的,则每个象限被指派指示是否将其划分成四个象限的标志。从残差四叉树引起的叶节点块是通过变换编码进一步处理的变换块。编码器指示它将使用的最大和最小亮度tb尺寸。当cb尺寸大于最大tb尺寸时,划分是隐含的。当划分将引起亮度tb尺寸小于指示的最小值时,不划分是隐含的。除了当亮度tb尺寸为4×4时,色度tb尺寸在每个维度中是亮度tb尺寸的一半,在这种情况下,单个4×4色度tb用于由四个4×4亮度tb覆盖的区域。在图片内预测的cu的情况下,最近的相邻tb(在cb内或外部)的解码样本用作用于帧内预测的参考数据。[0063]与先前的标准相反,hevc设计允许tb横跨用于图片间预测的cu的多个pb,以最大化四叉树结构化的tb分割的潜在编码效率益处。[0064]2.1.2.2父和子节点[0065]根据四叉树结构划分ctb,四叉树结构的节点是编码单元。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树结构中不具有子节点(即,叶节点不进一步划分)。非叶节点包括树结构的根节点。根节点对应于视频数据的初始视频块(例如,ctb)。对于多个节点中的每个各个非根节点,各个非根节点对应于视频块,该视频块是对应于各个非根节点的树结构中的父节点的视频块的子块。多个非叶节点中的每个各个非叶节点在树结构中具有一个或多个子节点。[0066]2.1.3在jem中具有更大ctu的四叉树加上二叉树块结构[0067]为了探索超越hevc的未来视频编码技术,由vceg和mpeg在2015年联合地成立了联合视频探索团队(jointvideoexplorationteam,jvet)。自从那时以来,许多新方法已经由jvet采用并且放入到名为联合探索模型(jointexplorationmodel,jem)的参考软件中。[0068]2.1.3.1qtbt块分割结构[0069]不同于hevc,qtbt结构去除多个分割类型的概念,即,它去除了cu、pu和tu概念的分离,并且对于cu分割形状支持更多的灵活性。在qtbt块结构中,cu可以具有方形或矩形形状。如图5中所示,首先由四叉树结构分割编码树单元(ctu)。四叉树叶节点进一步由二叉树结构分割。在二叉树划分中有两种划分类型,对称水平划分和对称垂直划分。二叉树叶节点被称为编码单元(cu),并且该分割用于预测和变换处理而无需任何进一步的分割。这意味着cu、pu和tu在qtbt编码块结构中具有相同块尺寸。在jem中,cu有时由不同颜色分量的编码块(cb)组成,例如,在4:2:0色度格式的p和b条带的情况下,一个cu包含一个亮度cb和两个色度cb,并且有时由单个分量的cb组成,例如,在i条带的情况下,一个cu仅包含一个亮度cb或仅两个色度cb。[0070]为qtbt分割方案定义以下参数。[0071]-ctu尺寸:四叉树的根节点尺寸,与hevc中相同的概念[0072]-minqtsize:最小允许的四叉树叶节点尺寸[0073]-maxbtsize:最大允许的二叉树根节点尺寸[0074]-maxbtdepth:最大允许的二叉树深度[0075]-minbtsize:最小允许的二叉树叶节点尺寸[0076]在qtbt分割结构的一个示例中,ctu尺寸设置为具有两个对应的64×64色度样本块的128×128亮度样本,minqtsize设置为16×16,maxbtsize设置为64×64,minbtsize(对于宽度和高度两者)设置为4×4,并且maxbtdepth设置为4。四叉树分割首先应用于ctu以生成四叉树叶节点。四叉树叶节点可以具有从16×16(即,minqtsize)到128×128(即,ctu尺寸)的尺寸。如果叶四叉树节点是128×128,则因为尺寸超过maxbtsize(即64×64),所以它将不进一步由二叉树划分。否则,叶四叉树节点可以由二叉树进一步划分。因此,四叉树叶节点也是二叉树的根节点并且其具有二叉树深度为0。当二叉树深度达到maxbtdepth(即4)时,不考虑进一步的划分。当二叉树节点具有等于minbtsize(即4)的宽度时,不考虑进一步的水平划分。类似地,当二叉树节点具有等于minbtsize的高度时,不考虑进一步的垂直划分。通过预测和变换处理进一步处理二叉树的叶节点而无需任何进一步的分割。在jem中,最大ctu尺寸为256×256亮度样本。[0077]图5(左)示出了通过使用qtbt块划分的示例,并且图5(右)示出了对应的树表示。实线指示四叉树划分并且虚线指示二叉树划分。在二叉树的每个划分(即,非叶)节点中,信令通知一个标志以指示使用哪种划分类型(即,水平或垂直),其中0指示水平划分并且1指示垂直划分。对于四叉树划分,不需要指示划分类型,因为四叉树划分总是水平地和垂直地划分块以产生具有相同尺寸的4个子块。[0078]另外,qtbt方案支持用于亮度和色度具有分离的qtbt结构的能力。目前,对于p和b条带,一个ctu中的亮度和色度ctb共享相同的qtbt结构。然而,对于i条带,亮度ctb通过qtbt结构分割为cu,并且色度ctb通过另一qtbt结构分割为色度cu。这意味着i条带中的cu由亮度分量的编码块或两个色度分量的编码块组成,并且p或b条带中的cu由所有三个颜色分量的编码块组成。[0079]在hevc中,限制小块的帧间预测以减少运动补偿的存储器访问,使得对于4×8和8×4块不支持双向预测,并且对于4×4块不支持帧间预测。在jem的qtbt中,去除了这些限制。[0080]2.1.4用于vvc的三叉树[0081]在一些实施方式中,支持除四叉树和二叉树之外的树类型。在实施方式中,引入了另外两个三叉树(ternarytree,tt)分割,即水平和垂直中心侧三叉树,如图6中标有(d)和(e)所示。[0082]图6示出:(a)四叉树分割(b)垂直二叉树分割(c)水平二叉树分割(d)垂直中心侧三叉树分割(e)水平中心侧三叉树分割。[0083]在一些实施方式中,存在树的两个级别,区域树(四叉树)和预测树(二叉树或三叉树)。首先由区域树(regiontree,rt)分割ctu。可以用预测树(predictiontree,pt)进一步分割rt叶。也可以用pt进一步划分pt叶,直到达到最大pt深度。pt叶是基本编码单元。为方便起见,它仍然被称为cu。cu不可以进一步划分。预测和变换两者都以与jem相同的方式应用于cu。整个分割结构被称为“多类型树”。[0084]2.1.5分割结构的示例[0085]在此响应中使用的被称为多树类型(multi-treetype,mtt)的树结构是qtbt的一般化。在qtbt中,如图5中所示,首先由四叉树结构分割编码树单元(ctu)。四叉树叶节点进一步由二叉树结构分割。[0086]mtt的基本结构由树节点的两种类型构成:区域树(rt)和预测树(pt),支持分割的九种类型,如图7中所示。[0087]图7示出:(a)四叉树分割(b)垂直二叉树分割(c)水平二叉树分割(d)垂直三叉树分割(e)水平三叉树分割(f)水平上非对称二叉树分割(g)水平下非对称二叉树分割(h)垂直左非对称二叉树分割(i)垂直右非对称二叉树分割。[0088]区域树可以递归地将ctu划分方形块,下至4x4尺寸的区域树叶节点。在区域树中的每个节点处,可以从三种树类型之一形成预测树:二叉树(bt)、三叉树(tt)、和非对称二叉树(asymmetricbinarytree,abt)。在pt划分中,禁止在预测树的分支中具有四叉树分割。与在jem中相同,亮度树和色度树在i条带中分离。用于rt和pt的信令方法在图8中示出。[0089]2.2hevc/h.265中的帧间预测[0090]每个帧间预测的pu具有用于一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。也可以使用inter_pred_idc来信令通知两个参考图片列表中的一个的使用。可以将运动矢量显式地编码为相对于预测值(predictor)的增量(delta),这种编码模式被称为amvp模式。[0091]当使用跳过模式编码cu时,一个pu与cu相关联,并且没有显著的残差系数、没有编码的运动矢量增量或参考图片索引。指定merge模式,由此从相邻pu获得用于当前pu的运动参数,包括空间和时间候选。merge模式可以应用于任何帧间预测的pu,不仅用于跳过模式。对于merge模式的替代是运动参数的显式传输,其中对于每个pu,显式地信令通知运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表使用。[0092]当信令指示要使用两个参考图片列表中的一个时,从样本的一个块产生pu。这被称为“单向预测”。单向预测可用于p条带和b条带两者。[0093]当信令指示要使用参考图片列表中的两者时,从样本的两个块产生pu。这被称为“双向预测”。双向预测仅可用于b条带。[0094]以下文本提供了关于hevc中指定的帧间预测模式的细节。描述将以merge模式开始。[0095]2.2.1merge模式[0096]2.2.1.1merge模式的候选的推导[0097]当使用merge模式预测pu时,指向merge候选列表中的条目(entry)的索引从比特流中解析并且用于检索运动信息。该列表的构造在hevc标准中指定并且可以根据以下步骤序列总结:[0098]·步骤1:初始候选推导[0099]ο步骤1.1:空间候选推导[0100]ο步骤1.2:空间候选的冗余检查[0101]ο步骤1.3:时间候选推导[0102]·步骤2:额外候选插入[0103]ο步骤2.1:双向预测候选的创建[0104]ο步骤2.2:零运动候选的插入[0105]这些步骤也在图9中示意性地描绘。对于空间merge候选推导,在定位在五个不同位置中的候选当中选择最多四个merge候选。对于时间merge候选推导,在两个候选当中选择最多一个merge候选。因为在解码器处假设恒定数量的候选用于每个pu,所以当候选的数量未达到在条带报头中信令通知的merge候选的最大数量(maximumnumberofmergecandidate,maxnummergecand)时,生成额外候选。因为候选的数量是恒定的,所以使用截断的一元二值化(truncatedunarybinarization,tu)编码最佳merge候选的索引。如果cu的尺寸等于8,则当前cu的所有pu共享单个merge候选列表,单个merge候选列表与2n×2n预测单元的merge候选列表相同。[0106]在下文中,详细说明了与前述步骤相关联的操作。[0107]2.2.1.2空间候选推导[0108]在空间merge候选的推导中,在定位在图10中描绘的位置中的候选当中选择最多四个merge候选。推导的顺序是a1、b1、b0、a0和b2。仅当位置a1、b1、b0、a0的任何pu是不可用的(例如,因为它属于另一条带或片)或是帧内编码的时,才考虑位置b2。在添加位置a1处的候选之后,剩余候选的添加经受冗余检查,冗余检查确保从列表中排除具有相同运动信息的候选从而改进编码效率。为了降低计算复杂度,在提到的冗余检查中并不考虑所有可能的候选对。相反,如果用于冗余检查的对应的候选不具有相同的运动信息,则仅考虑图11中用箭头链接的对并且仅将候选添加到列表中。复制的运动信息的另一源是与不同于2nx2n的分割相关联的“第二pu”。作为示例,图12描绘了分别用于n×2n和2n×n的情况的第二pu。当当前pu分割为n×2n时,位置a1处的候选不考虑用于列表构造。事实上,通过添加该候选将导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个pu是冗余的。类似地,当当前pu被分割为2n×n时,不考虑位置b1。[0109]2.2.1.3时间候选推导[0110]在此步骤中,仅将一个候选添加到列表中。具体地,在该时间merge候选的推导中,基于属于具有与给定参考图片列表内的当前图片的最小poc差的图片的共位的pu来推导缩放运动矢量。在条带报头中显式地信令通知要用于共位的pu的推导的参考图片列表。如图13中由虚线所示获得用于时间merge候选的缩放运动矢量,其使用poc距离tb和td从共位的pu的运动矢量缩放,其中tb定义为当前图片的参考图片与当前图片之间的poc差,td定义为共位的图片的参考图片与共位的图片之间的poc差。设置时间merge候选的参考图片索引等于零。在hevc说明书中描述了缩放过程的实际实现。对于b条带,获得两个运动矢量,一个用于参考图片列表0,另一个用于参考图片列表1,并且两个运动矢量组合以获得双向预测merge候选。对于时间merge候选的运动矢量缩放的说明。[0111]如图14中所描绘的,在属于参考帧的共位的pu(y)中,在候选c0与c1之间选择用于时间候选的位置。如果位置c0处的pu是不可用的、是帧内编码的、或在当前ctu的外部,则使用位置c1。否则,在时间merge候选的推导中使用位置c0。[0112]2.2.1.4额外候选插入[0113]除了空间-时间merge候选之外,存在merge候选的两种额外类型:组合的双向预测merge候选和零merge候选。通过利用空间-时间merge候选来生成组合的双向预测merge候选。组合的双向预测merge候选仅用于b条带。通过将初始候选的第一参考图片列表运动参数与另一个的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组(tuple)提供不同的运动假设,它们将形成一个新的双向预测候选。作为示例,图15描绘了当(在左的)原始列表中具有mvl0和refidxl0或mvl1和refidxl1的两个候选用于创建添加到(在右的)最终列表的组合的双向预测merge候选的情况。关于考虑为生成这些额外merge候选的组合有许多规则。[0114]插入零运动候选以填充merge候选列表中的剩余条目并且因此碰到(hit)maxnummergecand容量。这些候选具有零空间位移和参考图片索引,参考图片索引从零开始并且每次新的零运动候选添加到列表时增加。由这些候选使用的参考帧的数量对于单向预测和双向预测分别是一个和两个。最后,在这些候选上不执行冗余检查。[0115]2.2.1.5用于并行处理的运动估计区域[0116]为了加速编码过程,可以并行地执行运动估计,由此同时地推导用于给定区域内部的所有预测单元的运动矢量。从空间邻域(neighbourhood)推导merge候选可能干扰并行处理,因为一个预测单元在其相关联的运动估计完成之前,不能从邻近pu推导运动参数。为了减轻编码效率与处理延迟之间的折衷,hevc定义运动估计区域(motionestimationregion,mer),运动估计区域的尺寸在图片参数集中使用“log2_parallel_merge_level_minus2”语法元素信令通知。当定义mer时,落在相同区域中的merge候选标记为不可用并且因此在列表构造中不考虑。[0117]7.3.2.3图片参数集rbsp语法[0118]7.3.2.3.1一般图片参数集rbsp语法[0119][0120]log2_parallel_merge_level_minus2加上2指定变量log2parmrglevel的值,值在第8.5.3.2.2节中指定的用于merge模式的亮度运动矢量的推导过程和第8.5.3.2.3节中指定的空间merge候选的推导过程中使用。log2_parallel_merge_level_minus2的值应该在0到ctblog2sizey-2的范围中,包括0和ctblog2sizey-2。[0121]变量log2parmrglevel推导如下:[0122]log2parmrglevel=log2_parallel_merge_level_minus2+2ꢀꢀꢀꢀꢀꢀꢀꢀ(7-37)[0123]注3-log2parmrglevel的值指示merge候选列表的并行推导的内置能力。例如,当log2parmrglevel等于6时,可以并行地推导包含在64x64块中的所有预测单元(pu)和编码单元(cu)的merge候选列表。[0124]2.2.2amvp模式中的运动矢量预测[0125]运动矢量预测利用运动矢量与相邻pu的空间-时间相关性,空间-时间相关性用于运动参数的显式传输。它通过首先检查左侧、上侧时间相邻的pu位置的可用性,去除冗余候选并且添加零矢量以使候选列表为恒定长度来构建运动矢量候选列表。然后,编码器可以从候选列表选择最佳预测值并且传输指示选取的候选的对应的索引。与merge索引信令类似,使用截断的一元来编码最佳运动矢量候选的索引。在这种情况下要编码的最大值是2(例如,图2到图8)。在以下章节中,提供了关于运动矢量预测候选的推导过程的细节。[0126]2.2.2.1运动矢量预测候选的推导[0127]图16总结了运动矢量预测候选的推导过程。[0128]在运动矢量预测中,考虑两种类型的运动矢量候选:空间运动矢量候选和时间运动矢量候选。对于空间运动矢量候选推导,如图11中所描绘的,最终地基于定位在五个不同位置中的每个pu的运动矢量推导两个运动矢量候选。[0129]对于时间运动矢量候选推导,从基于两个不同的共位的位置推导的两个候选中选择一个运动矢量候选。在做出空间-时间候选的第一列表之后,去除列表中的复制的运动矢量候选。如果潜在候选的数量大于两个,则从列表去除相关联的参考图片列表内的其参考图片索引大于1的运动矢量候选。如果空间-时间运动矢量候选的数量小于两个,则将额外的零运动矢量候选添加到列表中。[0130]2.2.2.2空间运动矢量候选[0131]在空间运动矢量候选的推导中,在五个潜在候选当中考虑最多两个候选,其从定位在如图11中所描绘的位置中的pu推导,那些位置与运动merge的那些位置相同。对于当前pu的左侧的推导的顺序定义为a0、a1、以及缩放的a0、缩放的a1。对于当前pu的上侧的推导的顺序定义为b0、b1、b2、缩放的b0、缩放的b1、缩放的b2。对于每一侧因此存在四种可以用作运动矢量候选的情况,其中两种情况不要求使用空间缩放、以及两种情况使用空间缩放。四种不同情况总结如下。[0132]·无空间缩放[0133]-(1)相同参考图片列表、以及相同参考图片索引(相同poc)[0134]-(2)不同参考图片列表、但是相同参考图片(相同poc)[0135]·空间缩放[0136]-(3)相同参考图片列表、但是不同参考图片(不同poc)[0137]-(4)不同参考图片列表、以及不同参考图片(不同poc)[0138]首先检查无空间缩放情况,随后是空间缩放。当poc在相邻pu的参考图片与当前pu的参考图片之间不同时,考虑空间缩放,不管参考图片列表。如果左侧候选的所有pu是不可用的或是帧内编码的,则允许对上侧运动矢量的缩放以帮助左侧和上侧mv候选的并行推导。否则,对于上侧运动矢量不允许空间缩放。[0139]在空间缩放过程中,如图17中所描绘的,以与用于时间缩放类似的方式缩放相邻pu的运动矢量。主要差异在于参考图片列表和当前pu的索引作为输入给定;实际缩放过程与时间缩放的过程相同。[0140]2.2.2.3时间运动矢量候选[0141]除了参考图片索引推导之外,用于时间merge候选的推导的所有过程与用于空间运动矢量候选的推导相同(参见例如图6)。将参考图片索引信令通知给解码器。[0142]2.2.2.4amvp信息的信令通知[0143]对于amvp模式,可以在比特流中信令通知四个部分,即,预测方向、参考索引、mvd(motionvectordifference,运动矢量差)和mv预测值候选索引。[0144]语法表:[0145][0146]7.3.8.9运动矢量差语法[0147][0148]2.3jem中的新帧间预测方法(联合探索模型)[0149]2.3.1基于子cu的运动矢量预测[0150]在具有qtbt的jem中,每个cu可以具有用于每个预测方向的至多一个运动参数集。通过将大cu划分成子cu并且推导用于大cu的所有子cu的运动信息,在编码器中考虑两个子cu级别运动矢量预测方法。可选时域运动矢量预测(atmvp)方法允许每个cu从小于共位的(collocated)参考图片中的当前cu的多个块提取运动信息的多个集合。在空时运动矢量预测(spatial-temporalmotionvectorprediction,stmvp)方法中,通过使用时间运动矢量预测值和空间相邻运动矢量来递归地推导子cu的运动矢量。[0151]为了保留子cu运动预测的更准确的运动场,当前地禁用对参考帧的运动压缩。[0152]2.3.1.1可选时域运动矢量预测[0153]在可选时域运动矢量预测(atmvp)方法中,通过从小于当前cu的块提取运动信息(包括运动矢量和参考索引)的多个集合来修改运动矢量时间运动矢量预测(temporalmotionvectorprediction,tmvp)。如图18中所示,子cu是方形n×n块(默认将n设置为4)。[0154]atmvp以两个步骤预测cu内的子cu的运动矢量。第一步是利用所谓的时间矢量识别参考图片中的对应块。参考图片被称为运动源图片。第二步是将当前cu划分成子cu并且从对应于每个子cu的块获得运动矢量以及每个子cu的参考索引,如图18所示。[0155]在第一步中,参考图片和对应块由当前cu的空间相邻块的运动信息确定。为了避免相邻块的重复扫描过程,使用dcu的merge候选列表中的第一merge候选。第一可用运动矢量以及其相关联的参考索引设置为时间矢量和对运动源图片的索引。这样,在atmvp中,与tmvp相比,可以更准确地识别对应的块,其中对应的块(有时被称为共位的块)总是相对于当前cu在右下或中心位置。在一个示例中,如果第一merge候选来自左侧相邻块(即,图19中的a1),则利用相关联的mv和参考图片来识别源块和源图片。[0156]图19示出了源块和源图片的识别的示例。[0157]在第二步中,通过向当前cu的坐标添加时间矢量,由运动源图片中的时间矢量识别子cu的对应块。对于每个子cu,其对应块(覆盖中心样本的最小运动网格)的运动信息用于推导子cu的运动信息。在识别了对应的n×n块的运动信息之后,以与hevc的tmvp相同的方式将其转换为当前子cu的运动矢量和参考索引,其中运动缩放和其它过程适用。例如,解码器检查是否满足低延迟条件(即,当前图片的所有参考图片的poc小于当前图片的poc)并且可能使用运动矢量mvx(对应于参考图片列表x的运动矢量)以预测每个子cu的运动矢量mvy(其中x等于0或1,y等于1-x)。[0158]2.3.1.2空时运动矢量预测[0159]在此方法中,遵循光栅扫描顺序递归地推导子cu的运动矢量。图20示出了此概念。让我们考虑包含四个4×4子cua、b、c、和d的8×8cu。当前帧中的相邻4×4块标记为a、b、c、和d。[0160]子cua的运动推导通过识别其两个空间邻居(neighbour)开始。第一邻居是子cua上侧的n×n块(块c)。如果该块c是不可用的或是帧内编码的,则检查子cua上侧的其它n×n块(从左到右,从块c处开始)。第二邻居是对子cua的左侧的块(块b)。如果块b是不可用的或是帧内编码的,则检查子cua的左侧的其它块(从上到下,从块b处开始)。从每个列表的相邻块获得的运动信息缩放到给定列表的第一参考帧。接下来,通过遵循与hevc中指定的tmvp推导的过程相同的过程来推导子块a的时间运动矢量预测值(temporalmotionvectorpredictor,tmvp)。提取位置d处的共位的块的运动信息并且对应地缩放。最后,在检索和缩放运动信息之后,分别针对每个参考列表平均所有可用的运动矢量(上至3个)。指派平均的运动矢量为当前子cu的运动矢量。[0161]图20示出了具有四个子块(a-d)及其相邻块(a-d)的一个cu的示例。[0162]2.3.1.3子cu运动预测模式信令[0163]启用子cu模式作为额外merge候选,并且不要求额外语法元素来信令通知该模式。将两个额外merge候选添加到每个cu的merge候选列表以表示atmvp模式和stmvp模式。如果序列参数集指示启用了atmvp和stmvp,则使用上至七个merge候选。额外merge候选的编码逻辑与用于hm中的merge候选相同,这意味着,对于p或b条带中的每个cu,对于两个额外merge候选需要两个更多的rd检查。[0164]在jem中,merge索引的所有二进制位都由cabac上下文编码。而在hevc中,仅第一二进制位是上下文编码的并且剩余的二进制位是上下文旁路编码的。[0165]2.3.2自适应运动矢量差分辨率[0166]在hevc中,当条带报头中的use_integer_mv_flag等于0时,以四分之一亮度样本为单位信令通知(在pu的运动矢量与预测的运动矢量之间的)运动矢量差(mvd)。在jem中,引入了局部自适应运动矢量分辨率(locallyadaptivemotionvectorresolution,lamvr)。在jem中,mvd可以以四分之一亮度样本、整数亮度样本或四亮度样本为单位编码。在编码单元(cu)级别处控制mvd分辨率,并且对于具有至少一个非零mvd分量的每个cu有条件地信令通知mvd分辨率标志。[0167]对于具有至少一个非零mvd分量的cu,信令通知第一标志以指示在cu中是否使用四分之一亮度样本mv精度。当第一标志(等于1)指示不使用四分之一亮度样本mv精度时,信令通知另一标志以指示是否使用整数亮度样本mv精度或四亮度样本mv精度。[0168]当cu的第一mvd分辨率标志是零、或不对于cu编码(意味着cu中的所有mvd是零)时,四分之一亮度样本mv分辨率用于cu。当cu使用整数亮度样本mv精度或四亮度样本mv精度时,用于cu的amvp候选列表中的mvp取整到对应的精度。[0169]在编码器中,cu级别rd检查用于确定哪个mvd分辨率要用于cu。也就是说,对于每个mvd分辨率执行三次cu级别rd检查。为了加快编码器速度,在jem中应用以下编码方案。[0170]在具有正常四分之一亮度样本mvd分辨率的cu的rd检查期间,存储当前cu的运动信息(整数亮度样本精度)。存储的(在取整之后的)运动信息在具有整数亮度样本和4亮度样本mvd分辨率的相同cu的rd检查期间用作进一步小范围运动矢量细化的开始点,使得耗时的运动估计过程不重复三次。[0171]有条件地调用具有4个亮度样本mvd分辨率的cu的rd检查。对于cu,当rd成本整数亮度样本mvd分辨率比四分之一亮度样本mvd的分辨率更大得多时,跳过对于cu的4亮度样本mvd分辨率的rd检查。[0172]2.3.3模式匹配的运动矢量推导[0173]模式匹配的运动矢量推导(patternmatchedmotionvectorderivation,pmmvd)模式是基于帧速率上转换(frame-rateupconversion,fruc)技术的特殊merge模式。利用该模式,块的运动信息不用信令通知而是在解码器侧处推导。[0174]当cu的merge标志为真时,对于cu信令通知fruc标志。当fruc标志为假时,信令通知merge索引并且使用常规merge模式。当fruc标志为真时,信令通知额外fruc模式标志以指示要使用哪种方法(双边匹配或模板匹配)来推导块的运动信息。[0175]在编码器侧处,关于是否对于cu使用frucmerge模式的决定是基于如对正常merge候选所做的rd成本选择。即,通过使用rd成本选择对cu检查两种匹配模式(双边匹配和模板匹配)。引起最小成本的模式进一步与其它cu模式比较。如果fruc匹配模式是最有效的模式,则对于cu将fruc标志设置为真,并且使用相关匹配模式。[0176]frucmerge模式中的运动推导过程具有两个步骤。首先执行cu级别运动搜索,然后随后是子cu级别运动细化。在cu级别处,基于双边匹配或模板匹配为整个cu推导初始运动矢量。首先,生成mv候选的列表,并且将引起最小匹配成本的候选选择为进一步cu级别细化的开始点。然后,在开始点周围执行基于双边匹配或模板匹配的局部搜索,并且采用最小匹配成本中的mv结果作为整个cu的mv。随后,以推导的cu运动矢量作为开始点,在子cu级别处进一步细化运动信息。[0177]例如,对于w×hcu运动信息推导执行以下推导处理。在第一阶段处,推导整个w×hcu的mv。在第二阶段处,cu进一步划分成m×m子cu。如(16)中计算m的值,d是预定义的划分深度,d在jem中默认设置为3。然后推导每个子cu的mv。[0178][0179]如图21中所示,双边匹配用于通过在两个不同参考图片中沿着当前cu的运动轨迹找到两个块之间的最接近匹配来推导当前cu的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量mv0和mv1应该与当前图片与两个参考图片之间的时间距离(即td0和td1)成比例。作为特殊情况,当当前图片在时间上在两个参考图片之间并且从当前图片到两个参考图片的时间距离相同时,双边匹配变为基于镜像的双向mv。[0180]如图22中所示,模板匹配用于通过找到当前图片中的模板(当前cu的顶部和/或左侧相邻块)与参考图片中的(与模板相同尺寸的)块之间的最接近匹配来推导当前cu的运动信息。除了前述frucmerge模式之外,模板匹配也适用于amvp模式。在jem中,如在hevc中所做的,amvp具有两个候选。利用模板匹配方法,推导新的候选。如果通过模板匹配新推导的候选不同于第一现有amvp候选,则其在amvp候选列表的最开始处插入,并且然后将列表尺寸设置为2(意味着去除第二现有amvp候选)。当应用于amvp模式时,仅应用cu级别搜索。[0181]2.3.3.1cu级别mv候选集[0182]在cu级别处的mv候选集由以下组成:[0183](i)如果当前cu在amvp模式中,则原始amvp候选[0184](ii)所有merge候选,[0185](iii)内插的mv场中的若干mv。[0186](iv)顶部和左侧相邻运动矢量[0187]当使用双边匹配时,merge候选的每个有效mv用作输入以在双边匹配的假设下生成mv对。例如,merge候选的一个有效mv是在参考列表a处的(mva,refa)。然后,在其它参考列表b中找到其配对双边mv的参考图片refb,使得refa和refb在时间上在当前图片的不同侧。如果这样的refb在参考列表b中不可用,则将refb确定为不同于refa的参考,并且其到当前图片的时间距离是列表b中的最小的一个。在确定refb之后,通过基于当前图片与refa、refb之间的时间距离缩放mva来推导mvb。[0188]来自内插的mv场的四个mv也添加到cu级别候选列表。更具体地,添加当前cu的位置(0,0)、(w/2,0)、(0,h/2)和(w/2,h/2)处的内插的mv。[0189]当fruc应用在amvp模式中时,原始amvp候选也添加到cu级别mv候选集。[0190]在cu级别处,amvpcu的上至15个mv以及mergecu的上至13个mv添加到候选列表。[0191]2.3.3.2子cu级别mv候选集[0192]在子cu级别处的mv候选集由以下组成:[0193](i)从cu级别搜索确定的mv,[0194](ii)顶部、左侧、左上和右上相邻mv,[0195](iii)来自参考图片的共位的mv的缩放版本,[0196](iv)上至4个atmvp候选,[0197](v)上至4个stmvp候选[0198]来自参考图片的缩放的mv如下推导。遍历两个列表中的所有参考图片。参考图片中的子cu的共位的位置处的mv缩放到开始cu级别mv的参考。[0199]atmvp和stmvp候选限制为前四个。[0200]在子cu级别处,上至17个mv添加到候选列表中。[0201]2.3.3.3内插的mv场的生成[0202]在编码帧之前,基于单边me为整个图片生成内插的运动场。然后,运动场可以稍后用作cu级别或子cu级别mv候选。[0203]首先,两个参考列表中的每个参考图片的运动场以4×4块级别遍历。对于每个4×4块,如果与块相关联的运动穿过当前图片中的4×4块(如图23中所示)并且块还未被指派任何内插的运动,则参考块的运动根据时间距离td0和td1(与hevc中的tmvp的mv缩放的方式相同的方式)缩放到当前图片,并且将缩放的运动指派给当前帧中的块。如果缩放的mv未被指派给4×4块,则在内插的运动场中将块的运动标记为不可用。[0204]2.3.3.4内插和匹配成本[0205]当运动矢量指向分数样本位置时,需要运动补偿的内插。为了降低复杂性,双线性内插代替常规8抽头hevc内插用于双边匹配和模板匹配。[0206]匹配成本的计算在不同步骤处有点不同。当从cu级别处的候选集中选择候选时,匹配成本是双边匹配或模板匹配的绝对和差(absolutesumdifference,sad)。在确定开始mv之后,如下计算子cu级别搜索处的双边匹配的匹配成本c。[0207][0208]其中w是经验地设置为4的加权因子,mv和mvs分别指示当前mv和开始mv。sad仍然用作子cu级别搜索处的模板匹配的匹配成本。[0209]在fruc模式中,仅通过使用亮度样本来推导mv。推导的运动将用于用于mc帧间预测的亮度和色度两者。在决定mv之后,使用用于亮度的8抽头内插滤波器和用于色度的4抽头内插滤波器来执行最终mc。[0210]2.3.3.5mv细化[0211]mv细化是基于模式的mv搜索,具有双边匹配成本或模板匹配成本的标准。在jem中,支持两种搜索模式-分别是,无限制的中心偏置菱形搜索(unrestrictedcenter-biaseddiamondsearch,ucbds)和用于cu级别和子cu级别处的mv细化的自适应交叉搜索。对于cu和子cu级别mv细化两者,以四分之一亮度样本mv精度直接地搜索mv,并且接着是八分之一亮度样本mv细化。cu和子cu步骤的mv细化的搜索范围被设置为等于8亮度样本。[0212]2.3.3.6模板匹配frucmerge模式中预测方向的选择[0213]在双边匹配merge模式中,始终应用双向预测,因为cu的运动信息是基于两个不同参考图片中的沿当前cu的运动轨迹的两个块之间的最接近匹配而推导的。对于模板匹配merge模式没有这样的限制。在模板匹配merge模式中,编码器可以在根据list0的单向预测、根据list1的单向预测或cu的双向预测当中选取。选择基于模板匹配成本,如下所示:[0214]如果costbi《=factor*min(cost0,cost1)[0215]使用双向预测;[0216]否则,如果cost0《=cost1[0217]使用根据list0的单向预测;[0218]否则,[0219]使用根据list1的单向预测;[0220]其中,cost0是list0模板匹配的sad,cost1是list1模板匹配的sad,并且costbi是双向预测模板匹配的sad。factor的值等于1.25,这意味着选择过程偏向双向预测。[0221]帧间预测方向选择仅应用于cu级别模板匹配过程。[0222]2.3.4解码器侧运动矢量细化[0223]在双向预测操作中,对于一个块区域的预测,组合分别使用list0的运动矢量(mv)和list1的mv形成的两个预测块以形成单个预测信号。在解码器侧运动矢量细化(decoder-sidemotionvectorrefinement,dmvr)方法中,通过双边模板匹配过程进一步细化双向预测的两个运动矢量。双边模板匹配在解码器中应用,以在双边模板与参考图片中的重建样本之间执行基于失真的搜索,以便在不用额外运动信息的传输的情况下获得细化的mv。[0224]在dmvr中,如图23中所示,分别从list0的初始mv0和list1的mv1生成双边模板作为两个预测块的加权组合(即平均)。模板匹配操作由计算生成的模板与参考图片中的样本区域(初始预测块周围)之间的成本度量(costmeasure)组成。对于两个参考图片中的每一个,引发最小模板成本的mv被考虑为该列表的更新的mv以替换原始mv。在jem中,对于每个列表搜索九个mv候选。九个mv候选包括原始mv和8个环绕mv,该8个环绕mv在水平或垂直方向上、或者在两者上偏移原始mv一个亮度样本。最后,两个新的mv,即图24中所示的mv0'和mv1'用于生成最终的双向预测结果。绝对差之和(sad)用作成本度量。[0225]dmvr应用于双向预测的merge模式,其中一个mv来自过去的参考图片并且另一mv来自未来的参考图片,而不用额外语法元素的传输。在jem中,当为cu启用lic、仿射运动、fruc、或子cumerge候选时,不应用dmvr。[0226]2.3.5具有双边匹配细化的merge/跳过模式[0227]首先通过利用冗余检查将空间相邻和时间相邻块的运动矢量和参考索引插入到候选列表中来构造merge候选列表,直到可用候选的数量达到最大候选尺寸19。通过根据预定义的插入顺序插入空间候选(图11)、时间候选、仿射候选、高级时间mvp(atmvp)候选、空间时间mvp(stmvp)候选以及如hevc中使用的额外候选(组合的候选和零候选)来构造merge/跳过模式的候选列表:[0228]-块1-4的空间候选。[0229]-块1-4的推测的仿射候选。[0230]-atmvp。[0231]-stmvp。[0232]-虚拟仿射候选。[0233]-空间候选(块5)(仅当可用候选的数量小于6时使用)。[0234]-推测的仿射候选(块5)。[0235]-时间候选(如在hevc中推导的)。[0236]-非相邻空间候选,接着是推测的仿射候选(块6至49,如图25中所描绘的)。[0237]-组合的候选。[0238]-零候选[0239]注意,除了stmvp和仿射之外,ic标志也从merge候选继承。此外,对于前四个空间候选,在具有单向预测的候选之前插入双向预测候选。[0240]在一些实施方式中,可以访问未与当前块连接的块。如果以非帧内模式编码非邻近块,则可以添加相关联的运动信息作为额外merge候选。[0241]3.由本文公开的实施例解决的问题的示例[0242]当前hevc设计可以采用当前块与其相邻块(紧接当前块)的相关性来更好地编码运动信息。然而,可能相邻块对应于具有不同运动轨迹的不同对象。在这种情况下,来自其相邻块的预测不是有效的。[0243]来自非邻近块的运动信息的预测可以带来额外的编码增益,这具有将所有运动信息(典型地在4×4级别上)存储到高速缓存中的代价,这显著地增加了硬件实现的复杂性。[0244]4.一些示例[0245]为了克服现有实施方式的缺点,可以在各种实施例中实施使用具有存储的至少一个运动候选的一个或多个表(例如,查找表)来预测块的运动信息的基于lut的运动矢量预测技术以提供具有更高编码效率的视频编码。查找表是可以用于包括运动候选以预测块的运动信息的表的示例,并且其它实施方式也是可能的。每个lut可以包括一个或多个运动候选,每个运动候选与对应的运动信息相关联。运动候选的运动信息可以包括预测方向、参考索引/图片、运动矢量、lic标志、仿射标志、运动矢量推导(mvd)精度、和/或mvd值中的部分或所有。运动信息还可以包括块位置信息以指示运动信息正在来自哪里。[0246]基于公开的技术的可以增强现有和未来视频编码标准两者的基于lut的运动矢量预测在关于各种实施方式描述的以下示例中阐明。因为lut允许基于历史数据(例如,已经处理了的块)执行编码/解码过程,所以基于lut的运动矢量预测也可以被称为基于历史的运动矢量预测(historybasedmotionvectorprediction,hmvp)方法。在基于lut的运动矢量预测方法中,在编码/解码过程期间维护具有来自先前编码的块的运动信息的一个或多个表。存储在lut中的这些运动候选被命名为hmvp候选。在一个块的编码/解码期间,可以将lut中的相关联的运动信息添加到运动候选列表(例如,merge/amvp候选列表),并且在编码/解码一个块之后,可以更新lut。更新的lut然后用于编码后续块。也就是说,lut中的运动候选的更新基于块的编码/解码顺序。[0247]以下示例应该考虑为用于解释一般概念的示例。不应该以狭隘的方式解释这些示例。此外,这些示例可以以任何方式组合。[0248]一些实施例可以使用具有存储的至少一个运动候选的一个或多个查找表来预测块的运动信息。实施例可以使用运动候选来指示存储在查找表中的运动信息的集合。对于传统的amvp或merge模式,实施例可以使用amvp或merge候选来存储运动信息。[0249]以下示例解释了一般概念。[0250]查找表的示例[0251]示例a1:每个查找表可以包含一个或多个运动候选,其中每个候选与其运动信息相关联。[0252]a.这里的运动候选的运动信息可以包括预测方向、参考索引/图片、运动矢量、lic标志、仿射标志、mvd精度、mvd值中的部分或全部。[0253]b.运动信息还可以包括块位置信息和/或块形状,以指示运动信息正在来自其中。[0254]lut的选择[0255]示例b1:为了编码块,可以按照顺序检查来自一个查找表的运动候选的部分或全部。当在编码块期间检查一个运动候选时,可以将其添加到运动候选列表(例如,amvp、merge候选列表)。[0256]示例b2:查找表的选择可以取决于块的位置。[0257]查找表的使用[0258]示例c1:可以预定义查找表中要检查的运动候选的总数量。[0259]示例c2:查找表中包括的(多个)运动候选可以由块直接地继承。[0260]a.它们可以用于merge模式编码,即,可以在merge候选列表推导过程中检查运动候选。[0261]b.它们可以用于仿射merge模式编码。[0262]i.如果其仿射标志是1,则可以将查找表中的运动候选添加为仿射merge候选。[0263]c.当以下情况时,可以启用查找表中运动候选的检查:[0264]i.插入tmvp候选之后,merge候选列表未满;[0265]ii.在检查用于空间merge候选推导的某个空间相邻块之后,merge候选列表未满;[0266]iii.在所有空间merge候选之后,merge候选列表未满;[0267]iv.在组合的双向预测merge候选之后,merge候选列表未满;[0268]v.当已经根据其它编码方法(例如,hevc设计、或jem设计的merge推导过程)放入到merge候选列表中的空间或时间(例如,包括邻近空间和非邻近空间、tmvp、stmvp、atmvp等)merge候选的数量少于最大允许merge候选减去给定阈值时。[0269]1.在一个示例中,阈值设置为1或0。[0270]2.替代地,可以在sps/pps/序列、图片、条带报头/片中信令通知或预定义阈值。[0271]3.替代地,可以从块到块自适应地改变阈值。例如,它可以取决于编码的块信息,例如块尺寸/块形状/条带类型,和/或取决于可用空间或时间merge候选的数量。[0272]4.在另一示例中,当已经放入到merge候选列表中的某种merge候选的数量少于最大允许merge候选减去给定阈值时。“某种merge候选”可以是如在hevc中的空间候选或非邻近merge候选。[0273]vi.可以在将运动候选添加到merge候选列表之前应用修剪(pruning)。在此示例中的各种实施方式和本专利文档中的其它示例中,修剪可以包括以下中的至少一个:a)针对唯一性将运动信息与现有条目比较,或b)如果是唯一的,则将运动信息添加到列表中,或c)如果不是唯一的,则c1)不添加,或c2)添加运动信息并且删除匹配的现有条目。[0274]1.在一个示例中,可以将运动候选与merge候选列表中的来自其它编码方法的所有或部分可用空间或时间(例如,包括邻近空间和非邻近空间、tmvp、stmvp、atmvp等)merge候选进行修剪。[0275]2.运动候选可以不与基于子块的运动候选进行修剪,例如atmvp、stmvp。[0276]3.在一个示例中,可以将当前运动候与merge候选列表中的(在当前运动候选之前插入的)所有或部分可用运动候选进行修剪。[0277]4.与运动候选相关的修剪操作的数量(例如,运动候选需要与merge列表中的其它候选比较多少次)可以取决于可用空间或时间merge候选的数量。例如,当检查新的运动候选时,如果在merge列表中存在m个候选可用,则可以仅将新的运动候选与前k(k《=m)个候选比较。如果修剪函数返回假(false)(例如,不等于前k个候选中的任何一个),则新的运动候选被考虑为不同于所有m个候选并且其可以添加到merge候选列表。[0278]5.在一个示例中,仅将新添附的运动候选与merge候选列表中的前n个候选比较。例如,n=3、4或5。可以从编码器向解码器信令通知n。[0279]6.在一个示例中,仅将新的要检查的运动候选与merge候选列表中的最后n个候选比较。例如,n=3、4或5。可以从编码器向解码器信令通知n。[0280]7.在一个示例中,如何选择先前添加在列表中的、要与来自表的新的运动候选进行比较的候选可以取决于先前添加的候选推导自何处。[0281]a.在一个示例中,可以将查找表中的运动候选与从给定时间和/或空间相邻块推导的候选比较。[0282]b.在一个示例中,可以将查找表中的运动候选的不同条目与不同的先前添加的候选(即,推导自不同位置)比较。[0283]示例c3:包括在查找表中的(多个)运动候选可以用作于编码块的运动信息的预测值。[0284]a.它们可以用于amvp模式编码,即,可以在amvp候选列表推导过程中检查运动候选。[0285]b.当以下情况时,可以启用查找表中运动候选的检查:[0286]i.在插入tmvp候选之后,amvp候选列表未满;[0287]ii.正好在插入tmvp候选之前,在从空间邻居选择并且修剪之后,amvp候选列表未满;[0288]iii.当不存在不用缩放的来自上侧相邻块的amvp候选时和/或不存在不用缩放的来自左侧相邻块的amvp候选时[0289]iv.可以在将运动候选添加到amvp候选列表之前应用修剪。[0290]v.与实施例c2中部分类似的规则可以应用于amvp模式。[0291]c.检查具有与当前参考图片相同的参考图片的运动候选。[0292]i.替代地,另外,也检查具有不同于当前参考图片的参考图片的运动候选(在缩放的mv的情况下)。[0293]ii.替代地,首先检查具有与当前参考图片相同的参考图片的所有运动候选,然后检查具有不同于当前参考图片的参考图片的运动候选。[0294]iii.替代地,检查运动侯选与merge相同。[0295]示例c4:查找表中的运动候选的检查顺序定义如下(假使允许检查k(k》=1)个运动候选):[0296]a.查找表中的最后k个运动候选,例如,以lut的条目索引的下降顺序。[0297]b.前k%l个候选,其中l是查找表尺寸,k》=l,例如,以lut的条目索引的下降顺序。[0298]c.基于顺序,当k》=l时,查找表中的所有候选(l个候选)。在一个示例中,以lut的条目索引的下降顺序检查表中的前k%l个候选,并且然后以条目索引的下降顺序检查最后(l-k%l)个候选。[0299]d.替代地,此外,基于运动候选索引的下降顺序(即,lut的条目索引)。[0300]e.替代地,此外,基于运动候选索引的上升顺序。[0301]f.替代地,基于候选信息选择k个运动候选,诸如与运动候选和当前块相关联的位置的距离。[0302]i.在一个示例中,选择k个最近的运动候选。[0303]ii.在一个示例中,当计算距离时候选信息还可以考虑块形状。[0304]g.在一个示例中,来自包括l个候选的表的k个运动候选的检查顺序可以定义为:按照顺序选择索引等于a0、a0+t0、a0+t0+t1、a0+t0+t1+t2....a0+t0+t1+t2+..+tk-1的那些候选,其中a0和ti(i是0...k-1)是整数值。[0305]i在一个示例中,a0设置为0(即,表中的运动候选的第一条目)。替代地,a0设置为(k-l/k)。算术运算“/”定义为整数除法,具有结果朝向零的截断。替代地,a0设置为0与l/k之间的任何整数。[0306]1.替代地,a0的值可以取决于当前块和相邻块的编码信息。[0307]ii.在一个示例中,所有间隔ti(i是0...k-1)是相同的,诸如l/k。算术运算“/”定义为整数除法,具有结果朝向零的截断。[0308]iii.在一个示例中,(k,l,a0,ti)设置为(4,16,0,4)、或(4,12,0,3)或(4,8,0,1)或(4,16,3,4)或(4,12,2,3)、或(4,8,1,2)。ti对于所有i相同。[0309]iv.这样的方法可能仅当k小于l时适用。[0310]v.替代地,此外,当k大于或等于阈值时,实施例c4中的c小节可以应用。阈值可以定义为l,或者其可以取决于k或者从块到块自适应地改变。在一个示例中,阈值可以取决于在从查找表添加新的运动候选之前列表中的可用运动候选的数量。[0311]h.在一个示例中,来自包括l个候选的表的运动候选中的k个的检查顺序可以定义为:按照顺序选择索引等于a0、a0-t0、a0-t0-t1、a0-t0-t1-t2...a0-t0-t1-t2-..-tk-1的那些候选,其中a0和ti(i是0...k-1)是整数值。[0312]i.在一个示例中,a0设置为l-1(即,表中的运动候选的最后条目)。替代地,a0设置为l-1-l/k与l-1之间的任何整数。[0313]ii.在一个示例中,所有间隔ti(i是0...k-1)是相同的,诸如l/k。[0314]iii.在一个示例中,(k,l,a0,ti)设置为(4,16,l-1,4)、或(4,12,l-1,3)或(4,8,l-1,1)或(4,16,l-4,4)或(4,12,l-3,3)、或(4,8,l-2,2)。ti对于所有i相同。[0315]iv.这样的方法可能仅当k小于l时适用。[0316]替代地,此外,当k大于或等于阈值时,实施例c4中的c小节可以应用。阈值可以定义为l,或者它可以取决于k或者从块到块自适应地改变。在一个示例中,阈值可以取决于在从查找表添加新的运动候选之前列表中的可用运动候选的数量。[0317]i.从查找表选择多少和/或如何选择运动候选可以取决于编码信息,诸如块尺寸/块形状。[0318]i.在一个示例中,对于较小的块尺寸,可以选取(不是从最后一个开始的)其它k个运动候选,而不是选取最后k个运动候选。[0319]ii.在一个示例中,编码信息可以是amvp或merge模式。[0320]iii.在一个示例中,编码信息可以是仿射模式或非仿射amvp模式或非仿射merge模式。[0321]iv.在一个示例中,编码信息可以是仿射amvp(帧间)模式或仿射merge模式或非仿射amvp模式或非仿射merge模式。[0322]v.在一个示例中,编码信息可以是当前图片参考(currentpicturereference,cpr)模式或不是cpr模式。[0323]vi.替代地,如何从查找表选择运动候选还可以取决于查找表中的运动候选的数量、和/或在从查找表添加新的运动候选之前列表中的可用运动候选的数量。[0324]j.在一个示例中,查找表中要检查的运动候选的最大数量(即,可以添加到merge/amvp候选列表中的运动候选的数量)可以取决于查找表中的可用运动候选的数量(由navaimcinlut标示)、和/或要从查找表添加的最大允许运动候选(由nummaxmc标示)(可以是预定义的或信令通知的)、和/或在检查来自查找表的候选之前候选列表中的可用候选的数量(由navaic标示)。[0325]i.在一个示例中,查找表中要检查的运动候选的最大数量设置为(navaimcinlut、nummaxmc、navaic)中的最小值。[0326]ii.替代地,查找表中要检查的运动候选的最大数量设置为(navaimcinlut、nummaxmc-navaic)的中最小值。[0327]iii.在一个示例中,navaic标示从空间或时间(邻近和/或非邻近)相邻块推导的插入候选的数量。替代地,此外,在navaic中不计数(像amtvp、stmvp的)子块候选的数量。[0328]iv.nummaxmc可以取决于编码模式,例如,对于merge模式和amvp模式,nummaxmc可以设置为不同的值。在一个示例中,对于merge模式,nummaxmc可以设置为4、6、8、10等,对于amvp模式,nummaxmc可以设置为1、2、4等。[0329]v.替代地,nummaxmc可以取决于其它编码信息,像块尺寸、块形状、条带类型等。[0330]k.不同查找表的检查顺序在下一子章节中以查找表的使用定义。[0331]l.一旦merge/amvp候选列表达到最大允许候选数量,检查过程将终止。[0332]m.一旦merge/amvp候选列表达到最大允许候选数量减去阈值(th),检查过程将终止。在一个示例中,th可以预定义为正整数值,例如1、或2、或3。替代地,th可以从块到块自适应地改变。替代地,可以在sps/pps/条带报头等中信令通知th。替代地,th还可以取决于块形状/块尺寸/编码模式等。替代地,th可以取决于在从lut添加运动候选之前有多少可用候选。[0333]n.替代地,一旦添加的运动候选的数量达到最大允许运动候选数量,检查过程将终止。可以信令通知或预定义最大允许运动候选数量。替代地,最大允许运动候选数量还可以取决于块形状/块尺寸/编码模式等。[0334]o.可以在sps、pps、条带报头、片报头中信令通知用于指示表尺寸以及允许检查的运动候选的数量(即,k=l)的一个语法元素。[0335]示例c5:启用/禁用用于块的运动信息编码的查找表的使用可以在sps、pps、条带报头、片报头、ctu、ctb、cu或pu、覆盖多个ctu/ctb/cu/pu的区域中信令通知。[0336]示例c6:是否从查找表应用预测还可以取决于编码信息。当推断为不适用于块时,跳过预测的指示的额外信令。替代地,当推断为不适用于块时,不需要访问查找表的运动候选,并且省略相关运动候选的检查。[0337]示例c7:先前编码的帧/条带/片中的查找表的运动候选可以用于预测不同帧/条带/片中的块的运动信息。[0338]查找表的更新[0339]示例d1:在用运动信息编码块(即,intrabc模式、帧间编码模式)之后,可以更新一个或多个查找表。[0340]额外示例实施例[0341]提出了基于历史的mvp(hmvp)方法,其中hmvp候选定义为先前编码的块的运动信息。在编码/解码过程期间维护具有多个hmvp候选的表。遇到新条带时,清空表。每当存在帧间编码的块时,相关联的运动信息添加到表的最后条目作为新的hmvp候选。整个编码流程在图30中描绘。[0342]在一个示例中,表尺寸设置为l(例如,l=16或6、或44),l指示上至l个hmvp候选可以添加到表。[0343]在一个实施例中(对应于示例11.g.i),如果存在来自先前编码的块的多于l个hmvp候选,则应用先进先出(first-in-first-out,fifo)规则,使得表始终包含最近的先前编码的l个运动候选。图31描绘了应用fifo规则以去除hmvp候选并且将新的一个添加到在提出的方法中使用的表的示例。[0344]在另一实施例中(对应于示例11.g.iii),每当添加新的运动候选(诸如当前块是帧间编码的和非仿射模式)时,首先应用冗余检查过程来识别是否表(例如,lut)中存在相同或类似的运动候选。[0345]一些示例描绘如下:[0346]图32a示出了当在添加新的运动候选之前表已满的示例。[0347]图32b示出了当在添加新的运动候选之前表未满的示例。[0348]图32a和图32b一起示出了基于冗余去除的表更新方法的示例(具有去除的一个冗余运动候选)。如图32a(上)中所示,更新之前存在l个表条目。在冗余检查期间,发现hmvp2是冗余的(例如,复制的)并且去除,从而创建可以向其添加新条目的l-1个条目(底部)。图32b类似地示出了冗余候选的去除。[0349]图33a和图33b示出了用于基于冗余去除的表更新方法的两种情况的示例实施方式(具有去除的多个冗余运动候选,图中为2个候选)。[0350]图33a示出了当在添加新的运动候选之前表已满时的示例情况。[0351]图33b示出了当在添加新的运动候选之前表未满时的示例情况。[0352]hmvp候选可以用在merge候选列表构建过程中。在tmvp候选之后插入表中从最后条目到第一条目的所有hmvp候选(或者最后k0个hmvp,例如,k0等于16或6)。修剪应用于hmvp候选。一旦可用merge候选的总数量达到信令通知的最大允许merge候选,就终止merge候选列表构建过程。替代地,一旦添加的运动候选的总数量达到给定值,就终止从lut提取运动候选。[0353]类似地,hmvp候选也可以用在amvp候选列表构建过程中。在tmvp候选之后插入表中的最后k1个hmvp候选的运动矢量。仅使用具有与amvp目标参考图片相同的参考图片的hmvp候选来构建amvp候选列表。修剪应用于hmvp候选。在一个示例中,k1设置为4。[0354]图28是视频处理装置2800的框图。装置2800可以用于实施本文描述的方法中的一个或多个。装置2800可以体现在智能电话、平板电脑、计算机、物联网(internetofthings,iot)接收器等中。装置2800可以包括一个或多个处理器2802、一个或多个存储器2804和视频处理硬件2806。(多个)处理器2802可以被配置为实施本文档中描述的一个或多个方法。存储器(多个存储器)2804可以用于存储用于实施本文描述的方法和技术的代码和数据。视频处理硬件2806可以用于以硬件电路实施本文档中描述的一些技术。[0355]图29是用于视频处理方法2900的示例的流程图。方法2900包括在步骤2902处包括维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联。方法2900还包括:在步骤2904处,至少基于一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换,执行包括以规则中定义的顺序检查表中的运动候选,直到满足检查终止准则。[0356]以下描述了上述方法/技术的特征和实施例。[0357]1.一种视频处理方法,包括:维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联;以及至少基于一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换,执行包括以规则中定义的顺序检查表中的运动候选,直到满足检查终止准则。[0358]2.如条款1所述的方法,其中规则指定检查表中的最后k个运动候选,k等于或大于1。[0359]3.如条款1所述的方法,其中规则指定检查表中的前k模l(k%l)个候选,k等于或大于1,l指示表中的条目的数量。[0360]4.如条款1所述的方法,其中规则指定检查表中的所有l个运动候选,l指示表中的条目的数量。[0361]5.如条款1所述的方法,其中规则指定基于运动候选索引的下降顺序来检查表中的运动候选。[0362]6.如条款1所述的方法,其中规则指定基于运动候选索引的上升顺序来检查表中的运动候选。[0363]7.如条款1所述的方法,其中规则指定基于候选信息选择k个运动候选,k等于或大于1。[0364]8.如条款7所述的方法,其中候选信息包括第一视频块和与运动候选相关联的位置之间的距离。[0365]9.如条款7所述的方法,其中选择k个最近的运动候选。[0366]10.如条款8所述的方法,其中候选信息包括考虑来计算距离的块形状。[0367]11.如条款7所述的方法,其中k个运动候选的选择取决于第一视频块的编码信息。[0368]12.如条款11所述的方法,其中编码信息包括块尺寸或块形状中的至少一个。[0369]13.如条款11所述的方法,其中第一视频块的编码信息指示以下中的至少一个:amvp模式、merge模式、仿射模式、非仿射amvp模式、非仿射merge模式、仿射amvp(帧间)模式、仿射merge模式、非仿射amvp模式、非仿射merge模式、当前图片参考(cpr)模式、或非cpr模式。[0370]14.如条款7所述的方法,其中,k个运动候选的选择取决于i)表中的运动候选的数量或ii)在从表添加新的一个运动候选之前,运动候选列表中的可用候选的数量中的至少一个。[0371]15.如条款11所述的方法,其中,对于较小的块尺寸,选择的k个运动候选不对应于表中的最后k个运动候选。[0372]16.如条款1所述的方法,其中以另一顺序检查另一表中的运动候选。[0373]17.如条款1-16中任一项所述的方法,其中当包括merge或amvp(高级运动矢量预测)候选列表中的至少一个的运动候选列表达到最大允许候选数量时,满足检查终止准则。[0374]18.如条款1-16中任一项所述的方法,其中当要检查的、从表添加的运动候选的数量达到最大允许运动候选数量时,满足检查终止准则。[0375]19.如条款18所述的方法,其中要检查的最大允许运动候选数量是预定义的或信令通知的。[0376]20.如条款18所述的方法,其中要检查的、来自表的最大允许运动候选数量取决于块形状、块尺寸、或编码模式中的至少一个。[0377]21.如条款1所述的方法,还包括信令通知以下中的至少一个:i)表的尺寸,或ii)要检查的、来自表的运动候选的数量。[0378]22.如条款1-16中任一项所述的方法,其中当候选列表中的候选的数量达到候选列表的最大允许候选数量减去阈值(th)时,满足检查终止准则。[0379]23.如条款22所述的方法,其中阈值(th)预定义为正整数。[0380]24.如条款22所述的方法,其中阈值(th)取决于块而改变。[0381]25.如条款22所述的方法,其中阈值(th)在视频参数集(vps)、序列参数集(sps)、图片参数集(pps)、条带报头、或片报头中的一个或多个中信令通知。[0382]26.如条款22所述的方法,其中阈值(th)取决于块形状、块尺寸、或编码模式中的至少一个。[0383]27.如条款22所述的方法,其中阈值(th)取决于在添加来自表的运动候选之前,可用候选的数量。[0384]28.如条款1-16中任一项所述的方法,其中检查终止准则取决于以下中的至少一个:表中的可用运动候选的数量、要从表添加的最大允许运动候选、在检查来自表的运动候选之前运动候选列表中的可用候选的数量。[0385]29.如条款1所述的方法,其中,通过按照顺序选择索引等于a0、a0+t0、a0+t0+t1、a0+t0+t1+t2…a0+t0+t1+t2+..+tk-1的k个运动候选,所述顺序包括来自包括l个候选的表的k个运动候选的检查顺序,其中a0和ti(i是0...k-1)是整数值。[0386]30.如条款29所述的方法,其中a0设置为0作为表中的运动候选的第一条目。[0387]31.如条款29所述的方法,其中a0设置为(k-l/k),算术运算“/”定义为整数除法,具有结果朝向零的截断。[0388]32.如条款29所述的方法,其中a0设置为0与l/k之间的任何整数,算术运算“/”定义为整数除法,具有结果朝向零的截断。[0389]33.如条款29所述的方法,其中a0取决于第一视频块和相邻块的编码信息。[0390]34.如条款29所述的方法,其中ti(i是0与k-1之间的整数)具有相同值。[0391]35.如条款34所述的方法,其中相同值是l/k,算术运算“/”定义为整数除法,具有结果朝向零的截断。[0392]36.如条款29所述的方法,其中(k,l,a0,ti)设置为(4,16,0,4)、(4,12,0,3)、(4,8,0,1)、(4,16,3,4)、(4,12,2,3)、或(4,8,1,2)中的至少一个。[0393]37.如条款29所述的方法,其中当k小于l时应用检查顺序。[0394]38.如条款29所述的方法,其中规则指定当k大于或等于阈值时检查表中的所有l个运动候选。[0395]39.如条款38所述的方法,其中阈值是l。[0396]40.如条款38所述的方法,其中阈值取决于k或取决于块而改变。[0397]41.如条款1所述的方法,通过按照顺序选择索引等于a0、a0-t0、a0-t0-t1、a0-t0-t1-t2…a0-t0-t1-t2-..-tk-1的k个运动候选,所述顺序包括来自包括l个候选的表的k个运动候选的检查顺序,其中a0和ti(i是0...k-1)是整数值。[0398]42.如条款41所述的方法,其中a0设置为l-1作为表中的运动候选的最后条目。[0399]43.如条款41所述的方法,其中a0设置为l-1-l/k与l-1之间的任何整数,算术运算“/”定义为整数除法,具有结果朝向零的截断。[0400]44.如条款41所述的方法,其中ti(i是0与k-1之间的整数)具有相同值。[0401]45.如条款44所述的方法,其中相同值是l/k,算术运算“/”定义为整数除法,具有结果朝向零的截断。[0402]46.如条款41所述的方法,其中(k,l,a0,ti)设置为(4,16,l-1,4)、(4,12,l-1,3)、(4,8,l-1,1)、(4,16,l-4,4)、(4,12,l-3,3)、或(4,8,l-2,2)中的至少一个。[0403]47.如条款41所述的方法,其中当k小于l时应用检查顺序。[0404]48.如条款41所述的方法,其中规则指定当k大于或等于阈值时检查表中的所有l个运动候选。[0405]49.如条款48所述的方法,其中阈值是l。[0406]50.如条款48所述的方法,其中阈值取决于k或取决于块而改变。[0407]51.如条款1至50中任一项所述的方法,其中运动候选与运动信息相关联,运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度、或运动矢量差值。[0408]52.如条款1至50中任一项所述的方法,还包括将检查的运动候选添加到merge候选列表。[0409]53.如条款52所述的方法,其中添加到merge候选列表的运动候选的检查顺序基于运动候选索引的下降顺序。[0410]54.如条款1至50中任一项所述的方法,还包括将检查的运动候选的运动矢量添加到amvp候选列表;[0411]55.如条款54所述的方法,其中添加到amvp候选列表的运动候选的检查顺序基于运动候选索引的上升顺序。[0412]56.如条款54所述的方法,其中要检查的运动候选的数量不大于4。[0413]57.如条款1所述的方法,其中表中要检查的运动候选的最大数量取决于以下中的至少一个:由n索引的表中的可用运动候选的数量、由m索引的要从表添加的最大允许运动候选、或由k索引的在检查来自表的运动候选之前候选列表中的可用候选的数量,其中n、m、k是整数。[0414]58.如条款57所述的方法,其中表中要检查的运动候选的最大数量设置为(n,m,k)中的最小值。[0415]59.如条款57所述的方法,其中表中要检查的运动候选的最大数量设置为(n,m-k)中的最小值。[0416]60.如条款57所述的方法,其中k标示从空间或时间相邻块推导的插入的候选的数量。[0417]61.如条款57所述的方法,其中在检查来自表的运动候选之前,候选列表中的、考虑为计数k的可用候选,不包括包含可选时域运动矢量预测(amtvp)和空时运动矢量预测(stmvp)的子块候选。[0418]62.如条款57所述的方法,其中m取决于视频的编码模式中的至少一个。[0419]63.如条款62所述的方法,其中m对于merge模式设置为4、6、8或10,m对于高级运动矢量预测(amvp)模式设置为1、2或4。[0420]64.如条款57所述的方法,其中m取决于视频的编码信息,编码信息包括第一视频块的块尺寸、第一视频块的块形状、条带类型。[0421]65.如条款1-64中任一项所述的方法,其中表对应于查找表。[0422]66.如条款1至65中任一项所述的方法,还包括基于转换更新一个或多个表。[0423]67.如条款66所述的方法,其中一个或多个表的更新包括在执行转换之后基于第一视频块的运动信息更新一个或多个表。[0424]68.如条款67所述的方法,还包括:基于更新的表执行视频的后续视频块与视频的比特流表示之间的转换。[0425]69.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时使处理器实施如条款1至68中任一项所述的方法。[0426]70.一种存储在非暂时性计算机可读介质上的计算机程序产品,计算机程序产品包括用于实行如条款1至68中任一项所述的方法的程序代码。[0427]从前述可以理解,本文已经出于说明的目的描述了本公开的技术的特定实施例,但是可以在不脱离本发明的范围情况下做出各种修改。因此,除了由所附权利要求之外,本公开的技术不受限制。[0428]本文档中描述的公开的和其它实施例、模块和功能性操作可以在数字电子电路中实施,或者在计算机软件、固件、或硬件中实施,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实施。公开的和其它实施例可以实施为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备、和机器,示例地包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电信号、光信号、或电磁信号,生成信号以编码信息以便传输到合适的接收器装置。[0429]计算机程序(也被称为程序、软件、软件应用、脚本、或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且其可以以任何形式部署,包括作为独立程序或作为适合于在计算环境中使用的模块、组件、子例程、或其它单元。计算机程序不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文档的部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文档中,或存储在多个协调文档(例如,存储一个或多个模块、子程序、或代码的部分的文档)中。可以部署计算机程序以在一个计算机上运行或者在定位在一个站点处或分布跨越多个站点并且通过通信网络互连的多个计算机上运行。[0430]本文档中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据操作并且生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实施为专用逻辑电路,例如fpga(fieldprogrammablegatearray,现场可编程门阵列)或asic(applicationspecificintegratedcircuit,专用集成电路)。[0431]适合于计算机程序的运行的处理器示例地包括通用和专用微处理器两者、以及任何种类的数字计算机的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机也将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传送数据或者进行接收数据和传送数据两者。但是,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,示例地包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和cdrom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。[0432]虽然本专利文档包含许多细节,但是这些细节不应该解释为对任何发明或可以要求保护的范围的限制,而是作为可以特定于具体发明的具体实施例的特征的描述。在本专利文档中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以分离地或以任何合适的子组合在多个实施例中实施。此外,尽管以上特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中切除,并且所要求保护的组合可以针对子组合或子组合的变化。[0433]类似地,虽然在附图中以具体顺序描绘了操作,但是这不应该理解为要求以所示的具体顺序或按次序顺序执行这样的操作,或者执行所有示出的操作,以达到期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中要求这样的分离。[0434]仅描述了少数实施方式和示例,并且可以基于本专利文档中描述和示出的内容做出其它实施方式、增强和变化。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1