CN110876064A - 部分交织的预测 - Google Patents
部分交织的预测 Download PDFInfo
- Publication number
- CN110876064A CN110876064A CN201910828124.1A CN201910828124A CN110876064A CN 110876064 A CN110876064 A CN 110876064A CN 201910828124 A CN201910828124 A CN 201910828124A CN 110876064 A CN110876064 A CN 110876064A
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- prediction
- blocks
- current block
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 167
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 abstract description 185
- 238000005192 partition Methods 0.000 abstract description 7
- 239000013598 vector Substances 0.000 description 83
- 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 41
- 230000008569 process Effects 0.000 description 23
- 230000002123 temporal effect Effects 0.000 description 20
- 230000002146 bilateral effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000009795 derivation Methods 0.000 description 6
- 238000012886 linear function Methods 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 241000723655 Cowpea mosaic virus Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 240000004760 Pimpinella anisum Species 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer 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
-
- 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/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- 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/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/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
-
- 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/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/537—Motion estimation other than block-based
-
- 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/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/583—Motion compensation with overlapping blocks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及部分交织的预测,描述了与视频编码中的基于子块的运动预测相关的方法、系统和装置。在一个代表性方面中,视频处理的方法包含,在当前块与当前块的编码表示之间的转换期间,确定当前块的预测块。预测块包含第一部分和第二部分。第二部分对应于第一中间预测块和第二中间预测块的权重组合,在第一中间预测块中使用第一样式将当前块细分为子块,在第二中间预测块中使用第二样式将当前块细分为子块。方法还包含从第一部分和第二部分生成当前块。
Description
相关申请的交叉引用
根据适用的专利法和/或根据巴黎公约的规则,本申请及时要求于2018年9月3日提交的国际专利申请号PCT/CN2018/103770、于2018年9月11日提交的国际专利申请号PCT/CN2018/104984,以及于2019年1月2日提交的国际专利申请号PCT/CN2019/070058的优先权和权益。出于全部目的,国际专利申请号PCT/CN2018/103770、国际专利申请号PCT/CN2018/104984和国际专利申请号PCT/CN2019/070058的全部内容通过引用整合作为本专利文件的公开的一部分。
技术领域
本专利文件涉及视频编码和解码技术、装置和系统。
背景技术
运动补偿(MC)是视频处理中的技术,其用于在给定之前帧和/或未来帧的情况下,通过考虑相机的运动和/或视频中的对象而预测视频中的帧。运动补偿可用于视频数据的编码以用于视频压缩。
发明内容
本文件公开了涉及视频运动补偿中的基于子块的运动预测的方法、系统和装置。
在一个代表性方面中,公开了一种视频处理的方法。方法包含,在当前块与当前块的编码表示之间的转换期间,确定当前块的预测块。预测块包含第一部分和第二部分。第二部分对应于第一中间预测块和第二中间预测块的加权组合,在第一中间预测块中使用第一样式将当前块细分为子块,并且在第二中间预测块中使用第二样式将当前块细分为子块。该方法还包含从第一部分和第二部分生成当前块。
在另一代表性方面中,公开了一种视频处理的方法。方法包含,
生成当前块的预测块。预测块包含第一部分和第二部分。第二部分对应于第一中间预测块和第二中间预测块的加权组合,在第一中间预测块中使用第一样式将当前块细分为子块,并且在第二中间预测块中使用第二样式将当前块细分为子块。该方法还包含将预测块转换为比特流中的编码表示。
在另一代表性方面中,公开了一种用于改善基于块的运动预测视频系统的带宽使用和预测精度的方法。方法包含,选择来自视频帧的像素集合以形成块,根据第一样式将块细分为子块的第一集合,基于子块的第一集合生成第一中间预测块,根据第二样式将块细分为子块的第二集合,基于子块的第二集合生成第二中间预测块,以及基于第一中间预测块和第二中间预测块确定预测块。第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸。
在另一代表性方面中,公开了一种用于改善视频系统中的基于块的运动预测的方法。方法包含,选择来自视频帧的像素集合以形成块,基于块的尺寸或来自空域上或时域上与块相邻的另一块的信息将块细分为多个子块,以及通过将编码算法应用到多个子块生成运动矢量预测。多个子块中的至少一个子块具有与其他子块不同的尺寸。
在另一代表性方面中,公开了一种包括处理器和其上具有指令的非瞬态存储器的设备。由处理器执行指令时,使处理器选择来自视频帧的像素集合以形成块,根据第一样式将块细分为子块的第一集合,基于子块的第一集合生成第一中间预测块,根据第二样式将块细分为子块的第二集合,其中第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸,基于子块的第二集合生成第二中间预测块,以及基于第一中间预测块和第二中间预测块确定预测块。
在又一代表性方面中,一种视频处理的方法包含,导出当前视频块的子块的第一集合的一个或多个运动矢量,其中子块的第一集合中的每一者具有第一细分样式,并且基于一个或多个运动矢量来重构当前视频块。
在又一代表性方面中,本文中所描述的各种技术可以是实施为非瞬态计算机可读介质上储存的计算机程序产品。计算机程序产品包含用于进行本文中所描述的方法的程序代码。
在又一代表性方面中,视频解码器设备可以实现如本文中所描述的方法。
以下所附附件、附图以及说明书中提出了一个或多个实现方式的细节。其他特征从说明书和附图以及权利要求将变得清楚。
附图说明
图1是示出基于子块的预测的示例的示意图。
图2示出了由两个控制点运动矢量描述的块的仿射运动场的示例。
图3示出了块的每个子块的仿射运动矢量场的示例。
图4示出了AF_INTER模式中的块400的运动矢量预测的示例。
图5A示出了当前编码单元(CU)的候选块的选择顺序的示例。
图5B示出了AF_MERGE模式中的当前CU的候选块的另一示例。
图6示出了CU的可选时域运动矢量预测(ATMVP)运动预测过程的示例。
图7示出了具有四个子块和相邻块的一个CU的示例。
图8示出了双向光流(BIO)方法中的示例性光流轨迹。
图9A示出了块之外的访问位置的示例。
图9B示出了可以用于避免额外存储器访问和计算的填充区域(padding area)。
图10示出了帧速率上转换(FRUC)方法中使用的双边匹配的示例。
图11示出了FRUC方法中使用的模板匹配的示例。
图12示出了FRUC方法中的单边运动估计(ME)的示例。
图13示出了根据本公开技术的具有两种细分样式的交织预测的示例。
图14A示出了根据本公开技术的将块细分为4×4子块的示例性细分样式。
图14B示出了根据本公开技术的将块细分为8×8子块的示例性细分样式。
图14C示出了根据本公开技术的将块细分为4×8子块的示例性细分样式。
图14D示出了根据本公开技术的将块细分为8×4子块的示例性细分样式。
图14E示出了根据本公开技术的将块细分为非均匀子块的示例性细分样式。
图14F示出了根据本公开技术的将块细分为非均匀子块的另一示例性细分样式。
图14G示出了根据本公开技术的将块细分为非均匀子块的又一示例性细分样式。
图15A至15D示出了部分交织预测的示例性实施例。
图16A至16C示出了从另一细分样式导出一个细分样式的MV的示例性实施例。
图17A至17C示出了基于当前视频块的维度选择细分样式的示例性实施例。
图18A和图18B示出了从子块在另一细分样式内的另一分量中的MV导出子块在细分样式内的一个分量中的MV的示例性实施例。
图19是用于改善基于块的运动预测视频系统的带宽使用和预测精度的方法的示例性流程图。
图20是用于改善基于块的运动预测视频系统的带宽使用和预测精度的方法的另一示例性流程图。
图21是可以用于实现本公开技术的实施例的视频处理设备的框图。
图22是根据本技术的用于视频处理的方法的示例性流程图。
图23是根据本技术的用于视频处理的方法的示例性流程图。
图24是可以实现本公开技术的示例性视频处理系统的框图。
具体实施方式
全局运动补偿是运动补偿技术的多种变体之一,并且可以用于预测相机的运动。然而,在帧内运动对象未由全局运动补偿的各种实现方式充分地表示。将帧细分为像素的块以用于进行运动预测的局部运动估计(诸如块运动补偿)可以用于考虑帧内运动的对象。
基于块运动补偿开发的基于子块的预测首先由高效视频编码(HEVC)Annex I(3D-HEVC)引入到视频编码标准中。图1是示出基于子块的预测的示例的示意图。在基于子块的预测的情况下,块100(诸如编码单元(CU)或预测单元(PU))被细分为若干不重叠的子块101。不同的子块可以分配不同的运动信息,诸如参考索引或运动矢量(MV)。然后对于每个子块单独地进行运动补偿。
为了探索HEVC之外的未来视频编码技术,由视频编码专家组(VCEG)和运动图片专家组(MPEG)于2015年联合成立了联合视频探索组(JVET)。许多方法已经被JVET采用并添加到名为联合探索模型(JEM)的参考软件。在JEM中,基于子块的预测被在若干编码技术中采用,诸如以下详细讨论的仿射预测、可选时域运动矢量预测(ATMVP)、空域-时域运动矢量预测(STMVP)、双向光流(BIO),以及帧速率上转换(FRUC)。
仿射预测
在HEVC中,仅平移运动模型被应用于运动补偿预测(MCP)。然而,相机和对象可以具有许多类型的运动,例如放大/缩小、旋转、透视运动和/或其他不常规运动。另一方面,JEM应用简化的仿射变换运动补偿预测。图2示出了由两个控制点运动矢量V0和V1描述的块200的仿射运动场的示例。块200的运动矢量场(MVF)可以由以下等式描述:
如图2中所示,(v0x,v0y)是左上角控制点的运动矢量,并且(v1x,v1y)是右上角控制点的运动矢量。为简化运动补偿预测,可以应用基于子块的仿射变换预测。子块尺寸M×N如以下导出:
此处,MvPre是运动矢量分数精度(例如,JEM中的1/16)。(v2x,v2y)是根据等式(1)计算的左下控制点的运动矢量。如果需要,则M和N可以被向下调整,以使其分别为w和h的除数。
图3示出了块300的每个子块的仿射MVF的示例。为导出每个M×N子块的运动矢量,可以根据等式(1)计算每个子块的中央样本的运动矢量,并且四舍五入到运动矢量分数精度(例如,JEM中的1/16)。然后,可以应用运动补偿插值滤波器,以用导出的运动矢量生成每个子块的预测。在MCP之后,每个子块的高精度运动矢量被四舍五入且保存为与普通运动矢量相同精度。
在JEM中,存在两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度两者都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级中的仿射标志,以指示是否使用AF_INTER模式。在AF_INTER模式中,使用相邻块构建具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。图4示出了AF_INTER模式中的块400的运动矢量预测(MVP)的示例。如图4中所示,从子块A、B或C的运动矢量选择v0。来自相邻块的运动矢量可以根据参考列表被缩放。运动矢量也可以根据相邻块的参考的图片顺序计数(POC)、当前CU的参考的POC,以及当前CU的POC之间的关系被缩放。从相邻子块D和E选择v1的方案是类似的。如果候选列表的数目小于2,则由通过复制AMVP候选中的每一个构成的运动矢量对来填充该列表。当候选列表大于2时,候选可以首先根据相邻运动矢量(例如,基于一对候选中的两个运动矢量的相似度)进行分类。在一些实现方式中,前两个候选被保留。在一些实施例中,使用速率失真(RD)成本检查来确定将哪个运动矢量对候选选择为当前CU的控制点运动矢量预测(CPMVP)。可以在比特流中信令通知指示CPMVP在候选列表中的位置的索引。在当前仿射CU的CPMVP被确定之后,应用仿射运动估计,并且找到控制点运动矢量(CPMV)。然后在比特流中信令通知CPMV与CPMVP之间的差异。
当CU在AF_MERGE模式中应用时,其从有效相邻重构的块得到以仿射模式编码的第一块。图5A示出了当前CU 500的候选块的选择顺序的示例。如图5A中所示,选择顺序可以为从当前CU 500的左(501)、上(502)、右上(503)、左下(504)至左上(505)。图5B示出了AF_MERGE模式中的当前CU 500的候选块的另一示例。如果相邻左下块501以仿射模式编码,如图5B中所示,则导出含有子块501的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。基于v2、v3和v4计算当前CU 500上的左上角的运动矢量v0。相应地计算当前CU的右上的运动矢量v1。在当前CU v0和v1的CPMV根据等式(1)中的仿射运动模型计算之后,可以生成当前CU的MVF。为了识别当前CU是否以AF_MERGE模式编码,当存在以仿射模式编码的至少一个相邻块时,可以在比特流中信令通知仿射标志。
可选时域运动矢量预测(ATMVP)
在ATMVP方法中,通过从小于当前CU的块取回运动信息的多个集合(包含运动矢量和参考索引)来修改时域运动矢量预测(TMVP)方法。
图6示出了CU 600的ATMVP运动预测过程的示例。ATMVP方法以两个步骤预测CU600内的子CU 601的运动矢量。第一步骤是以时域矢量识别参考图片650中的对应的块651。参考图片650还称为运动源图片。第二步骤是将当前CU 600分割为子CU 601,并且从对应于每个子CU的块获取每个子CU的运动矢量以及参考索引。
在第一步骤中,由当前CU 600的空域相邻块的运动信息确定参考图片650和对应的块。为了避免相邻块的重复扫描过程,使用当前CU 600的MERGE候选列表中的第一MERGE候选。第一可用运动矢量及其相关联的参考索引设定为时域矢量和运动源图片的索引。以此方式,与TMVP相比可以更准确地识别对应的块,其中对应的块(有时称为搭配块)总是相对于当前CU在右下或中央位置。
在第二步骤中,通过将时间矢量添加到当前CU的坐标中,通过运动源图片650中的时间矢量识别子CU 651的对应块。对于每个子CU,使用其对应的块(例如,覆盖中央样本的最小运动网格)的运动信息来导出子CU的运动信息。在识别对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的运动矢量和参考索引,其中运动缩放和其他过程适用。例如,解码器检查是否满足低延迟条件(例如当前图片的全部参考图片的POC小于当前图片的POC),并且可能地使用运动矢量MVx(例如,对应于参考图片列表X的运动矢量)来预测每个子CU的运动矢量MVy(例如,X等于0或1,并且Y等于1-X)。
空域-时域运动矢量预测(STMVP)
在STMVP方法中,遵循光栅扫描顺序,递归地导出子CU的运动矢量。图7示出了具有四个子块和相邻块的一个CU的示例。考虑8×8 CU 700,其包含四个4×4子CU,A(701)、B(702)、C(703)以及D(704)。当前帧中的相邻4×4块标记为a(711)、b(712)、c(713)以及d(714)。
子CU A的运动导出开始于识别其两个空域邻域(neighbor)。第一邻域是子CU A701上方的N×N块(块c 713)。如果该块c(713)不可用或是帧内编码的,则检查子CU A(701)上方的其他N×N块(从左到右,从块c 713开始)。第二邻域是在子CU A 701左侧的块(块b712)。如果块b(712)不可用或是帧内编码的,则检查在子CU A 701左侧的其他块(从上到下,从块b 712开始)。对于每个列表从相邻块获取的运动信息被缩放到对于给定列表的第一参考帧。接下来,通过遵循与如HEVC中所指定的TMVP相同的过程来导出子块A 701的时域运动矢量预测(TMVP)。块D 704处的搭配块的运动信息被相应地取回和缩放。最终,在提取和缩放运动信息之后,全部可用运动矢量对于每个参考列表被分开地平均。平均的运动矢量被分配为当前子CU的运动矢量。
双向光流(BIO)
双向光流(BIO)方法是在对双向预测的块方面(block-wise)运动补偿之上进行的样本方面(sample-wise)运动细化。在一些实现方式中,样本级运动细化不使用信令通知。
图8示出了双向光流(BIO)方法中的示例性光流轨迹。此处,τ0和τ1指代与参考帧的距离。基于Ref0和Ref1的POC计算距离τ0和τ1:τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前)。如果两个预测来自相同的时间方向(都来自过去或来自未来),则符号是不同的(例如,τ0·τ1<0)。在此情况下,如果预测不是来自相同时刻(例如,τ0≠τ1),则应用BIO。两个参考区域都具有非零运动(例如,MVx0,MVy0,MVx1,MVy1≠0),并且块运动矢量与时间距离成比例(例如,MVx0/MVx1=MVy0/MVy1=-τ0/τ1)。
通过最小化A点和B点中的值之间的差异Δ来确定运动矢量场(vx,vy)。图9A-9B示出了运动轨迹和参考帧平面的交叉的示例。对于Δ,模型仅使用局部泰勒(Taylor)展开的第一线性项:
以上等式中的全部值取决于样本位置,指代为(i′,j′)。假设运动在局部围绕区域中是一致的,则Δ可以在(2M+1)×(2M+1)正方形窗Ω内被最小化,正方形窗Ω以当前预测的点(i,j)为中心,其中M等于2:
对于此最优化问题,JEM使用简化的方案,首先在垂直方向上并且然后在水平方向上进行最小化。这得到以下:
其中,
为了避免除以零或很小的值,正则化参数r和m可以被引入到等式(7)和等式(8)中。
r=500·4d-8 等式(10)
m=700·4d-8 等式(11)
此处,d是视频样本的位深度。
为了使如BIO的存储器访问与常规双向预测运动补偿一样,对当前块内的位置计算全部预测和梯度值I(k),图9A示出了块900之外的访问位置的示例。如图9A中所示,在等式(9)中,预测的块的边界上的当前预测的点为中心的(2M+1)×(2M+1)正方形窗Ω需要访问块之外的位置。在JEM中,块之外的I(k),的值被设定为等于块内的最接近可用值。例如,这可以实现为填充区域901,如图9B中所示。
使用BIO,可以将运动场对于每个样本细化。为了降低计算复杂度,在JEM中使用基于块的设计的BIO。可以基于4x4块计算运动细化。在基于块的BIO中,4x4块中的全部样本的等式(9)中的sn的值可以被聚集,并且然后sn的聚集的值被用于导出4×4块的BIO运动矢量偏移。更具体地,以下公式可以用于基于块的BIO导出:
此处,bk指代属于预测的块的第k个4x4块的样本的集合。等式(7)和等式(8)中的sn被((sn,bk)>>4)取代,以导出相关联的运动矢量偏移。
在一些情形下,由于噪声或不常规运动,BIO的MV团(regiment)可能是不可靠的。因此,在BIO中,MV团的大小被修剪到阈值。阈值是基于当前图片的参考图片是否全部来自一个方向而确定的。例如,如果当前图片的全部参考图片来自一个方向,则阈值的值设定为12×214-d;否则,将其设定为12×213-d。
可以在与运动补偿插值的同时使用与HEVC运动补偿过程(例如,2D可分离有限脉冲响应(FIR))一致的操作计算BIO的梯度。在一些实施例中,2D可分离FIR的输入是与运动补偿过程和根据块运动矢量的分数部分的分数位置(fracX,fracY)相同的参考帧样本。对于水平梯度首先使用BIOfilterS对信号进行垂直地插值,其对应于具有去缩放位移d-8的分数位置fracY。然后将梯度滤波器BIOfilterG应用于对应于具有去缩放位移18-d的分数位置fracX的水平方向上。对于垂直梯度对应于具有去缩放位移d-8的分数位置fracY,使用BIOfilterG垂直地应用梯度滤波器。然后对应于具有去缩放位移18-d的分数位置fracX,在水平方向使用BIOfilterS进行信号置换。梯度计算的插值滤波器的长度BIOfilterG和信号置换BIOfilterF可以更短(例如,6-tap),以便保持合理的复杂度。表1示出了可以用于BIO中的块运动矢量的不同分数位置的梯度计算的示例性滤波器。表2示出了可以用于BIO中的预测信号生成的示例性插值滤波器。
表1:BIO中的梯度计算的示例性滤波器
分数像素位置 | 梯度的插值滤波器(BIOfilterG) |
0 | {8,-39,-3,46,-17,5} |
1/16 | {8,-32,-13,50,-18,5} |
1/8 | {7,-27,-20,54,-19,5} |
3/16 | {6,-21,-29,57,-18,5} |
1/4 | {4,-17,-36,60,-15,4} |
5/16 | {3,-9,-44,61,-15,4} |
3/8 | {1,-4,-48,61,-13,3} |
7/16 | {0,1,-54,60,-9,2} |
1/2 | {-1,4,-57,57,-4,1} |
表2:BIO中的预测信号生成的示例性插值滤波器
分数像素位置 | 预测信号的插值滤波器(BIOfilterS) |
0 | {0,0,64,0,0,0} |
1/16 | {1,-3,64,4,-2,0} |
1/8 | {1,-6,62,9,-3,1} |
3/16 | {2,-8,60,14,-5,1} |
1/4 | {2,-9,57,19,-7,2} |
5/16 | {3,-10,53,24,-8,2} |
3/8 | {3,-11,50,29,-9,2} |
7/16 | {3,-11,44,35,-10,3} |
1/2 | {3,-10,35,44,-11,3} |
在JEM中,当两个预测来自不同参考图片时,BIO可以应用于全部双向预测块。当局部照明补偿(LIC)对CU启用时,BIO可以被禁用。
在一些实施例中,在普通MC过程之后,对块应用OBMC。为了降低计算复杂度,在OBMC过程期间可以不应用BIO。这意味着在OBMC过程期间,当使用其自身的MV时,在块的MC过程中应用BIO,并且当使用相邻块的MV时,在MC过程中不应用BIO。
帧速率上转换(FRUC)
当CU的Merge标志为真时,可以向该CU信令通知FRUC标志。当FRUC标志为伪时,Merge索引可以被信令通知,并且使用常规Merge模式。当FRUC标志为真时,附加FRUC模式标志可以被信令通知,以指示要使用哪种方法(例如,双边匹配或模板匹配)来导出块的运动信息。
在编码器侧,是否对CU使用FRUC Merge模式的决定是基于RD成本选择,如对普通Merge候选进行的。例如,通过使用RD成本选择,对于CU检查多个匹配模式(例如,双边匹配和模板匹配)。指向最小成本的一个被进一步与其他CU模式比较。如果FRUC匹配模式是最高效率的一个,则对CU将FRUC标志设定为真,并且使用相关的匹配模式。
典型地,FRUC Merge模式中的运动导出过程具有两个步骤:首先进行CU级运动搜索,然后是子CU级运动细化。在CU级,基于双边匹配或模板匹配,对于整个CU导出初始运动矢量。首先,生成MV候选的列表,并且将指向最小匹配成本的候选选择为进一步CU级细化的起点。然后在起点周围进行基于双边匹配或模板匹配的局部搜索。导致最小匹配成本的MV被作为整个CU的MV。随后,运动信息在子CU级被用导出的CU运动矢量作为起点进一步细化。
例如,对于W×H CU运动信息导出进行以下导出过程。在第一阶段,导出整个W×HCU的MV。在第二阶段,CU被进一步细分为M×M子CU。如(16)中计算M的值,D是预定分割深度,其在JEM中默认设定为3。然后导出每个子CU的MV。
图10示出了在帧速率上转换(FRUC)方法中使用的双边匹配的示例。双边匹配用于通过在两个不同参考图片(1010,1011)中沿着当前CU(1000)的运动轨迹找到两个块之间的最接近匹配,来导出当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0(1001)和MV1(1002)与当前图片与两个参考图片之间的时域距离——例如,TD0(1003)和TD1(1004)成比例。在一些实施例中,当当前图片1000在时间上在两个参考图片(1010,1011)之间并且从当前图片到两个参考图片的时域距离相同时,双边匹配变为基于双向MV的镜像。
图11示出了FRUC方法中使用的模板匹配的示例。模板匹配可以用于通过找到当前图片中的模板(例如,当前CU的上和/或左相邻块)与参考图片1110中的块(例如,与模板相同大小)之间的最接近匹配,来导出当前CU 1100的运动信息。除了上述FRUC Merge模式之外,模板匹配也可以应用于AMVP模式。在JEM和HEVC两者中,AMVP有两个候选。使用模板匹配方法,可以导出新的候选。如果通过模板匹配的新导出的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始,并且然后将列表大小设置为2(例如,通过移除第二现有AMVP候选)。应用于AMVP模式时,仅应用CU级搜索。
在CU级设定的MV候选可以包含以下:(1)如果当前CU处于AMVP模式,则为原始AMVP候选,(2)全部Merge候选,(3)插值MV场(后面描述)中的的若干MV以及上和左相邻运动矢量。
当使用双边匹配时,Merge候选的每个有效MV可以用作输入,以在双边匹配的假设下生成MV对。例如,Merge候选的一个有效MV是在参考列表A处的(MVa,refa)。然后,在其他参考列表B中找到其配对双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果参考列表B中这样的refb不可用,则refb被确定为与refa不同的参考,并且其到当前图片的时域距离是列表B中的最小的一个。在确定refb之后,基于当前图片与refa、refb之间的时域距离,通过缩放MVa导出MVb。
在一些实现方式中,还可以将来自插值的MV场的四个MV添加到CU级候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。当FRUC应用于AMVP模式时,原始AMVP候选也被添加到CU级MV候选集合。在一些实现方式中,在CU级,可以将用于AMVP CU的15个MV和用于Merge CU的13个MV添加到候选列表。
在子CU级的MV候选集合包括(1)从CU级搜索确定的MV,(2)上、左、左上和右上相邻MV,(3)来自参考图片的搭配MV的缩放版本,(4)一个或多个ATMVP候选(例如,多至四个),以及(5)一个或多个STMVP候选(例如,多至四个)。来自参考图片的缩放的MV如下导出。遍历两个列表中的参考图片。参考图片中的子CU的搭配位置处的MV被缩放到起始CU级MV的参考。ATMVP和STMVP候选可以是前四个。在子CU级,将一个或多个MV(例如,多至17个)添加到候选列表。
插值的MV场的生成
在对帧进行编码之前,基于单边ME为整个图片生成插值运动场。然后,运动场可以之后被用作CU级或子CU级MV候选。
在一些实施例中,两个参考列表中的每个参考图片的运动场在4×4块级遍历。图12示出了FRUC方法中的单边运动估计(ME)1200的示例。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块(如图12所示)并且该块尚未被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(与HEVC中的TMVP的MV缩放的方式相同)缩放到当前图片,并且缩放的运动被分配给当前帧中的块。如果没有缩放的MV被分配给4×4块,则在插值的运动场中将块的运动标记为不可用。
插值和匹配成本
当运动矢量指向分数样本位置时,需要运动补偿插值。为了降低复杂度,可以将双线性插值代替常规8抽头(tap)HEVC插值用于双边匹配和模板匹配两者。
匹配成本的计算在不同步骤略有不同。当从CU级的候选集合中选择候选时,匹配成本可以是双边匹配或模板匹配的绝对和差(SAD)。在确定起始MV之后,如下计算子CU级搜索的双边匹配的匹配成本C:
此处,w是权重因子。在一些实施例中,w可凭经验设置为4。MV和MVs分别指示当前MV和起始MV。SAD仍可用作子CU级搜索的模板匹配的匹配成本。
在FRUC模式中,仅通过使用亮度样本来导出MV。导出的运动将用于MC帧间预测的亮度和色度两者。在决定MV之后,使用用于亮度的8抽头(tap)插值滤波器和用于色度的4抽头插值滤波器来进行最终MC。
MV细化是基于MV搜索的样式,其具有双边匹配成本或模板匹配成本的标准。在JEM中,支持两种搜索样式——分别在CU级和子CU级用于MV细化的无限制中央偏置菱形搜索(UCBDS)和自适应交叉搜索(adaptive cross search)。对于CU和子CU级MV细化,以四分之一亮度样本MV精度直接搜索MV,并且接着是八分之一亮度样本MV细化。用于CU和子CU步骤的MV细化的搜索范围被设定为等于8个亮度样本。
在双边匹配Merge模式中,应用双向预测,因为CU的运动信息是基于沿两个不同参考图片中的当前CU的运动轨迹的两个块之间的最接近匹配而导出的。在模板匹配Merge模式中,编码器可以在对于CU的来自list0的单向预测、来自list1的单向预测或者双向预测中选择。选择可以基于模板匹配成本,如下所示:
如果costBi<=factor*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用来自list0的单向预测;
否则,
使用来自list1的单向预测;
此处,cost0是list0模板匹配的SAD,cost1是list1模板匹配的SAD,并且costBi是双向预测模板匹配的SAD。例如,当因数(factor)的值等于1.25时,这意味着选择过程偏向于双向预测。帧间预测方向选择可以应用于CU级模板匹配过程。
当子块的尺寸较小时,上面讨论的基于子块的预测技术可用于获取每个子块的更准确的运动信息。然而,较小的子块在运动补偿中造成了更高的带宽要求。另一方面,针对较小子块导出的运动信息可能不准确,尤其是当块中存在一些噪声时。因此,在一个块内具有固定的子块大小可能是次优的。
本文件描述了可以在各种实施例中使用的技术,以使用非均匀和/或可变子块大小来解决固定子块大小引入的带宽和精度问题。这些技术(也称为交织预测)使用不同的细分块的方式,使得可以更加鲁棒地获取运动信息而不增加带宽消耗。
使用交织预测技术,将块以一个或多个细分模式细分为子块。细分样式表示将块细分为子块的方式,包括子块的大小和子块的位置。对于每个细分样式,可以通过基于细分样式导出每个子块的运动信息来生成对应的预测块。因此,在一些实施例中,即使对于一个预测方向,也可以通过多个细分样式生成多个预测块。在一些实施例中,对于每个预测方向,可以仅应用一个细分样式。
图13示出了根据本公开的技术的具有两个细分样式的交织预测的示例。当前块1300可以细分为多个样式。例如,如图13所示,当前块被细分为样式0(1301)和样式1(1302)两者。生成两个预测块P0(1303)和P1(1304)。可以通过计算P0(1303)和P1(1304)的加权和,来生成当前块1300的最终预测块P(1305)。
更一般地,给定X个细分样式,可以通过具有X个细分样式的基于子块的预测来生成当前块的X个预测块,表示为P0,P1,......,Px-1。表示为P的当前块的最终预测可以生成为
此处,(x,y)是块中的像素的坐标,并且wi(x,y)是Pi的权重值。作为示例且非限制性地,权重可以表达为:
N是非负值。替代地,等式(16)中的位移位操作也可以表达为:
作为2的幂的权重之和允许通过执行比特移位操作而不是浮点除法来更有效地计算加权和P。
细分样式可以具有子块的不同的形状、尺寸或位置。在一些实施例中,细分样式可包含不规则的子块尺寸。图14A-14G示出了用于16×16块的细分样式的若干示例。在图14A中,根据所公开的技术将块细分为4×4子块。此样式也用于JEM中。图14B示出了根据本公开的技术将块细分为8×8子块的示例。图14C示出了根据本公开技术将块细分为8×4子块的示例。图14D示出了根据本公开的技术将块细分为4×8子块的示例。在图14E中,根据本公开的技术,块的一部分被细分为4×4子块。块边界处的像素被细分为具有诸如2×4、4×2或2×2的大小的更小子块。可以合并一些子块以形成更大的子块。图14F示出了相邻子块的示例,诸如4×4子块和2×4子块,其被合并以形成具有诸如6×4、4×6或6×6的尺寸的更大子块。在图14G中,块的一部分被细分为8×8子块。块边界处的像素被细分为较小的子块,其具有诸如8×4、4×8或4×4的尺寸。
可以基于编码块的形状和/或大小和/或编码块信息来确定基于子块的预测中的子块的形状和大小。例如,在一些实施例中,当当前块具有M×N的大小时,子块具有4×N(或8×N等)的大小。也就是说,子块具有与当前块相同的高度。在一些实施例中,当当前块具有M×N的大小时,子块具有M×4(或M×8等)的大小。也就是说,子块具有与当前块相同的宽度。在一些实施例中,当当前块具有M×N(其中M>N)的大小时,子块具有A×B的大小,其中A>B(例如,8×4)。替代地,子块可以具有B×A(例如4×8)的大小。
在一些实施例中,当前块具有M×N的大小。当M×N<=T(或Min(M,N)<=T,或Max(M,N)<=T等)时,子块具有A×B的大小,并且当M×N>T(或Min(M,N)>T,或Max(M,N)>T等)时,子块具有C×D的大小,其中A<=C且B<=D。例如,如果M×N<=256,则子块可以是4×4的大小。在一些实现方式中,子块具有8×8的大小。
在一些实施例中,可以基于帧间预测方向来确定是否应用交织预测。例如,在一些实施例中,交织预测可以应用于双向预测,但不应用于单向预测。作为另一示例,当应用多假设时,当存在多于一个参考块时,可以将交织预测应用于一个预测方向。
在一些实施例中,还可以基于帧间预测方向来确定如何应用交织预测。在一些实施例中,具有基于子块的预测的双向预测块对于两个不同参考列表以两个不同细分样式被细分为子块。例如,当从参考列表0(L0)预测时,双向预测块被细分为4×8子块,如图14D所示。当从参考列表1(L1)预测时,将相同的块细分为8×4子块,如图14C所示。最终预测P计算为
此处,P0和P1分别是来自L0和L1的预测。w0和w1分别是L0和L1的权重值。如等式(16)所示,权重值可以确定为:w0(x,y)+w1(x,y)=1<<N(其中N是非负整数值)。因为在每个方向上用于预测的子块更少(例如,与8×8子块相比,4×8子块),与现有的基于子块的方法相比,计算需要更少的带宽。通过使用更大的子块,预测结果也更不易受噪声干扰的影响。
在一些实施例中,具有基于子块的预测的单向预测块对于相同参考列表以两种或更多种不同细分样式被细分为子块。例如,列表L(L=0或1)的预测PL被计算为
这里XL是列表L的细分样式的数目。是用第i细分样式预测生成的,并且是的权重值。例如,当XL为2时,两种细分样式应用于列表L。在第一细分样式中,块被细分为4×8子块,如图14D所示。在第二细分样式中,块被细分为8×4子块如图14D所示。
在一个实施例中,具有基于子块的预测的双向预测块被认为是分别来自L0和L1的两个单向预测块的组合。来自每个列表的预测可以按上述示例中的描述导出。最终预测P可以被计算为
这里,参数a和b是应用于两个内部预测块的两个附加权重。在该具体示例中,a和b可以都设定为1。类似于上面的示例,因为在每个方向上使用更少的子块用于预测(例如,与8×8子块相比,4×8子块),带宽使用比现有基于子块的方法更好或同等水平。同时,通过使用更大的子块可以改善预测结果。
在一些实施例中,可以在每个单向预测块中使用单个非均匀样式。例如,对于每个列表L(例如,L0或L1),块被分成不同的样式(例如,如图14E或图14F所示)。使用较少数目的子块降低了对带宽的需求。子块的非均匀性也增加了预测结果的鲁棒性。
在一些实施例中,对于多假设编码块,对于每个预测方向(或参考图片列表),可以存在由不同细分样式生成的多于一个预测块。可以使用多个预测块来生成应用了附加权重的最终预测。例如,附加权重可以设定为1/M,其中M是所生成的预测块的总数。
在一些实施例中,编码器可以确定是否应用以及如何应用交织预测。然后,编码器可以在序列级、图片级、视图级、条带级、编码树单元(CTU)(也称为最大编码单元(LCU))级、CU级、PU级、树单元(TU)级、片(tile)级,片组级或区域级(可包含多个CU/PU/Tu/LCU)将对应于该确定的信息发送到解码器。可以在序列参数集(SPS)、视图参数集(VPS)、图片参数集(PPS)、条带报头(SH)、图片报头、序列报头、或片级或片组级、CTU/LCU、CU、PU、TU、或区域的第一个块中将信息信令通知。
在一些实现方式中,交织预测适用于现有的子块方法,例如仿射预测、ATMVP、STMVP、FRUC或BIO。在这种情况下,不需要额外的信令成本。在一些实现方式中,可以将由交织预测生成的新子块Merge候选插入到Merge列表中,例如,交织预测+ATMVP、交织预测+STMVP、交织预测+FRUC等。在一些实现方式中,可以将标志信令通知以指示是否使用交织预测。在一个示例中,如果当前块是仿射帧间编码的,则将标志信令通知以指示是否使用交织预测。在一些实现方式中,如果当前块是仿射Merge编码的并且应用单向预测,则可以将标志信令通知以指示是否使用交织预测。在一些实现方式中,如果当前块是仿射Merge编码的,则可以将标志信令通知以指示是否使用交织预测。在一些实现方式中,如果当前块是仿射Merge编码的并且应用单向预测,则可以总是使用交织预测。在一些实现方式中,如果当前块是仿射Merge编码的,则可以总是使用交织预测。
在一些实现方式中,指示是否使用交织预测的标志可以在没有信令通知的情况下继承(inherit)。一些例子包括:
(i)在一个示例中,如果当前块是仿射Merge编码的,则可以使用继承。
(ii)在一个示例中,标志可以从继承仿射模型的相邻块的标志继承。
(iii)在一个示例中,标志从诸如左或上相邻块的预定相邻块继承。
(iv)在一个示例中,标志可以从首先遇到的仿射编码的相邻块继承。
(v)在一个示例中,如果没有相邻块是仿射编码的,则可以推断该标志为零。
(vi)在一个示例中,可以仅在当前块应用单向预测时继承该标志。
(vii)在一个示例中,仅在当前块和其要继承的相邻块在同一CTU中时才可以继承该标志。
(viii)在一个示例中,仅在当前块和其要继承的相邻块在同一CTU行中时才可以继承该标志。
(ix)在一个示例中,当从时域相邻块导出仿射模型时,可以不从相邻块的标志继承该标志。
(x)在一个示例中,可以不从不位于相同的LCU或LCU行或视频数据处理单元(诸如64×64或128×128)中的相邻块的标志继承标志。
(xi)在一个示例中,如何信令通知和/或导出标志可以取决于当前块的块维度和/或编码信息。
在一些实现方式中,如果参考图片是当前图片,则不应用交织预测。例如,如果参考图片是当前图片,则不信令通知指示是否使用交织预测的标志。
在一些实施例中,可以基于来自空域和/或时域相邻块的信息导出当前块要使用的细分样式。例如,不是依赖于编码器来信令通知相关信息,而是编码器和解码器两者都可以采用一组预定规则来基于时域邻接(例如,先前使用的相同块的细分样式)或空域邻接(例如,相邻块使用的细分样式)来获取细分样式。
在一些实施例中,权重值w可以是固定的。例如,全部细分样式可以相等地加权:wi(x,y)=1。在一些实施例中,可以基于块的位置以及所使用的细分样式来确定权重值。例如,对于不同的(x,y),wi(x,y)可以是不同的。在一些实施例中,权重值还可以取决于基于子块预测的编码技术(例如,仿射或ATMVP)和/或其他编码信息(例如,跳过或非跳过模式,和/或MV信息)。
在一些实施例中,编码器可以确定权重值,并且在序列级、图片级、条带级、CTU/LCU级、CU级、PU级或区域级(其可以包括多个CU/PU/Tu/LCU))中将值发送到解码器。可以在序列参数集(SPS)、图片参数集(PPS)、条带报头(SH)、CTU/LCU、CU、PU或区域的第一块中信令通知权重值。在一些实施例中,可以从空域和/或时域相邻块的权重值导出权重值。
注意,本文公开的交织预测技术可以应用于基于子块的预测中的一种、一些或全部编码技术。例如,交织预测技术可以应用于仿射预测,而基于子块的预测的其他编码技术(例如,ATMVP、STMVP、FRUC或BIO)不使用交织预测。作为另一个例子,仿射、ATMVP和STMVP的全部都应用本文公开的交织预测技术。
具有部分交织的示例性实施例
在一些实施例中,部分交织预测可以如以下实现。
在一些实施例中,交织预测被应用于当前块的一部分。在一些位置处的预测样本被计算为两个或更多个基于子块的预测的加权和。其他位置的预测样本不用于加权和。例如,这些预测样本是从具有特定细分样式的基于子块的预测中复制的。
在一些实施例中,通过分别具有细分样式D0和细分样式D1的基于子块的预测P1和P2来预测当前块。最终预测计算为P=w0×P0+w1×P1。在某些位置,w0≠0且w1≠0。但是在某些其他位置,w0=1且w1=0,即,在这些位置处不应用交织预测。
在一些实施例中,交织预测不应用在四个角部子块上,如图15A所示。
在一些实施例中,交织预测不应用在最左列和最右列的子块,如图15B中所示。
在一些实施例中,交织预测不应用在最顶部行和最底部行的子块,如图15C所示。
在一些实施例中,交织预测不应用在最顶部行、最底部行、最左列和最右列的子块,如图15D中所示。
在一些实施例中,是否应用以及如何应用部分交织预测可以取决于当前块的大小/形状。
例如,在一些实施例中,如果当前块的大小满足特定条件,则交织预测应用到整个块;否则,交织预测应用到块的一部分(或一些部分)。条件包含但不限于:(假设当前块的宽度和高度分别是W和H,并且T,T1、T2为整数值):
W>=T1且H>=T2;
W<=T1且H<=T2;
W>=T1或H>=T2;
W<=T1或H<=T2;
W+H>=T
W+H<=T
W×H>=T
W×H<=T
在一些实施例中,部分交织预测应用于当前块的小于当前块的部分。例如,在一些实施例中,块的一部分如下排除子块。在一些实施例中,如果W≥H,则交织预测不应用于如图15B所示的最左列和最右列的子块;否则,交织预测不应用于如图15C所示的最顶部行和最底部行的子块。
例如,在一些实施例中,如果W>H,则交织预测不应用于如图15B所示的最左列和最右列的子块;否则,交织预测不应用于如图15C所示的最顶部行和最底部行的子块。
在一些实施例中,对于块中的不同区域,是否应用以及如何应用交织预测可以是不同的。例如,假设当前块是通过分别具有细分模式D0和细分模式D1的基于子块的预测P1和P2来预测的。最终预测计算为P(x,y)=w0×P0(x,y)+w1×P1(x,y)。如果位置(x,y)属于具有细分样式D0的维度为S0×H0的子块;并属于具有细分样式D1的子块S1×H1,如果满足一个或多个以下条件,则设定w0=1并且w1=0(例如,在该位置不应用交织预测):
S1<T1;
H1<T2;
S1<T1且H1<T2;或
S1<T1或H1<T2,
本文中,T1和T2为整数。例如,T1=T2=4。
与编码器实施例整合的技术的示例
在一些实施例中,交织预测不应用在运动估计(ME)过程中。
例如,交织预测对于6参数仿射预测不应用在ME过程中。
例如,如果当前块的尺寸满足诸如以下的特定条件,则交织预测不应用在ME过程中。此处,假设当前块的宽度和高度分别为W和H,并且T、T1、T2为整数值:
W>=T1且H>=T2;
W<=T1且H<=T2;
W>=T1或H>=T2;
W<=T1或H<=T2;
W+H>=T
W+H<=T
W×H>=T
W×H<=T
例如,如果当前块是从母块分割的,并且母块在编码器处不选择仿射模式,则在ME过程中省略交织预测。
替代地,如果当前块是从母块分割的,并且母块在编码器处不选择仿射模式,则在编码器处不检查仿射模式。
MV导出的示例性实施例
在以下示例中,SatShift(x,n)定义为
Shift(x,n)定义为Shift(x,n)=(x+shift0)>>n。在一个示例中,shift0和/或shift1设定为(1<<n)>>1或(1<<(n-1))。在另一示例中,shift0和/或shift1设定为0。
在一些实施例中,一个细分样式中的每个子块的MV可以从仿射模型(诸如用等式(1))直接导出,或其可以从另一细分样式内的子块的MV导出。
(a)在一个示例中,具有细分样式0的子块B的MV可以从与子块B重叠的细分样式1内的子块中的一些或全部的MV导出。
(b)图16A-16C示出了一些示例。在图16A中,将要导出细分样式1内的特定子块的MV1(x,y)。图16B示出了块中的细分样式0(实线)和细分样式1(虚线),指示在细分样式0内存在与细分样式1内的特定子块重叠的四个子块。图16C示出了四个MV:与细分样式1内的特定子块重叠的细分样式0内的四个子块的MV0 (x-2,y-2)、MV0 (x+2,y-2)、MV0 (x-2,y+2)以及MV0 (x+2,y+2)。然后MV1 (x,y)将从MV0 (x-2,y-2)、MV0 (x+2,y-2)、MV0 (x-2,y+2)和MV0 (x+2,y+2)导出。
(c)假设细分样式1内的一个子块的MV’是从细分样式0内的k+1个子块的MV0、MV1、MV2、…MVk导出的。MV’可以导出为:
(i)MV’=MVn,n是0…k中的任意数。
(ii)MV’=f(MV0,MV1,MV2,…,MVk)。f是线性函数。
(iii)MV’=f(MV0,MV1,MV2,…,MVk)。f是非线性函数。
(iv)MV’=Average(MV0,MV1,MV2,…,MVk)。Average是平均运算。
(v)MV’=Median(MV0,MV1,MV2,…,MVk)。Median是得到中位数值的运算。
(vi)MV’=Max(MV0,MV1,MV2,…,MVk)。Max是得到最大值的运算。
(vii)MV’=Min(MV0,MV1,MV2,…,MVk)。Min是得到最小值的运算。
(viii)MV’=MaxAbs(MV0,MV1,MV2,…,MVk)。MaxAbs是得到具有最大绝对值的值的运算。
(ix)MV’=MinAbs(MV0,MV1,MV2,…,MVk)。MinAbs是得到具有最小绝对值的值的运算。
(x)以图16A作为示例,MV1 (x,y)可以导出为:
1.MV1 (x,y)=SatShift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2);
2.MV1 (x,y)=Shift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2);
3.MV1 (x,y)=SatShift(MV0(x-2,y-2)+MV0(x+2,y-2),1);
4.MV1 (x,y)=Shift(MV0(x-2,y-2)+MV0(x+2,y-2),1);
5.MV1 (x,y)=SatShift(MV0(x-2,y+2)+MV0(x+2,y+2),1);
6.MV1 (x,y)=Shift(MV0(x-2,y+2)+MV0(x+2,y+2),1);
7.MV1 (x,y)=SatShift(MV0(x-2,y-2)+MV0(x+2,y+2),1);
8.MV1 (x,y)=Shift(MV0(x-2,y-2)+MV0(x+2,y+2),1);
9.MV1 (x,y)=SatShift(MV0(x-2,y-2)+MV0(x-2,y+2),1);
10.MV1 (x,y)=Shift(MV0(x-2,y-2)+MV0(x-2,y+2),1);
11.MV1 (x,y)=SatShift(MV0(x+2,y-2)+MV0(x+2,y+2),1);
12.MV1 (x,y)=Shift(MV0(x+2,y-2)+MV0(x+2,y+2),1);
13.MV1 (x,y)=SatShift(MV0(x+2,y-2)+MV0(x-2,y+2),1);
14.MV1 (x,y)=Shift(MV0(x+2,y-2)+MV0(x-2,y+2),1);
15.MV1 (x,y)=MV0 (x-2,y-2);
16.MV1 (x,y)=MV0 (x+2,y-2);
17.MV1 (x,y)=MV0 (x-2,y+2);或
18.MV1 (x,y)=MV0 (x+2,y+2)。
在一些实施例中,如何选择细分样式可以取决于当前块的宽度和高度。
(a)例如,如果宽度>T1且高度>T2(例如T1=T2=4),则选择两种细分样式。图17A示出了两种细分样式的示例。
(b)例如,如果高度<=T2(例如T2=4),则选择另外两种细分样式。图17B示出了两种细分样式的示例。
(c)例如,如果宽度<=T1(例如T1=4),则选择再另外两种细分样式。图17C示出了两种细分样式的示例。
在一些实施例中,一个颜色分量C1的一个细分样式内的每个子块的MV可以从另一颜色分量C0的另一细分样式内子块的MV导出。
(a)例如,C1指代在另一颜色分量之后编码/解码的颜色分量,诸如Cb或Cr或U或V或R或B。
(b)例如,C0指代在另一颜色分量之前编码/解码的颜色分量,诸如Y或G。
(c)在一个示例中,如何从另一颜色分量的另一细分样式内的子块的MV导出一个颜色分量的一个细分样式内的子块的MV可以取决于颜色格式,诸如4:2:0,或4:2:2,或4:4:4。
(d)在一个示例中,在根据颜色格式缩小或放大坐标之后,具有细分样式C1Pt(t=0或1)的颜色分量C1中的子块B的MV可以从与子块B重叠的具有细分样式C0Pr(r=0或1)内的颜色分量C0中的一些或全部子块的MV导出。
(i)在一个示例中,C0Pr总是等于C0P0。
(e)图18A和18B示出了两个示例。颜色格式为4:2:0。Cb分量中的子块的MV被从Y分量中的子块的MV导出。
(i)在图18A左侧,将要导出细分样式0内的特定Cb子块B的MVCb0 (x’,y’)。图18A右侧示出了细分样式0内的四个Y子块,其以2:1缩小时与Cb子块B重叠。假设x=2*x’且y=2*y’,细分样式0内的四个Y子块的四个MV:MV0 (x-2,y-2),MV0 (x+2,y-2),MV0 (x-2,y+2)和MV0 (x+2,y+2)被用于导出MVCb0 (x’,y’)。
(ii)在图18B左侧,细分样式1内的特定Cb子块B的MVCb0 (x’,y’)要被导出。图18B右侧示出了细分样式0内的四个Y子块,其当2:1缩小时与Cb子块B重叠。假设x=2*x’且y=2*y’,细分样式0内的四个Y子块的四个MV:MV0 (x-2,y-2),MV0 (x+2,y-2),MV0 (x-2,y+2)和MV0 (x+2,y+2)用于导出MVCb0 (x’,y’)。
(f)假设颜色分量C1的一个子块的MV’是从颜色分量C0的k+1子块的MV0,MV1,MV2,…MVk导出的。MV’可以导出为:
(i)MV’=MVn,n是0…k中的任意数。
(ii)MV’=f(MV0,MV1,MV2,…,MVk)。f是线性函数。
(iii)MV’=f(MV0,MV1,MV2,…,MVk)。f是非线性函数。
(iv)MV’=Average(MV0,MV1,MV2,…,MVk)。Average是平均运算。
(v)MV’=Median(MV0,MV1,MV2,…,MVk)。Median是得到中位数值的运算。
(vi)MV’=Max(MV0,MV1,MV2,…,MVk)。Max是得到最大值的运算。
(vii)MV’=Min(MV0,MV1,MV2,…,MVk)。Min是得到最小值的运算。
(viii)MV’=MaxAbs(MV0,MV1,MV2,…,MVk)。MaxAbs是得到具有最大绝对值的值的运算。
(ix)MV’=MinAbs(MV0,MV1,MV2,…,MVk)。MinAbs是得到具有最小绝对值的值的运算。
(x)以图18A和图18B作为示例,MVCbt (x’,y’),其中t=0或1,可以导出为:
1.MVCbt (x’,y’)=SatShift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2);
2.MVCbt (x’,y’)=Shift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2);
3.MVCbt (x’,y’)=SatShift(MV0(x-2,y-2)+MV0(x+2,y-2),1);
4.MVCbt (x’,y’)=Shift(MV0(x-2,y-2)+MV0(x+2,y-2),1);
5.MVCbt (x’,y’)=SatShift(MV0(x-2,y+2)+MV0(x+2,y+2),1);
6.MVCbt (x’,y’)=Shift(MV0(x-2,y+2)+MV0(x+2,y+2),1);
7.MVCbt (x’,y’)=SatShift(MV0(x-2,y-2)+MV0(x+2,y+2),1);
8.MVCbt (x’,y’)=Shift(MV0(x-2,y-2)+MV0(x+2,y+2),1);
9.MVCbt (x’,y’)=SatShift(MV0(x-2,y-2)+MV0(x-2,y+2),1);
10.MVCbt (x’,y’)=Shift(MV0(x-2,y-2)+MV0(x-2,y+2),1);
11.MVCbt (x’,y’)=SatShift(MV0(x+2,y-2)+MV0(x+2,y+2),1);
12.MVCbt (x’,y’)=Shift(MV0(x+2,y-2)+MV0(x+2,y+2),1);
13.MVCbt (x’,y’)=SatShift(MV0(x+2,y-2)+MV0(x-2,y+2),1);
14.MVCbt (x’,y’)=Shift(MV0(x+2,y-2)+MV0(x-2,y+2),1);
15.MVCbt (x’,y’)=MV0 (x-2,y-2);
16.MVCbt (x’,y’)=MV0 (x+2,y-2);
17.MVCbt (x’,y’)=MV0 (x-2,y+2);
18.MVCbt (x’,y’)=MV0 (x+2,y+2);
双向预测的交织预测的示例性实施例
在一些实施例中,当交织预测应用在双向预测上时,可以应用以下方法,以节省由于不同权重造成的内部位深度增大:
(a)对于列表X(X=0或1),PX(x,y)=Shift(W0(x,y)*PX 0(x,y)+W1(x,y)*PX 1(x,y),SW),其中PX(x,y)是列表X的预测,PX 0(x,y)和PX 1(x,y)分别是列表X以细分样式0和细分样式1的预测。W0和W1是整数,其表示交织预测权重值,并且SW表示权重值的精确度。
(b)最终预测值导出为P(x,y)=Shift(Wb0(x,y)*P0(x,y)+Wb1(x,y)*P1(x,y),SWB),其中Wb0和Wb1为加权双向预测中使用的整数,并且SWB为精确度。当不存在加权双向预测时,Wb0=Wb1=SWB=1。
(c)在一些实施例中,PX 0(x,y)和PX 1(x,y)可以保持为插值滤波的精确度。例如,它们可以是具有16比特的无符号的(unsigned)整数。最终预测值导出为P(x,y)=Shift(Wb0(x,y)*P0(x,y)+Wb1(x,y)*P1(x,y),SWB+PB),其中PB是来自插值滤波的附加精确度,例如,PB=6。在此情况下,W0(x,y)*PX 0(x,y)或W1(x,y)*PX 1(x,y)可能超过16比特。提议将PX 0(x,y)和PX 1(x,y)首先右移到较低的精确度,以避免超过16比特。
(i)例如,对于列表X(X=0或1),PX(x,y)=Shift(W0(x,y)*PLX 0(x,y)+W1(x,y)*PLX 1(x,y),SW),其中PLX 0(x,y)=Shift(PX 0(x,y),M),PLX 1(x,y)=Shift(PX 1(x,y),M)。并且,最终预测导出为P(x,y)=Shift(Wb0(x,y)*P0(x,y)+Wb1(x,y)*P1(x,y),SWB+PB-M)。例如,M设定为2或3。
(d)上述方法还可以适用于具有两个参考预测块的不同加权因数的其他双向预测方法,诸如广义双向预测(Generalized Bi-Prediction)(GBi,其中权重可以为例如,3/8、5/8)、加权预测(其中权重可以为很大的值)。
(e)上述方法还可以适用于具有不同参考预测块的不同权重因数的其他多假设单向预测或双向预测方法。
以上描述的实施例和示例可以在接下来描述的方法1900和2000的上下文中实现。
图19是根据本公开技术的用于改善视频系统中的运动预测的方法1900的示例性流程图。方法1900包含在1902处从视频帧选择像素集合以形成块。方法1900包含在1904处根据第一样式将块细分为子块的第一集合。方法1900包含在1906处基于子块的第一集合生成第一中间预测块。方法1900包含在1908处根据第二样式将块细分为子块的第二集合。第二集合中的至少一个子块具有与第一集合中的子块不同的大小。方法1900包含在1910处基于子块的第二集合生成第二中间预测块。方法1900还包含在1912处基于第一中间预测块和第二中间预测块确定预测块。
在一些实施例中,使用(1)仿射预测方法,(2)可选时域运动矢量预测方法,(3)空域-时域运动矢量预测方法,(4)双向光流方法,或(5)帧速率上转换方法中至少一者来生成第一中间预测块或第二中间预测块。
在一些实施例中,第一集合或第二集合中的子块具有矩形形状。在一些实施例中,子块的第一集合中的子块具有非均匀的形状。在一些实施例中,子块的第二集合中的子块具有非均匀的形状。
在一些实施例中,该方法包含基于块的大小确定第一样式或第二样式。在一些实施例中,该方法包含基于来自与块在时域上或空域上相邻的第二块的信息来确定第一样式或第二样式。
在一些实施例中,为了块在第一方向上的运动预测进行将块细分为子块的第一集合。在一些实施例中,为了块在第二方向上的运动预测进行将块细分为第二子块集合。
在一些实施例中,为了块在第一方向上的运动预测进行将块细分为子块的第一集合并将块细分为子块的第二集合。在一些实施例中,该方法还包含通过以下来进行块在第二方向上的运动预测:根据第三样式将块细分为子块的第三集合,基于子块的第三集合生成第三中间预测块,根据第四样式将块细分为子块的第四集合,其中第四集合中的至少一个子块具有与第三集合中的子块不同的尺寸,基于子块的第四集合生成第四中间预测块,基于第三中间预测块和第四中间预测块确定第二预测块,以及基于预测块和第二预测块确定第三预测块。
在一些实施例中,该方法包含将细分块的第一样式和第二样式的信息传输到基于块的运动预测视频系统中的编码装置。在一些实施例中,传输第一样式和第二样式的信息在以下之一处进行:(1)序列级,(2)图片级,(3)视图级,(4)条带级,(5)编码树单元,(6)最大编码单元级,(7)编码单元级,(8)预测单元级,(10)树单元级,或(11)区域级。
在一些实施例中,确定预测结果包含将权重的第一集合应用到第一中间预测块,以获取第一加权预测块,将权重的第二集合应用到第二中间预测块,以获取第二加权预测块,以及计算第一加权预测块和第二加权预测块的加权和,以获取预测块。
在一些实施例中,权重的第一集合或权重的第二集合包含固定权重值。在一些实施例中,基于来自与该块在时域上或空域上相邻的另一块的信息来确定权重的第一集合或权重的第二集合。在一些实施例中,使用用于生成第一预测块或第二预测块的编码算法来确定权重的第一集合或权重的第二集合。在一些实现方式中,权重的第一集合中的至少一个值不同于权重的第一集合中的另一值。在一些实现方式中,权重的第二集合中的至少一个值不同于权重的第二集合中的另一值。在一些实现方式中,权重之和等于2的幂。
在一些实施例中,该方法包含将权重传输到基于块的运动预测视频系统中的编码装置。在一些实施例中,传输权重在以下之一处进行:(1)序列级,(2)图片级,(3)视图级,(4)条带级,(5)编码树单元,(6)最大编码单元级,(7)编码单元级,(8)预测单元级,(10)树单元级,或(11)区域级。
图2000是根据所公开的技术的用于改善视频系统中的基于块的运动预测的方法2000的示例流程图。方法2000包括在2002处从视频帧中选择像素集合以形成块。方法2000包括在2004处基于块的大小或来自与块在空域上或时域上相邻的另一块的信息将块细分为多个子块。多个子块中的至少一个子块具有与其他子块不同的大小。方法2000还包括在2006处通过将编码算法应用于多个子块来生成运动矢量预测。在一些实施例中,编码算法包括(1)仿射预测方法,(2)可选时域运动矢量预测方法,(3)空域-时域运动矢量预测方法,(4)双向光流方法,或(5)帧速率上转换方法中的至少一个。
在方法1900和2000中,可以实现部分交织。使用该方案,预测样本的第一子集中的样本被计算为第一中间预测块的加权组合,并且预测样本的第二子集中的样本从基于子块的预测复制,其中第一子集和第二子集是基于细分样式。第一子集和第二子集可以一起构成整个预测块,例如,当前正被处理的块。如图15A-15D中所示,在各种示例中,从交织中排除的第二子集可以由(a)角部子块或(b)最顶部行和最底部行的子块或(c)最左列或最右列的子块构成。当前正在处理的块的大小可以用作决定是否从交织预测中排除某些子块的条件。
如在本文件中进一步描述的,编码过程可以避免检查从母块细分的块的仿射模式,其中母块本身用不同于仿射模式的模式编码。
在一些实施例中,视频解码器设备可实施视频解码的方法,其中如本文中所描述的经改善的基于块的运动预测用于视频解码。该方法可以包含使用来自视频帧的像素集合来形成视频的块。可以根据第一样式将块细分为子块的第一集合。第一中间预测块可以对应于子块的第一集合。该块可以包含根据第二样式的子块的第二集合。第二集合中的至少一个子块具有与第一集合中的子块不同的大小。该方法还可以基于第一中间预测块和从子块的第二集合生成的第二中间预测块来确定预测块。该方法的其他特征可以类似于上述方法1900。
在一些实施例中,视频解码的解码器侧方法可以使用基于块的运动预测以用于通过使用用于预测的视频帧的块来改善视频质量,其中块对应于像素块的集合。可以基于块的大小或者来自与块在空域上或时域上相邻的另一块的信息将块细分为多个子块,其中多个子块中的至少一个子块具有与其他子块不同的大小。解码器可以使用通过将编码算法应用于多个子块而生成的运动矢量预测。关于图2000和对应的描述描述了该方法的其他特征。
视频处理的又另一方法包含导出当前视频块的子块的第一集合的一个或多个运动矢量,其中子块的第一集合中的每一个具有第一细分样式,以及基于一个或多个运动矢量重构当前视频块。
在一些实施例中,导出一个或多个运动矢量是基于仿射模型。
在一些实施例中,导出一个或多个运动矢量是基于子块的第二集合中的一个或多个的运动矢量,子块的第二集合中的每一个具有与第一细分样式不同的第二细分样式,并且子块的第二集合中的一个或多个与子块的第一集合中的至少一个重叠。例如,子块的第一集合中的一个或多个运动矢量包含MV1,子块的第二集合中的一个或多个的运动矢量包含MV01,MV02,MV03,…和MV0K,并且K是正整数。在示例中,MV1=f(MV01,MV02,MV03,…,MV0K)。在另一示例中,f(·)是线性函数。在又一示例中,f(·)是非线性函数。在又一示例中,MV1=average(MV01,MV02,MV03,…,MV0K),并且average(·)是平均运算。在又一示例中,MV1=median(MV01,MV02,MV03,…,MV0K),并且median(·)是计算中位数值的运算。在又一示例中,MV1=min(MV01,MV02,MV03,…,MV0K),并且min(·)是从多个输入值中选择最小值的运算。在又一示例中,MV1=MaxAbs(MV01,MV02,MV03,…,MV0K),并且MaxAbs(·)是从多个输入值选择最大绝对值的运算。
在一些实施例中,子块的第一集合对应于第一颜色分量,导出一个或多个运动矢量是基于子块的第二集合中的一个或多个的运动矢量,子块的第二集合中的每一个具有与第一细分样式不同的第二细分样式,子块的第二集合对应于与第一颜色分量不同的第二颜色分量。在示例中,第一颜色分量在第三颜色分量之后被编码或解码,并且其中第三颜色分量是Cr、Cb、U、V、R或B中的一个。在另一个示例中,第二颜色分量在第三颜色分量之前被编码或解码,并且其中第三颜色分量是Y或G。在又一示例中,导出一个或多个运动矢量还基于子块的第二集合中的至少一个的颜色格式。在又一个示例中,颜色格式是4:2:0、4:2:2或4:4:4。
在一些实施例中,第一细分样式是基于当前视频块的高度或宽度。
图21是视频处理设备2100的框图。设备2100可用于实现本文描述的一个或多个方法。设备2100可以实施为智能手机、平板计算机、计算机、物联网(IoT)接收器等。设备2100可以包含一个或多个处理器2102、一个或多个存储器2104和视频处理硬件2106。(多个)处理器2102可以被配置为实现本文件中描述的一种或多种方法(包含但不限于方法1900和2000)。存储器(多个存储器)2104可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件2106可用于在硬件电路中实现本文件中描述的一些技术。
在一些实施例中,视频编码方法可以使用在如关于图21所描述的硬件平台上实现的设备来实现。
图22是根据本技术的用于视频处理的方法的示例流程图。方法2200包含,在操作2202处,在当前块与当前块的编码表示之间的转换期间,确定当前块的预测块。预测块包含第一部分和第二部分。第二部分对应于第一中间预测块和第二中间预测块的加权组合,其中当前块在第一中间预测块中使用第一样式细分为子块,当前块在第二中间预测块中使用第二样式细分为子块。方法2200包含,在操作2204处,从第一部分和第二部分生成当前块。
图23是根据本技术的用于视频处理的方法的示例性流程图。方法2300包含,在操作2302处,生成当前块的预测块,其中预测块包含第一部分和第二部分。第二部分对应于第一中间预测块和第二中间预测块的加权组合,其中当前块在第一中间预测块被使用第一模式细分为子块,当前块在第二中间预测块中被使用第二模式细分为子块。方法2300包含,在操作2304处,将预测块转换为比特流中的编码表示。
在一些实施例中,第一部分包含当前块的角部子块。在一些实施例中,第一部分包含最右列或最左列的子块。在一些实施例中,第一部分包含最顶部行或最底部行的子块。在一些实施例中,第一部分包含子块的最顶部行、最底部行、最左列和最右列的子块。
在一些实施例中,基于当前块的大小不满足特定条件来确定第一部分。在一些实施例中,当前块的宽度和高度分别为W和H,并且T、T1、T2为整数值,并且条件包含以下之一:W>=T1且H>=T2;W<=T1且H<=T2;W>=T1或H>=T2;W<=T1或H<=T2;W+H>=T;W+H<=T;W×H>=T;或W×H<=T。在一些实施例中,对于宽度大于或等于高度的当前块,第一部分包含当前块的最左列和最右列的子块。在一些实施例中,对于高度大于或等于宽度的当前块,第一部分包含当前块的最顶部行和最底部行的子块。
在一些实施例中,第一部分中的位置对应于使用第二样式细分的当前块的子块。子块的宽度为S1,高度为H1,并且子块的大小满足以下之一:S1<T1,H1<T2,S1<T1和H1<T2,或S1<T1或H1<T2,T1和T2是整数。在一些实施方案中,T1=T2=4。
图24是示出可以实现本文公开的各种技术的示例性视频处理系统2400的框图。各种实现方式可以包含系统2400的一些或全部组件。系统2400可以包含用于接收视频内容的输入2402。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以是压缩或编码格式。输入2402可以表示网络接口、外围总线接口或存储接口。网络接口的示例包含诸如以太网,无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统2400可以包含编码组件2404,其可以实现本文件中描述的各种编码或编码方法。编码组件2404可以将来自输入2402的视频的平均比特率减小到编码组件2404的输出,以产生视频的编码表示。因此,编码技术有时被称为视频压缩或视频转码技术。编码组件2404的输出可以储存或者经由连接的通信传输,如组件2406所表示的。在输入2402处接收的视频的存储或通信的比特流(或编码)表示可以由组件2408使用,以生成发送到显示接口2410的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编码”操作或工具,但是应当理解,编码工具或操作在编码器处使用,并且逆转编码结果的相应的解码工具或操作将由解码器进行。
外围总线接口或显示接口的示例可以包含通用串行总线(USB)或高分辨率多媒体接口(HDMI)或显示端口(Displayport)等。存储接口的示例包含SATA(串行先进技术附件)、PCI、IDE接口等。本文件中描述的技术可以实施为各种电子设备,诸如移动电话、膝上型计算机、智能电话或能够执行数字数据处理和/或视频显示的其他装置。
从前述内容可以理解,本文已经出于说明的目的描述了本公开技术的具体实施例,但是在不脱离本发明的范围的情况下可以进行各种修改。相应地,除了所附权利要求之外,本发明所公开的技术不受限制。
本文件中描述的公开的和其他实施例、模块和功能操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包含本文件中公开的结构及其结构等同,或者它们中的一个或多个的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器装置、影响机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理设备”包含用于处理数据的全部设备、装置和机器,包含例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统,或者它们中的一个或多个的组合。传播信令是人工生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包含编译或解释语言,并且它可以以任何形式部署,包含如独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在文件的保存其他程序或数据的一部分(例如,存储在标记语言文件中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码的部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本文件中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以实现为专用逻辑电路。
适合于执行计算机程序的处理器包含例如通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包含用于存储数据的一个或多个大容量装置设备(例如磁盘、磁光盘或光盘)或与之可操作地耦合以从一个或多个大容量装置设备接收数据或将数据传输到一个或多个大容量装置设备。但是,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包含全部形式的非易失性存储器、介质和存储器装置,包含例如半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文件包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本专利文件中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中去除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解成为了实现期望的结果要求以所示的特定顺序或按顺序执行这样的操作,或者执行全部示出的操作。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在全部实施例中都需要这种分离。
仅描述了几个实现方式和示例,并且可以基于本专利文件中描述和示出的内容来进行其他实现方式、增强和变化。
Claims (15)
1.一种视频处理的方法,包括:
在当前块与所述当前块的编码表示之间的转换期间,确定所述当前块的预测块,其中所述预测块包含第一部分和第二部分,所述第二部分对应于第一中间预测块和第二中间预测块的权重组合,在第一中间预测块中使用第一样式将所述当前块细分为子块,并且在第二中间预测块中使用第二样式将所述当前块细分为子块;以及
从所述第一部分和所述第二部分生成所述当前块。
2.一种视频处理的方法,包括:
生成当前块的预测块,其中所述预测块包含第一部分和第二部分,所述第二部分对应于第一中间预测块和第二中间预测块的权重组合,在所述第一中间预测块中使用第一样式将所述当前块细分为子块,并且在第二中间预测块中使用第二样式将所述当前块细分为子块;以及
将所述预测块转换为比特流中的编码表示。
3.如权利要求1或2所述的方法,其中所述第一部分对应于使用所述第一样式细分为子块的所述当前块的部分。
4.如权利要求1至3中任一项所述的方法,其中所述第一部分包含所述当前块的角部子块。
5.如权利要求1至4中任一项所述的方法,其中所述第一部分包含最右列或最左列的子块。
6.如权利要求1至5中任一项所述的方法,其中所述第一部分包含最顶部行或最底部行的子块。
7.如权利要求1至6中任一项所述的方法,其中所述第一部分包含最顶部行、最底部行、最左列和最右列的子块。
8.如权利要求1至7中任一项所述的方法,其中基于所述当前块的尺寸不满足特定条件而确定所述第一部分。
9.如权利要求8所述的方法,其中所述当前块的宽度和高度分别为W和H,并且T、T1、T2为整数值,并且其中所述条件包含以下之一:
i.W>=T1并且H>=T2;
ii.W<=T1并且H<=T2;
iii.W>=T1或H>=T2;
iv.W<=T1或H<=T2;
v.W+H>=T;
vi.W+H<=T;
vii.W×H>=T;或
viii.W×H<=T。
10.如权利要求1至9中任一项所述的方法,其中对于宽度大于或等于高度的所述当前块,所述第一部分包含所述当前块的最左列和最右列的子块。
11.如权利要求1至10中任一项所述的方法,其中对于高度大于或等于宽度的所述当前块,所述第一部分包含所述当前块的最顶部和最底部行的子块。
12.如权利要求1至11中任一项所述的方法,其中所述第一部分中的位置对应于使用所述第二样式细分的所述当前块的子块,所述子块具有S1的宽度和H1的高度,并且所述子块的尺寸满足一下之一:
S1<T1,
H1<T2,
S1<T1且H1<T2,或
S1<T1或H1<T2,并且T1和T2为整数。
13.如权利要求12所述的方法,其中T1=T2=4。
14.一种视频处理设备,包括处理器,所述处理器配置为实现权利要求1至13中的一个或多个中所述的方法。
15.一种非瞬态计算机可读介质,包含其上存储的计算机程序代码,所述计算机程序代码用于执行权利要求1至13中的一个或多个中所述的方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2018/103770 | 2018-09-03 | ||
CN2018103770 | 2018-09-03 | ||
CN2018104984 | 2018-09-11 | ||
CNPCT/CN2018/104984 | 2018-09-11 | ||
CN2019070058 | 2019-01-02 | ||
CNPCT/CN2019/070058 | 2019-01-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110876064A true CN110876064A (zh) | 2020-03-10 |
CN110876064B CN110876064B (zh) | 2023-01-20 |
Family
ID=68281771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910828124.1A Active CN110876064B (zh) | 2018-09-03 | 2019-09-03 | 部分交织的预测 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110876064B (zh) |
TW (1) | TWI850252B (zh) |
WO (1) | WO2020049446A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11025951B2 (en) * | 2019-01-13 | 2021-06-01 | Tencent America LLC | Method and apparatus for video coding |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252686A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 基于交织预测的视频帧内无损编解码方法及系统 |
CN101491107A (zh) * | 2006-07-07 | 2009-07-22 | 艾利森电话股份有限公司 | 视频数据管理 |
US20100118943A1 (en) * | 2007-01-09 | 2010-05-13 | Kabushiki Kaisha Toshiba | Method and apparatus for encoding and decoding image |
CN101766030A (zh) * | 2007-07-31 | 2010-06-30 | 三星电子株式会社 | 使用加权预测的视频编码和解码方法以及设备 |
CN108109629A (zh) * | 2016-11-18 | 2018-06-01 | 南京大学 | 一种基于线性预测残差分类量化的多描述语音编解码方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201507443A (zh) * | 2013-05-15 | 2015-02-16 | Vid Scale Inc | 基於單迴路解碼之多層視訊編碼 |
-
2019
- 2019-09-03 CN CN201910828124.1A patent/CN110876064B/zh active Active
- 2019-09-03 WO PCT/IB2019/057399 patent/WO2020049446A1/en active Application Filing
- 2019-09-03 TW TW108131758A patent/TWI850252B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101491107A (zh) * | 2006-07-07 | 2009-07-22 | 艾利森电话股份有限公司 | 视频数据管理 |
US20100118943A1 (en) * | 2007-01-09 | 2010-05-13 | Kabushiki Kaisha Toshiba | Method and apparatus for encoding and decoding image |
CN101766030A (zh) * | 2007-07-31 | 2010-06-30 | 三星电子株式会社 | 使用加权预测的视频编码和解码方法以及设备 |
CN101252686A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 基于交织预测的视频帧内无损编解码方法及系统 |
CN108109629A (zh) * | 2016-11-18 | 2018-06-01 | 南京大学 | 一种基于线性预测残差分类量化的多描述语音编解码方法和系统 |
Non-Patent Citations (2)
Title |
---|
ZHANG,KAI 等: "CE4-related: Interweaved Prediction for Affine Motion Compensation", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING: LJUBLJANA, SI, 10–18 JULY 2018》, 18 July 2018 (2018-07-18), pages 1 - 2 * |
ZHANG,KAI 等: "CE4-related: Simplified Affine Prediction", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING: LJUBLJANA, SI, 10–18 JULY 2018》, 18 July 2018 (2018-07-18) * |
Also Published As
Publication number | Publication date |
---|---|
TW202025726A (zh) | 2020-07-01 |
CN110876064B (zh) | 2023-01-20 |
TWI850252B (zh) | 2024-08-01 |
WO2020049446A1 (en) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582000B (zh) | 改进的模式匹配的运动矢量推导 | |
CN112913249B (zh) | 广义双向预测索引的简化编解码 | |
CN110677675B (zh) | 高效的仿射Merge运动矢量推导的方法、装置及存储介质 | |
CN110620923B (zh) | 广义的运动矢量差分辨率 | |
CN110557640B (zh) | 加权交织预测 | |
CN112956197A (zh) | 基于编解码信息的解码器侧运动矢量推导的限制 | |
CN110740321B (zh) | 基于更新的运动矢量的运动预测 | |
CN110677674B (zh) | 视频处理的方法、设备和非暂时性计算机可读介质 | |
CN113454999A (zh) | 划分模式之间的运动矢量推导 | |
CN110662076A (zh) | 子块的边界增强 | |
CN111010570B (zh) | 基于仿射运动信息的尺寸限制 | |
CN110809164A (zh) | Bio中的mv精度 | |
CN110876063B (zh) | 交织预测的快速编码方法 | |
CN110876064B (zh) | 部分交织的预测 | |
CN113348669B (zh) | 交织预测和其他编解码工具之间的交互 | |
CN110557639B (zh) | 交织预测的应用 | |
CN113261281B (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 |