CN112385228A - 用于视频编解码的增强型帧内块复制模式的方法和装置 - Google Patents

用于视频编解码的增强型帧内块复制模式的方法和装置 Download PDF

Info

Publication number
CN112385228A
CN112385228A CN201980046060.8A CN201980046060A CN112385228A CN 112385228 A CN112385228 A CN 112385228A CN 201980046060 A CN201980046060 A CN 201980046060A CN 112385228 A CN112385228 A CN 112385228A
Authority
CN
China
Prior art keywords
current
target
candidate
block
candidate list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980046060.8A
Other languages
English (en)
Other versions
CN112385228B (zh
Inventor
陈俊嘉
萧裕霖
徐志玮
庄子德
陈庆晔
黄毓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN112385228A publication Critical patent/CN112385228A/zh
Application granted granted Critical
Publication of CN112385228B publication Critical patent/CN112385228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

揭示一种用于视频编解码的帧间预测方法与装置,包括帧内块复制(IBC)编解码工具。根据一方法,识别当前块所处的当前画面之中一当前允许带(current permitted band)。选择一目标IBC候选,其中目标IBC候选的一目标块向量从当前块指向当前画面中的一目标参考块。通过考虑目标IBC候选与当前允许带,来产生一调整后的候选列表。使用调整后的候选列表,在视频编码器侧编码与当前块相关的当前运动信息;或是使用调整后的候选列表,在视频解码器侧解码与当前块相关的当前运动信息。在另一方法,在没有目标MVD的符号信息或是用目标MVD的减少型的(reduced)符号信息下,解码一目标运动向量差异(Motion Vector Difference,MVD)的一语法。

Description

用于视频编解码的增强型帧内块复制模式的方法和装置
技术领域
本发明关于用于视频编解码的帧内块复制(Intra Block Copy,IBC)预测。尤其本发明揭示的技术是通过加入保护带(guard band)或允许带(permitted band)的限制,来增进硬件处理效率。此外也揭示了降低与运动向量差异(MVD)相关的比特率的技术,其中在没有MVD的符号信息或是MVD的符号信息减少(或称减少型的符号信息,reduced signinformation)的情况下,利用保护带或允许带信息来解码MVD的符号信息。
背景技术
高效率视频编解码(High Efficiency Video Coding,HEVC)的标准,是由一些标准化组织国际电信联盟电信标准化部门的视频编码专家组(ITU-T Video Coding ExpertsGroup,VCEG)与国际标准化组织/国际电工委员会下属的动态影像专家组(ISO/IEC MovingPicture Experts Group,MPEG)于联合视频计划下所开发的,而且特别是与视频编码联合协作小组(Joint Collaborative Team on Video Coding,JCT-VC)合作开发。在HEVC中,一个切片(slice)被分割成多个编解码树单元(Coding Tree Unit,CTU)。在主配置文件(mainprofile)中,CTU的最小尺寸和最大尺寸由序列参数集(Sequence Parameter Set,SPS)中的语法元素指定。允许的CTU尺寸可以是8x8,16x16,32x32或64x64。对于每个切片,切片内的CTU根据光栅扫描顺序进行处理。
CTU进一步被分割成多个编解码单元(Coding Unit,CU)以适应各种局部特性。表示为编解码树的四叉树用于将CTU分割成多个CU。将CTU尺寸设为M×M,其中M是值64,32或16中的一个。CTU可以是单个CU(即无分割)或可以被分割成四个相同尺寸的较小单元(即每一个是M/2xM/2),其相对应为编解码树的节点。如果这些单元是编解码树的叶节点,则这些单元变成CU。否则,四叉树分割流程可以被迭代,直到一节点的尺寸达到序列参数集(SPS)中指定的最小允许CU尺寸。这种表示形成了如图1中的编解码树(也称为分割树结构)120所指定的递归结构。CTU分割110在图1中示出,其中实线表示CU边界。是使用帧间(时间)或是帧内(空间)预测来编解码一画面区域的决定,是在CU层作出的。由于最小CU尺寸可以是8x8,所以用于在不同基本预测类型之间切换的最小间隔尺寸是8x8。
此外根据HEVC,每个CU可以被分割成一或多个预测单元(Prediction Unit,PU)。结合CU,PU作为分享共享预测信息的基本表示块。在每个PU内部,可应用相同的预测流程,并将相关信息以PU为基础发送给解码器。根据PU分割类型,CU可以被分割成一个,两个或四个PU。如图2所示,HEVC定义了八个形状用以于CU分割成PU,包括2Nx2N,2NxN,Nx2N,NxN,2NxnU,2NxnD,nLx2N与nRx2N的分割类型。与CU不同,PU根据HEVC仅可以被分割一次。第二行(row)所示的分割对应于不对称分割,其中两个分割部分具有不同的尺寸。
基于PU分割类型,在通过预测过程来获得残差块之后,可以根据另一四叉树结构(其与图1中所示CU的编解码树类似)将CU分割成转换单元(Transform Unit,TU)。实线表示CU边界,而虚线表示TU边界。TU是具有残差或转换系数的基本代表块,以用来应用整数转换和量化。对于每个TU,与TU有相同尺寸的一个整数转换会被用来获得残差系数。在以TU为基础进行量化之后,这些系数被传输到解码器。
这些术语编解码树块(Coding Tree Block,CTB),编解码块(Coding Block,CB),预测块(Prediction Block,PB)和转换块(Transform Block,TB)被定义出以分别指定与CTU,CU,PU,和TU相关的一个颜色分量的2-D样本数组。因此,CTU由一个亮度CTB,两个色度CTB和相关的语法元素所组成。类似的关系对CU,PU和TU一样适用有效。树分割通常同时应用于亮度和色度,尽管当达到色度的最小尺寸时会有例外产生。
也可以选择性地使用于JCTVC-P1005所提出的二叉树块分割结构(由D.Flynn等所提出的“HEVC Range Extensions Draft 6”,国际电信通讯联盟-电信标准化部门,研究小组16,工作集会3(ITU-T SG16WP3)以及国际标准化组织/国际电工协会的第一技术委员会第29子委员会第11号工作组(ISO/IEC JTC1/SC29 WG11)下辖的视频编码联合协作小组(Joint Collaborative Team on Video Coding,JCT-VC),2014年1月9-17日于美国圣荷西第16次会议中文件的JCTVC-P1005)。在所提出的二叉树分割结构中,可以用图3所示的多种二元分割类型将一块递归地分割成两个较小块。最有效和最简单的分割类型是图3中的前两种分割类型所示的对称水平和垂直分割。对于尺寸为MxN的给定块,可以发信一旗标以表示给定块是否被分割成两个较小块。如果该旗标表示“是”,则发信另一语法元素以表示使用了哪种分割类型。如果使用水平分割,则给定块被分割成两个尺寸为M x N/2的块;如果使用垂直分割,则给定块被分割成两个尺寸为M/2x N的块。二叉树分割过程可以被迭代,直到分割块的尺寸(宽度或高度)达到最小允许块尺寸(宽度或高度),最小允许块尺寸可以在诸如SPS的高层语法中加以定义。由于二叉树具有两种分割类型(即水平和垂直),所以最小允许块的宽度与高度二者都应该被指示出来。当分割会造成一个块的高度小于被指示出的最小值时,也就隐含使用非水平分割(Non-horizontal splitting);当分割会造成一个块的宽度小于被指示出的最小值时,也就隐含使用非垂直分割(Non-vertical splitting)。图4示出了块分割410及其相应的二叉树结构420的例子。在二叉树的每个分割节点(即非叶节点)上,一个旗标被用来表示使用了哪种分割类型(水平或垂直),其中0可表示水平分割,1可表示垂直分割。
所述二叉树结构可以用于将一影像区域分割成多个较小块,诸如将一切片(slice)分割成多个CTU,将一CTU分割成多个CU,将一CU分割成多个PU或将一CU分割成多个TU,等等。二叉树可用于将CTU分割成多个CU,其中二叉树的根节点是CTU,而二叉树的叶节点是CU。叶节点可通过预测和转换编解码进一步来处理。为简化起见,不存在从CU到PU或从CU到TU的进一步分割,这则意味着CU等同于PU并且PU也等同于TU。因此,在这种情况下,二叉树的叶节点也就是用于预测和转换编解码的基本单元。
QTBT结构
二叉树结构比四叉树结构更具弹性,是因为可以支持更多的分割形状,这也是编解码效率提高的来源。但是,为了选择最佳的分割形状,编解码复杂度也会增加。为了平衡复杂度和编解码效率,也已经有方法揭示出了组合四叉树和二叉树结构的方法,该结构也称为四叉树加二叉树(quadtree plus binary tree,QTBT)结构。根据所述QTBT结构中,一CTU(或对I-切片而言是CTB)是四叉树的根节点,而首先透过四叉树对CTU进行分割,其中对于一节点进行四叉树分割可以被迭代直到节点达到最小可被允许四叉树叶节点尺寸(即MinQTSize)。如果四叉树叶节点的尺寸不大于最大可被允许二叉树根节点的尺寸(即MaxBTSize),则可以透过二叉树进一步分割。对于一节点进行二叉树分割可以被迭代直到节点达到最小可被允许二叉树叶节点尺寸(即MinBTSize)或是最大可被允许二叉树深度(即MaxBTDepth)。二叉树叶节点(即CU,或对I-切片而言是CB)会被用来作预测(即帧内或帧间预测)与转换而不进一步分割。在二叉树分割中有二种分割类型:对称水平分割与对称垂直分割。在QTBT结构中,可以在高级语法如SPS中指示最小可被允许四叉树叶节点的尺寸,最大可被允许二叉树根节点的尺寸,最小可被允许二叉树叶节点的宽度和高度以及最大可被允许二叉树的深度。图5示出了块分割510及其对应的QTBT结构520的例子。实线表示四叉树分割,虚线表示二叉树分割。在二叉树的每个分割节点(即非叶节点)中,一个旗标会指示使用了哪种分割类型(水平或垂直),0可表示水平分割,1可表示垂直分割。
上述的QTBT结构可以用于将一影像区域(即一切片,CTU,或CU)分割成多个更小的块,诸如将一切片分割成多个CTU,将一CTU分割成多个CU,将一CU分割成多个PU,或将一CU分割成多个TU等等。例如,QTBT可用于将CTU分割为多个CU,其中QTBT的根节点是CTU,其由QTBT结构分割成多个CU,而CU由预测和转换编解码进行进一步处理。为简化起见,不存在从CU到PU或从CU到TU的进一步分割,这则意味着CU等同于PU并且PU也等同于TU。因此,在这种情况下,QTBT的叶节点也就是用于预测和转换的基本单元。
在下面显示一QTBT结构的例子。对于一尺寸大小为128x128的编码树单元(CTU),最小可被允许四叉树叶节点尺寸设为16×16,最大可被允许二叉树根节点尺寸设为64x64,最小可被允许二叉树叶节点宽度或高度皆设为4,最大可被允许的二叉树深度设为4。首先,CTU经由四叉树结构分割,而叶四叉树单元的尺寸可以从16×16(即最小可被允许四叉树叶节点尺寸)至128×128(等于CTU的尺寸,无分割)。如果叶四叉树单元为128×128,则不能被二叉树进一步分割,因为其尺寸大小超过最大可被允许二叉树根节点尺寸64x64;否则,叶四叉树单元可以经由二叉树进一步分割。叶四叉树单元(也是作为根二叉树单元)的二叉树深度等于0。当二叉树深度达到4时(即上述的最大可被允许的二叉树深度),即隐含了不分割;当一相对应二叉树节点的块的宽度等于4时,即隐含了使用非水平分割;并且当一相对应二叉树节点的块的高度等于4时,即隐含了使用非垂直分割。QTBT的叶节点可通过预测(帧内或帧间)和转换编解码进一步来处理。
对于I-切片(I slice),通常会以亮度/色度分别编解码的方式来适用QTBT树结构。例如,QTBT树结构会分别适用在I-切片的亮度与色度分量上,而对于P-和B-切片的亮度与色度则一起适用(当达到色度的某些最小尺寸时会有例外产生)。换言之,在I-切片中的亮度CTB有其QTBT树结构块分割,而二个色度CTB有另外一QTBT树结构块分割。在另一例子中,二个色度CTB也可以有他们自己不同的QTBT树结构块分割。
高效率视频编解码(HEVC)是由视频编码联合协作小组(Joint CollaborativeTeam on Video Coding,JCT-VC)所发展的新一代国际性视频编解码标准。HEVC是基于混合块为基础的运动补偿类似DCT转换的编解码架构。补偿的基本单元(称为编解码单元,CU)是一2Nx2N的方型块,而每一CU可以递归式地被分割成四个较小的CU,一直达到预定的最小尺寸为止。每个CU包括一或多个预测单元(Prediction Unit,PU)。
为达成HEVC中混合编解码架构的最佳编解码效率,对于每一PU有两种预测模式(即帧内预测与帧间预测)。对于帧内预测模式而言,可以用空间相邻重构像素来产生方向性的预测,在HEVC中有多达35种方向。对于帧间预测模式而言,可以用时间重构参考帧来产生运动补偿的预测,有三种不同模式,包括跳过(Skip)、合并(Merge)以及帧间高级运动向量预测(帧间AMVP)模式。
当一PU是以帧间AMVP模式编码时,运动补偿的预测是由所传送来的运动向量差异(motion vector differences,MVD)来进行,MVD可以与运动向量预测子(Motion VectorPredictors,MVP)一起使用来推导出运动向量(motion vector,MV)。为了决定帧间AMVP模式下的MVP,可以使用高级运动向量预测(AMVP)的架构来选出一运动向量预测子,方式是从包括二空间MVP以及一时间MVP的一AMVP候选组中选出。因此在AMVP模式下,需要对MVP的MVP索引以及相对应的MVD进行编码与传送。此外,帧间预测方向(用来表明在双向预测以及单向预测之间的预测方向,也就是列表List0(L0)以及列表List1(L1))以及对于每一列表所伴随的参考帧索引也应予以编码与传送。
当一PU是以跳过模式或合并模式编码时,除了被选到的候选的合并索引之外,是不会传送运动信息的,这是因为跳过与合并模式是使用运动推论(motion inference)方法。由于跳过与合并模式的运动向量差异(MVD)为零,对于跳过或合并编码块的MV和运动向量预测子(MVP)是相同的(即MV=MVP+MVD=MVP)。因此,跳过或合并编码块是从位于一并位画面(co-located picture)中的空间相邻块(空间候选)或是时间块(时间候选)来取得运动信息。所述的并位画面是切片头(slice header)中所发信的列表0或列表1中的第一个参考画面。如果是跳过模式的PU(Skip PU),则残差信号也会被省略。为了决定跳过与合并模式的合并索引,会使用合并架构从包括四空间MVP与一时间MVP的一合并候选组中,选出一运动向量预测子。
图6示出了AMVP与合并架构二者中使用来推导空间与时间MVP的相邻PU。在AMVP中,左方MVP是在A0、A1中第一个可用的MVP,上方MVP是在B0、B1、B2中第一个可用的MVP,而时间MVP是在TBR或TCTR中第一个可用的MVP(先使用TBR;如果TBR是不可用的,则再使用TCTR)。如果左方MVP是不可用的而且上方MVP不是缩放的(scaled)MVP,则如果在B0、B1与B2中有一缩放的MVP,就可以推导出第二个上方MVP。在HEVC中AMVP的MVP的列表大小是2。因此,在二空间MVP与一时间MVP的推导过程后,仅有前二个MVP可以被纳入于MVP列表中。在移除冗余之后,如果可用的MVP数目少于2,则在候选列表中加入零向量候选。
如图6所示对于跳过与合并模式而言,最多有四个空间合并索引可以从A0,A1,B0与B1推导出以及一个时间合并索引可以从TBR或TCTR推导出(先使用TBR;如果TBR是不可用的,则再使用TCTR)。要注意的是,如果四个空间合并索引中任何一个是不可用的,则位置B2被用来推导合并索引以作为替代。在四空间合并索引与一时间合并索引的推导过程后,则使用移除冗余来移除冗余的合并索引。在移除冗余之后,如果可用的合并索引数目小于5,则三种额外的候选会被推导出并加入于候选列表中。
通过使用原始的合并候选来创建出额外双向预测的合并候选。所述额外的候选可以分为三种候选类型:
1.结合型(combined)双向预测合并候选(候选类型1)
2.缩放型(scaled)双向预测合并候选(候选类型2)
3.零向量合并/AMVP候选(候选类型3)
在候选类型1中,结合型双向预测合并候选是通过结合原始的合并候选来创建出。尤其,双向预测合并候选是使用在原始候选中的二个候选来创建的:其中有mvL0(列表0中的运动向量)与refIdxL0(列表0中的参考画面索引);或是mvL1(列表1中的运动向量)与refIdxL1(列表1中的参考画面索引)。图7示出了结合型双向预测合并候选推导过程的一例子。候选组710相对应于一原始候选列表,其包括L0中的mvL0_A,ref0(731)与L1中的mvL1_B,ref(732)。如图7中流程730所示,通过结合L0与L1中的候选,可以形成一双向预测MVP733。
在候选类型2中,缩放型双向预测合并候选是通过缩放原始的合并候选来创建出。尤其,双向预测合并候选是使用在原始候选中的一个候选来创建的:其中有mvLX(列表X中的运动向量)与refIdxLX(列表X中的参考画面索引),X可以是0或1。例如,一候选A是列表0有mvL0_A与ref0的单向预测,ref0先拷贝到列表1的参考索引ref0’。之后以ref0与ref0’来缩放mvL0_A并藉以计算出mvL0’_A。然后,具有列表0中mvL0_A与ref0以及列表1中mvL0’_A与ref0’的双向预测合并候选则被创建出并加入于合并候选列表中。图8A示出了缩放型双向预测合并候选推导过程的一例子,其中候选列表810相对应于一原始候选列表,而候选列表820相对应于一扩大候选列表,其包括如流程830所显示的二个产生出来的双向预测MVP。
在候选类型3中,零向量合并/AMVP候选是通过结合零向量与可以被参考的参考索引来创建出。图8B示出了加入零向量合并候选的例子,其中候选列表840相对应于一原始候选列表,而候选列表850相对应于通过加入零向量而扩展的合并候选列表。图8C示出了加入零向量AMVP候选的例子,其中候选列表860(L0)与862(L1)相对应于原始AMVP候选列表,而候选列表870(L0)与872(L1)相对应于通过加入零向量而扩展的AMVP候选列表。如果零向量候选不重复,则将其加入合并/AMVP候选列表中。
IBC模式
在HEVC屏幕内容编码扩展(SCC extensions)的标准制定过程中,当前画面参考(CPR)或帧内块复制(IBC)已经被提出。其被证实对于编解码屏幕内容视频数据是有效率的。IBC的操作和视频编解码器中原本的帧间模式是很相似的。然而,其参考画面是当前已被解码帧,而不是之前被编码帧。IBC的有些细节可以在下列文件中找到:JVET-K0076(由X.Xu等人所提的“CE8-2.2:Current picture referencing using reference indexsignaling”,于国际电信通讯联盟-电信标准化部门,研究小组16,工作集会3(ITU-T SG16WP3)以及国际标准化组织/国际电工协会的第一技术委员会第29子委员会第11号工作组(ISO/IEC JTC1/SC29 WG11)下辖的联合视频专家组(JVET)中,第11次会议:在斯洛文尼亚的卢布尔雅那(Ljubljana,SI),2018年7月10–18日,文件JVET-K0076);以及由Xu等人所提的技术论文(X.Xu,et al.,“Intra Block Copy in HEVC Screen Content CodingExtensions,”IEEE J.Emerg.Sel.Topics Circuits Syst.,vol.6,no.4,pp.409-419,2016)。
IBC编解码模式需要来自当前画面的参考样本,尤其对一当前块进行IBC编解码时常需要当前块正上方或左方的参考样本。因此,必须等到相邻样本完全处理与重构之后才能对当前块进行IBC处理,这也对于硬件设计增添非常严格的约束限制。为了使IBC在于硬件设计上更友善,因此有需要发展一些技术来克服此一问题。
发明内容
揭示一种帧间预测方法与装置,用于包括帧内块复制(IBC)编解码工具的视频编解码。根据本发明的一种方法:在视频编码器侧接收关于一当前画面的一当前块的输入数据,或在视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块。识别(identifying)该当前块所处的该当前画面之中一当前允许带(current permitted band)。选择一目标IBC候选,其中该目标IBC候选的一目标块向量从该当前块指向该当前画面中的一目标参考块。通过考虑该目标IBC候选与该当前允许带,来产生一调整后的候选列表。使用该调整后的候选列表,于该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该调整后的候选列表,于该视频解码器侧解码与该当前块相关的当前运动信息。
在一实施例中,如果该目标参考块不完全在该当前允许带之内,则将该目标IBC候选自该调整后的候选列表中移除。
在一实施例中,该目标IBC候选相对应于一预设的候选。如果该目标参考块不完全在该当前允许带之内,则调整该目标IBC候选使得该目标参考块完全在该当前允许带之内。该目标IBC候选通过下列方式加以调整:对该目标IBC候选的一x-分量加入一第一偏移量;对该目标IBC候选的一y-分量加入一第二偏移量;或是对该目标IBC候选的该x-分量与对该目标IBC候选的该y-分量分别加入该第一偏移量与该第二偏移量。
在一实施例中,在该调整后的候选列表中该目标IBC候选的位置顺序,是基于该目标IBC候选与该当前允许带来决定。例如,决定在该调整后的候选列表中该目标IBC候选的位置顺序,可以取决于该目标参考块是否完全在该当前允许带之内。如另一例子,该目标IBC候选于该调整后的候选列表的放置方式,是要使得该目标参考块如果在该当前允许带之外,该目标IBC候选在该调整后的候选列表的一目标位置是接近于该调整后的候选列表的一后面部份(rear part)。再如另一例子,该目标IBC候选于该调整后的候选列表的放置方式,是要使得该目标参考块如果在该当前允许带之内,该目标IBC候选在该调整后的候选列表的一目标位置是接近于该调整后的候选列表的一前面部份(front part)。
在一实施例中,在该调整后的候选列表中该目标IBC候选的位置顺序,进一步是基于L-型模版匹配成本(L-shape template matching cost)来决定。
该调整后的候选列表相对应于一合并候选列表或高级运动向量预测(AdvancedMotion Vector Prediction,AMVP)候选列表。
在另一方法,识别(identifying)该当前块所处的该当前画面之中一当前允许带(current permitted band)。在一编码器侧发信一目标运动向量差异(Motion VectorDifference,MVD)的一语法或是在一解码器侧解析该目标MVD的该语法,而且是在无该目标MVD的符号信息或是该目标MVD的符号信息减少(或称减少型的符号信息,reduced signinformation)的情况下,通过使用包括当前允许带信息的边信息来进行,其中该目标MVD相对应于该当前块的一当前运动向量与一目标IBC候选之间的一差异。使用一高级运动向量预测(Advanced Motion Vector Prediction,AMVP)候选列表,于该视频编码器侧编码与该当前块相关的当前运动信息,或是于该视频解码器侧解码与该当前块相关的当前运动信息,其中该AMVP候选列表包括该目标IBC候选。
在一实施例中,相关于该目标MVD的正确符号的解码,是基于在该解码器侧的该当前允许带,对于在该解码器侧的该目标MVD的可能符号组合来进行解码的,而且是在无该目标MVD的符号信息或是用该目标MVD的符号信息减少的情况下来进行的。例如,所述的正确符号会造成(causes)被该目标IBC候选所指向(pointed)的一参考块是在该当前允许带之内。如另一例子,如果该目标MVD的一目标组合会造成该目标MVD的该目标组合相关联的一参考块是在该当前允许带之外的时候,则该目标MVD的该目标组合会被排除在与该目标MVD相关联的正确的符号的候选之外。
附图说明
图1示出了块分割的一个例子,使用四叉树结构来将一编解码树单元(CTU)分割成数个编解码单元(CUs)。
图2标出了根据高效率视频编码(HEVC)的非对称运动分割(AMP),其中AMP定义了八个形状来将一CU分割成PU。
图3标出了二叉树分割结构所使用的多种二元分割类型的例子,其中使用分割类型可将一块递归地分割成两个较小块。
图4示出了块分割及其相应的二叉树的例子,其中在二叉树的每个分割节点(即非叶节点)上,一个语法被用来表示使用了哪种分割类型(水平或垂直),其中0可表示水平分割,1可表示垂直分割。
图5示出了块分割及其对应的QTBT的例子,其中实线表示四叉树分割,而虚线表示二叉树分割。
图6示出了AMVP与合并架构二者中使用来推导空间与时间MVP的相邻PU。
图7示出了结合型双向预测合并候选推导过程的一例子。
图8A示出了缩放型双向预测合并候选推导过程的一例子,其中在左方的候选列表相对应于一原始候选列表,而在右方的候选列表相对应于一扩大候选列表,其包括二个所产生出来的双向预测MVP。
图8B示出了加入零向量合并候选的例子,其中在左方的候选列表相对应于一原始合并候选列表,而在右方的候选列表相对应于通过加入零候选而扩展的合并候选列表。
图8C示出了加入零向量AMVP候选的例子,其中在上方的候选列表相对应于原始AMVP候选列表(L0在左方,而L1在右方),而在下方的候选列表相对应于通过加入零向量而扩展的AMVP候选列表(L0在左方,而L1在右方)。
图9A标出了IBC参考区域的一个例子,其中在QT(四叉树)或HBT(水平二叉树)被用来作为当前CTU层级(CTU level)。
图9B标出了IBC参考区域的一个例子,其中在QT(四叉树)或VBT(垂直二叉树)被用来作为当前CTU层级。
图10A示出了一个例子,在SCU分割树的一前置(ancestor)节点(称为合并分享节点)的所有叶CU来共同分享一相同的候选列表。
图10B示出了类型-1与类型-2的分享合并候选列表,其中利用三叉分割来将一CU分割成三个子CU。
图11A与图11B根据本发明的实施例示出了保护带或允许带的例子,其中标示“保护带内”的区域像素是保护带的区域,而不属于保护带的区域是允许带。
图11C至图11F根据本发明的实施例示出了当前CU的可允许带。
图12A根据本发明的实施例示出了“通过保护带进行MVD减量”的例子,其中参考CU的位置是在保护带的左方,而MVD减量是一水平部分减量。
图12B根据本发明的实施例示出了“通过保护带进行MVD减量”的例子,其中参考CU的位置是在保护带的上方,而MVD减量是一垂直部分减量。
图12C根据本发明的一实施例示出在无MVD的符号信息或是用MVD的减少型的(reduced)符号信息下,来对MVD解码的一个例子。
图13根据本发明的一实施例示出了具有IBC编解码工具的示例性编解码系统的一流程图。
图14根据本发明的一实施例示出了具有IBC编解码工具的示例性编解码系统的另一流程图。
具体实施方式
在接下来的说明是实施本发明所最佳能思及的方式,在此说明的目的是为了阐释本发明的一般性原则,不应受所述说明性细节的限制,而本发明的范围最佳方式是由参照所附的申请专利范围来决定。
虽然帧内块复制(IBC)的方法已经显示能改善编解码的效率,在当前块与其相邻重构样本之间却存在着处理上的依存度,这会减缓整体系统的效率。因此有需要发展一些方法来减轻所述依存度的问题并使硬件设计更容易。
多功能视频编码(VVC)-类型的帧内块复制模式(CPR模式)
帧内块复制模式已经被纳入于新兴的视频编解码标准,称为VVC(多功能视频编码)中做为一种编解码工具。在以下简短地检视多功能视频编码-类型的帧内块复制模式。
多功能视频编码(VVC)类型-帧内块复制模式(IBC)
帧内块复制模式(IBC)是HEVC在屏幕内容编码扩展(extensions on SCC)中所采用的一种编解码工具。如众所周知的,其被证实对于编解码屏幕内容视频数据是有效率的。由于IBC模式是实施在块-层次的编解码模式,块匹配(Block Matching,BM)是在编码器实施来对于每一CU找到最佳块向量(或运动向量)。运动向量用来指示从当前块到当前画面中已经被重构的一参考块的位移。根据目前的方式,一个IBC编码的CU的亮度运动向量总是在整数的精确度。而彩度运动向量也是裁剪至整数的精确度。当与自适应运动向量分辨率(Adaptive Motion Vector Resolution,AMVR)相结合时,IBC模式可以在1-像素(1-pel)和4-像素(4-pel)的运动向量精确度之间切换。IBC编码的CU被当成是帧内或帧间预测模式之外的第三种预测模式。
为降低内存消耗与解码器复杂度,VTM4文件中仅允许可以使用包括当前CTU的预先定义区域的重构部分。VTM4是由J.Chen等人所提的“Algorithm Description forVersatile Video Coding and Test Model 4(VTM 4)”,于国际电信通讯联盟-电信标准化部门,研究小组16,工作集会3(ITU-T SG16 WP3)以及国际标准化组织/国际电工协会的第一技术委员会第29子委员会第11号工作组(ISO/IEC JTC1/SC29 WG11)下辖的联合视频专家组(JVET)中,第13次会议:在麻州的马拉喀什(Marrakech,MA),2019年1月9–18日,文件JVET-M1002。在硬件实作时,这个限制允许使用本地的芯片内载内存来实施IBC模式。
在编码器侧,则实施基于散列(hash-based,也称哈希或哈希)的运动估计来进行IBC。对于宽度或高度不大于16亮度样本的块,编码器会进行率–失真(Rate-Distortion,RD)检查。对于非合并模式,则先使用基于散列的搜寻来进行块向量搜寻。如果所述散列搜寻并未得出一有效的候选,则进行基于块匹配的本地搜寻。
在基于散列的搜寻中,在当前块与一参考块之间的散列关键码匹配(32位CRC循环冗余检查)则被扩展到所有被允许的块尺寸。对于当前画面中每一个位置的散列关键码计算则是基于4x4子块所进行的。当所有4x4子块的所有散列关键码与相对应参考位置的散列关键码相互匹配时,则对于尺寸较大的当前块的散列关键码就会被决定是与参考块的散列关键码相匹配。如果发现多个参考块的散列关键码是与当前块的散列关键码相匹配,则计算出每一相匹配的参考的块向量成本并且选出其中具最小成本者。
在块匹配搜寻中,搜寻范围则设定于当前CTU中当前块的左方与上方N个样本。在CTU的开始,如果没有时间参考画面,则N的值初始化设为128;如果至少有一时间参考画面,则初始化设为64。一散列命中率是定义为对CTU样本使用基于散列的搜寻而发现其中匹配的百分比。在编码当前CTU时,如果散列命中率低于5%,则将N减半。
在CU的层次,会使用一旗标将IBC模式发信出去,而可用下列方式将其发信为IBCAMVP模式或IBC跳过/合并模式:
IBC跳过/合并模式:使用一合并候选索引来指示从相邻候选IBC编码块的列表中的哪一个块向量是用来预测当前块。合并列表由空间、HMVP(基于过去历史依据的MVP)与配对(pairwise)候选所组成。
IBC AMVP模式:以和运动向量差异相同的方式来对块向量差异进行编码。块向量预测方法使用二个候选来作为预测子:一是从左方相邻而一是从上方相邻(如果是以IBC编码的)。当任一相邻是不可用的,则使用一预定块向量来作为预测子。会发信一旗标来指示块向量预测索引。
多功能视频编码(VVC)类型-与其他编解码工具的IBC互动
IBC模式被VTM3所纳入采用(由J.Chen等人所提的“Algorithm Description forVersatile Video Coding and Test Model 3(VTM 3)”,于国际电信通讯联盟-电信标准化部门,研究小组16,工作集会3(ITU-T SG16 WP3)以及国际标准化组织/国际电工协会的第一技术委员会第29子委员会第11号工作组(ISO/IEC JTC1/SC29 WG11)下辖的联合视频专家组(JVET)中,第12次会议:在中国的澳门(Macao,CN),2018年10月3–12日,文件JVET-L1002。然而,IBC模式与新采用的编解码工具(例如:配对合并候选、基于过去历史的运动预测、帧内/帧间多重假设模式(CIIP)、具有运动向量差异的合并模式(MMVD)以及三角分割)之间的互动则是在VTM4中有较清楚的定义。
首先,IBC可以与配对合并候选以及基于过去历史的运动预测子一起使用。可以通过将二个IBC合并候选平均来产生一新的配对IBC合并候选。对基于过去历史的运动预测子而言,IBC运动会被插入于历史缓冲器中作为之后的参考。
其次,IBC不可与其他帧间工具(例如:仿射运动、帧内/帧间多重假设模式(CIIP)、具有运动向量差异的合并模式(MMVD)以及三角分割)一起使用。
当前画面不再纳入参考画面列表list0中作为一个参考画面。对IBC模式的运动向量推导过程会排除所有帧间模式相邻块,反之亦然。IBC与其他编解码工具的互动则摘要于下。
共享与一般MV合并(包括配对合并候选以及基于过去历史的运动预测子)相同的流程;但是不允许时间运动向量预测(TMVP)以及零向量,因为他们在IBC模式下是无效的。
使用分别的HMVP缓冲器(其中每一个具有5个候选)于传统的MV与IBC。
约束会实作于比特流中;没有无效的向量;如果合并候选是无效的(即超过范围或0),则不可以使用合并。
对于解块(deblocking),IBC被视为帧间模式。
帧内/帧间多重假设模式(CIIP)不使用IBC。
自适应运动向量分辨率(AMVR)不使用四分之一-像素(quarter-pel),其中会发信AMVR来指示MV是否为整数-像素或是4整数-像素。
VVC类型中帧内块复制模式的允许带的约束
在VVC类型IBC模式中,当前画面的参考样本有一重要的带约束,如JVET-N0173所示(由H.Gao等人所提的“Non-CE8:IBC Reference Area Rearrange”,于国际电信通讯联盟-电信标准化部门,研究小组16,工作集会3(ITU-T SG16 WP3)以及国际标准化组织/国际电工协会的第一技术委员会第29子委员会第11号工作组(ISO/IEC JTC1/SC29 WG11)下辖的联合视频专家组(JVET)中,第14次会议:在瑞士的日内瓦(Geneva,CH),2019年3月19–27日,文件JVET-N0173。
在VVC初稿4.0使用当前CTU和左方CTU中二者的样本来预测IBC模式。在当前CTU中,所有重构样本都可以用作当前IBC块的参考。在当前CTU的左方CTU中,所述CTU会被分为4个64x64的区域。如果在当前CTU的并位画面64x64区域还未被重构的话,则左方CTU的64x64区域会被考虑为当前IBC块的参考。图9A示出了使用QT(四叉树)分割或HBT(水平二叉树)分割的CTU层级(CTU level)。在处理步骤910中,在当前CTU中的当前64x64区域912尚未处理。因此,则使用左方CTU并位64x64区域914作为当前IBC块912的参考。在处理步骤920中,使用左方CTU并位64x64区域924作为当前IBC块922的参考。在处理步骤930中,使用左方CTU并位64x64区域934作为当前IBC块932的参考。在处理步骤940中,使用左方CTU并位64x64区域944作为当前IBC块942的参考。图9B示出了使用VBT(垂直二叉树)分割的CTU层级。在处理步骤950中,在当前CTU中的当前64x64区域952尚未处理。因此,则使用左方CTU并位64x64区域954作为当前IBC块952的参考。在处理步骤960中,使用左方CTU并位64x64区域964作为当前IBC块962的参考。在处理步骤970中,使用左方CTU并位64x64区域974作为当前IBC块972的参考。在处理步骤980中,使用左方CTU并位64x64区域984作为当前IBC块982的参考。
在VVC类型IBC模式中,如之前描述所显示的,当前画面的参考样本有一重要的带约束。然而,VVC类型IBC在未来有可能改变允许带的定义。因此,在本发明中一般性的允许带有二部份的定义:
·一部份是当前CTU中的重构样本,以及
·另一部份是前一个CTU中的某个重构样本。
共享候选列表
根据这个技艺,在CU分割树的一前置(ancestor)节点的所有叶CUs会共同分享相同的合并候选列表,来致能平行处理小的以跳过/合并编码的CU。而前置节点则称为合并共享节点。共享的合并候选列表是在合并共享节点产生的,并假装合并共享节点是一叶CU。
图10A示出了合并共享节点4个例子。共享的合并候选列表是为划虚线的虚拟CU(即合并共享节点)而产生的。在分割1010,相对应于一8x8块的合并共享节点被分割为4个4x4的块。在分割1020,相对应于一8x8块的合并共享节点被分割为2个4x8的块。在分割1030,相对应于一4x16块的合并共享节点被分割为2个4x8的块。在分割1040,相对应于一4x16块的合并共享节点被分割为2个4x4的块与1个8x8的块。
根据这个共享候选列表的技艺,有两种类型的尺寸阀值定义,如图10B示出的类型-1(1050)与类型-2(1060)。对于类型-1的定义,在解码的解析阶段,会为一CTU内每一CU决定其合并共享节点。此外,在符合以下二条件时,在叶CU的所有前置节点中,合并共享节点会是最大的前置节点:
(1)合并共享节点的尺寸等于或小于所述的尺寸阀值,以及
(2)没有合并共享节点的样本是在画面边界之外。
因此,当合并共享节点完全是在当前画面之内时,合并共享节点的母节点(parentnode)会大于所预定的尺寸阀值。
对于类型-2的定义,在解码的解析(parsing)阶段,会为一CTU内每一CU决定其合并共享节点。此外,在符合以下二条件下,合并共享节点会是叶CU的一前置节点:
(1)合并共享节点的尺寸等于或大于所述的尺寸阀值,以及
(2)在合并共享节点,其子CU之一的尺寸是小于所述的尺寸阀值。
此外,需要保证合并共享节点的样本,并没有在画面边界之外。在解析阶段,如果一前置节点符合条件(1)与(2)但却有一些样本是在画面边界之外,则此种前置节点将不会是合并共享节点,而其会接着去为其子CU寻找合并共享节点。
图10B示出了一些例子,其中母节点经由三叉分割成三个子CU。母节点的尺寸大小是128。对于类型-1的定义,三个子CU会分别为合并共享节点。然而对于类型-2的定义,母节点才是合并共享节点。
所述共享合并候选列表的方法支持平移型的合并(translational Merge)以及基于子块的合并模式,翻译型的合并包括合并模式、三角合并模式、基于过去历史的候选。对于所有种类的合并模式,共享合并候选列表算法的行为基本上都相同;也就是在合并共享节点产生候选,并假装合并共享节点是一叶CU。这有二大优点。优点一是使得合并模式能进行平行处理,优点二是在合并共享节点中来共享所有叶CU的计算。因此对于硬件编解码器,这可以大幅降低所有合并模式的硬件成本。根据所述共享合并候选列表算法,编码器与解码器对于合并模式可以很容易支持平行处理。所述共享合并候选列表算法减轻了合并模式中硬件的频率周期的配额(cycle budget)问题。
此外,共享候选列表可以应用在合并模式、与/或高级运动向量预测(AMVP)模式、与/或帧内块复制合并(IBC Merge)模式、与/或帧内块复制高级运动向量预测(IBC AMVP)模式。
自适应运动向量分辨率(Adaptive motion vector resolution,AMVR)
在HEVC中,当切片头中的use_integer_mv_flag旗标等于0时,会在四分之一-亮度-样本(quarter-luma-sample)的单元中发信运动向量差异(MVDs,一CU的运动向量与预测运动向量之间)。在VVC中,则引进一CU水平层级的自适应运动向量分辨率(AMVR)架构。AMVR允许CU的MVD可在四分之一-亮度-样本、整数-亮度-样本、四-亮度-样本的单元中被编码。如果当前CU具有至少一非零MVD成分时,则CU水平层级的MVD分辨率指示会有条件地被发信。如果所有MVD成分(即参考列表L0与参考列表L1中水平与垂直MVDs二者)都是0时,则推论出四分之一-亮度-样本MVD分辨率。
对于具有至少一非零MVD成分的CU,会发信一第一旗标来指示对该CU是否使用四分之一-亮度-样本MVD精确度。如果第一旗标是0,则无需进一步发信并且就使用四分之一-亮度-样本MVD精确度于当前CU。不然,则发信一第二旗标来指示是使用整数-亮度-样本还是四-亮度-样本的精确度。为了确保重构MV具有所预期的精确度(四分之一-亮度-样本、整数-亮度-样本、四-亮度-样本),所述CU的运动向量预测子在加入到MVD之前会先被处理至与MVD相同的精确度。运动向量预测子会被舍入(rounded)至接近0(即一负的运动向量预测子会被舍入至接近正的无限大,而一正的运动向量预测子会被舍入至接近负的无限大)。编码器会使用率–失真(Rate-Distortion,RD)检查来决定当前CU的运动向量分辨率。在VTM4中,对四-亮度-样本MVD分辨率的RD检查仅有条件地行使,以避免对于每一MVD分辨率总要进行三次CU水平层级的RD检查。首先会计算出四分之一-亮度-样本MVD精确度的RD成本,然后会比较整数-亮度-样本MVD精确度以及四分之一-亮度-样本MVD精确度的RD成本,以决定是否需要进一步检查四-亮度-样本MVD精确度的RD成本。当四分之一-亮度-样本MVD精确度的RD成本远小于整数-亮度-样本MVD精确度的RD成本时,就会跳过四-亮度-样本MVD精确度的RD检查。
方法1-IBC模式中的保护带
为了使IBC在于硬件设计上更友善,根据本发明的一实施例提出了保护带的方法。当对于IBC模式编解码时,可以有一保护带。所谓保护带是在当前画面中IBC运动向量无法指向的一区域。换言之,IBC运动向量所指向的参考块的必要像素(包括为了外插滤波器的一些额外的像素)不可以包括保护带中的像素。另一术语“允许带”则可定义为保护带的相反。
“允许带”是当前画面中像素的区域而不属于保护带。“允许带”也可定义为:IBC的运动向量所指向的参考块的必要参考块像素(包括用于外插滤波器的一些额外的像素)必须全都在允许带之内。在适当的情况下“保护带”与“允许带”的用语在本揭示中可以互换使用。例如,“在当前块一保护带之外的参考样本”一词是等同于“在当前块一允许带之内的参考样本”。
有几种类型的保护带或允许带,包括接近-当前-CU的保护带(near-current-CUguard band)以及远离-当前-CU的保护带(far-current-CU guard band)(也称为接近-当前-CU的允许带,near-current-CU permitted band)。
接近-当前-CU的保护带
在接近-当前-CU的保护带中,接近当前CU的区域像素是禁止被使用为参考像素的。接近-当前-CU的保护带的有些例子则显示于图11A与图11B,其中标示“保护带内”的区域像素是保护带的区域,而不属于保护带的区域是“允许带”。“允许带”是IBC运动向量所指向的参考块的必要块像素(包括为了外插滤波器的一些额外的像素)的被允许区域。所述“允许带”相对应于IBC模式的MV可以指向的一区域。
应注意的是,图11A与图11B仅为接近-当前-CU的保护带的例子,本发明不限于这些例子,所提出的“接近-当前-CU的保护带”可以是靠近当前CU的任何像素区域。
远离-当前-CU的保护带(或接近-当前-CU的允许带)
在所提出远离-当前-CU的保护带中,远离当前CU的区域像素是禁止被使用为参考像素的。远离-当前-CU的保护带的有些例子则显示如下。图11C中,在当前CU上方有些像素行(灰色长方型区域)以及在当前CU左方有些像素栏(灰色长方型区域)被标示为允许带。而任何不属于允许带的像素则被分类为是远离-当前-CU的保护带。第11D图中,在当前CU上方的像素(但是在当前CTU之内)被标示为允许带,以及在当前CU左方相邻的像素(但是在当前CTU之内)被标示为允许带。而任何不属于允许带的像素则被分类为是远离-当前-CU的保护带。图11E中,允许带是图11D中的允许带加上前一个CTU,而任何不属于允许带的像素则被分类为是远离-当前-CU的保护带。图11F中,允许带是图11D中的允许带加上前一个CTU中的有些像素栏,而任何不属于允许带的像素则被分类为是远离-当前-CU的保护带。
另一个非常重要允许带的实施例是VVC类型IBC模式的允许带。在VVC类型IBC模式中,如前所述,当前画面的参考样本有重要的带约束。
应注意的是,上述图示的是为了阐明远离-当前-CU的保护带的例子,本发明不限于这些例子,所提出的“远离-当前-CU的保护带”可以是远离当前CU的任何像素区域。
方法2–关于IBC保护带的合并模式强化
在保护带限制下为了改善IBC编解码的增益,关于IBC保护带的合并模式强化的一些新方法被提出。
应注意的是,根据当前CU尺寸大小或共享母CU尺寸大小,在以下部分所有描述的子方法都可以被启动或关掉。也就是说,如果当前CU尺寸大小或共享母CU尺寸大小大于一预定阀值,可以关掉子方法之一(即失效,disabled)。在另一实施例中,如果当前CU尺寸大小或共享母CU尺寸大小小于一预定阀值,可以关掉子方法之一(即失效,disabled)。
方法2.1–根据保护带或允许带进行合并候选移除
在这个提出的方法中,参考CU不在允许带中的合并候选会被移除。换言之,参考CU部份在保护带之内。例如,如果IBC的合并列表有3个候选(即候选0、候选1与候选2),而且候选0的MV不在允许带中,则候选0会从合并列表中被移除或被当成为不可用的。在另一个实施例中,“部份在保护带之内”的条件被取代为“部份在允许带之外”。
此外,可以基于共享候选列表方法的共享母CU边界来应用这个算法。换言之,根据IBC保护带对于共享候选列表进行候选移除的过程中,“参考CU是否在保护带之内”可以基于共享母CU边界的尺寸规模(即宽、高、位置)来判断。换言之,参考CU是基于共享母CU边界再经由BV(块向量)加以位移。可以通过候选重排序来修正共享候选列表。
方法2.2–经过调整的预设(即产生出的)候选
对于一个传统的合并模式,当合并列表中的候选数目低于最大的合并列表候选数目,则可以于合并列表中加入一些“产生出的候选”零MV。这些产生出的候选可称为“预设候选”或“产生出的候选”。当在处理具有保护带IBC的合并模式之时,根据本发明的一实施例,预设候选自然就会改变成为在允许带之内。
在这个提出的方法中,对于具有保护带的IBC,如果预设候选不在允许带之内,则预设候选会被调整为在允许带之内。以下显示出多种的实施例。
实施例2.2.1–只调整MV的水平部份,例如直接将MV_x加一数值,使得修正后的候选可以在允许带之内。例如可以使预设MV=(-W,0),其中W是当前CU的宽度。
实施例2.2.2–只调整MV的垂直部份,例如直接将MV_y加一数值,使得修正后的候选可以在允许带之内。例如可以使预设MV=(0,-H),其中H是当前CU的高度。
实施例2.2.3–这个实施例是多个-预设-候选方法。在此方法中,会在合并列表中插入多个预设候选,而每一个预设候选有自己的产生规则,使得修正后的候选可以在允许带之内。在一例子中,(MV_x+常数)是一个经过调整后的预设候选。在另一例子中,(MV_y+常数)是一个经过调整后的预设候选。在另一例子中,(MV_x+常数1,MV_y+常数2)是一个经过调整后的预设候选。
实施例2.2.4–在这个实施例中,直接缩放合并候选之一使其在允许带之内。所述MV缩放是对于合并候选之一(例如候选0)将(MVx,MVy)乘上一预定的常数。经过缩放的候选则插入于合并列表中。
预设候选的调整方法不限于上述例示性的实施例中。任何由于IBC保护带而来调整预设候选的方法都可以使用。
方法2.3–根据允许带进行候选重排序
在这个提出的方法中,会根据允许带来对候选列表中的合并候选的顺序重新排序。换言之,会根据候选是否完全处于允许带中来对合并候选重新排序。如果候选是在允许带之外,则倾向将此候选重排序至候选列表中一较后面的位置。如果候选是在允许带之内,则倾向将此候选重排序至候选列表中一较前面的位置。对于2个候选都是在允许带之外,则在候选列表中倾向将“较靠近允许带”的候选重排放在“远离允许带”之前。
此外,可以基于共享候选列表方法的共享母CU边界来应用这个算法。换言之,根据IBC允许带对于共享候选列表进行候选重排序的过程中,可以基于共享母CU边界的尺寸规模(例如宽度、高度、位置)来判断“参考CU是否在允许带之内”。换言之,参考CU是基于共享母CU边界再经由BV(块向量)加以位移。可以通过候选重排序来修正共享候选列表。
在另一实施例中,也可以根据L-型模版匹配成本来进行候选重排序。L-型模版包括当前L-型模版与参考L-型模版。当前L-型模版包括当前CU的上方相邻像素与/或当前CU的左方相邻像素。参考L-型模版包括参考CU的上方相邻像素与/或参考CU的左方相邻像素。SAD(sum of absolute difference,绝对差的总和)匹配算法或SSD(sum of squaredifference,平方差的总和)匹配算法可以由当前L-型模版与参考L-型模版之间计算而得。可以依据所有候选的匹配成本来将候选重排序。为简化L-型模版匹配的复杂度,L-型模版可以被简化成仅包括当前块之上的上方相邻像素,或是仅当前块左方的左方相邻像素。在另一实施例中,L-型模版可以被简化成仅包括上方相邻像素中部份的像素。在另一实施例中,L-型模版可以被简化成仅包括左方相邻像素中部份的像素。
方法3–关于IBC保护带或允许带的AMVP强化
在保护带限制下为了改善IBC编解码的增益,关于IBC保护带的AMVP模式强化有些新方法被提出。
应注意的是,根据当前CU尺寸大小或共享母CU尺寸大小,在以下部分所有描述的子方法都可以被启动或关掉。也就是说,如果当前CU尺寸大小或共享母CU尺寸大小大于一预定阀值,可以关掉子方法之一(即功能关掉而失效)。在另一实施例中,如果当前CU尺寸大小或共享母CU尺寸大小小于一预定阀值,可以关掉子方法之一(即功能关掉而失效)。
方法3.1–经过调整的预设候选
传统上,当AMVP列表中的候选数目低于最大的AMVP列表候选数目,则可以于AMVP列表中加入一些“产生出的候选”零MV。在具有保护带的IBC中,如果预设(即产生出的)AMVP候选不在允许带之内,则预设候选会被调整为在允许带之内或是接近允许带与保护带之间的边界。以下显示出多种的实施例。
实施例3.1.1–只调整MV的水平部份,例如直接将MV_x加一数值,使得修正后的候选可以在允许带之内或是接近允许带与保护带之间的边界。允许带与保护带之间的边界也可被称为允许带的边界。
实施例3.1.2–只调整MV的垂直部份,例如直接将MV_y加一数值,使得修正后的候选可以在允许带之内或是接近允许带与保护带之间的边界。。
实施例3.1.3–这个实施例是多个-预设-候选方法。此方法会在AMVP列表中插入多个预设候选,而每一个预设候选有自己的产生规则。例如,预设候选0所产生的方法可以是(MV_x+常数),而预设候选1所产生的方法可以是(MV_y+常数),而预设候选2所产生的方法可以是(MV_x+常数1,MV_y+常数2)。
实施例3.1.4–这个实施例直接缩放AMVP候选之一使其在允许带之内或是接近允许带与保护带之间的边界。在本实施例中,会直接缩放AMVP候选之一(例如候选0)来调整使其在允许带之内或是接近允许带与保护带之间的边界。经过缩放的候选则插入于AMVP列表中。所述缩放可通过将(MVx,MVy)乘上一预定的常数而完成。
预设候选的调整方法不限于上述例示性的实施例中。任何由于IBC保护带而来调整预设候选的方法都可以使用。
方法3.2–根据保护带或允许带进行候选移除
在这个提出的方法中,以下状况的AMVP候选会被移除:其中参考CU不在允许带中,或是在保护带中而与参考CU以及“在允许带与保护带之间的边界”之间的距离过大。例如,如果IBC的AMVP列表有3个候选(例如候选0、候选1与候选2),而且候选0的MV不在允许带中,或是在保护带中而与参考CU以及“在允许带与保护带之间的边界”之间的距离过大,则候选0会从AMVP列表中被移除或被当成为不可用的。
此外,可以基于共享候选列表方法的共享母CU边界来应用这个算法。换言之,根据IBC允许带对于共享候选列表进行候选重排序的过程中,可以基于共享母CU边界的尺寸规模(例如宽度、高度、位置)来判断“参考CU是否在允许带之内”。换言之,参考CU是基于共享母CU边界再经由BV(块向量)加以位移。可以通过候选移除来修正共享候选列表。
方法3.3–根据保护带或允许带进行候选重排序
在这个提出的方法中,会根据允许带来对候选列表中的AMVP候选的顺序重新排序。换言之,会根据候选是在保护带或在允许带,或是候选是否接近“在允许带与保护带之间的边界”,来对AMVP候选重新排序。如果候选是在允许带之外,则倾向将此候选重排序/放至候选列表中一较后面的位置(例如,将此候选放至候选列表中其原本预定位置之后的一位置)。如果候选是在允许带之内,则倾向将此候选重排序/放至候选列表中一较前面的位置(例如,将此候选放至候选列表中其原本预定位置之前的一位置)。对于2个候选都是在允许带之外,则在候选列表中倾向将“较靠近允许带”的候选重排放在“远离允许带”之前。
在另一实施例中,也可以根据L-型模版匹配成本来进行候选重排序。L-型模版包括当前L-型模版与参考L-型模版。当前L-型模版包括当前CU的上方相邻像素与/或当前CU的左方相邻像素。参考L-型模版包括参考CU的上方相邻像素与/或参考CU的左方相邻像素。SAD(sum of absolute difference,绝对差之总和)匹配算法或SSD(sum of squaredifference,平方差之总和)匹配算法可以由当前L-型模版与参考L-型模版之间计算而得。可以依据所有候选的匹配成本来将候选重排序。为简化L-型模版匹配的复杂度,L-型模版可以被简化成仅包括上方相邻像素,或是仅左方相邻像素。在另一实施例中,L-型模版可以被简化成包括仅有上方相邻像素中仅有部份的像素。在另一实施例中,L-型模版可以被简化成包括仅有左方相邻像素中仅有部份的像素。
方法3.4–通过保护带或允许带进行MVD减量
在具有保护带的IBC中,一种名为“通过保护带或允许带进行MVD减量”的方法被提出。在AMVP模式,当前MV预测子(例如AMVP候选列表中的一AMVP候选)的参考CU可能位于保护带之内。在这种情况下,它可以将MVD减去一数值(例如减去MVD的水平部分、或MVD的垂直部分、或二者)。这个减量值和从当前CU到保护带边界的距离有关(即在保护带与允许带之间的边界)。“通过保护带进行MVD减量”的一些例子显示于图12A与图12B。
在图12A中,参考CU的位置在远离保护带的左侧。由于需要额外的像素以进行分数的像素内插,参考CU有可能比当前CU大。MVD减量(如图12A所示)是一水平部分的减量,即
被传送的MVD=(mvd_x–“MVD减量值”,mvd_y)。
MVD减量的设计可以使得MVD传送位-率(即被传送的MVD)较短,因而可以改善编解码的增益。解码器可以从接收到的MVD再加回“MVD减量值”而来重构原始的MVD。
在图12B中,参考CU帧间的位置在远离保护带的上方。MVD减量(如图12B所示)是一垂直部分的减量,即
被传送的MVD=(mvd_x,mvd_y–“MVD减量值”)。
MVD减量的设计可以使得MVD传送位-率(即传送-MVD)较短,因而可以改善编解码的增益。解码器可以从接收到的MVD再加回“MVD减量值”而来重构原始的MVD。
MVD减量模式(即减去其水平部分、或垂直部分、或二者)可以发信于画面头、或切片头、或CTU层级、或CU水平层级中。在另一实施例中,也可以事先定义在一视频编解码系统为全-水平-部分-减量。在另一实施例中,也可以事先定义在一视频编解码系统为全-垂直-部分-减量。
方法3.5–通过保护带或允许带进行MVD符号预测
在具有保护带或允许带的IBC中,一种名为“通过保护带进行MVD符号预测”的方法被提出。在所提出的方法中,可以通过使用保护带的信息使得MVD的sent_sign_bits可以省下(saved)或减少(reduced)。换言之,解码器可以接收MVD而无符号信息,或是仅有部份的符号信息,或是经过转换的符号信息(例如转换成其他信息而后根据一些保护带的信息来解码出正确的符号)。根据保护带的位置、与相关于当前CU的距离、与MV预测子的大小(magnitude),正确的符号可以于解码器中隐含地(implicitly)判断出。在另一实施例中,根据保护带的位置、与相关于当前CU的距离、与MV预测子的大小、与从编码器传送来部份的符号信息,正确的符号可以被推导出。在另一实施例中,根据保护带的位置、与相关于当前CU的距离、与MV预测子的大小、与从编码器传送来经过转换的符号信息,正确的符号可以被推导出。在上文中揭示了对于MVD发信中减少比特率的方法,即使在无MVD的符号信息或是用减少型的符号信息下,仍可通过使用相关于MVD的其他信息来进行MVD信息的发信。例如,MVD的其他信息包括保护带的位置、与相关于当前CU的距离、与MV预测子的大小、保护带的位置、与相关于当前CU的距离、与MV预测子的大小。
图12C示出了一个例子。在这个案例中,编码器传送至解码器的只有垂直方向的MVD符号而无水平方向的MVD符号。在图12C中,MVD1、MVD2、MVD3与MVD4都有相同的MVD_x大小与MVD_y大小,但x的符号与y的符号都不相同。解码器可以很容易地推导出水平方向的MVD符号。在图12C中,由于MVD2与MVD4违反了保护带的限制条件,MVD2与MVD4是不正确的。因此,解码器可以很容易地判断出水平的符号是负值(即MVD运动向量水平的部分是负值)。
在一例子中,将(水平方向的与垂直方向的)2-位符号位转换成一新的码。MVD有大小的部分MVD_mag_x(>=0)与MVD_mag_y(>=0),以及符号的部分MVD_sign_x(0或1)与MVD_sign_y(0或1),其中符号位1表示负值的MVD而符号位0表示正值的MVD。在解码器侧,当前MVD的所有可能符号组合会先列成一符号候选列表。可以先假设有4个可能的符号组合即(MVD_sign_x,MVD_sign_y)=(0,0)、(0,1)、(1,0)或(1,1)。所接收的MVD_mag_x与MVD_mag_y可以用来产生4个可能的MVD。在符号候选列表中,以“参考CU是否在允许带之内”来检查“假设的”4个MVD(具有符号(0,0)、(0,1)、(1,0)或(1,1)的MVD)。如果通过“假设的MVD”所产生的参考CU不在允许带之内,则将其重排序到符号候选一较后面的位置。因此以下情况是有可能的:符号候选列表中较前面的候选所产生的MV会使参考CU在允许带之内;而符号候选列表中较后面的候选所产生的MV会使参考CU在允许带之外。最后,编码器会使用新的码。例如,此码可以是一截断一元码如0:索引=0,10:索引=1,110:索引=2,以及111:索引=3。在另一实施例中,此码可以是一固定-2-位码如00:索引=0,01:索引=1,10:索引=2,以及11:索引=3。
在使用经过转换符号信息的案例中,解码器要正确解析从编码器传来的符号信息可能会遇到问题。相关联于一MVD的MVD符号位的2个位已经是经过转换的符号信息。当解码器接收到2个位的符号信息时,可以建立出4个符号候选(例如图12C所示出的MVD1、MVD2、MVD3与MVD4),然后移除一些不完全在允许带中的候选(例如违反了保护带者)。然后,剩余的候选中,通过2-位符号信息则可以决定出最后的候选。
有数种符号转换的方法。在这个方法中,保护带会移除在4个符号候选(例如图12C所示出的MVD1、MVD2、MVD3与MVD4)中的一些候选。然后,剩余的候选会被指定从0开始一渐增的索引。然后,索引会从编码器发信(2位)至解码器。
在另一实施例中,仅在水平方向或垂直方向执行转换。例如,如果水平方向的大小是0,则无必要传送符号信息。因此在这个案例中,对于MVD只需传送垂直方向的符号信息。因此,解码器只需假设2种可能的符号组合,而当前符号候选列表只有2个候选(即垂直符号=1或符号=0)。
例如,如果垂直方向的大小是0,则无必要传送符号信息。因此在这个案例中,对于MVD只需传送水平方向的符号信息。因此,解码器只需假设2种可能的符号组合,而当前符号候选列表只有2个候选(即水平符号=1或符号=0)。
在另一实施例中,取决于水平部分或是垂直部分的MVD大小是否为0,符号候选列表中候选的数目可以不同。例如,在水平部分与垂直部分两者的MVD大小皆不是0的情况下,符号候选列表中候选的数目为4个,而可以对于“是否在允许带之内”来检查总共4个“假设的MVD”,并且符号候选可加以重排序。
在另一实施例中,也可以根据L-型模版匹配成本对于MVD符号重排序再加以重排序。L-型模版包括当前L-型模版与参考L-型模版。当前L-型模版包括当前CU的上方相邻像素与/或当前CU的左方相邻像素。参考L-型模版包括参考CU的上方相邻像素与/或参考CU的左方相邻像素。SAD匹配或SSD匹配算法可以由当前L-型模版与参考L-型模版之间计算而得。可以依据所有符号候选的匹配成本来将MVD符号候选重排序。为简化L-型模版匹配的复杂度,L-型模版可以被简化成仅包括上方相邻像素,或是仅左方相邻像素。在另一实施例中,L-型模版可以被简化成包括仅有上方相邻像素中仅有部份的像素。在另一实施例中,L-型模版可以被简化成包括仅有左方相邻像素中仅有部份的像素。
在另一实施例中,MVD符号重排序的处理过程可以延伸适用到对于“与AMVR模式结合的MVD符号”的重排序。在VVC中,根据IBC的AMVR信令,IBC MVD可以是1-像素单位(1-pelunit)或4-像素单位(4-pel unit)。因此,IBC的MVD符号位(至多2位)和AMVR信令(例如1位)可以被群组为一“MVD_符号+AMVR模式”的候选列表。每一个候选表示一MVD_水平_符号、MVD_垂直_符号、与AMVR_模式的可能组合。例如,在“MVD_符号+AMVR模式”的候选列表中可能有一共8个候选,即(000、001、010、011、100、101、110、111)。然后,可以用L-型模版与/或“是否在允许带之内”来检查8个候选的BV。可以根据L-型模版匹配来对候选加以重排序,与/或检查“是否在允许带之内”。
方法4–关于允许带的IBC模式编解码强化
在此方法中,对于在一画面最左方CTU中的一些CU,没有正确有效的块向量来作为IBC的参考CU。例如,对于在一画面最左方CTU中的最左上方的CU而言,如果允许带是“在当前CTU中已经解码的区域而且为左方CTU的一数目个64x64块”,则对此CU不可能有正确有效的块向量。在这种情况下,当前CU的IBC模式编解码可以被推论为错误(false)。换言之,这个CU会被迫关闭其IBC模式旗标而相关的语法也可省下(saved)。
在另一实施例中,可以在画面最左方CTU中的这个范围中定义出一区域,其中IBC模式会被推论为0。换言之,在这预先定义出的区域内,IBC模式隐含则是关闭的。例如,可以将此区域定义为由任何下述CU所组成的一区域,其中所述CU是在最左方CTU中的左边部分,而在此预先定义出的区域内的IBC隐含是关闭的。
方法5–IBC预测子强迫(Forcing)
在此方法中,如果当前MV(在IBC中也称块向量BV)指向不在允许带之内的一参考CU时,在传统的方式中这会被视为“非正确有效的情况”而解码器的错误隐匿处理(errorconcealment handling)可能会被启动。然而在此所提出的方法会将此视为“正确有效的情况”而将IBC预测子填入一“预定像素值”,例如128。这种IBC预测子强迫的方法可以应用于IBC合并候选、IBC AMVP候选、在双树(dual tree,在VVC帧内案件中色度分别树)的IBC色度预测子、以及其他IBC运动补偿功能块。
方法6–IBC预测子强迫(Forcing)
在此方法中,如果当前MV指向不在允许带之内的一参考CU时,在传统的方式中这会被视为“非正确有效的情况”而解码器的错误隐匿处理(error concealment handling)可能会被启动。然而在此所提出的方法会将此视为“正确有效的情况”而用一“预定BV”值填入于当前MV(或BV)中。例如,可以用(-W,-H)填入当前MV(或BV)中。换言之,BV指向左方的W个像素与上方的H个像素。在另一实施例中,可以用(-W,0)填入当前MV(或BV)中。在另一实施例中,可以用(0,-H)填入当前MV(或BV)中。在另一实施例中,可以用其他预定的MV(或BV值)填入当前MV(或BV)中。
方法7–以预定预测子候选进行候选移除
在此一实施例中,对于IBC合并模式与/或IBC AMVP模式,可以应用上述揭示的方法2.1“根据保护带进行合并模式候选移除”与/或方法3.2“根据允许带进行AMVP模式候选移除”。在对所有候选(除了在合并模式与AMVP模式的预定候选)都检查过“是否通过允许带进行移除”之后,所述“预测子强迫”的预定候选可以增添于候选列表的较后面部分。此“预测子强迫”的预定候选是定义为具有NULL(即空的或零)BV值的一特殊候选。当使用此候选来进行运动补偿时,此运动补偿不会产生任何像素,反而只是将一“预先定义的预定值”填入预测子像素中。
方法8–通过L-型模版进行候选改善(Refinement)
在此一实施例中,也可以根据L-型模版匹配成本对于当前候选的BV加以改善(refine)。L-型模版包括当前L-型模版与参考L-型模版。当前L-型模版包括当前CU的上方相邻像素与/或当前CU的左方相邻像素。参考L-型模版包括参考CU的上方相邻像素与/或参考CU的左方相邻像素。SAD匹配或SSD匹配算法可以由当前L-型模版与参考L-型模版之间计算而得。可以依据所有符号候选的匹配成本来将MVD符号候选重排序。为简化L-型模版匹配的复杂度,L-型模版可以被简化成仅包括上方相邻像素,或是仅左方相邻像素。在另一实施例中,L-型模版可以被简化成包括仅有上方相邻像素中仅有部份的像素。在另一实施例中,L-型模版可以被简化成包括仅有左方相邻像素中仅有部份的像素。可以根据L-型模版匹配对于当前候选的BV加以改善(即改变BV的值)。因此,BV的改善可以通过修正水平BV部分与/或垂直BV部分,来使得匹配成本尽可能降低。
可以在编码器与/或解码器中实施上述提出的方法。例如可以在一编码器的熵编码模块或块分割模块、与/或一解码器的熵解析模块或块分割模块中实施任何所提出的方法。任何所提出的方法也可以实施为一电路来耦合至一编码器的熵编码模块或块分割模块、与/或一解码器的熵解析模块或块分割模块中,以便提供熵解析模块或块分割模块所需的信息。
图13根据本发明的一实施例示出了具有IBC(帧内块复制)编解码工具的示例性编解码系统的一流程图。本流程图中所示的步骤,以及本揭示中其他接下来的流程图,可以实作成程序代码而可在编码器侧与/或解码器侧中的一或多个处理器(例如一或多个中央处理器)中执行。本流程图中所示的步骤也可以基于硬件来实作,硬件可以例如安排来进行本流程图中各步骤的一或多个电子装置或处理器。根据本方法在步骤1310中,在视频编码器侧接收关于一当前画面的一当前块的输入数据,或在视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块。在步骤1320中,识别该当前块所处的该当前画面之中一当前允许带。在步骤1330中,选择一目标IBC候选,其中该目标IBC候选的一目标块向量从该当前块指向该当前画面中的一目标参考块。在步骤1340中,通过考虑该目标IBC候选与该当前允许带,来产生一调整后的候选列表。在步骤1350中,使用该调整后的候选列表,在该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该调整后的候选列表,在该视频解码器侧解码与该当前块相关的当前运动信息。
图14根据本发明的一实施例示出了具有IBC(帧内块复制)编解码工具的示例性编解码系统的另一流程图。根据本方法在步骤1410中,在视频编码器侧接收关于一当前画面的一当前块的输入数据,或在视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块。在步骤1420中,识别该当前块所处的该当前画面之中一当前允许带。在步骤1430中,在编码器侧发信目标MVD(运动向量差异)的语法或是在解码器侧解析该目标MVD的该语法,而且是在无该目标MVD的符号信息或是该目标MVD的符号信息减少的情况下,通过使用包括当前允许带信息的其他信息来进行,其中该目标MVD相对应于该当前块的一当前运动向量与一目标IBC候选之间的一差异。在步骤1440中,使用一AMVP(高级运动向量预测)候选列表,于该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该AMVP候选列表,于该视频解码器侧解码与该当前块相关的当前运动信息,其中该AMVP候选列表包括该目标IBC候选。
所示的流程图用于示出根据本发明的视频编解码的示例。在不脱离本发明的精神的情况下,所属领域中具有习知技术者可以修改每个步骤、重组这些步骤、将一个步骤进行分离或者组合这些步骤而实施本发明。在本发明中,具体的语法和语义已被使用以示出实现本发明实施例的示例。在不脱离本发明的精神的情况下,透过用等同的语法和语义来替换该语法和语义,具有习知技术者可以实施本发明。
上述说明,使得所属领域中具有习知技术者能够在特定应用程序的内容及其需求中实施本发明。对所属领域中具有习知技术者来说,所描述的实施例的各种变形将是显而易见的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的具有习知技术者理解的是,本发明能够被实践。
如上所述的本发明的实施例可以在各种硬件、软件代码或两者的结合中实现。例如,本发明的实施例可以是集成在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的一个实施例也可以是在数字信号处理器(Digital Signal Processor,DSP)上执行的程序代码,以执行本文所描述的处理。本发明还可以包括由计算机处理器、数字信号处理器、微处理器或现场可程序设计门阵列(fieldprogrammable gate array,FPGA)所执行的若干函数。根据本发明,透过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。软件代码或固件代码可以由不同的程序设计语言和不同的格式或样式开发。软件代码也可以编译为不同的目标平台。然而,执行本发明的任务的不同的代码格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。
本发明可以以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由附加的权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。

Claims (16)

1.一种用于视频编解码的帧间预测方法,包括帧内块复制编解码工具,该方法包括:
在一视频编码器侧接收关于一当前画面的一当前块的输入数据,或在一视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块;
识别该当前块所处的该当前画面之中一当前允许带;
选择一目标帧内块复制候选,其中该目标帧内块复制候选的一目标块向量从该当前块指向该当前画面中的一目标参考块;
通过考虑该目标帧内块复制候选与该当前允许带,来产生一调整后的候选列表;
使用该调整后的候选列表,在该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该调整后的候选列表,在该视频解码器侧解码与该当前块相关的当前运动信息。
2.根据权利要求1所述用于视频编解码的帧间预测方法,其特征在于,如果该目标参考块不完全在该当前允许带之内,则将该目标帧内块复制候选自该调整后的候选列表中移除。
3.根据权利要求1所述用于视频编解码的帧间预测方法,其特征在于,该目标帧内块复制候选相对应于一预设的候选,而且其中如果该目标参考块不完全在该当前允许带之内,则调整该目标帧内块复制候选使得该目标参考块完全在该当前允许带之内。
4.根据权利要求3所述用于视频编解码的帧间预测方法,其特征在于,该目标帧内块复制候选通过下列方式加以调整:对该目标帧内块复制候选的一x-分量加入一第一偏移量;对该目标帧内块复制候选的一y-分量加入一第二偏移量;或是对该目标帧内块复制候选的该x-分量与对该目标帧内块复制候选的该y-分量分别加入该第一偏移量与该第二偏移量。
5.根据权利要求1所述用于视频编解码的帧间预测方法,其特征在于,在该调整后的候选列表中该目标帧内块复制候选的位置顺序,是基于该目标帧内块复制候选与该当前允许带来决定。
6.根据权利要求5所述用于视频编解码的帧间预测方法,其特征在于,决定在该调整后的候选列表中该目标帧内块复制候选的位置顺序,是取决于该目标参考块是否完全在该当前允许带之内。
7.根据权利要求5所述用于视频编解码的帧间预测方法,其特征在于,该目标帧内块复制候选于该调整后的候选列表的放置方式,是要使得该目标参考块如果在该当前允许带之外,该目标帧内块复制候选在该调整后的候选列表的一目标位置是接近于该调整后的候选列表的一后面部份。
8.根据权利要求5所述用于视频编解码的帧间预测方法,其特征在于,该目标帧内块复制候选于该调整后的候选列表的放置方式,是要使得该目标参考块如果在该当前允许带之内,该目标帧内块复制候选在该调整后的候选列表的一目标位置是接近于该调整后的候选列表的一前面部份。
9.根据权利要求1所述用于视频编解码的帧间预测方法,其特征在于,在该调整后的候选列表中该目标帧内块复制候选的位置顺序,进一步是基于L-型模版匹配成本来决定。
10.根据权利要求1所述用于视频编解码的帧间预测方法,其特征在于,该调整后的候选列表相对应于一合并候选列表或一高级运动向量预测候选列表。
11.一种用于视频编解码的帧间预测装置,包括帧内块复制编解码工具,该装置包括安排有一或多个电子电路或处理器用来:
在一视频编码器侧接收关于一当前画面的一当前块的输入数据,或在一视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块;
识别该当前块所处的该当前画面之中一当前允许带;
选择一目标帧内块复制候选,其中该目标帧内块复制候选的一目标块向量从该当前块指向该当前画面中的一目标参考块;
通过考虑该目标帧内块复制候选与该当前允许带,来产生一调整后的候选列表;
使用该调整后的候选列表,在该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该调整后的候选列表,在该视频解码器侧解码与该当前块相关的当前运动信息。
12.一种用于视频编解码的帧间预测方法,包括帧内块复制编解码工具,该方法包括:
在一视频编码器侧接收关于一当前画面的一当前块的输入数据,或在一视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块;
识别该当前块所处的该当前画面之中一当前允许带;
在一编码器侧发信一目标运动向量差异的一语法或是在一解码器侧解析该目标运动向量差异的该语法,而且是在无该目标运动向量差异的符号信息或是该目标运动向量差异的符号信息减少的情况下,通过使用包括当前允许带信息的其他信息来进行,其中该目标运动向量差异相对应于该当前块的一当前运动向量与一目标帧内块复制候选之间的一差异;以及
使用一高级运动向量预测候选列表,在该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该高级运动向量预测候选列表,在该视频解码器侧解码与该当前块相关的当前运动信息,其中该高级运动向量预测候选列表包括该目标帧内块复制候选。
13.根据权利要求12所述用于视频编解码的帧间预测方法,其特征在于,在无该目标运动向量差异的符号信息或该目标运动向量差异的符号信息减少的情况下,基于该解码器侧的该当前允许带,相关于该目标运动向量差异的正确的符号在该解码器侧的该目标运动向量差异的可能符号组合中被解码。
14.根据权利要求13所述用于视频编解码的帧间预测方法,其特征在于,相关于该目标运动向量差异的正确的符号会造成被该目标帧内块复制候选所指向的一参考块是在该当前允许带之内。
15.根据权利要求13所述用于视频编解码的帧间预测方法,其特征在于,如果该目标运动向量差异的一目标组合会造成该目标运动向量差异的该目标组合相关联的一参考块是在该当前允许带之外的时候,则该目标运动向量差异的该目标组合会被排除在该目标运动向量差异相关联的正确的符号之外。
16.一种用于视频编解码的帧间预测装置,包括帧内块复制编解码工具,该装置包括安排有一或多个电子电路或处理器用来:
在一视频编码器侧接收关于一当前画面的一当前块的输入数据,或在一视频解码器侧接收相对应于经过压缩后数据的一视频比特流,而该压缩后数据包括该当前画面中的该当前块;
识别该当前块所处的该当前画面之中一当前允许带;
在一编码器侧发信一目标运动向量差异的一语法或是在一解码器侧解析该目标运动向量差异的该语法,而且是在无该目标运动向量差异的符号信息或是该目标运动向量差异的符号信息减少的情况下,通过使用包括当前允许带信息的其他信息来进行,其中该目标运动向量差异相对应于该当前块的一当前运动向量与一目标帧内块复制候选之间的一差异;以及
使用一高级运动向量预测候选列表,在该视频编码器侧编码与该当前块相关的当前运动信息,或是使用该高级运动向量预测候选列表,于该视频解码器侧解码与该当前块相关的当前运动信息,其中该高级运动向量预测候选列表包括该目标帧内块复制候选。
CN201980046060.8A 2018-08-03 2019-08-02 用于视频编解码的增强型帧内块复制模式的方法和装置 Active CN112385228B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862714146P 2018-08-03 2018-08-03
US62/714,146 2018-08-03
US201962842639P 2019-05-03 2019-05-03
US62/842,639 2019-05-03
PCT/CN2019/099005 WO2020025041A1 (en) 2018-08-03 2019-08-02 Method and apparatus of enhanced intra block copying mode for video coding

Publications (2)

Publication Number Publication Date
CN112385228A true CN112385228A (zh) 2021-02-19
CN112385228B CN112385228B (zh) 2022-07-01

Family

ID=69230591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980046060.8A Active CN112385228B (zh) 2018-08-03 2019-08-02 用于视频编解码的增强型帧内块复制模式的方法和装置

Country Status (4)

Country Link
US (1) US11159788B2 (zh)
CN (1) CN112385228B (zh)
TW (1) TWI729446B (zh)
WO (1) WO2020025041A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222930A1 (en) * 2021-04-22 2022-10-27 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2023020444A1 (en) * 2021-08-16 2023-02-23 Mediatek Inc. Candidate reordering for merge mode with motion vector difference
WO2023198131A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200078378A (ko) * 2018-12-21 2020-07-01 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2021036990A1 (en) * 2019-08-24 2021-03-04 Beijing Bytedance Network Technology Co., Ltd. Initialization of history-based motion vector predictor tables
WO2021052495A1 (en) * 2019-09-20 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Adaptive resolution change and scalable coding for screen contents
CN112055208B (zh) * 2020-08-22 2024-05-07 浙江大华技术股份有限公司 视频编码方法、设备及存储装置
US11653001B2 (en) * 2020-09-11 2023-05-16 Ofinno, Llc Intra block copy
CN117813820A (zh) * 2021-07-15 2024-04-02 抖音视界有限公司 用于视频处理的方法、装置和介质
US11805245B2 (en) * 2021-08-16 2023-10-31 Mediatek Inc. Latency reduction for reordering prediction candidates
WO2023046127A1 (en) * 2021-09-25 2023-03-30 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2023056158A1 (en) * 2021-09-28 2023-04-06 Qualcomm Incorporated Motion vector difference sign prediction for video coding
WO2023061306A1 (en) * 2021-10-11 2023-04-20 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2023103521A1 (en) * 2021-12-09 2023-06-15 Mediatek Inc. Method and apparatus for sign coding of transform coefficients in video coding system
CN114125442B (zh) * 2022-01-29 2022-05-03 腾讯科技(深圳)有限公司 屏幕视频编码模式确定方法、编码方法、装置和计算设备
WO2023246893A1 (en) * 2022-06-22 2023-12-28 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2024012460A1 (en) * 2022-07-12 2024-01-18 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2024012533A1 (en) * 2022-07-15 2024-01-18 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
US20240098300A1 (en) * 2022-09-21 2024-03-21 Tencent America LLC Method and apparatus for implicitly indicating motion vector predictor precision
WO2024076549A1 (en) * 2022-10-04 2024-04-11 Ofinno, Llc Candidate list selection for template matching prediction

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160044657A (ko) * 2014-10-15 2016-04-26 광운대학교 산학협력단 슬라이스 레벨에서 스크린 콘텐츠 압축 기술을 선택적으로 허용하는 스크린 콘텐츠 비디오 압축 방법 및 장치
CN105659602A (zh) * 2013-10-14 2016-06-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
US20160255359A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Modification of unification of intra block copy and inter signaling related syntax and semantics
CN107079161A (zh) * 2014-09-01 2017-08-18 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法
CN107534711A (zh) * 2015-06-16 2018-01-02 华为技术有限公司 用于高效视频编码(hevc)屏幕图像编码(scc)扩展的高级编码技术
CN108141604A (zh) * 2015-06-05 2018-06-08 英迪股份有限公司 图像编码和解码方法和图像解码设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2531001B (en) 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US9955185B2 (en) 2015-02-12 2018-04-24 Mediatek Inc. Method and apparatus of constrained intra block copy for coding video
CA2985872C (en) * 2015-05-29 2020-04-14 Hfi Innovation Inc. Method of decoded picture buffer management for intra block copy mode
WO2016192677A1 (en) * 2015-06-03 2016-12-08 Mediatek Inc. Method and apparatus of error handling for video coding using intra block copy mode
WO2017084512A1 (en) 2015-11-20 2017-05-26 Mediatek Inc. Method and apparatus of motion vector prediction or merge candidate derivation for video coding
KR20180075518A (ko) * 2015-11-24 2018-07-04 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2018074813A1 (ko) * 2016-10-17 2018-04-26 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659602A (zh) * 2013-10-14 2016-06-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN107079161A (zh) * 2014-09-01 2017-08-18 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
KR20160044657A (ko) * 2014-10-15 2016-04-26 광운대학교 산학협력단 슬라이스 레벨에서 스크린 콘텐츠 압축 기술을 선택적으로 허용하는 스크린 콘텐츠 비디오 압축 방법 및 장치
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法
US20160255359A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Modification of unification of intra block copy and inter signaling related syntax and semantics
CN108141604A (zh) * 2015-06-05 2018-06-08 英迪股份有限公司 图像编码和解码方法和图像解码设备
CN107534711A (zh) * 2015-06-16 2018-01-02 华为技术有限公司 用于高效视频编码(hevc)屏幕图像编码(scc)扩展的高级编码技术

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIAOZHONG XU等: "CE8-2.2: Current picture referencing using reference index signaling", 《JVET-K0076》 *
XIAOZHONG XU等: "CE8-2.2: Current picture referencing using reference index signaling", 《JVET-K0076》, 13 July 2018 (2018-07-13) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222930A1 (en) * 2021-04-22 2022-10-27 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2023020444A1 (en) * 2021-08-16 2023-02-23 Mediatek Inc. Candidate reordering for merge mode with motion vector difference
WO2023198131A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
US20210250580A1 (en) 2021-08-12
TW202021363A (zh) 2020-06-01
WO2020025041A1 (en) 2020-02-06
US11159788B2 (en) 2021-10-26
TWI729446B (zh) 2021-06-01
CN112385228B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN112385228B (zh) 用于视频编解码的增强型帧内块复制模式的方法和装置
CN113170099B (zh) 块内拷贝模式和帧间预测工具之间的交互
US11122260B2 (en) Method and apparatus of Merge list generation for Intra Block Copy mode
WO2020094050A1 (en) Using inter prediction with geometric partitioning for video processing
JP7425808B2 (ja) 動き候補リスト構築プロセスの条件付き実行
CN113906738B (zh) 仿射模式的自适应运动矢量差分辨率
CN114175636B (zh) 自适应参数集中的自适应环路滤波的指示
JP7460661B2 (ja) 映像符号化のための動き候補リストの構成
TWI729458B (zh) 用於視訊編解碼的簡化的合併候選列表的方法和裝置
JP2023159091A (ja) イントラブロックコピーのコーディングおよび復号化
CN112585972B (zh) 视频编解码的帧间预测方法及装置
CN113994682A (zh) 具有默认参数的基于历史的运动矢量预测
CN117321990A (zh) 具有运动矢量细化的几何分区模式

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant