CN113966612A - 屏幕内容编解码根据与运动信息之间的相互作用 - Google Patents
屏幕内容编解码根据与运动信息之间的相互作用 Download PDFInfo
- Publication number
- CN113966612A CN113966612A CN202080043774.6A CN202080043774A CN113966612A CN 113966612 A CN113966612 A CN 113966612A CN 202080043774 A CN202080043774 A CN 202080043774A CN 113966612 A CN113966612 A CN 113966612A
- Authority
- CN
- China
- Prior art keywords
- block
- modified
- mode
- prediction
- ctu
- 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.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 224
- 230000003993 interaction Effects 0.000 title abstract description 3
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 230000007704 transition Effects 0.000 claims abstract description 20
- 238000003672 processing method Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 273
- 239000013598 vector Substances 0.000 claims description 233
- 230000008569 process Effects 0.000 claims description 74
- 238000005192 partition Methods 0.000 claims description 68
- 238000012986 modification Methods 0.000 claims description 33
- 230000004048 modification Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 30
- 238000000638 solvent extraction Methods 0.000 claims description 30
- 238000002156 mixing Methods 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 10
- 239000011449 brick Substances 0.000 claims description 7
- 230000015654 memory Effects 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 65
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 65
- 238000009795 derivation Methods 0.000 description 52
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 31
- 239000011159 matrix material Substances 0.000 description 24
- 230000002123 temporal effect Effects 0.000 description 19
- 230000011664 signaling Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000010276 construction Methods 0.000 description 11
- 230000009977 dual effect Effects 0.000 description 11
- 238000003780 insertion Methods 0.000 description 11
- 230000037431 insertion Effects 0.000 description 11
- 238000012360 testing method Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 101150114515 CTBS gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000710780 Bovine viral diarrhea virus 1 Species 0.000 description 1
- 241000086194 Bulbophyllum affine Species 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- PPBOKXIGFIBOGK-BDTUAEFFSA-N bvdv Chemical compound C([C@@H](C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)CC)C(=O)N[C@@H](CC(N)=O)C(=O)N[C@@H](CCCNC(N)=N)C(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCCCN)C(O)=O)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CO)NC(=O)[C@H](CC=1C=CC(O)=CC=1)NC(=O)[C@@H](NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CC(O)=O)NC(=O)[C@H](CC(C)C)NC(=O)[C@@H](N)C(C)C)[C@@H](C)CC)C1=CN=CN1 PPBOKXIGFIBOGK-BDTUAEFFSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了屏幕内容编解码工具和运动信息之间的相互作用。一种视频处理方法包括:针对视频的块与该块的比特流表示之间的转换,修改与采用帧内块复制(IBC)模式编解码的该块相关联的运动信息中的至少一者;以及基于修改后的运动信息执行该转换。
Description
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2019年6月16日提交的国际专利申请号PCT/CN2019/091446的优先权和利益。将国际专利申请号PCT/CN2019/091446的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本专利文件总体上涉及视频编码和解码技术。
背景技术
视频编解码标准主要是通过开发公知的ITU-T和ISO/IEC标准而演变的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPEG-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编解码(AVC)和H.265/高效视频编解码(HEVC)标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间创建了联合视频专家团队(JVET),其致力于研究以相较于HEVC有50%的比特率下降为目标的下一代多功能视频编解码(VVC)标准。
发明内容
在使用所公开的视频编码、转码或解码技术的情况下,视频编码器或解码器的实施例能够操纵编解码树块的虚拟边界,以提供更高的压缩效率以及编码或解码工具的更简单的实施方式。
在一个示例性方面当中,公开了一种视频处理方法。该方法包括:在视频图片的当前视频块与当前视频块的比特流表示之间的转换期间,确定表示对应于当前视频块的块矢量与其预测子之间的差的块矢量差(BVD);以及使用该块矢量执行当前视频块与当前视频块的比特流表示之间的转换。这里,块矢量指示针对视频图片中的当前视频块的运动匹配,并且将BVD的修改值编解码到比特流表示当中。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:在视频图片的当前视频块与当前视频块的比特流表示之间的转换期间,确定对该转换使用帧内块复制工具;以及使用修改后的块矢量预测子执行该转换,修改后的块矢量预测子对应于当前视频块的块矢量差(BVD)的修改值。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括使用帧内块复制编解码工具执行视频图片的当前视频块与当前视频块的比特流表示之间的转换,其中,将被包含到比特流表示当中的对应于块矢量的修改值的修改后的块矢量用于该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于当前视频块的条件,确定加权因子wt;以及使用组合式帧内-帧间编解码操作执行该转换,其中,该加权因子wt用于为当前视频块的运动矢量加权。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:确定将三角形分割模式(TPM)编解码工具用于当前视频块与当前视频块的比特流表示之间的转换,其中,该TPM编解码工具的至少一个操作参数取决于当前视频块的特点,其中,该TPM编解码工具将当前视频块分割成两个单独编解码的非矩形分割;以及通过应用该TPM编解码工具执行该转换,该TPM编解码工具使用所述的一个操作参数。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该块的比特流表示之间的转换修改与采用帧内块复制(IBC)模式编解码的该块相关联的运动信息中的至少一者;以及基于修改后的运动信息执行该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该块的比特流表示之间的转换,基于与该块相关联的运动矢量(MV),确定在组合式帧内-帧间预测(CIIP)模式中用于帧内预测信号的加权因子;以及基于该加权因子执行该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该块的比特流表示之间的转换,基于该块的一个或多个分割的运动信息,确定在三角形预测模式(TPM)中使用的权重;以及基于所述权重执行该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该块的比特流表示之间的转换,基于该块的变换信息,确定是否在三角形预测模式(TPM)中应用混合过程;以及基于该确定执行该转换。
在又一个示例性方面当中,公开了一种被配置为执行上文描述的方法的视频编码装置。
在又一个示例性方面当中,公开了一种被配置为执行上文描述的方法的视频解码器。
在又一个示例性方面当中,公开了一种机器可读介质。该介质存储代码,该代码在被执行时使处理器实施上文描述的方法中的一者或多者。
在附图、说明书和权利要求中更详细地描述了所公开技术的以上和其他方面和特征。
附图说明
图1示出了多类型树划分模式的示例。
图2示出了具有嵌套多类型树的四叉树编解码树结构中的划分标志信令通知的示例。
图3示出了具有嵌套多类型树的四叉树的快结构的示例。
图4示出了针对128×128编解码块的No TT(无TT)划分的示例。
图5示出了67种帧内预测模式。
图6示出了用于α和β的推导的样点的示例性位置。
图7示出了与预测块相邻的四条参考线的示例。
图8A-8B分别示出了针对4x8和8x4 CU的子分割的示以及针对4x8、8x4和4x4之外的CU的子分割的示例。
图9是4×4块的ALWIP的例示。
图10是针对8x8块的ALWIP的例示。
图11是针对8×4块的ALWIP的例示。
图12是针对16x16块的ALWIP的例示。
图13是用于merge候选列表构建的推导过程的示例。
图14示出了空域merge候选的示例性位置。
图15示出了针对空域merge候选的冗余检查所考虑的候选对的示例。
图16示出了N×2N分割和2N×N分割的第二PU的位置的示例。
图17是针对时域merge候选的运动矢量缩放的例示。
图18示出了时域merge候选的候选位置的示例C0和C1。
图19示出了组合式双向预测merge候选的示例。
图20示出了运动矢量预测候选的推导过程的示例。
图21是针对空域运动矢量候选的运动矢量缩放的例示。
图22A-22B分别示出了4参数仿射模型和6参数仿射模型的示例。
图23示出了每子块的仿射MVF的示例。
图24示出了基于历史的运动矢量预测的编解码流程示例。
图25示出了merge候选构建过程的示例。
图26示出了基于三角形分割的帧间预测模式的示例。
图27示出了最终运动矢量表达(UMVE)搜索的示例。
图28示出了UMVE搜索点的示例。
图29是帧内块复制编解码模式的例示。
图30示出了在CIIP权重推导当中使用的顶上和左侧相邻块的示例。
图31示出了视频块的分割。
图32是用于视频处理的示例性装置的框图。
图33是视频处理的示例性方法的流程图。
图34是视频处理的示例性方法的流程图。
图35是视频处理的示例性方法的流程图。
图36是视频处理的示例性方法的流程图。
图37是视频处理的示例性方法的流程图。
具体实施方式
本文中使用了章节标题,其目的在于促进理解的简便性,而非使在一个章节中公开的实施例仅局限于该章节。此外,尽管某些实施例是参考多功能视频编解码或其他具体视频编解码器描述的,但是所公开的技术还适用于其他视频编解码。此外,尽管一些实施例详细描述了视频编码步骤,但是应当理解,将通过解码器实施解开编码的对应解码步骤。此外,视频处理一词涵盖视频编码或压缩、视频解码或解压以及视频转码,在视频转码中视频由一种压缩格式表示变为以另一种压缩格式表示或者具有不同的压缩比特率。
1.简要总结
本文件涉及视频编解码技术。具体地,其涉及预测块生成。其可以应用于现有的视频编解码标准,如HEVC,或待定案的标准(多功能视频编解码)。其还可以适用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要是通过开发公知的ITU-T和ISO/IEC标准而演变的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPEG-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间创建了联合视频专家团队(JVET),其致力于研究以相较于HEVC有50%的比特率下降为目标的VVC标准。
2.1.使用树结构的CTU分割
在HEVC中,通过使用四叉树结构(表示为编解码树)将CTU划分成CU来适应各种局部特性。在叶CU级别决定是使用图片间(时域)预测还是图片内(空域)预测对图片区域进行编解码。根据PU的划分类型,每个叶CU可以进一步划分成一个、两个或四个PU。在一个PU中,应用相同的预测处理,并且相关信息以PU为基础传输到解码器。在基于PU划分类型通过应用预测处理获得残差块后,可以根据与叶CU的编解码树相似的另一个四叉树结构将该CU分割成变换单元(TU)。HEVC结构的一个重要特征是它具有多个划分概念,包括CU、PU以及TU。
在VVC中,使用二元和三元划分分段结构的具有嵌套多类型树的四叉树替代了多种分割单元类型的概念,即,它消除了CU、PU和TU概念的分离,除非尺寸对于最大变换长度而言过大的CU需要,并支持CU分割形状的更大灵活性。在编解码树结构中,CU可以是方形或矩形。首先根据四叉树(又名四元树)结构分割编解码树单元(CTU)。然后,可以进一步根据多类型树结构分割四叉树叶节点。如图1中所示,在多类型树结构中有四种划分类型,垂直二叉划分(SPLIT_BT_VER)、水平二叉划分(SPLIT_BT_HOR)、垂直三叉划分(SPLIT_TT_VER)和水平三叉划分(SPLIT_TT_HOR)。多类型树叶节点被称为编解码单元(CU),除非CU对于最大变换长度而言过大,否则就将这种分段用于预测和变换处理而不进行任何进一步分割。这意味着,在大多数情况下,在具有嵌套多类型树的四叉树编解码块结构中,CU、PU和TU具有相同的块尺寸。在最大支持变换长度小于CU的颜色分量的宽度或高度时,发生异常。
图2示出了具有嵌套多类型树的四叉树编解码树结构中的分割划分信息的信令通知机制。编解码树单元(CTU)被作为四叉树的根部对待,并且首先根据四叉树结构受到分割。之后,根据多类型树结构进一步分割每一四叉树叶节点(在其足够大从而允许的时候)。在多类型树结构中,信令通知第一标志(mtt_split_cu_flag),以指示节点是否受到进一步分割;在节点受到进一步分割时,信令通知第二标志(mtt_split_cu_vertical_flag),以指示划分方向,之后信令通知第三标志,以指示该划分是二元划分还是三元划分。基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag的值,推导CU的多类型树划分模式(MttSplitMode),如表格1中所示。
表格1-基于多类型树语法元素的MttSplitMode推导
MttSplitMode | mtt_split_cu_vertical_flag | mtt_split_cu_binary_flag |
SPLIT_TT_HOR | 0 | 0 |
SPLIT_BT_HOR | 0 | 1 |
SPLIT_TT_VER | 1 | 0 |
SPLIT_BT_VER | 1 | 1 |
图3示出了借助于四叉树和嵌套多类型树编解码块结构被划分成多个CU的CTU,其中,粗的块边缘表示四叉树分割,并且其余边缘表示多类型树分割。具有嵌套多类型树的四叉树的分割提供由CU构成的内容自适应编解码树结构。在亮度样点单元中,CU的尺寸可以大到CTU,或者可以小到4×4。对于4:2:0色度格式的情况而言,最大色度CB尺寸为64×64,并且最小色度CB尺寸为2×2。
在VVC中,最大的所支持亮度变换尺寸为64×64,并且最大的所支持色度变换尺寸为32×32。当CB的宽度或高度大于最大变换宽度或高度时,CB被沿水平方向和/或垂直方向自动化分,以符合该方向的变换尺寸限制。
对于具有嵌套多类型树的四叉树编解码树方案而言,下述参数是通过SPS语法元素定义和规定的。
-CTU尺寸:四叉树的根节点尺寸
-MinQTSize:最小允许四叉树叶节点尺寸
-MaxBtSize:最大允许二叉树根节点尺寸
-MaxTtSize:最大允许三叉树根节点尺寸
-MaxMttDepth:从四叉树叶所做的多类型树划分的最大允许层次深度
-MinBtSize:最小允许二叉树叶节点尺寸
-MinTtSize:最小允许三叉树叶节点尺寸
在具有嵌套多类型树的四叉树编解码树结构的一个示例中,CTU尺寸被设置为128×128个亮度样点连同4:2:0色度样点的两个对应的64×64块,MinQTSize被设置为16×16,MaxBtSize被设置为128×128,并且MaxTtSize被设置为64×64,MinBtSize和MinTtSize(对于宽度和高度两者)被设置为4×4,并且MaxMttDepth被设置为4。四叉树分割首先应用于CTU,以生成四叉树叶节点。四叉树叶节点的尺寸可以具有从16×16(即MinQTSize)到128×128(即CTU尺寸)的尺寸。如果叶QT节点是128×128,则不会根据根据二叉树对其做进一步划分,因为其尺寸超过了MaxBtSize和MaxTtSize(即64×64)。否则,可以根据多类型树对叶四叉树节点做进一步分割。因此,四叉树叶节点也是多类型树的根节点,并且具有为0的多类型树深度(mttDepth)。当多类型树深度达到MaxMttDepth(即4)时,不考虑进一步划分。当多类型树节点具有等于MinBtSize的宽度并且小于等于2*MinTtSize时,不考虑进一步的水平划分。同样,当多类型树节点具有等于MinBtSize的高度并且小于等于2*MinTtSize时,不考虑进一步的垂直划分。
为了在VVC硬件解码器中允许64×64亮度块和32×32色度管道设计,在亮度编解码块的宽度或者高度大于64时禁止TT划分,如图4所示。当色度编解码块的宽度或者高度大于32时禁止TT划分。
在VTM5中,该编解码树方案支持使亮度和色度具有单独块树结构的能力。当前,对于P条带和B条带,一个CTU中的亮度CTB和色度CTB必须共享相同的编解码树结构。然而,对于I条带而言,亮度和色度可以具有单独块树结构。在应用单独块树结构时,亮度CTB被根据一种编解码树结构分割成CU,并且色度CTB被根据另一种编解码树结构分割成色度CU。这意味着I条带中的CU可以由亮度分量的编解码块或两个色度分量的编解码块构成,P条带或B条带中的CU总是由所有三种颜色分量的编解码块构成,除非视频是单色的。
2.2.VVC中的帧内预测
2.2.1.67种帧内预测模式
为了捕获自然视频中存在的任意边缘方向,VTM4中的定向帧内模式的数量被从33(如HEVC中使用的)扩展到65。不在HEVC中的新方向性模式在图5中被绘示为红色虚线箭头,平面和DC模式保持相同。这些更密集的方向性帧内预测模式适用于所有块尺寸以及亮度帧内预测和色度帧内预测两者。
2.2.2.位置相关帧内预测组合(PDPC)
在VTM4中,通过位置相关帧内预测组合(PDPC)方法进一步修改平面模式的帧内预测结果。PDPC是一种帧内预测方法,其调用未经滤波的边界参考样点与采用经滤波的边界参考样点的HEVC样式帧内预测的组合。PDPC被应用于下述帧内模式而无需信令通知:平面、DC、水平、垂直、左下角度模式及其八个相邻角度模式以及右上角度模式及其八个相邻角度模式。
根据如下方程采用帧内预测模式(DC、平面、角度)和参考样点的线性组合预测出预测样点pred(x,y):
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6
其中,Rx,-1、R-1,y表示分别位于当前样点(x,y)的顶上和左侧的参考样点,并且R-1,-1表示位于当前块的左上角的参考样点。
如果将PDPC应用于DC、平面、水平和垂直帧内模式,那么不需要附加边界滤波器,如HEVC DC模式边界滤波器或水平/垂直模式边缘滤波器的情况中所需的。
2.2.3.跨分量线性模型预测(CCLM)
为了减小跨分量冗余,在VTM4中使用跨分量线性模型(CCLM)预测模式,对于该模式而言如下通过使用线性模型基于同一CU的重建亮度样点预测出色度样点:
predC(i,j)=α·recL′(i,j)+β
其中,predC(i,j)表示CU中的预测色度样点,recL(i,j)表示同一CU中的降采样重建亮度样点。线性模型参数α和β是由来自两个样点及其对应的色度样点的亮度值和色度值之间的关系推导的,这两个样点是该降采样相邻亮度样点的集合内的具有最小样点值和最大样点值的亮度样点。图6示出了CCLM模式中涉及的左侧和上方样点以及当前块的样点的位置的示例。
这一参数计算是作为解码过程的部分执行的,而非仅作为编码器搜索操作执行。因此,不采用语法向解码器传达α值和β值。
对于色度帧内模式编解码而言,对色度帧内模式编解码允许总共8个帧内模式。这些模式包括五个传统帧内模式和三个跨分量线性模型模式(CCLM、LM_A和LM_L)。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在I条带中启用针对亮度分量和色度分量的单独块分割结构,因而一个色度块可以对应于多个亮度块。因此,对于色度DM模式,直接继承覆盖当前色度块的中心位置的对应亮度块的帧内预测模式。
2.2.4.多参考线(MRL)帧内预测
多参考线(MRL)帧内预测使用更多参考线进行帧内预测。在图7中,绘示了4条参考线的示例,其中,片段A和F的样点并非是从重建的相邻样点取出的,而是分别用来自片段B和E的最接近样点填充的。HEVC帧内预测使用最近的参考线(即,参考线0)。在MRL中,使用2条附加的线(参考线1和参考线3)。信令通知选定参考线的索引(mrl_idx)并使用其生成帧内预测子。对于大于0的参考线idx,在MPM列表中仅包括附加参考线模式,并且仅信令通知mpm索引而没有其余模式。
2.2.5.帧内子分割(ISP)
帧内子分割(ISP)工具根据块尺寸将亮度帧内预测块垂直或水平地划分成2个或4个子分割。例如,ISP的最小块尺寸为4x8(或8x4)。如果块尺寸大于4x8(或8x4),则通过4个子分割划分对应块。图8A-8B示出了两种可能性的示例。所有子分割满足具有至少16个样点的条件。
对于每个子分割,通过向预测信号添加残差信号来获得重建样点。这里,通过诸如熵解码、逆量化和逆变换的过程来生成残差信号。因此,每个子分割的重建样点值可用于生成下一子分割的预测,并且重复对每个子分割的处理。另外,要处理的第一子分割是包含CU的左上样点的子分割,然后向下(水平划分)或向右(垂直划分)继续。因此,用于生成子分割预测信号的参考样点仅位于线的左侧和上侧。所有子分割共享相同的帧内模式。
2.2.6.仿射线性加权帧内预测(ALWIP,又名基于矩阵的帧内预测)
提出了仿射线性加权帧内预测(ALWIP,又名基于矩阵的帧内预测(MIP))。
进行两种测试。在测试1中,采用每样点8K字节以及最多4次乘法的存储限制设计ALWIP。测试2与测试1类似,但是在存储要求和模型架构方面进一步简化了设计。
·用于所有块形状的单个由矩阵和偏移量矢量构成的集合。
·对于所有块形状模式数量缩减至19
·存储要求缩减至5760个10比特值,即7.20千字节
·在单个步骤中执行预测样点的线性插值,从而替代第一测试中那样的迭代插值。
2.2.6.1.测试1
为了预测具有宽度W和高度H的矩形块的样点,仿射线性加权帧内预测(ALWIP)采取块左侧的一条线的H个重建相邻边界样点以及块上方的一条线的W个重建相邻边界样点作为输入。如果重建样点不可得,那么就像常规帧内预测所做的那样生成重建样点。
预测信号的生成以下文的三个步骤为基础:
1.在边界样点当中,通过求均值提取W=H=4的情况下的四个样点以及所有其他情况下的八个样点。
2.以均值样点作为输入执行矩阵矢量乘法,随后加上偏移量。结果是关于原始块中的样点的子采样集合的缩减预测信号。
3.其余位置上的预测信号是通过线性插值由子采样集合上的预测信号生成的,该线性插值是每一方向内的单步骤线性插值。
生成预测信号所需的矩阵和偏移量矢量取自三个矩阵集合S0、S1、S2。集合S0由18个每者具有16行、4列的矩阵以及18个每者具有尺寸16的偏移量矢量构成。该集合的矩阵和偏移量矢量用于具有尺寸4×4.的块。集合S1由10个每者具有16行、8列的矩阵 以及10个每者具有尺寸16的偏移量矢量构成。该集合的矩阵和偏移量矢量用于具有尺寸4×8、8×4和8×8的块。最后,集合S2由6个每者具有64行、8列的矩阵以及6个具有尺寸64的偏移量矢量构成。该集合的矩阵和偏移量矢量或者这些矩阵和偏移量矢量的部分用于所有其他块形状。
矩阵矢量乘积的计算中所需的乘法的总数总是小于或者等于4×W×H。换言之,对于ALWIP模式需要每样点最多四次乘法。
2.2.6.2.边界的求均值
在4×4块情况下,对于0≤i<2,定义了
否则,如果块宽度W被给定为W=4·2k,那么对于0≤i<4,定义了
最后,对于降采样预测信号的插值而言,在大块上,需要第二版本的均值边界。即,如果min(W,H)>8并且W≥H,那么写作W=8*2l,并且对于0≤i<8,定义
2.2.6.3通过矩阵矢量乘法生成缩减预测信号
从缩减输入矢量bdryred当中,生成缩减预测信号predred。后一信号是具有宽度Wred和高度Hred的降采样块上的信号。这里,Wred和Hred被定义为:
通过计算矩阵矢量乘积并添加偏移量而计算出缩减预测信号predred:
predred=A·bdryred+b。
这里,A为矩阵,其具有Wred·Hred行,并且在W=H=4的情况下具有4列,而在所有其他情况下则具有8列。b为具有尺寸Wred·Hred的矢量。
矩阵A和矢量b取自如下的集合S0、S1、S2之一。定义如下的索引idx=idx(W,H):
此外,令m如下:
因而,如果idx≤1或idx=2并且min(W,H)>4,那么令和 在idx=2并且min(W,H)=4的情况下,令A是通过遗漏掉的每一在W=4的情况下对应于降采样块中的奇数x坐标或者在H=4的情况下对应于降采样块中的奇数y坐标的行而产生的矩阵。
最后,在下述情况下使缩减预测信号被其转置替代:
·W=H=4并且mode≥18
·max(W,H)=8并且mode≥10
·max(W,H)>8并且mode≥6
在W=H=4的情况下,predred的计算所需的乘法的次数为4,因为在这种情况下A具有4列、16行。在所有其他情况下,A具有8列、Wred·Hred行,并且立即验证:在这些情况下需要8·Wred·Hred≤4·W·H次乘法,即,还是在这些情况下,每样点最多需要4次乘法来计算predred。
2.2.6.4.对整个ALWIP过程的举例说明
在图9、图10、图11和图12中针对不同形状例示了求均值、矩阵矢量乘法和线性插值的整个过程。注意,像在所描绘的情况之一当中那样对待其他形状。
1.在给定4×4块的情况下,ALWIP沿边界的每一轴取两个平均值。所得到的四个输入样点参加矩阵矢量乘法。矩阵是从集合S0取得的。在添加偏移量之后,其得到了16个最终预测样点。线性插值对于生成预测信号是不必要的。因而,每样点执行总共(4·16)/(4·4)=4次乘法。
2.在给定8×8块的情况下,ALWIP沿边界的每一轴取四个平均值。所得到的八个输入样点参加矩阵矢量乘法。矩阵是从集合S1取得的。其获得了处于预测块的奇数位置上的16个样点。因而,每样点执行总共(8·16)/(8·8)=2次乘法。在添加偏移量之后,通过使用缩减顶部边界垂直地对这些样点插值。水平插值通过使用原始左边界而紧随其后。
3.在给定8×4块的情况下,ALWIP沿边界的水平轴取得四个平均值并且取得左边界上的四个原始边界值。所得到的八个输入样点参加矩阵矢量乘法。矩阵是从集合S1取得的。其获得了处于预测块的奇数水平位置上和每一垂直位置上的16个样点。因而,每样点执行总共(8.16)/(8·4)=4次乘法。在添加偏移量之后,通过使用原始左侧边界水平地对这些样点插值。
相应地对待转置后的情况。
4.在给定16×16块的情况下,ALWIP沿边界的每一轴取四个平均值。所得到的八个输入样点参加矩阵矢量乘法。矩阵是从集合S2取得的。其获得了处于预测块的奇数位置上的64个样点。因而,每样点执行总共(8·64)/(16·16)=2次乘法。在添加偏移量之后,通过使用顶部边界的八个平均值垂直地对这些样点插值。水平插值通过使用原始左边界而紧随其后。在这种情况下,插值过程不增加任何乘法。因此,需要每样点的两次乘法来计算ALWIP预测。
对于更大形状,流程基本相同,并且易于检查每样点的乘法数量小于四。
对于W×8块(其中,W>8),只有水平插值是必需的,因为样点是在奇数水平位置上和每一垂直位置上给出的。
最后,对于W×4块(其中,W>8)而言,令Ak是通过遗漏沿降抽样块的水平轴对应于奇数条目的每一行而产生的矩阵。
因而,输出尺寸为32,并且仍然只需执行水平插值。
相应地对待转置后的情况。
在下文的讨论中,用于与矩阵相乘边界样点可以被称为“缩减边界样点”。用于由降采样块对最终预测块插值的边界样点可以被称为“升采样样点”。
2.2.6.5.单步骤线性插值
对于W×H块(其中,max(W,H)≥8),预测信号是通过线性插值由Wred×Hred上的缩减预测信号predred产生的。依据块尺寸,在垂直方向、水平方向或两者内完成线性插值。如果要在两个方向内都应用,那么在W<H的情况下首先将其应用到水平方向内,否则首先将其应用在垂直方向内。
不失一般性地考虑W×H块,其中,max(W,H)≥8并且W≥H。于是如下执行一维线性插值。不失一般性地,描述垂直方向内的线性插值就足够了。首先,通过边界信号将缩减预测信号扩展至顶部。定义垂直升采样因子Uver=H/Hred,并且写作之后,通过下式定义扩展缩减预测信号
之后,由这一扩展缩减预测信号,通过下式生成经垂直线性插值的预测信号
其中,0≤x<Wred,0≤y<Hred并且0≤k<Uver。
2.2.6.6.所提出的帧内预测模式的信令化
对于帧内模式中的每一编解码单元(CU),在比特流内发送指示是否将对对应的预测单元(PU)应用ALWIP模式的标志。使后者的索引的信令化与MRL协调一致。如果将应用ALWIP模式,使用具有3个MPM的MPM列表信令通知ALWIP模式的索引predmode。
这里,使用如下的上方和左侧PU的帧内模式执行这些MPM的推导。有三个固定表格map_angular_to_alwipidx(idx∈{0,1,2}),其向每一常规帧内预测模式predmodeAngular分配ALWIP模式
predmodeALWIP=map_angular_to_alwipidx[predmodeAngular]。
对于具有宽度W和高度H的每一PU而言,定义索引
idx(PU)=idx(W,H)∈{0,1,2}
其指示ALWIP参数将取自三个集合中的哪一个,就像上文的章节2.2.6.3中那样。
在所有其他情况下,令
最后,提供三个固定的默认列表listidx(idx∈{0,1,2}),它们的每者含有三个截然不同的ALWIP模式。通过以默认值替代-1以及消除重复,从默认列表listidx(PU)以及模式和中构建三个截然不同的MPM。
在ALWIP MPM列表构建中使用的左侧相邻块和上方相邻块为A1和B1。
2.2.6.7.用于常规亮度和色度帧内预测模式的经调适MPM列表推导
如下使所提出的ALWIP模式与常规帧内预测模式的基于MPM的编解码协调一致。用于常规帧内预测模式的亮度和色度MPM列表推导过程使用固定表格map_alwip_to_angularidx(idx∈{0,1,2}),从而将给定PU上的ALWIP模式predmodeALWIP映射至常规帧内预测模式之一
predmodeAngular=map_alwip_to_angularidx(PU)[predmodeALWIP]。
对于亮度MPM列表推导,每当遇到使用ALWIP模式predmodeALWIP的相邻亮度块时,都像这一块使用常规帧内预测模式predmodeAngular那样对待这一块。对于色度MPM列表推导,每当当前亮度块使用LWIP模式时,就采用相同的映射将ALWIP模式转化为常规帧内预测模式。
2.3.HEVC/H.265中的帧间预测
对于帧间编解码的编解码单元(CU),可以根据分割模式借助于一个预测单元(PU)、2个PU对其编解码。每一帧间预测PU具有针对一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。还可以使用inter_pred_idc信令通知两个参考图片列表之一的使用。可以将运动矢量显式编解码为相对于预测子(predictor)的Δ。
在采用skip模式对CU编解码时,一个PU与该CU相关联,并且没有显著的残差系数,没有编解码的运动矢量Δ或参考图片索引。将merge模式规定为使得当前PU的运动参数是从包括空域候选和时域候选的相邻PU获得的。可以将merge模式应用于任何帧间预测PU,而不仅针对skip模式。merge模式的一种替代方案是运动参数的显式传输,其中,根据每一PU对运动矢量(更确切而言,相较于运动矢量预测子的运动矢量差(MVD))、每一参考图片列表的对应参考图片索引和参考图片列表使用进行显式信令通知。在本公开中将这样的模式称为高级运动矢量预测(AMVP)。
在信令通知表明将采用这两个参考图片列表之一时,PU由一个样点块生成。将这种做法称为“单向预测”。对于P条带和B条带两者而言,单向预测都是可用的。
在信令通知表明这两个参考图片列表都要使用时,PU由两个样点块生成。将这种做法称为“双向预测”。双向预测只对B条带可用。
下文将提供有关在HEVC中规定的这些帧间预测模式的细节。描述将开始于merge模式。
2.3.1.参考图片列表
在HEVC中,帧间预测一词用于表示从参考图片(而非当前解码图片)的数据元(例如,样点值或运动矢量)推导的预测。与H.264/AVC中类似,一个图片可以是由多个参考图片预测的。用于帧间预测的参考图片被组织到一个或多个参考图片列表当中。参考索引识别出应当将列表中的哪个参考图片用于创建预测信号。
单个参考图片列表,即List 0被用于P条带,两个参考图片列表,即List0和List 1被用于B条带。应当指出,包含在List 0/1中的参考图片可以参照俘获/显示顺序来自于过去图片和未来图片。
2.3.2.Merge模式
2.3.2.1.merge模式的候选的推导
在使用merge模式预测PU时,从比特流中解析出指向merge候选列表中的条目的索引,并采用其检索运动信息。在HEVC标准中规定了对这一列表的构建,可以根据下述步骤序列对其做出总结:
·步骤1:初始候选推导
ο步骤1.1:空域候选推导
ο步骤1.2:对空域候选的冗余检查
ο步骤1.3:时域候选推导
·步骤2:附加候选***
ο步骤2.1:双向预测候选的创建
ο步骤2.2:零运动候选的***
还在图13中示意性地示出了这些步骤。对于空域merge候选推导而言,从位于五个不同位置上的候选当中选出最多四个merge候选。对于时域merge候选推导而言,从两个候选当中选出最多一个merge候选。由于在解码器处对于每一PU采取恒定数量的候选,因而在从步骤1获得的候选的数量未达到在条带标头中信令通知的merge候选最大数量(MaxNumMergeCand)时,生成附加的候选。由于候选的数量是恒定的,因而采用截断一元码二值化(TU)对最佳merge候选的索引编码。如果CU的尺寸等于8,那么当前CU的所有PU都共享单个merge候选列表,其等同于2N×2N预测单元的merge候选列表。
在下文中,将详述与前述步骤相关联的操作。
2.3.2.2.空域候选推导
在空域merge候选的推导当中,在位于图14所示的位置上的候选当中选择最多四个merge候选。推导的顺序为A1、B1、B0、A0和B2。只有在位置A1、B1、B0、A0的任何PU不可用(例如,因为其属于另一条带或片)或者受到帧内编解码时才考虑位置B2。在位置A1处的候选被添加之后,其余候选的添加要受到冗余检查,其确保从列表中排除具有相同运动信息的候选,从而提高编解码效率。为了降低计算复杂性,在所提及的冗余检查当中并未考虑所有可能的候选对。相反,仅考虑用图15的箭头联系起来的对,并且只有在用于冗余检查的对应候选不具有相同的运动信息时才将该候选添加至列表。重复运动信息的另一来源是与不同于2N×2N的分割相关联的“第二PU”。作为示例,图16分别示出了N×2N和2N×N情况的第二PU。在当前PU被分割成N×2N时,不考虑将处于位置A1处的候选用于列表构建。实际上,添加这一候选将引起两个预测单元具有相同的运动信息,其对于令编解码单元内只有一个PU而言是冗余的。类似地,在当前PU被分割成2N×N时,不考虑位置B1。
2.3.2.3.时域候选推导
在这一步骤中,只有一个候选被添加至列表。尤其是,在这一时域merge候选的推导当中,在属于处在给定参考图片列表内的与当前图片之间具有最小POC差的图片的共位PU的基础上推导出缩放运动矢量。在条带标头内显式信令通知将用于该共位PU的推导的参考图片列表。用于时域merge候选的经缩放运动矢量是如图17中的虚线所示获得的,其利用POC距离(即tb和td)由共位PU的运动矢量缩放而成,其中,tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为该共位图片的参考图片与该共位图片之间的POC差。时域merge候选的参考图片索引被设为等于零。在HEVC规范中描述了缩放过程的实际实现。对于B条带而言,获得两个运动矢量(一个针对参考图片列表0,另一个针对参考图片列表1),并且将其结合产生双向预测merge候选。
在属于参考帧的共位PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图18所示。如果位置C0处的PU不可用,是帧内编解码的,或者处于当前编解码树单元(CTU,又名LCU,最大编解码单元)行之外,则采用位置C1。否则,将位置C0用到时域merge候选的推导当中。
2.3.2.4.附加候选***
除了空域和时域merge候选之外,还有两种附加类型的merge候选:组合双向预测merge候选和零merge候选。组合式双向预测merge候选是通过使用空域merge候选和时域merge候选生成的。组合式双向预测merge候选仅用于B条带。组合式双向预测候选是通过使初始候选的第一参考图片列表运动参数与另一个的第二参考图片列表运动参数相结合而生成的。如果这两个元组提供不同的运动假设,那么它们将形成新的双向预测候选。作为示例,图19示出了采用处于原始列表(左侧)内的两个候选(它们具有mvL0和refIdxL0或者mvL1和refIdxL1)来创建被添加至最终列表(右侧)的组合式双向预测merge候选时的情况。关于所考虑的用以生成这些附加merge候选的组合存在很多规则。
零运动候选被***以填充merge候选列表中的剩余条目,并因此命中MaxNumMergeCand容量。这些候选具有零空域位移和开始于零并且在每次向列表添加新的零运动候选时增大的参考图片索引。最后,不对这些候选执行冗余检查。
2.3.3.AMVP
AMVP利用运动矢量与相邻PU的空时相关性,该空时相关性用于运动参数的显式传输。对于每一参考图片列表而言,运动矢量候选列表的构建方式是:首先检查左侧、上侧时域相邻PU位置的可用性,去除冗余候选,并且添加零矢量,从而使候选列表具有恒定长度。之后,编码器可以从候选列表选择最佳预测子,并且传输指示所选候选的对应索引。与merge索引信令通知类似,采用截断一元码对最佳运动矢量候选的索引编码。在这一情况下要编码的最大值为2(参考图20)。在下文的章节中,将提供有关运动矢量预测候选的推导过程的细节。
2.3.3.1.AMVP候选的推导
图20总结了运动矢量预测候选的推导过程。
在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导而言,最终在位于如图20所示的五个不同位置上的每一PU的运动矢量的基础上推导出两个运动矢量候选。
对于时域运动矢量候选推导而言,从基于两个不同共位位置推导出的两个候选中选出一个运动矢量候选。在制作空时候选的第一列表之后,去除该列表中的重复运动矢量候选。如果可能候选的数量大于二,那么从列表中去除这样的运动矢量候选:其在相关联的参考图片列表内的参考图片索引大于1。如果空时运动矢量候选的数量小于二,那么向列表添加附加的零运动矢量候选。
2.3.3.2.空域运动矢量候选
在空域运动矢量候选的推导当中,在五个可能的候选当中考虑最多两个候选,这五个可能候选是从位于如图16所示的位置上的PU推导出,这些位置与运动merge的那些位置相同。针对当前PU的左侧的推导顺序被定义为A0、A1以及缩放A0、缩放A1。针对当前PU的上侧的推导顺序被定义为B0、B1、B2、缩放B0、缩放B1、缩放B2。对于每一侧,都因此存在可以被用作运动矢量候选的四种情况,其中两种情况不要求使用空域缩放,并且两种情况使用空域缩放。这四种不同情况的总结如下:
·无空域缩放
-(1)相同参考图片列表和相同参考图片索引(相同POC)
-(2)不同参考图片列表,但相同参考图片(相同POC)
·空域缩放
-(3)相同参考图片列表,但不同参考图片索引(不同POC)
-(4)不同参考图片列表和不同参考图片(不同POC)
首先检查无空域缩放情况,随后继之以空域缩放。当POC在相邻PU的参考图片和当前PU的参考图片之间存在不同时,不管参考图片列表如何,都考虑空域缩放。如果左侧候选的所有PU都不可用或者是帧内编解码的,那么允许针对上侧运动矢量的缩放,从而有助于左侧MV候选和上侧MV候选的并行推导。否则,不允许针对上侧运动矢量的空域缩放。
在空域缩放过程中,按照与时域缩放的类似的方式对相邻PU的运动矢量进行缩放,如图21所示。主要差异在于当前PU的参考图片列表和索引是作为输入给出的;实际缩放过程与时域缩放的相同。
2.3.3.3.时域运动矢量候选
撇除参考图片索引推导之外,时域merge候选的推导的所有过程均与空域运动矢量候选的推导(参见图20)相同。将参考图片索引信令通知给解码器。
2.4.VVC中的帧间预测方法
有几种用于帧间预测改进的新型编解码工具,诸如用于信令通知MVD的自适应运动矢量差分辨率(AMVR)、采用运动矢量差的Merge(MMVD)、三角形预测模式(TPM)、组合式帧内-帧间预测(CIIP)、高级TMVP(ATMVP,又名SbTMVP)、仿射预测模式、广义双向预测(GBI)、解码器侧运动矢量细化(DMVR)和双向光流(BIO,又名BDOF)。
有三种不同的在VVC中受到支持的merge列表构建过程:
1)子块merge候选列表:其包括ATMVP和仿射merge候选。对于仿射模式和ATMVP模式两者而言,共享一种merge列表构建过程。这里,可以按顺序添加ATMVP和仿射merge候选。在条带标头中信令通知子块merge列表尺寸,并且最大值为5。
2)常规merge列表:对于其余编解码块,共享一种merge列表构建过程。这里,可以按顺序***空域/时域/HMVP成对组合式双向预测merge候选以及零运动候选。在条带标头中信令通知常规merge列表尺寸,并且最大值为6。MMVD、TPM、CIIP依赖常规merge列表。
3)IBC merge列表:按照与常规merge列表类似的方式完成该列表。
类似地,有三种在VVC中受支持的AMVP列表:
1)仿射AMVP候选列表
2)常规AMVP候选列表
3)IBC AMVP候选列表:与IBC merge列表相同的构建过程
2.4.1.VVC中的编解码块结构
在VVC中,采取四叉树/二叉树/三叉树(QT/BT/TT)结构将图片划分成方形或矩形块。
除了QT/BT/TT之外,在VVC中还对I帧采取单独(separate)树(又称双重编解码树)。借助于单独树,针对亮度分量和色度分量单独地信令通知编解码块结构。
此外,除了采用几种特定编解码方法(诸如帧内子分割预测(其中,PU等于TU,但是小于CU)以及用于帧间编解码块的子块变换(其中,PU等于CU,但是TU小于PU))编解码的块之外,CU被设置为等于PU和TU。
2.4.2.仿射预测模式
在HEVC中,仅应用平移运动模型进行运动补偿预测(MCP)。而在现实世界中,则有很多种类的运动,例如,拉近/拉远、旋转、透视运动和其他不规则运动。在VVC中,采用4参数仿射模型和6参数仿射模型应用简化的仿射变换运动补偿预测。如图22所示,通过4参数仿射模型的两个控制点运动矢量(CPMV)和6参数仿射模型的3个CPMV描述块的仿射运动场。
分别通过下述方程描述块的运动矢量场(MVF),其中,4参数仿射模型(其中,4个参数被定义为变量a、b、e和f)处于方程(1)当中,并且6参数仿射模型(其中,6个参数被定义为a、b、c、d、e和f)处于方程(2)中:
其中,(mvh0,mvh 0)是左上角控制点的运动矢量,(mvh 1,mvh 1)是右上角控制点的运动矢量,(mvh 2,mvh 2)是左下角控制点的运动矢量,所有的这三个运动矢量都被称为控制点运动矢量(CPMV),(x,y)表示代表点相对于当前块内的左上样点的坐标,(mvh(x,y),mvv(x,y))是针对位于(x,y)处的样点推导出的运动矢量。CP运动矢量可以是信令通知的(比如在仿射AMVP模式当中)或者可以是即时推导的(比如在仿射merge模式当中)。w和h是当前块的宽度和高度。在实践当中,通过右移连同取整运算实施该除法。在VTM中,代表点被定义为子块的中心位置,例如,在子块的左上角相对于当前块内的左上样点的坐标为(xs,ys)时,那么代表点的坐标被定义为(xs+2,ys+2)。对于每一子块(例如,VTM中的4x4),均采用该代表点推导整个子块的运动矢量。
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。为了推导每一M×N(在当前VVC中,M和N两者都被设置为4)子块的运动矢量,根据方程(1)和方程(2)计算每一子块的中心样点的运动矢量(如图23所示),并且将其取整为达到1/16分数精度。之后,应用针对1/16像素的运动补偿插值滤波器,从而借助于推导出的运动矢量生成每一子块的预测。针对1/16像素的插值滤波器是由仿射模式引入的。
在MCP之后,按照与正常运动矢量相同的精度对每一子块的高精度运动矢量取整并保存。
2.4.3.用于整个块的MERGE
2.4.3.1.平移常规merge模式的merge列表构建
2.4.3.1.1.基于历史的运动矢量预测(HMVP)
与merge列表设计不同的是,在VVC中,采用基于历史的运动矢量预测(HMVP)方法。
在HMVP中,存储先前编解码的运动信息。先前编解码块的运动信息被定义为HMVP候选。多个HMVP候选被存储于名为HMVP表的表格中,在编码/解码过程期间在运行中保持这个表格。在开始对新的片/LCU行/条带进行编码/解码时,清空HMVP表。每当有帧间编解码块和非子块非TPM模式时,相关联的运动信息被作为新HMVP候选添加至该表格的最后条目。在图24中绘示了总的编解码流程。
2.4.3.1.2.常规merge列表构建过程
可以根据下述步骤序列总结常规merge列表(针对平移运动)的构建:
·步骤1:空域候选的推导
·步骤2:HMVP候选的***
·步骤3:成对平均候选的***
·步骤4:默认运动候选
HMVP候选可以被用到AMVP候选列表构建过程和merge候选列表构建过程两者当中。图25示出了修改后的merge列表构建过程(用蓝色突出表示)。当在TMVP候选***之后merge候选列表未满时,可以采用存储在HMVP表格中的HMVP候选填充merge候选列表。在考虑到一个块往往在运动信息方面与最近相邻块之间具有更高相关性的情况下,按照索引的降序***该表格中的HMVP候选。该表格中的最后条目被首先添加至列表,而第一条目则被最后添加。类似地,对HMVP候选应用冗余消除。一旦可用merge候选的总数达到了允许信令通知的merge候选的最大数量,就终止merge候选列表构建过程。
注意,必须采用非IBC模式对所有空域/时域/HMVP候选编解码。否则,不允许将其添加至常规merge候选列表。
HMVP表格含有最多可达5个常规运动候选,并且它们当中的每者是唯一的。
2.4.3.2.三角形预测模式(TPM)
在VTM4中,支持三角形分割模式,以进行帧间预测。仅对8x8或更大的并且在merge模式下而非MMVD或CIIP模式下编解码的CU应用三角形分割模式。对于满足这些条件的CU,信令通知CU级别的标志以指示是否应用三角形分割模式。
在使用这一模式时,使用对角线划分或者反对角线划分将CU均匀地划分成两个三角形分割,如图26所示。对CU内的每一三角形分割使用其自身的运动进行帧间预测;对于每一分割只允许单向预测,即,每一分割具有一个运动矢量和一个参考索引。应用单向预测运动约束来确保:与常规双向预测相同,每一CU只需两项运动补偿预测。
如果CU级别的标志指示当前CU是使用三角形分割模式编解码的,则进一步信令通知指示三角形分割的方向(对角线或反对角线)的标志和两个merge索引(每个用于一种分割)。在预测三角形分割的每种之后,使用具有自适应权重的混合处理来调节沿对角线或反对角线边缘的样点值。这是整个CU的预测信号,并且将像在其他预测模式中一样对该整个CU应用变换和量化过程。最后,将使用三角形分割模式预测的CU的运动场存储到各4x4单元内。
将常规merge候选列表重复用于三角形分割merge预测,而无需多余运动矢量剪枝。对于常规merge候选列表中的每一merge候选,其L0或L1运动矢量中有且只有一者用于三角形预测。此外,L0对比L1运动矢量的选择顺序以其merge索引奇偶性为基础。借助于这一方案,能够直接使用常规merge列表。
2.4.3.3.MMVD
将介绍最终运动矢量表达(UMVE,又称为MMVD)。UMVE用于与所提出的运动矢量表达方法相结合的skip模式或merge模式。
UMVE重新使用与包含在VVC中的常规merge候选列表当中的那些merge候选相同的merge候选。在这些merge候选当中,可以选择基础候选,并且通过所提出的运动矢量表达方法对基础候选做进一步扩充。
UMVE提供了一种新的运动矢量差(MVD)表示方法,其中,采用起始点、运动幅度和运动方向表示MVD。
所提出的这种技术照原样使用merge候选列表。但是仅考虑将默认merge类型(MRG_TYPE_DEFAULT_N)的候选用于UMVE的扩充。
基础候选索引定义起始点。基础候选索引指示列表内的候选当中的最佳候选,如下文所述。
表格2基础候选IDX
基础候选IDX | 0 | 1 | 2 | 3 |
第N MVP | 第1MVP | 第2MVP | 第3MVP | 第4MVP |
如果基础候选的数量等于1,那么不对基础候选IDX进行信令通知。
距离索引是运动幅度信息。距离索引由起始点信息指示预定义距离。预
定义距离如下:
表格3距离IDX
方向索引表示MVD相对于起始点的方向。方向索引可以表示如下文所示的四个方向。
表格4方向IDX
方向IDX | 00 | 01 | 10 | 11 |
x轴 | + | - | N/A | N/A |
y轴 | N/A | N/A | + | - |
在发送skip标志或merge标志之后立即信令通知UMVE标志。如果skip或merge标志为真,那么对UMVE标志进行解析。如果UMVE标志等于1,那么对UMVE语法进行解析。但是,如果不等于1,那么对AFFINE标志进行解析。如果AFFINE标志等于1,其为AFFINE模式,但是如果不等于1,那么对skip/merge索引进行针对VTM的skip/merge模式的解析。
不需要因UMVE候选引起的附加行缓存。因为软件的skip/merge候选被直接用作基础候选。在使用输入UMVE索引的情况下,对MV的补充是刚好在运动补偿之前决定的。没有必要为此保持长行缓存。
在当前的普通测试条件下,可以选择merge候选列表内的第一merge候选或者第二merge候选作为基础候选。
UMVE又被称为采用MV差的Merge(MMVD)。
2.4.3.4.组合式帧内-帧间预测(CIIP)
提出了多假设预测,其中,组合式帧内和帧间预测是一种生成多个假设的方式。
在应用多假设预测改善帧内模式时,多假设预测结合了一种帧内预测和一种merge索引预测。在merge CU中,针对merge模式信令通知一个标志,从而在该标志为真时从帧内候选列表选择帧内模式。对于亮度分量,仅由一个帧内预测模式(即,平面模式)推导帧内候选列表。通过两个相邻块(A1和B1)的编解码模式(帧内或非帧内)确定对来自帧内和帧间预测的预测块应用的权重。
2.4.4.针对基于子块的技术的MERGE
建议除了用于非子块merge候选的常规merge列表之外,将所有子块相关的运动候选放在独立的merge列表中。
放置子块相关运动候选的独立merge列表被称为“子块merge候选列表”。
在一个示例中,子块merge候选列表包括ATMVP候选和仿射merge候选。
按以下顺序利用候选填充子块merge候选列表:
a.ATMVP候选(可能可用或不可用);
b.仿射merge列表(包括继承的仿射候选;以及构建的仿射候选)
c.填补为零MV 4参数仿射模型
2.2.4.1.1.ATMVP(又名子块时域运动矢量预测子,SbTMVP)
ATMVP的基本理念是针对一个块推导多组时域运动矢量预测子。为每个子块分配一组运动信息。在生成ATMVP merge候选时,在8×8级别而不是整个块的级别上进行运动补偿。
2.4.5.常规帧间模式(AMVP)
2.4.5.1.AMVP运动候选列表
类似于HEVC中的AMVP设计,可以推导最多2个AMVP候选。不过,也可以在TMVP候选之后添加HMVP候选。按照索引的升序(即,从等于0的索引,即最早的索引开始)遍历HMVP表中的HMVP候选。可以检查最多达4个HMVP候选以查明其参考图片是否与目标参考图片相同(即,相同的POC值)。
2.4.5.2.AMVR
在HEVC中,在条带标头中use_integer_mv_flag等于0时,以四分之一亮度样点为单位信令通知运动矢量差值(MVD)(在PU的运动矢量和预测运动矢量之间)。在VVC中,引入了局部自适应运动矢量分辨率(AMVR)。在VVC中,能够以四分之一亮度样点、整亮度样点和四亮度样点(即,1/4像素、1像素、4像素)为单位对MVD编解码。在编解码单元(CU)级上控制该MVD分辨率,并且针对每一个具有至少一个非零MVD分量的CU以常规方式信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU而言,信令通知第一标志,以指示在CU中是否使用四分之一亮度样点MV精确度。在第一标志(等于1)指示不使用四分之一亮度样点MV精确度时,信令通知另一标志,以指示是否采用整亮度样点MV精确度或四亮度样点MV精确度。
在CU的第一MVD分辨率标志为零时,或者未对CU编解码该标志时(意味着CU内的所有MVD均为零),对该CU使用四分之一亮度样点MV分辨率。在CU使用整亮度样点MV精确度或者四亮度样点MV精确度时,该CU的AMVP候选列表中的MVP被相对于对应的精确度取整。
2.4.5.3.对称运动矢量差
对双向预测中的运动信息编解码应用对称运动矢量差(SMVD)。
首先,如N1001-v2中规定的,在条带级上,采用下述步骤推导出分别指示SMVD模式中使用的列表0/1的参考图片索引的变量RefIdxSymL0和RefIdxSymL1。在这两个变量中的至少一者等于-1时,必须禁用SMVD模式。
2.5.多变换选择(MTS)
除了已经在HEVC中采用的DCT-II之外,还将多变换选择(MTS)方案用于对帧间编解码块和帧内编解码块两者进行残差编解码。其采用来自DCT8/DST7的多种选定变换。新引入的变换矩阵是DST-VII和DCT-VIII。表示出了选定DST/DCT的基函数。
表5-用于N点输入的DCT-II/III和DSTVII的变换基函数
为了保持变换矩阵的正交性,要对这些变换矩阵做出比HEVC中的变换矩阵更准确的量化。为了使经变换的系数的中间值保持在16比特范围内,在水平变换之后以及在垂直变换之后,所有的系数都将具有10比特。
为了控制MTS方案,分别针对帧内和帧间在SPS级上规定单独的启用标志。当在SPS上启用MTS时,信令通知CU级标志,以指示是否应用MTS。这里,仅对亮度应用MTS。在满足下述条件时信令通知MTS CU级标志。
-宽度和高度两者都小于或者等于32
-CBF标志等于1
如果MTS CU标志等于0,那么在两个方向内都应用DCT2。然而,如果MTS CU标志等于1,那么附加地信令通知其他两个标志,从而分别指示水平方向和垂直方向的变换类型。变换和信令通知映射表格如表格66中所示。在涉及到变换矩阵精确度时,采用8比特主变换核心。因此,使HEVC中使用的所有变换核心保持相同,其包括4点DCT-2和DST-7以及8点、16点和32点DCT-2。而且,其他变换核心包括64点DCT-2、4点DCT-8以及8点、16点、32点DST-7和DCT-8主变换核心。
表格6-变换和信令通知映射表格
与HEVC中一样,可以采用变换跳过模式对块的残差编解码。为了避免语法编解码的冗余,在CU级MTS_CU_flag不等于零时不信令通知变换跳过标志。在块宽度和高度等于或小于4时启用变换跳过。
2.6.帧内块复制
帧内块复制(IBC),又名当前图片引用,已经被采纳到HEVC屏幕内容编解码扩展(HEVC-SCC)和当前VVC测试模型(VTM-4.0)中。IBC将运动补偿的概念从帧间编解码扩展到帧内编解码。如图29中所示,在应用IBC时,通过同一图片中的参考块预测当前块。在对当前块进行编码或解码之前,必须已经重建了参考块中的样点。尽管IBC并非对于大部分相机捕获序列都那么高效率,但其展现出对于屏幕内容显著的编解码增益。原因在于在屏幕内容图片中存在大量的重复图案,例如图标和文本字符。IBC能够有效地消除这些重复图案之间的冗余。在HEVC-SCC中,如果IBC选择当前图片作为其参考图片,则帧间编解码的编解码单元(CU)可以应用IBC。在这种情况下,MV被重新命名为块矢量(BV),BV始终具有整像素的精度。为了与主简表HEVC兼容,在解码图片缓冲区(DPB)中将当前图片标记为“长期”参考图片。应当指出,类似地,在多种视图/3D视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。
在遵循BV找到其参考块的情况下,可以通过复制参考块来生成预测。可以通过从初始信号减去参考像素来获得残差。然后可以如其他编解码模式中那样,应用变换和量化。
不过,在参考块在图片外部,或与当前块重叠,或在重建区域外部,或在某些约束限制的有效区域外部时,不定义部分或全部像素值。基本上,有两种方案来处理此类问题。一种方案是不允许此类状况,例如,在比特流一致性中。另一种方案是针对那些未定义的像素值应用填补。以下小节将详细描述这些解决方案。
2.6.1.VCC测试模型中的IBC(VTM4.0)
在当前的VCC测试模型中,即,VTM-4.0设计中,整个参考块应当利用当前编解码树单元(CTU),而且不和当前块重叠。因此,不需要填补参考块或预测块。IBC标志被编解码为当前CU的预测模式。于是,对于每个CU共有三种预测模式,即MODE_INTRA、MODE_INTER和MODE_IBC。
2.6.1.1.IBC Merge模式
在IBC Merge模式中,从比特流解析出指向IBC merge候选列表中的条目的索引。可以根据以下步骤序列总结IBC merge列表的构建:
·步骤1:空域候选的推导
·步骤2:HMVP候选的***
·步骤3:成对平均候选的***
在空域merge候选的推导当中,在位于图14所示的A1、B1、B0、A0和B2中所示位置上的候选当中选择最多四个merge候选,其推导的顺序为A1、B1、B0、A0和B2。只有在位置A1、B1、B0、A0的任何PU不可用(例如,因为其属于另一条带或片)或者未采用IBC模式编解码时才考虑位置B2。在位置A1处的候选被添加之后,其余候选的***要受到冗余检查,其确保从列表中排除具有相同运动信息的候选,从而提高编解码效率。
在***空域候选之后,如果IBC merge列表尺寸仍然小于最大IBC merge列表尺寸,则可以***来自HMVP表的IBC候选。在***HMVP候选时执行冗余检查。最后,向IBCmerge列表中***成对的平均候选。
在merge候选标识的参考块在图片外部,或与当前块重叠,或在重建区域外部,或在某些约束条件限制的有效区域外部时,该merge候选被称为无效merge候选。
要指出的是,可以向IBC merge列表中***无效merge候选。
2.6.1.2.IBC AMVP模式
在IBC AMVP模式中,从比特流解析指向IBC AMVP列表中的条目的AMVP索引。可以根据以下步骤序列总结IBC AMVP列表的构建:
·步骤1:空域候选的推导
ο检查A0、A1,直到发现可用候选。
ο检查B0、B1、B2,直到发现可用候选。
·步骤2:HMVP候选的***
·步骤3:零候选的***
在***空域候选之后,如果IBC AMVP列表尺寸仍然小于最大IBC AMVP列表尺寸,则可以***来自HMVP表的IBC候选。
最后,向IBC AMVP列表中***零候选。
2.6.1.3.色度IBC模式
在当前VVC中,在子块级别执行色度IBC模式中的运动补偿。色度块将被分割成几个子块。每个子块判断对应亮度块是否具有块矢量,并且如果存在,判断其有效性。在当前的VTM中存在编码器约束,其中,如果当前色度CU中的所有子块都具有有效亮度块矢量,将测试色度IBC模式。例如,在YUV 420视频上,色度块为N×M,则共位的亮度区域为2N×2M。色度块的子块尺寸为2×2。有几个步骤来执行色度mv推导,然后执行块复制过程。
1)色度块首先将被分割成(N>>1)*(M>>1)个子块。
2)左上样点坐标为(x,y)的每个子块获取覆盖坐标为(2x,2y)的相同左上样点的对应亮度块。
3)编码器检查所获取亮度块的块矢量(bv)。如果符合以下条件之一,则认为bv是无效的。
a.对应亮度块的bv不存在。
b.由bv标识的预测块尚未被重建。
c.由bv标识的预测块部分或全部与当前块重叠。
4)子块的色度运动矢量被设置为对应亮度子块的运动矢量。
在所有子块都找到有效bv时,在编码器处允许IBC模式。
下文列出了IBC块的解码过程。与IBC模式中的色度mv推导相关的部分被突出表示为灰色。
8.6.1用于按照IBC预测编解码的编解码单元的通用解码过程这一过程的输入为:
-亮度位置(xCb,yCb),相对于当前图片的左上亮度样点指定当前编解码块的左上样点,
-变量cbWidth,其以亮度样点为单位指定当前编解码块的宽度,
-变量cbHeight,其以亮度样点为单位指定当前编解码块的高度,
-变量treeType,指定使用一元树还是二元树,如果使用二元树,指定当前树对应于亮度分量还是色度分量。
这一过程的输出是环路滤波之前的修改重建图片。
调用条款8.7.1中规定的用于量化参数的推导过程,其以亮度位置(xCb,yCb)、当前编解码块以亮度样点为单位的宽度cbWidth和当前编解码块以亮度样点为单位的高度cbHeight以及变量treeType作为输入。
在ibc预测模式中编解码的编解码单元的解码过程由以下有序步骤构成:
1.如下推导当前编解码单元的运动矢量分量:
1.如果treeType等于SINGLE_TREE或DUAL_TREE_LUMA,以下适用:
-调用条款8.6.2.1中规定的运动矢量分量的推导过程,其以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,以亮度运动矢量mvL[0][0]作为输出。
-在treeType等于SINGLE_TREE时,调用条款8.6.2.9中的色度运动矢量的推导过程,其以亮度运动矢量mvL[0][0]作为输入,以色度运动矢量mvC[0][0]作为输出。
-亮度编解码子块在水平方向上的数量numSbX以及在垂直方向上的数量numSbY都被设置为等于1。
1.否则,如果treeType等于DUAL_TREE_CHROMA,则以下适用:
-如下推导水平方向上亮度编解码子块的数量numSbX和垂直方向上的数量numSbY:
numSbX=(cbWidth>>2) (8-886)
numSbY=(cbHeight>>2) (8-887)
-针对xSbIdx=0..numSbX-1、ySbIdx=0..numSbY-1,如下推导色度运动矢量mvC [xSbIdx][ySbIdx]:
-如下推导亮度运动矢量mvL[xSbIdx][ySbIdx]:
-如下推导共位亮度编解码单元的位置(xCuY,yCuY):
xCuY=xCb+xSbIdx*4 (8-888)
yCuY=yCb+ySbIdx*4 (8-889)
-如果CuPredMode[xCuY][yCuY]等于MODE_INTRA,以下适用:
mvL[xSbIdx][ySbIdx][0]=0 (8-890)
mvL[xSbIdx][ySbIdx][1]=0 (8-891)
predFlagL0[xSbIdx][ySbIdx]=0 (8-892)
predFlagL1[xSbIdx][ySbIdx]=0 (8-893)
-否则(CuPredMode[xCuY][yCuY]等于MODE_IBC),以下适用:
mvL[xSbIdx][ySbIdx][0]=MvL0[xCuY][yCuY][0] (8-894)
mvL[xSbIdx][ySbIdx][1]=MvL0[xCuY][yCuY][1] (8-895)
predFlagL0[xSbIdx][ySbIdx]=1 (8-896)
predFlagL1[xSbIdx][ySbIdx]=0 (8-897)
-调用条款8.6.2.9中的色度运动矢量的推导过程,其以mvL[xSbIdx][ySbIdx]作为输入,并以mvC[xSbIdx][ySbIdx]作为输出。
-比特流一致性的要求是色度运动矢量mvC[xSbIdx][ySbIdx]应当遵守以下约束:
-在调用条款6.4.X[Ed.(BB):相邻块可用性检查过程待定]中规定的针对块可用性的推导过程时(其中,以设置成等于(xCb/SubWidthC,yCb/SubHeightC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xCb/SubWidthC+(mvC[xSbIdx][ySbIdx][0]>>5),yCb/SubHeightC+(mvC[xSbIdx][ySbIdx][1]>>5))作为输入),输出必须等于真。
-在调用条款6.4.X[Ed.(BB):相邻块可用性检查过程待定]中规定的针对块可用性的推导过程时(其中,以设置成等于(xCb/SubWidthC,yCb/SubHeightC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xCb/SubWidthC+(mvC[xSbIdx][ySbIdx][0]>>5)+cbWidth/SubWidthC-1,yCb/SubHeightC+(mvC[xSbIdx][ySbIdx][1]>>5)+cbHeight/SubHeightC-1)作为输入),输出必须等于真。
-以下状况之一或两者应当为真:
-(mvC[xSbIdx][ySbIdx][0]>>5)+xSbIdx*2+2小于或等于0。
-(mvC[xSbIdx][ySbIdx][1]>>5)+ySbIdx*2+2小于或等于0。
2.如下推导当前编解码单元的预测样点:
-如果treeType等于SINGLE_TREE或DUAL_TREE_LUMA,则如下推导当前编解码单元的预测样点:
-调用条款8.6.3.1中规定的ibc块的解码过程,其以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、亮度编解码子块在水平方向上的数量numSbX和在垂直方向上的数量numSbY、其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1的亮度运动矢量mvL[xSbIdx][ySbIdx]、被设置为等于0的变量cIdx作为输入,并以作为预测亮度样点的(cbWidth)x(cbHeight)数组predSamplesL的ibc预测样点(predSamples)作为输出。
-否则,如果treeType等于SINGLE_TREE或DUAL_TREE_CHROMA,则如下推导当前编解码单元的预测样点:
-调用条款8.6.3.1中规定的ibc块的解码过程,其以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、亮度编解码子块在水平方向上的数量numSbX和在垂直方向上的数量numSbY、其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1的色度运动矢量mvC[xSbIdx][ySbIdx]以及被设置为等于1的变量cIdx作为输入,并以作为用于色度分量Cb的预测色度样点的(cbWidth/2)x(cbHeight/2)数组predSamplesCb的ibc预测样点(predSamples)作为输出。
-调用条款8.6.3.1中规定的ibc块的解码过程,以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、亮度编解码子块在水平方向上的数量numSbX和在垂直方向上的数量numSbY、其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1的色度运动矢量mvC[xSbIdx][ySbIdx]以及被设置为等于2的变量cIdx作为输入,并以作为用于色度分量Cr的预测色度样点的(cbWidth/2)x(cbHeight/2)数组predSamplesCr的ibc预测样点(predSamples)作为输出。
3.变量NumSbX[xCb][yCb]和NumSbY[xCb][yCb]被设置为分别等于numSbX和numSbY。
4.如下推导当前编解码单元的残差样点:
-在treeType等于SINGLE_TREE或treeType等于DUAL_TREE_LUMA时,调用条款8.5.8中规定的在帧间预测模式中编解码的编解码块的残差信号的解码过程,其以被设置为等于亮度位置(xCb,yCb)的位置(xTb0,yTb0)、被设置为等于亮度编解码块宽度cbWidth的宽度nTbW、被设置为等于亮度编解码块高度cbHeight的高度nTbH以及被设置为等于0的变量cIdx作为输入,并以数组resSamplesL作为输出。
-在treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,调用条款8.5.8中规定的在帧间预测模式中编解码的编解码块的残差信号的解码过程,其以被设置为等于色度位置(xCb/2,yCb/2)的位置(xTb0,yTb0)、被设置为等于色度编解码块宽度cbWidth/2的宽度nTbW、被设置为等于色度编解码块高度cbHeight/2的高度nTbH以及被设置为等于1的变量cIdx作为输入,并以数组resSamplesCb作为输出。
-在treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,调用条款8.5.8中规定的在帧间预测模式中编解码的编解码块的残差信号的解码过程,其以被设置为等于色度位置(xCb/2,yCb/2)的位置(xTb0,yTb0)、被设置为等于色度编解码块宽度cbWidth/2的宽度nTbW、被设置为等于色度编解码块高度cbHeight/2的高度nTbH以及被设置为等于2的变量cIdx作为输入,并以数组resSamplesCr作为输出。
5.如下推导当前编解码单元的重建样点:
-在treeType等于SINGLE_TREE或treeType等于DUAL_TREE_LUMA时,调用条款8.7.5中规定的用于颜色分量的图片重建过程,其以被设置为等于(xCb,yCb)的块位置(xB,yB)、被设置为等于cbWidth的块宽度bWidth、被设置为等于cbHeight的块高度bHeight、被设置为等于0的变量cIdx、被设置为等于predSamplesL的(cbWidth)x(cbHeight)数组predSamples和被设置为等于resSamplesL的(cbWidth)x(cbHeight)阵列resSamples作为输入,并且输出是环路滤波之前的修改重建图片。
-在treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,调用条款8.7.5中规定的用于颜色分量的图片重建过程,其以被设置为等于(xCb/2,yCb/2)的块位置(xB,yB)、被设置为等于cbWidth/2的块宽度bWidth、被设置为等于cbHeight/2的块高度bHeight、被设置为等于1的变量cIdx、被设置为等于predSamplesCb的(cbWidth/2)x(cbHeight/2)数组predSamples和被设置为等于resSamplesCb的(cbWidth/2)x(cbHeight/2)数组resSamples作为输入,并且输出是环路滤波之前的修改重建图片。
-在treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,调用条款8.7.5中规定的用于颜色分量的图片重建过程,其以被设置为等于(xCb/2,yCb/2)的块位置(xB,yB)、被设置为等于cbWidth/2的块宽度bWidth、被设置为等于cbHeight/2的块高度bHeight、被设置为等于2的变量cIdx、被设置为等于predSamplesCr的(cbWidth/2)x(cbHeight/2)数组predSamples和被设置为等于resSamplesCr的(cbWidth/2)x(cbHeight/2)数组resSamples作为输入,并且输出是环路滤波之前的修改重建图片。
2.6.2.IBC的最近进展(VTM5.0中)
2.6.2.1.单一BV列表
IBC中用于merge模式和AMVP模式的BV预测子将共享公共预测子列表,该公共预测子列表由以下元素构成:
·2个空间相邻的位置(如图14中的A1、B1)
·5个HMVP条目
·默认零个矢量
列表中候选的数量受到从条带标头导出的变量的控制。对于merge模式而言,将使用这一列表的高达前6个条目;对于AMVP模式而言,将使用这一列表的前2个条目。该列表符合共享merge列表区域要求(共享SMR之内的同一列表)。
除了上述BV预测子候选列表之外,还提出简化HMVP候选和现有merge候选(A1,B1)之间的剪枝操作。在简化中,将有最多2次剪枝操作,因为它仅将第一HMVP候选与空域merge候选进行比较。
2.6.2.1.1.解码过程
8.6.2.2用于IBC亮度运动矢量预测的推导过程
仅在CuPredMode[xCb][yCb]等于MODE_IBC时调用这个过程,其中(xCb,yCb)相对于当前图片的左上亮度样点指定当前亮度编解码块的左上样点。
这一过程的输入为:
-当前亮度编解码块的左上样点相对于当前图片的左上亮度样点的亮度位置(xCb,yCb),
-变量cbWidth,其以亮度样点为单位指定当前编解码块的宽度,
-变量cbHeight,其以亮度样点为单位指定当前编解码块的高度。
这个过程的输出为:
-1/16分数样点精度的亮度运动矢量mvL。
如下推导变量xSmr、ySmr、smrWidth、smrHeight和smrNumHmvpIbcCand:
xSmr=IsInSmr[xCb][yCb]?SmrX[xCb][yCb]:xCb (8-910)
ySmr=IsInSmr[xCb][yCb]?SmrY[xCb][yCb]:yCb (8-911)
smrWidth=IsInSmr[xCb][yCb]?SmrW[xCb][yCb]:cbWidth(8-912)
smrHeight=IsInSmr[xCb][yCb]?SmrH[xCb][yCb]:cbHeight(8-913)
smrNumHmvpIbcCand=IsInSmr[xCb][yCb]?NumHmvpSmrIbcCand:NumHmvpIbcCand(8-914)
通过以下有序步骤推导亮度运动矢量mvL:
1.调用条款8.6.2.3中规定的来自相邻编解码单元的空域运动矢量候选的推导过程,以被设置为等于(xSmr,ySmr)的亮度编解码块位置(xCb,yCb)、被设置为等于smrWidth和smrHeight的亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,并且输出为可用性标志availableFlagA1、availableFlagB1和运动矢量mvA1和mvB1。
2.如下构建运动矢量候选列表mvCandList:
i=0
if(availableFlagA1)
mvCandList[i++]=mvA1 (8-915)
if(availableFlagB1)
mvCandList[i++]=mvB1
3.变量numCurrCand被设置为等于mvCandList中的merging候选的数量。
4.在numCurrCand小于MaxNumMergeCandand且smrNumHmvpIbcCand大于0时,调用8.6.2.4中规定的基于IBC历史的运动矢量候选的推导过程,以mvCandList、被设置为等于IsInSmr[xCb][yCb]的isInSmr和numCurrCand作为输入,并且以修改的mvCandList和numCurrCand作为输出。
5.在numCurrCand小于MaxNumMergeCand时,以下适用,直到numCurrCand等于MaxNumMergeCand:
1.将mvCandList[numCurrCand][0]设置为等于0。
2.将mvCandList[numCurrCand][1]设置为等于0。
3.将numCurrCand增加1。
6.如下推导变量mvIdx:
mvIdx=general_merge_flag[xCb][yCb]?merge_idx[xCb][yCb]:mvp_l0_flag[xCb][yCb](8-916)
7.作出如下赋值:
mvL[0]=mergeCandList[mvIdx][0] (8-917)
mvL[1]=mergeCandList[mvIdx][1] (8-918)
2.6.2.2.IBC的尺寸限制
在最新的VVC和VTM5中,提出在此前VTM和VVC版本中的当前比特流约束之上显式地使用语法约束来禁用128x128 IBC模式,这使得IBC标志的存在取决于CU尺寸<128x128。
2.6.2.3.用于IBC的共享merge列表
为了降低解码器复杂度并支持并行编码,提出了对于CU划分树中的一个祖先节点的所有叶编解码单元(CU)而言共享相同的merging候选列表,从而实现小的skip/merge编解码CU的并行处理。祖先节点被命名为merge共享节点。在merge共享节点处生成共享merging候选列表,假装merge共享节点为叶CU。
更具体而言,以下可以适用:
-如果块具有不大于32的亮度样点,并且被划分成2个4×4子块,则在非常小的块(例如,两个相邻4×4块)之间使用共享merge列表。
-如果该块具有大于32个亮度样点,然而在划分之后,至少一个子块小于阈值(32),则该划分的所有子块共享同一个merge列表(例如,16×4或4×16三元划分或8×8四元划分)。
这样的限制仅应用于IBC merge模式。
2.6.3.量化残差差分脉冲编解码调制(RDPCM)
VTM5支持用于屏幕内容编解码的量化残差差分脉冲编解码调制(RDPCM)。
在启用RDPCM时,如果CU尺寸小于或等于32x32个亮度样点并且如果CU是帧内编解码的,那么在CU级传输标志。这一标志表明使用常规帧内编解码还是RDPCM。如果使用RDPCM,那么传输RDPCM预测方向标志,以表明该预测是水平的还是垂直的。之后,使用常规水平或垂直帧内预测过程借助于未经滤波的参考样点预测该块。对残差量化并且对每一量化残差与其预测子之间的差编解码,所述预测子是指水平或垂直(取决于RDPCM预测方向)相邻位置的先前编解码残差。
对于具有尺寸M(高度)×N(宽度)的块而言,令ri,i,0≤i≤M-1,0≤j≤N-1是预测残差。令Q(ri,j),0≤i≤M-1,0≤j≤N-1表示残差ri,j的量化版本。对量化残差值应用RDPCM,从而得到具有元的修改后M×N数细其中,是由其相邻量化残差值预测的。对于垂直RDPCM预测模式,针对0≤j≤(N-1),使用下式推导
在解码器侧,如下反转以上过程,以计算Q(ri,j),0≤i≤M-1,0≤j≤N-1:
将逆量化残差Q-1(Q(ri,j))加到帧内块预测值上,以产生重建样点值。
使用与变换跳过模式残差编解码当中的相同的残差编解码过程将预测量化残差值发送至解码器。就用于未来帧内模式编解码的MPM模式而言,由于对于RDPCM编解码CU而言不对亮度帧内模式编解码,因而使第一MPM帧内模式与当前CU相关联并且将其用于当前CU和后续CU的色度块的帧内模式编解码。对于去方块而言,如果处于块边界两侧的两个块均使用RDPCM编解码,那么不对该特定块边界去方块。
2.7.组合帧间和帧内预测(CIIP)
在VTM5中,当在merge模式下对CU编解码时,如果CU含有至少64个亮度样点(也就是说,CU宽度乘以CU高度等于或者大于64),并且如果CU宽度和CU高度两者均小于128个亮度样点,那么信令通知附加的标志,以指示是否对当前CU应用组合帧间/帧内预测(CIIP)模式。如其名称所指示的,CIIP预测将帧间预测信号与帧内预测信号相结合。CIIP模式中的帧间预测信号Pinter是使用与常规merge模式应用的相同的帧间预测过程推导的;并且帧内预测信号Pintra是遵循采用平面模式的常规帧内预测过程推导的。之后,使用加权平均使帧内预测信号和帧间预测信号相结合,其中,如下依据顶部和左侧相邻块(图30中所示)的编解码模式计算权重值:
-如果顶部邻居可用并且是帧内编解码的,那么将isIntraTop设置为1,否则将isIntraTop设置为0;
-如果左侧邻居可用并且是帧内编解码的,那么将isIntraLeft设置为1,否则将isIntraLeft设置为0;
-如果(isIntraTop+isIntraLeft)等于2,那么将wt设置为3;
-否则,如果(isIntraTop+isIntraLeft)等于1,那么将wt设置为2;
-否则,将wt设置为1。
如下形成CIIP预测:
PCIIP=((4-wt)*Pinter+wt*Pintra+2)>>2 (3-7)
3.由本文件中提供的技术解决方案所解决的技术问题
当前VVC设计可能具有下述问题:
1.在考虑一些编解码工具(例如,TPM、RDPCM、CIIP)中的运动信息时,可以提高屏幕内容编解码的编解码效率。
2.IBC模式的运动/块矢量编解码可能不够有效。
4.技术和实施例的列举
下文的列举应被视为解释一般概念的示例。不应狭义地解释这些技术。此外,这些发明可以以任何方式组合。
在下文中,“块矢量”表示指向同一图片内的参考块的运动矢量。“IBC”表示使用同一图片内的样点(经滤波或未经滤波)的信息的编解码方法。例如,如果一个块是采用两个参考图片(其中一个为当前图片,另一个不是)编解码的,那么在这样的情况下,也可以将其归类为是采用IBC模式编解码的。
在下文中,我们将MVx和MVy表示为运动矢量(MV)的水平和垂直分量;将MVDx和MVDy表示为运动矢量差(MVD)的水平和垂直分量;将BVx和BVy表示为块矢量(BV)的水平和垂直分量;将BVPx和BVPy表示为块矢量预测子(BVP)的水平和垂直分量;将BVDx和BVDy表示为块矢量差(BVD)的水平和垂直分量。CBx和CBy代表块相对于图片的左上位置的位置;W和H代表块的宽度和高度。(x,y)表示相对于块的左上位置的样点。Floor(t)是不大于t的最大整数。
1.提出了针对IBC编解码块修改块矢量差(例如,块矢量和块矢量预测子之间的差),并且对修改后的BVD编解码。
a.在一个示例中,可以将BVDy修改成(BVDV+BH),其中,BH为常数。
i.在一个示例中,BH可以是128。
ii.在一个示例中,BH可以是-128。
iii.在一个示例中,BH可以是CTU的高度。
iv.在一个示例中,BH可以是负的CTU高度。
v.在一个示例中,BH可以取决于块维度和/或块位置和/或IBC参考区域尺寸。
b.在一个示例中,可以将BVDx修改为(BVDx+BW),其中,BW是常数。
i.在一个示例中,BW可以是128。
ii.在一个示例中,BW可以是-128。
iii.在一个示例中,BW可以是128*128/(CTU/CTB尺寸)。
iv.在一个示例中,BW可以是负的128*128/(CTU/CTB尺寸)。
v.在一个示例中,BW可以取决于块维度和/或块位置和/或IBC参考区域尺寸。
c.在一个示例中,可以针对某一BVD值集合BVDS1执行这样的修改,并且针对某一BVD值集合BVDS2不执行这样的修改,并且可以针对所有其他BVD值信令通知语法以指示是否应用这样的修改。
d.是否和/或如何修改块矢量差可以取决于所述差的符号和/或幅度。
i.在一个示例中,在BVDy>BH/2时,可以将BVDy修改为(BVDy-BH)。
ii.在一个示例中,在BVDy<-Bh/2时,可以将BVDy修改为(BVDy+BH)。
iii.在一个示例中,在BVDx>BW/2时,可以将BVDx修改为(BVDx-BW)。
iv.在一个示例中,在BVDx<-BH/2时,可以将BVDx修改为(BVDx+BW)。
2.提出了针对IBC编解码块修改块矢量预测子,并且使用修改后的BV预测子对所述块解码。
a.在一个示例中,可以将修改后的BV预测子与信令通知的BVD一起使用,从而推导出块的最终BV(例如,在AMVP模式中)。
b.在一个示例中,可以直接使用修改后的BV预测子作为块的最终BV(例如,在merge模式中)。
c.可以通过以BVP代替BVD而按照与项目符号1类似的方式完成对BV预测子的修改。
d.是否和/或如何修改BVP可以取决于该BVP的符号和/或幅度。
i.在一个示例中,在BVPy=BVPx=0时,可以将(BVPx,BVPy)修改为(-64,-64)。
3.提出了针对IBC修改解码的块矢量,并且使用修改后的块矢量识别参考块(例如,用于样点复制的)。
a.在一个示例中,在使用BVy时,可以将BVy修改成(BVy+BH)。
i.在一个示例中,BH可以是128。
ii.在一个示例中,BH可以是-128。
iii.在一个示例中,BH可以是CTU/CTB的高度。
iv.在一个示例中,BH可以是负的CTU/CTB高度。
v.在一个示例中,BH可以取决于块维度和/或块位置和/或IBC参考区域尺寸。
b.在一个示例中,在使用BVx时,可以将BVx修改为(BVx+BW)。
i.在一个示例中,BW可以是128。
ii.在一个示例中,BW可以是-128。
iii.在一个示例中,BW可以是128*128/(CTU/CTB尺寸)。
iv.在一个示例中,BW可以是负的128*128/(CTU/CTB尺寸)。
v.在一个示例中,BW可以取决于块维度和/或块位置和/或IBC参考区域尺寸。
c.在一个示例中,以上修改之后的运动矢量可以必须是有效的。
i.在一个示例中,有效运动矢量可以对应于不与当前块重叠的预测块。
ii.在一个示例中,有效运动矢量可以对应于当前图片内的预测块。
iii.在一个示例中,有效运动矢量可以对应于所有样点均经重建的预测块。
d.在一个示例中,可以存储修改后的块矢量并且将其用于运动预测或/和去方块。
e.是否和/或如何修改块矢量差可以取决于分量的幅度。
i.在一个示例中,在(CBy+BVy)/(CTU/CTB高度)<CBy/(CTU/CTB高度)时,可以将BVy修改为(BVy+(CTU/CTB高度))。
ii.在一个示例中,在(CBy+W+BVy)/(CTU/CTB高度)>CBy/(CTU/CTB高度)时,可以将BVy修改为(BVy
-(CTU/CTB高度))。
iii.在一个示例中,在(BVx,BVy)无效时,如果块矢量(BVx-BW,BVy)是有效的,那么可以将BVx修改为(BVx+BW),其中,BVy可以是未修改或者修改后的垂直分量。
iv.在一个示例中,在(BVx,BVy)无效时,如果块矢量(BVx+BW,BVy)是有效的,那么可以将BVx修改为(BVx+BW),其中,BVy可以是未修改或者修改后的垂直分量。
4.针对不同分量的修改可以遵循一定顺序。
a.在一个示例中,对BVDx的修改可以处于对BVDy的修改之前。
b.在一个示例中,可以在修改BVx之前修改BVy。
5.可以基于修改后的BV/BVD形成运动矢量预测子。
a.在一个示例中,HMVP可以基于修改后的BV/BVD。
b.在一个示例中,merge候选可以基于修改后的BV/BVD。
c.在一个示例中,AMVP可以基于修改后的BV/BVD。
6.以上常数值BW、BH可以是预定义的,或者可以是在SPS/PPS/条带/片组/片/砖块/CTU级别内信令通知的。
7.在当前块位于图片/条带/片组边界上时可以禁用以上方法。
a.在一个示例中,在当前块相对于图片/条带/片组的最左上的垂直位置为0时,可以将BH设置为0。
b.在一个示例中,在当前块相对于图片/条带/片组的最左上位置的水平位置为0时,可以将BW设置为0。
8.在CIIP中应用于帧内预测信号的加权因子(由wt表示)可以取决于运动矢量。
a.在一个示例中,当MVx等于0或者MVy等于0时,可以将用于帧内预测的wt设置为1。
b.在一个示例中,在MV指向整像素或者具有整数精确度时,可以将用于帧内预测的wt设置为1。
9.TPM中使用的权重可以取决于分割的运动信息。
a.在一个示例中,其可以取决于与一个分割相关联的MV是否具有等于0的一个或多个分量(水平或/和垂直)。
b.在一个示例中,当对于TPM中的右上分割(即,图31A中所示的分割1)而言MVx等于0或者MVy等于0,并且W>=H时,可以将满足floor(x*H/W)<=y的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
c.在一个示例中,当对于TPM中的右上分割(即,图31A中所示的分割1)而言MVx等于0或者MVy等于0,并且W<H时,可以将满足x<=floor(y*W/H)的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
d.在一个示例中,当对于TPM中的左下分割(即,图31A中所示的分割2)而言MVx等于0或者MVy等于0,并且W>=H时,可以将满足floor(x*H/W)>=y的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
e.在一个示例中,当对于TPM中的左下分割(即,图31A中所示的分割2)而言MVx等于0或者MVy等于0,并且W<H时,可以将满足x>=floor(y*W/H)的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
f.在一个示例中,当对于TPM中的左上分割(即,图31B中所示的分割1)而言MVx等于0或者MVy等于0,并且W>=H时,可以将满足floor((W-1-x)*H/W)>=y的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
g.在一个示例中,当对于TPM中的左上分割(即,图31B中所示的分割1)而言MVx等于0或者MVy等于0,并且W<H时,可以将满足(W-1-x)>=floor(y*W/H)的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
h.在一个示例中,当对于TPM中的右下分割(即,图31B中所示的分割2)而言MVx等于0或者MVy等于0,并且W>=H时,可以将满足floor((W-1-x)*H/W)<=y的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
i.在一个示例中,当对于TPM中的右下分割(即,图31B中所示的分割2)而言MVx等于0或者MVy等于0,并且W<H时,可以将满足(W-1-x)<=floor(y*W/H)的样点的权重设置为1。
i.替代性地,对于其他样点,可以将权重设置为0。
10.TPM中的该混合过程可以取决于变换信息。
a.在一个示例中,在选择变换跳过模式时,可以不应用该混合过程。
b.在一个示例中,在该块不具有非零残差时,可以不应用该混合过程。
c.在一个示例中,在选择变换时,可以应用该混合过程。
d.在一个示例中,在不应用该混合过程时,可以仅使用分割X的运动信息生成该分割的预测样点,其中,X可以是0或1。
11.是否启用以上方法可以取决于
a.编解码内容的特点
b.内容类型(例如,屏幕内容、相机俘获内容)
c.SPS/PPS/条带/片组/片/砖块/CTU/其他视频单元级别处的标志
d.一个块的编解码信息
图32是视频处理装置3200的框图。装置3200可以用于实施本文描述的方法中的一者或多者。装置3200可以被体现到智能手机、平板电脑、计算机、物联网(IoT)接收器等当中。装置3200可以包括一个或多个处理器3202、一个或多个存储器3204以及视频处理硬件3206。(一个或多个)处理器3202可以被配置为实施本文件中描述的一种或多种方法。(一个或多个)存储器3204可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3206可以用于在硬件电路中实施本文件中描述的一些技术。
在一些实施例中,可以使用在联系图32描述的硬件平台上实施的装置来实施这些视频编解码方法。
图33是视频处理的示例性方法3300的流程图。该方法包括:在视频图片的当前视频块与当前视频块的比特流表示之间的转换期间,确定(3302)表示对应于当前视频块的块矢量与其预测子之间的差的块矢量差(BVD),其中,该块矢量指示针对该视频图片中的当前视频块的运动匹配,并且其中,将该BVD的修改后的值编解码到该比特流表示当中;以及使用该块矢量执行(3304)当前视频块与当前视频块的比特流表示之间的转换。可以在该转换期间基于用于先前视频块的转换的一个或多个先前块矢量计算该BVD的预测子。
将利用解决方案的列举进一步描述在本文件中描述的各种解决方案和实施例。
下述解决方案是章节4的项目1中列举的技术的示例。
1.一种视频处理方法,包括:在视频图片的当前视频块与当前视频块的比特流表示之间的转换期间,确定表示对应于当前视频块的块矢量与其预测子之间的差的块矢量差(BVD),其中,该块矢量指示针对该视频图片中的当前视频块的运动匹配,并且其中,将该BVD的修改后的值编解码到该比特流表示当中;以及使用该块矢量执行当前视频块与当前视频块的比特流表示之间的转换。
2.根据解决方案1所述的方法,其中,该BVD的修改后的值包括将偏移量BH加到该BVD的y分量BVDy上得到的结果。
3.根据解决方案1所述的方法,其中,该BVD的修改后的值包括将偏移量BW加到该BVD的x分量BVDx上得到的结果。
4.根据解决方案1所述的方法,其中,通过检查该BVD是否来自一个BVD值集合而获得该BVD的修改后的值。
5.根据解决方案1所述的方法,其中,通过使用取决于该BVD的值或幅度的修改技术获得该BVD的修改后的值。
下述解决方案是章节4的项目2中列举的技术的示例。
1.一种视频处理方法,包括:在视频图片的当前视频块与当前视频块的比特流表示之间的转换期间,确定对该转换使用帧内块复制工具;以及使用修改后的块矢量预测子执行该转换,修改后的块矢量预测子对应于当前视频块的块矢量差(BVD)的修改值。
2.根据解决方案1所述的方法,其中,该转换进一步使用对应于该比特流表示中的字段的该BVD的值。
3.根据解决方案1-2中的任何解决方案所述的方法,其中,该转换使用由该修改值和该BVD推导的块矢量。
下述解决方案是章节4的项目3中列举的技术的示例。
1.一种视频处理方法,包括:使用帧内块复制编解码工具执行视频图片的当前视频块与当前视频块的比特流表示之间的转换,其中,将被包含到比特流表示当中的对应于块矢量的修改值的修改后的块矢量用于该转换。
2.根据解决方案1所述的方法,其中,该转换包括通过修改后的块矢量由视频图片参考的另一区域执行样点复制。
3.根据解决方案1-2中的任何解决方案所述的方法,其中,通过将偏移量BH加到块矢量的y分量BVy上而获得该块矢量的修改值。
4.根据解决方案1-2中的任何解决方案所述的方法,其中,通过将偏移量BW加到块矢量的x分量BVx上而获得该块矢量的修改值。
5.根据解决方案1-4中的任何解决方案所述的方法,其中,对该修改值做进一步的有效性检查。
下述解决方案是章节4的项目4中列举的技术的示例。
1.根据以上解决方案所述的方法,其中,该修改是按顺序完成的。
2.根据解决方案1所述的方法,其中,该顺序包括首先修改该块矢量或该块矢量差的水平分量,之后修改其垂直分量。
下述解决方案是章节4的项目5和6中列举的技术的示例。
1.根据以上解决方案中的任何解决方案所述的方法,其中,进一步使用修改后的块矢量或修改后的块矢量差形成运动矢量预测子。
2.根据以上解决方案中的任何解决方案所述的方法,其中,该修改使用在比特流表示中信令通知的偏移量值。
3.根据解决方案2所述的方法,其中,在序列参数集级别或图片参数集级别或条带级别或片组级别或片级别或砖块级别或编解码树单元级别上信令通知偏移量值。
下述解决方案是章节4的项目7中列举的技术的示例。
1.根据以上解决方案中的任何解决方案所述的方法,其中,由于当前视频块处于该视频图片的允许区域内而执行该修改。
2.根据解决方案1所述的方法,其中,所允许的区域排除视频图片或视频条带或片组的边界。
下述解决方案是章节4的项目8中列举的技术的示例。
1.一种视频处理方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于当前视频块的条件确定加权因子wt;以及使用组合式帧内-帧间编解码操作执行该转换,其中,该加权因子wt用于为当前视频块的运动矢量加权。
2.根据解决方案1所述的方法,其中,该条件取决于该运动矢量的x或y分量是否为零。
3.根据解决方案1-2中的任何解决方案所述的方法,其中,该条件基于该运动矢量的像素分辨率。
下述解决方案是章节4的项目9和10中列举的技术的示例。
1.一种视频处理方法,包括:确定将三角形分割模式(TPM)编解码工具用于当前视频块与当前视频块的比特流表示之间的转换,其中,该TPM编解码工具的至少一个操作参数取决于当前视频块的特点,其中,该TPM编解码工具将当前视频块分割成两个单独编解码的非矩形分割;以及通过应用该TPM编解码工具执行该转换,该TPM编解码工具使用所述的一个操作参数。
2.根据解决方案1所述的方法,其中,该操作参数包括应用于所述的两个非矩形分割的权重。
3.根据解决方案1-2中的任何解决方案所述的方法,其中,当前视频的特点对应于当前视频块的运动分量之一或两者是否为零。
4.根据解决方案1-3中的任何解决方案所述的方法,其中,该操作参数包括在该转换期间对当前视频块使用的混合过程的适用性。
5.根据解决方案4所述的方法,其中,在为当前视频块选择变换跳过模式的情况下禁用该混合过程。
下述解决方案是章节4的项目11中列举的技术的示例。
1.根据以上解决方案中的任何解决方案所述的方法,其中,在该方法的确定操作中使用当前视频块的编解码内容的特点。
2.根据以上解决方案中的任何解决方案所述的方法,其中,在该方法的确定操作中使用当前视频块的内容类型。
附加解决方案包括:
1.一种视频编码装置,包括处理器,该处理器被配置为实施根据以上解决方案中的任何一项或多项中所述的方法。
2.一种视频解码装置,包括处理器,该处理器被配置为实施根据以上解决方案中的任何一项或多项中所述的方法。
3.一种具有所存储的代码的机器可读介质,通过处理器由所述代码实施以上方法中的一者或多者。
图34是视频处理的示例性方法3400的流程图。该方法包括:针对视频的块与该块的比特流表示之间的转换修改(3402)与采用帧内块复制(IBC)模式编解码的该块相关联的运动信息中的至少一者;以及基于修改后的运动信息执行(3404)该转换。
在一些示例中,运动信息包括表示该块的运动矢量与该块的运动矢量预测子之间的差的块矢量差(BVD),并且将修改后的BVD编解码到该比特流表示当中。
在一些示例中,将该BVD的垂直分量BVDy修改为(BVDy+BH),其中,BH为常数。
在一些示例中,BH为128或-128。
在一些示例中,BH是块的编解码树单元(CTU)的高度或者负的CTU高度。
在一些示例中,BH取决于该块的块维度和/或块位置和/或IBC参考区域尺寸。
在一些示例中,将该BVD的水平分量BVDx修改为(BVDy+BW),其中,BW为常数。
在一些示例中,BW为128或-128。
在一些示例中,BW为128*128/S,其中,S为(编解码树单元(CTU)尺寸或编解码树块(CTB)尺寸),或者BW为负的128*128/S(CTU尺寸或CTB尺寸)。
在一些示例中,BW取决于该块的块维度和/或块位置和/或IBC参考区域尺寸。
在一些示例中,针对某一BVD值集合BVDS1执行该修改,并且针对某一BVD值集合BVDS2不执行该修改,并且针对所有其他BVD值信令通知语法以指示是否应用该修改。
在一些示例中,是否和/或如何修改BVP取决于该差的符号和/或幅度。
在一些示例中,在BVDy>BH/2时,将BVDy修改为(BVDy-BH)。
在一些示例中,在BVDy<-Bh/2时,将BVDy修改为(BVDy+BH)。
在一些示例中,在BVDx>BW/2时,将BVDx修改为(BVDx-BW)。
在一些示例中,在BVDx<-BH/2时,将BVDx修改为(BVDx+BW)。
在一些示例中,运动信息包括用于该块的块矢量预测子(BVP),并且使用修改后的BVP对该块进行解码。
在一些示例中,在高级运动矢量预测(AMVP)模式中将修改后的BVP与信令通知的块矢量差(BVD)一起使用,以推导出该块的最终块矢量(BV),其中,BVD表示该块的BV与该块的BVP之间的差。
在一些示例中,在merge模式中将修改后的BVP直接用作该块的最终BV。
在一些示例中,将该BVP的垂直分量BVPy修改为(BVPy+BH),其中,BH为常数。
在一些示例中,BH为128或-128。
在一些示例中,BH是块的编解码树单元(CTU)的高度或者负的CTU高度。
在一些示例中,BH取决于该块的块维度和/或块位置和/或IBC参考区域尺寸。
在一些示例中,将该BVP的水平分量BVPx修改为(BVPy+BW),其中,BW为常数。
在一些示例中,BW为128或-128。
在一些示例中,BW为128*128/S,其中,S为编解码树单元(CTU)尺寸或编解码树块(CTB)尺寸,或者BW为负的128*128/S。
在一些示例中,BW取决于该块的块维度和/或块位置和/或IBC参考区域尺寸。
在一些示例中,针对某一BVP值集合BVPS1执行该修改,并且针对某一BVP值集合BVPS2不执行该修改,并且针对所有其他BVP值信令通知语法以指示是否应用该修改。
在一些示例中,是否和/或如何修改BVP取决于该BVP的符号和/或幅度。
在一些示例中,在BVPy=BVPx=0时,将(BVPx,BVPy)修改为(-64,-64)。
在一些示例中,运动信息包括用于IBC模式的解码的块矢量(BV),并且使用修改后的BV识别用于样点复制的参考块。
在一些示例中,在使用该BV的垂直分量BVy时,将BVy修改为(BVy+BH),其中,BH为常数。
在一些示例中,BH为128或-128。
在一些示例中,BH是该块的编解码树单元(CTU)或编解码树块(CTB)的高度或者负的CTU或CTB高度。
在一些示例中,BH取决于该块的块维度和/或块位置和/或IBC参考区域尺寸。
在一些示例中,在使用该BV的水平分量BVx时,将BVx修改为(BVy+BW),其中,BW为常数。
在一些示例中,BW为128或-128。
在一些示例中,BW为128*128/(编解码树单元(CTU)尺寸或编解码树块(CTB)尺寸)或者负的128*128/(CTU尺寸或CTB尺寸)。
在一些示例中,BW取决于该块的块维度和/或块位置和/或IBC参考区域尺寸。
在一些示例中,该修改之后的运动矢量必须是有效的。
在一些示例中,有效运动矢量对应于不与该块重叠的预测块。
在一些示例中,有效运动矢量对应于当前图片内的预测块。
在一些示例中,有效运动矢量对应于所有样点均经重建的预测块。
在一些示例中,存储修改后的BV并且将其用于运动预测或/和去方块。
在一些示例中,是否和/或如何修改BV取决于该BV的至少一个分量的幅度。
在一些示例中,在(CBy+BVy)/(CTU或CTB高度)<CBy/(CTU或CTB高度)时,将BVy修改为(BVy+(CTU或CTB高度)),CBx和CBy表示块相对于图片的左上位置的位置。
在一些示例中,在(CBy+W+BVy)/(CTU/CTB高度)>CBy/(CTU/CTB高度)时,将BVy修改为(BVy-(CTU/CTB高度)),CBx和CBy表示块相对于图片的左上位置的位置,W和H表示该块的宽度和高度。
在一些示例中,在(BVx,BVy)无效时,如果块矢量(BVx-BW,BVy)是有效的,那么将BVx修改为(BVx+BW),其中,BVy是未修改或者修改后的垂直分量。
在一些示例中,在(BVx,BVy)无效时,如果块矢量(BVx+BW,BVy)是有效的,那么将BVx修改为(BVx+BW),其中,BVy是未修改或者修改后的垂直分量。
在一些示例中,针对不同分量的修改遵循预定顺序。
在一些示例中,对BVDx的修改处于对BVDy的修改之前。
在一些示例中,对BVy的修改处于对BVx的修改之前。
在一些示例中,与该块相关联的运动矢量预测子是基于修改后的BV或BVD形成的。
在一些示例中,基于历史的运动矢量预测(HMVP)基于修改后的BV或BVD。
在一个示例中,merge候选基于修改后的BV或BVD。
在一些示例中,高级运动矢量预测(AMVP)基于修改后的BV或BVD。
在一些示例中,常数BW和BH是预定义的,或者是在SPS、PPS、条带、片组、片、砖块和CTU级别中的至少一个级别当中信令通知的。
在一些示例中,在该块处于图片边界、条带边界和片组边界中的至少一者上时,禁用所述修改。
在一些示例中,在该块相对于图片、条带或片组中的至少一者的最左上位置的垂直位置为0时,将BH设置为0。
在一些示例中,在该块相对于图片、条带或片组中的至少一者的最左上位置的水平位置为0时,将BW设置为0。
(7.b)
图35是视频处理的示例性方法3500的流程图。该方法包括:针对视频的块与该块的比特流表示之间的转换,基于与该块相关联的运动矢量(MV),确定(3502)在组合式帧内-帧间预测(CIIP)模式中用于帧内预测信号的加权因子,并且其中,将该BVD的修改值编解码到该比特流表示当中;以及基于该加权因子执行(3504)该转换。
在一些示例中,在该MV的水平分量等于0或者该MV的垂直分量等于0时,将用于帧内预测信号的加权因子设置为1。
在一些示例中,在MV指向整像素或者具有整数精确度时,将用于帧内预测信号的加权因子设置为1。
图36是视频处理的示例性方法3600的流程图。该方法包括:针对视频的块与该块的比特流表示之间的转换,基于该块的一个或多个分割的运动信息,确定(3602)在三角形预测模式(TPM)模式中使用的权重;以及基于所述权重执行(3604)该转换。
在一些示例中,通过使用反对角线划分将该块划分成右上分割和左下分割或者通过使用对角线划分将该块划分成左上分割和右下分割,并且该块具有宽度W和高度H。
在一些示例中,依据与一个分割相关联的运动矢量(MV)的一个或多个分量是否等于0而确定权重,其中,该MV的分量包括水平分量MVx和垂直分量MVy。
在一些示例中,在对于TPM模式中的右上分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor(x*H/W)<=y的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
在一些示例中,在对于TPM模式中的右上分割而言MVx等于0或MVy等于0,并且W<H时,对于满足x<=floor(y*W/H)的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
在一些示例中,在对于TPM模式中的左下分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor(x*H/W)<=y的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
在一些示例中,在对于TPM模式中的左下分割而言MVx等于0或MVy等于0,并且W<H时,对于满足x<=floor(y*W/H)的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
在一些示例中,在对于TPM模式中的左上分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor((W-1-x)*H/W)>=y的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
在一些示例中,在对于TPM模式中的左上分割而言MVx等于0或MVy等于0,并且W<H时,对于满足(W-1-x)>=floor(y*W/H)的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
(9.g.i)
在一些示例中,在对于TPM模式中的右下分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor((W-1-x)*H/W)<=y的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
在一些示例中,在对于TPM模式中的右下分割而言MVx等于0或MVy等于0,并且W<H时,对于满足(W-1-x)<=floor(y*W/H)的第一样点,将权重设置为1。
在一些示例中,对于第一样点以外的样点,将权重设置为0。
图37是视频处理的示例性方法3700的流程图。该方法包括:针对视频的块与该块的比特流表示之间的转换,基于该块的变换信息确定(3702)是否在三角形预测模式(TPM)模式中应用混合过程;以及基于该确定执行(3704)该转换。
在一些示例中,在选择变换跳过模式时,不应用该混合过程。
在一些示例中,在该块不具有非零残差时,不应用该混合过程。
在一些示例中,在选择变换时,应用该混合过程。
在一些示例中,在不应用该混合过程时,仅使用该块的分割X的运动信息生成该分割X的预测样点,其中,X为0或1。
在一些示例中,是否启用该修改或者该确定取决于下述内容中的至少一者:
a.编解码内容的特点;
b.包括屏幕内容和相机俘获内容的内容类型;
c.SPS、PPS、条带、片组、片、砖块、CTU、其他视频单元级别中的至少一个级别处的标志;以及
d.该块的编解码信息。
在一些示例中,该转换由比特流表示生成视频的块。
在一些示例中,该转换由视频的块生成比特流表示。
从前述内容可知,将要认识到,本文已经出于例示的目的描述了本文公开的技术的具体实施例,但可以做出各种修改而不脱离本发明的范围。相应地,本公开的技术除了受到所附权利要求限制外,不受其他限制。
本专利文件中描述的主题和功能操作的实施方式可以在各种***、数字电子电路,或者计算机软件、固件或硬件中实施,包括本说明书中所公开的结构及其结构等价方案或者它们当中的一者或多者的组合。本说明书中描述的主题的实施方式可以被实施成一个或多个计算机程序产品,即编码在有形且非暂态计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或者它们当中的一者或多者的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理***、操作***或者它们当中的一者或多者的组合。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件***中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于该程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或***作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
意在将说明书连同附图仅视为示范性的,其中示范性表示示例。如本文所用,“或”的使用意在包含“和/或”,除非上下文明确做出其他表述。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的具体特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
类似地,尽管附图中以特定顺序描述了操作,但这不应被理解为要获得想要的结果必须按照所示的特定顺序或者按照顺次排序执行此类操作,或者必须执行所有例示操作。此外,在本专利文件中描述的实施例当中对各种***部件的划分不应被理解为在所有实施例中都要求这样的划分。
仅描述了几种实施方式和示例,其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。
Claims (92)
1.一种用于视频处理的方法,包括:
针对视频的块与所述块的比特流表示之间的转换,修改与采用帧内块复制(IBC)模式编解码的所述块相关联的运动信息中的至少一者;以及
基于修改后的运动信息执行所述转换。
2.根据权利要求1所述的方法,其中,所述运动信息包括表示所述块的运动矢量与所述块的运动矢量预测子之间的差的块矢量差(BVD),并且将修改后的BVD编解码到所述比特流表示当中。
3.根据权利要求2所述的方法,其中,将所述BVD的垂直分量BVDy修改为(BVDy+BH),其中,BH为常数。
4.根据权利要求3所述的方法,其中,BH为128或-128。
5.根据权利要求3所述的方法,其中,BH是所述块的编解码树单元(CTU)的高度或者负的CTU高度。
6.根据权利要求3所述的方法,其中,BH取决于所述块的块维度和/或块位置和/或IBC参考区域尺寸。
7.根据权利要求2所述的方法,其中,将所述BVD的水平分量BVDx修改为(BVDy+BW),其中,BW为常数。
8.根据权利要求7所述的方法,其中,BW为128或-128。
9.根据权利要求7所述的方法,其中,BW为128*128/S或者负128*128/S,其中,S是编解码树单元(CTU)尺寸或编解码树块(CTB)尺寸。
10.根据权利要求7所述的方法,其中,BW取决于所述块的块维度和/或块位置和/或IBC参考区域尺寸。
11.根据权利要求2-10中的任何一项所述的方法,其中,针对某一BVD值集合BVDS1执行所述修改,并且针对某一BVD值集合BVDS2不执行所述修改,并且针对所有其他BVD值信令通知语法以指示是否应用所述修改。
12.根据权利要求2-11中的任何一项所述的方法,其中,是否和/或如何修改BVD取决于所述差的符号和/或幅度。
13.根据权利要求12所述的方法,其中,在BVDy>BH/2时,将BVDy修改为(BVDy-BH)。
14.根据权利要求12所述的方法,其中,在BVDy<-Bh/2时,将BVDy修改为(BVDy+BH)。
15.根据权利要求12所述的方法,其中,在BVDx>BW/2时,将BVDx修改为(BVDx-BW)。
16.根据权利要求12所述的方法,其中,在BVDx<-BH/2时,将BVDx修改为(BVDx+BW)。
17.根据权利要求1所述的方法,其中,所述运动信息包括用于所述块的块矢量预测子(BVP),并且使用修改后的BVP对所述块进行解码。
18.根据权利要求17所述的方法,其中,在高级运动矢量预测(AMVP)模式中将修改后的BVP与信令通知的块矢量差(BVD)一起使用,以推导出所述块的最终块矢量(BV),其中,BVD表示所述块的BV与所述块的BVP之间的差。
19.根据权利要求17所述的方法,其中,在merge模式中将修改后的BVP直接用作所述块的最终BV。
20.根据权利要求17-19中的任何一项所述的方法,其中,将所述BVP的垂直分量BVPy修改为(BVPy+BH),其中,BH为常数。
21.根据权利要求20所述的方法,其中,BH为128或-128。
22.根据权利要求20所述的方法,其中,BH是所述块的编解码树单元(CTU)的高度或者负的CTU高度。
23.根据权利要求20所述的方法,其中,BH取决于所述块的块维度和/或块位置和/或IBC参考区域尺寸。
24.根据权利要求17-19中的任何一项所述的方法,其中,将所述BVP的水平分量BVPx修改为(BVPy+BW),其中,BW为常数。
25.根据权利要求24所述的方法,其中,BW为128或-128。
26.根据权利要求24所述的方法,其中,BW为128*128/S或者负128*128/S,其中,S是编解码树单元(CTU)尺寸或编解码树块(CTB)尺寸。
27.根据权利要求24所述的方法,其中,BW取决于所述块的块维度和/或块位置和/或IBC参考区域尺寸。
28.根据权利要求17-27中的任何一项所述的方法,其中,针对某一BVP值集合BVPS1执行所述修改,并且针对某一BVP值集合BVPS2不执行所述修改,并且针对所有其他BVP值信令通知语法以指示是否应用所述修改。
29.根据权利要求17-28中的任何一项所述的方法,其中,是否和/或如何修改BVP取决于所述BVP的符号和/或幅度。
30.根据权利要求29所述的方法,其中,在BVPy=BVPx=0时,将(BVPx,BVPy)修改为(-64,-64)。
31.根据权利要求1所述的方法,其中,所述运动信息包括用于IBC模式的解码的块矢量(BV),并且使用修改后的BV识别用于样点复制的参考块。
32.根据权利要求31所述的方法,其中,在使用所述BV的垂直分量BVy时,将BVy修改为(BVy+BH),其中,BH为常数。
33.根据权利要求32所述的方法,其中,BH为128或-128。
34.根据权利要求32所述的方法,其中,BH是所述块的编解码树单元(CTU)或编解码树块(CTB)的高度或者负的CTU或CTB高度。
35.根据权利要求32所述的方法,其中,BH取决于所述块的块维度和/或块位置和/或IBC参考区域尺寸。
36.根据权利要求31所述的方法,其中,在使用所述BV的水平分量BVx时,将BVx修改为(BVy+BW),其中,BW为常数。
37.根据权利要求36所述的方法,其中,BW为128或-128。
38.根据权利要求36所述的方法,其中,BW为128*128/(编解码树单元(CTU)尺寸或编解码树块(CTB)尺寸)或者负的128*128/(CTU尺寸或CTB尺寸)。
39.根据权利要求36所述的方法,其中,BW取决于所述块的块维度和/或块位置和/或IBC参考区域尺寸。
40.根据权利要求31-39中的任何一项所述的方法,其中,在所述修改之后的运动矢量必须是有效的。
41.根据权利要求40所述的方法,其中,有效运动矢量对应于不与所述块重叠的预测块。
42.根据权利要求40所述的方法,其中,有效运动矢量对应于当前图片内的预测块。
43.根据权利要求40所述的方法,其中,有效运动矢量对应于所有样点均经重建的预测块。
44.根据权利要求31-34中的任何一项所述的方法,其中,存储所述修改后的BV并且将其用于运动预测或/和去方块。
45.根据权利要求31-44中的任何一项所述的方法,其中,是否和/或如何修改BV取决于所述BV的至少一个分量的幅度。
46.根据权利要求45所述的方法,其中,在(CBy+BVy)/(CTU或CTB高度)<CBy/(CTU或CTB高度)时,将BVy修改为(BVy+(CTU或CTB高度)),CBx和CBy表示块相对于图片的左上位置的位置。
47.根据权利要求45所述的方法,其中,在(CBy+W+BVy)/(CTU/CTB高度)>CBy/(CTU/CTB高度)时,将BVy修改为(BVy-(CTU/CTB高度)),CBx和CBy表示块相对于图片的左上位置的位置,W和H表示所述块的宽度和高度。
48.根据权利要求45所述的方法,其中,在(BVx,BVy)无效时,如果块矢量(BVx-BW,BVy)是有效的,那么将BVx修改为(BVx+BW),其中,BVy是未修改或者修改后的垂直分量。
49.根据权利要求45所述的方法,其中,在(BVx,BVy)无效时,如果块矢量(BVx+BW,BVy)是有效的,那么将BVx修改为(BVx+BW),其中,BVy是未修改或者修改后的垂直分量。
50.根据权利要求1-49中的任何一项所述的方法,其中,针对不同分量的所述修改遵循预定顺序。
51.根据权利要求50所述的方法,其中,对BVDx的修改处于对BVDy的修改之前。
52.根据权利要求50所述的方法,其中,对BVy的修改处于对BVx的修改之前。
53.根据权利要求2-52中的任何一项所述的方法,其中,与所述块相关联的运动矢量预测子是基于修改后的BV或BVD形成的。
54.根据权利要求53所述的方法,其中,基于历史的运动矢量预测(HMVP)基于所述修改后的BV或BVD。
55.根据权利要求53所述的方法,其中,merge候选基于所述修改后的BV或BVD。
56.根据权利要求53所述的方法,其中,高级运动矢量预测(AMVP)基于所述修改后的BV或BVD。
57.根据权利要求3-56中的任何一项所述的方法,其中,常数BW和BH是预定义的,或者是在SPS、PPS、条带、片组、片、砖块和CTU级别中的至少一个级别当中信令通知的。
58.根据权利要求1-57中的任何一项所述的方法,其中,在所述块处于图片边界、条带边界和片组边界中的至少一者上时,禁用所述修改。
59.根据权利要求58所述的方法,其中,在所述块相对于图片、条带或片组中的至少一者的最左上位置的垂直位置为0时,将BH设置为0。
60.根据权利要求58所述的方法,其中,在所述块相对于图片、条带或片组中的至少一者的最左上位置的水平位置为0时,将BW设置为0。
61.一种视频处理方法,包括:
针对视频的块与所述块的比特流表示之间的转换,基于与所述块相关联的运动矢量(MV),确定在组合式帧内-帧间预测(CIIP)模式中用于帧内预测信号的加权因子;以及
基于所述加权因子执行所述转换。
62.根据权利要求61所述的方法,其中,在所述MV的水平分量等于0或者所述MV的垂直分量等于0时,将所述用于帧内预测信号的加权因子设置为1。
63.根据权利要求61所述的方法,其中,在MV指向整像素或者具有整数精确度时,将所述用于帧内预测信号的加权因子设置为1。
64.一种视频处理方法,包括:
针对视频的块与所述块的比特流表示之间的转换,基于所述块的一个或多个分割的运动信息,确定在三角形预测模式(TPM)模式中使用的权重;以及
基于所述权重执行所述转换。
65.根据权利要求64所述的方法,其中,通过使用反对角线划分将所述块划分成右上分割和左下分割或者通过使用对角线划分将所述块划分成左上分割和右下分割,并且所述块具有宽度W和高度H。
66.根据权利要求65所述的方法,其中,依据与一个分割相关联的运动矢量(MV)的一个或多个分量是否等于0而确定所述权重,其中,所述MV的分量包括水平分量MVx和垂直分量MVy。
67.根据权利要求66所述的方法,其中,在对于TPM模式中的右上分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor(x*H/W)<=y的第一样点,将所述权重设置为1。
68.根据权利要求67所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
69.根据权利要求66所述的方法,其中,在对于TPM模式中的右上分割而言MVx等于0或MVy等于0,并且W<H时,对于满足x<=floor(y*W/H)的第一样点,将所述权重设置为1。
70.根据权利要求69所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
71.根据权利要求66所述的方法,其中,在对于TPM模式中的左下分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor(x*H/W)<=y的第一样点,将所述权重设置为1。
72.根据权利要求71所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
73.根据权利要求66所述的方法,其中,在对于TPM模式中的左下分割而言MVx等于0或MVy等于0,并且W<H时,对于满足x<=floor(y*W/H)的第一样点,将所述权重设置为1。
74.根据权利要求73所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
75.根据权利要求66所述的方法,其中,在对于TPM模式中的左上分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor((W-1-x)*H/W)>=y的第一样点,将所述权重设置为1。
76.根据权利要求75所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
77.根据权利要求66所述的方法,其中,在对于TPM模式中的左上分割而言MVx等于0或MVy等于0,并且W<H时,对于满足(W-1-x)>=floor(y*W/H)的第一样点,将所述权重设置为1。
78.根据权利要求77所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
79.根据权利要求66所述的方法,其中,在对于TPM模式中的右下分割而言MVx等于0或MVy等于0,并且W>=H时,对于满足floor((W-1-x)*H/W)<=y的第一样点,将所述权重设置为1。
80.根据权利要求79所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
81.根据权利要求66所述的方法,其中,在对于TPM模式中的右下分割而言MVx等于0或MVy等于0,并且W<H时,对于满足(W-1-x)<=floor(y*W/H)的第一样点,将所述权重设置为1。
82.根据权利要求81所述的方法,其中,对于所述第一样点以外的样点,将所述权重设置为0。
83.一种视频处理方法,包括:
针对视频的块与所述块的比特流表示之间的转换,基于所述块的变换信息,确定是否在三角形预测模式(TPM)模式中应用混合过程;以及
基于所述确定执行所述转换。
84.根据权利要求83所述的方法,其中,在选择变换跳过模式时,不应用所述混合过程。
85.根据权利要求83所述的方法,其中,在所述块不具有非零残差时,不应用所述混合过程。
86.根据权利要求83所述的方法,其中,在选择变换时,应用所述混合过程。
87.根据权利要求83所述的方法,其中,在不应用所述混合过程时,仅使用所述块的分割X的运动信息生成所述分割X的预测样点,其中,X为0或1。
88.根据权利要求1-87中的任何一项所述的方法,其中,是否启用所述修改或者所述确定取决于下述内容中的至少一者:
a.编解码内容的特点;
b.包括屏幕内容和相机俘获内容的内容类型;
c.SPS、PPS、条带、片组、片、砖块、CTU、其他视频单元级别中的至少一个级别处的标志;以及
d.所述块的编解码信息。
89.根据权利要求1-88中的任何一项所述的方法,其中,所述转换从所述比特流表示生成所述的视频的块。
90.根据权利要求1-88中的任何一项所述的方法,其中,所述转换由所述的视频的块生成所述比特流表示。
91.一种处于视频***中的装置,包括处理器以及具有位于其上的指令的非暂态存储器,其中,所述指令在被所述处理器执行时使得所述处理器实施根据权利要求1到90中的任何一项所述的方法。
92.一种存储在非暂态计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实施根据权利要求1到90中的任何一项所述的方法的程序代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2019/091446 | 2019-06-16 | ||
CN2019091446 | 2019-06-16 | ||
PCT/CN2020/096129 WO2020253650A1 (en) | 2019-06-16 | 2020-06-15 | Interaction between screen content coding tools and motion information |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113966612A true CN113966612A (zh) | 2022-01-21 |
Family
ID=74037548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080043774.6A Pending CN113966612A (zh) | 2019-06-16 | 2020-06-15 | 屏幕内容编解码根据与运动信息之间的相互作用 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220109852A1 (zh) |
CN (1) | CN113966612A (zh) |
WO (1) | WO2020253650A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11470339B2 (en) * | 2013-08-27 | 2022-10-11 | Qualcomm Incorporated | Residual prediction for intra block copying |
US20240129483A1 (en) * | 2022-10-11 | 2024-04-18 | Comcast Cable Communications, Llc | Block Vector Difference (BVD) Indication with Reduced Overhead |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208396B (zh) * | 2014-06-20 | 2019-01-15 | 联想(北京)有限公司 | 一种视频帧的编码及解码方法和装置 |
WO2016200984A1 (en) * | 2015-06-08 | 2016-12-15 | Vid Scale, Inc. | Intra block copy mode for screen content coding |
US10375416B1 (en) * | 2018-09-05 | 2019-08-06 | Tencent America LLC | Segment types in video coding |
US20220014775A1 (en) * | 2019-05-02 | 2022-01-13 | Xris Corporation | Method for encoding/decoding video signal and device therefor |
EP3912348A4 (en) * | 2019-05-16 | 2022-06-22 | Huawei Technologies Co., Ltd. | ENCODER, DECODER AND RELATED METHODS USING A DEDICATED IBC BUFFER AND REFRESHING OF DEFAULT VALUES FOR LUMINANCE AND CHROMINANCE COMPONENTS |
-
2020
- 2020-06-15 WO PCT/CN2020/096129 patent/WO2020253650A1/en active Application Filing
- 2020-06-15 CN CN202080043774.6A patent/CN113966612A/zh active Pending
-
2021
- 2021-12-15 US US17/551,392 patent/US20220109852A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220109852A1 (en) | 2022-04-07 |
WO2020253650A1 (en) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113170099B (zh) | 块内拷贝模式和帧间预测工具之间的交互 | |
CN113853783B (zh) | 对帧内块复制编解码的块的块矢量的编解码 | |
WO2020244536A1 (en) | Combined intra and intra-block copy prediction for video coding | |
JP2023527920A (ja) | 映像符号化および映像復号のための方法、装置およびコンピュータプログラム製品 | |
CN114097228B (zh) | 具有几何分割模式编解码的运动候选列表 | |
CN113924778A (zh) | 具有三角形分割的帧内块复制 | |
CN114128258B (zh) | 视频编解码中的变换块尺寸的限制 | |
CN114009037A (zh) | 帧内块复制模式的运动候选列表构建 | |
CN113994699B (zh) | 视频编解码的运动候选列表构建 | |
CN113966616B (zh) | 使用临近块信息的运动候选列表构建 | |
CN113940082A (zh) | 基于子块的帧内块复制和不同编解码工具之间的交互 | |
JP2023159091A (ja) | イントラブロックコピーのコーディングおよび復号化 | |
US20220109852A1 (en) | Interaction between screen content coding tools and motion information | |
CN113994682A (zh) | 具有默认参数的基于历史的运动矢量预测 | |
CN115152229A (zh) | merge估计区域下IBC块的BV列表构建过程 | |
CN113196772B (zh) | 块内拷贝模式和基于子块的运动矢量预测模式之间的交互 | |
WO2024069040A1 (en) | A method, an apparatus and a computer program product for video encoding and decoding | |
CN114097219A (zh) | 基于历史的运动矢量预测表中的运动信息的存储 | |
CN114450959A (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 |