CN117560503A - 重叠块运动补偿和其他工具之间的协调 - Google Patents
重叠块运动补偿和其他工具之间的协调 Download PDFInfo
- Publication number
- CN117560503A CN117560503A CN202311510897.8A CN202311510897A CN117560503A CN 117560503 A CN117560503 A CN 117560503A CN 202311510897 A CN202311510897 A CN 202311510897A CN 117560503 A CN117560503 A CN 117560503A
- Authority
- CN
- China
- Prior art keywords
- block
- neighboring
- current block
- prediction
- current
- 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 405
- 238000000034 method Methods 0.000 claims abstract description 349
- 238000012545 processing Methods 0.000 claims abstract description 78
- 230000007704 transition Effects 0.000 claims abstract description 33
- 238000006243 chemical reaction Methods 0.000 claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 217
- 230000015654 memory Effects 0.000 claims description 22
- 238000005286 illumination Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 abstract description 27
- 230000008569 process Effects 0.000 abstract description 21
- 230000003287 optical effect Effects 0.000 abstract description 7
- 230000002457 bidirectional effect Effects 0.000 abstract description 4
- 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 34
- 230000000007 visual effect Effects 0.000 description 24
- 230000002123 temporal effect Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000009795 derivation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000080795 Elaphoglossum affine Species 0.000 description 1
- 101150079299 MVD1 gene Proteins 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/583—Motion compensation with overlapping 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/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/523—Motion estimation or motion compensation with sub-pixel accuracy
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及重叠块运动补偿和其他工具之间的协调。一种视频处理方法包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,基于当前块的维度从当前块生成至少一个子块;基于不同的预测列表生成至少一个子块的不同的预测;应用子块级的早期终止处理,以确定是否将双向光流(BDOF)处理工具应用于至少一个子块;以及基于该应用执行转换;其中BDOF处理工具基于不同预测的水平或垂直梯度中的至少一个生成预测偏移。
Description
相关申请的交叉引用
本申请是申请日为2020年1月13日,申请号为202080008149.8的发明专利申请的分案申请,申请号为202080008149.8的发明专利申请是2020年1月13日提交的国际专利申请NO.PCT/CN2020/071851的中国国家阶段申请,其要求于2019年1月13日提交的国际专利申请号PCT/CN2019/071508的优先权和利益。将前述申请的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本专利文件涉及视频编码和解码技术、设备和***。
背景技术
在互联网和其他数字通信网络中,数字视频占用的带宽最大。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
所公开的技术可由视频解码器或编码器实施例使用,其中使用具有从邻域导出的运动信息的重叠块运动补偿。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HEVC))和未来的视频编解码标准或视频编解码器。
在一个示例方面,处理视频的方法包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的至少一个临近块;确定至少一个临近块的运动信息;以及基于至少一个临近块的运动信息对当前块执行重叠块运动补偿(OBMC),其中,OBMC包括:使用当前块的一个子块的中间预测值、以及至少一个临近子块的预测值来生成子块的最终预测值。
在另一示例方面,处理视频的方法包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的至少一个临近块;确定至少一个临近块的运动信息;以及基于至少一个临近块的运动信息修改当前块的运动信息,以生成当前块的修改的运动信息;基于修改的运动信息执行当前块的处理。
在另一示例方面,处理视频的方法包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的多个临近块;确定多个临近块的运动信息;基于当前块的运动信息确定当前块的第一预测块;基于多个临近块的运动信息确定当前块的第二预测块;基于第二预测块修改第一预测块;并且基于第一预测块执行当前块的处理。
在另一示例方面,处理视频的方法包括:在当前块和当前块的比特流表示之间的转换期间,确定当前块内的第一子块的运动矢量;使用重叠块运动补偿(OBMC)模式来执行转换;其中,OBMC模式使用基于第一子块的运动矢量的第一子块的中间预测值、以及临近第一子块的至少第二视频单元的预测值,来生成第一子块的最终预测值;其中,第一子块的子块尺寸基于当前块的块尺寸、块形状、运动信息或参考图片。
在另一示例方面,视频处理方法包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,基于当前块的维度从当前块生成至少一个子块;基于不同的预测列表生成至少一个子块的不同的预测;应用子块级的早期终止处理,以确定是否将双向光流(BDOF)处理工具应用于至少一个子块;以及基于该应用执行转换;其中BDOF处理工具基于不同预测的水平或垂直梯度中的至少一个生成预测偏移。
在另一示例方面,视频处理方法包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,生成当前块的当前运动矢量;生成当前块的一个或多个临近块的一个或多个临近运动矢量;基于当前运动矢量导出当前块的第一类型预测;基于一个或多个临近运动矢量导出当前块的一个或多个第二类型预测;基于当前块或临近块的特性,确定是否将局部照明补偿(LIC)应用于第一类型预测或第二类型预测;以及基于确定执行转换;其中LIC构造具有多个参数的线性模型,以基于预测方向来细化预测。
在另一示例方面,视频处理方法包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,生成当前块的当前运动矢量;生成当前块的一个或多个临近块的一个或多个临近运动矢量;基于当前运动矢量导出当前块的第一类型预测;基于一个或多个临近运动矢量导出当前块的一个或多个第二类型预测;将广义双向预测(GBi)应用于第一类型预测或第二类型预测;以及基于应用执行转换;其中GBi包括基于权重列表的GBi索引将相等或不相等的权重应用于第一和第二类型预测的不同预测方向。
在另一示例方面,视频处理方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块的一个或多个预测块;以及基于一个或多个预测块,至少通过使用重叠块运动补偿(OBMC)和解码器侧运动矢量推导(DMVD)来执行转换,其中DMVD基于不同预测方向之间的绝对差之和对运动矢量应用细化,或基于不同预测的水平或垂直梯度中的至少一个对预测应用细化。其中,OBMC基于当前视频块的当前运动矢量和临近块的一个或多个临近运动矢量来推导细化的预测。
在另一示例方面,视频处理方法包括:在视频数据中的当前块和当前视频块的比特流表示之间的转换期间,确定当前视频块的至少一个临近样点的可用性;基于至少一个临近样点的可用性,生成当前视频块的帧内预测;基于至少一个运动矢量,生成当前块的帧间预测;基于帧内预测和帧间预测的加权和,导出当前块的最终预测;以及基于最终预测执行转换。
在又一典型的方面,本文所描述的各种技术可以被实现为计算机可读的记录介质,在该记录介质上记录有包含代码的程序,该程序用于处理器执行用于执行本文所描述的方法。
在又一示例方面,视频编码中装置可以实现本文所述的方法。
在又一典型的方面,视频解码器装置可以实现如本文所述的方法。
在附图和下面的描述中描述一个或多个实现的细节。其他特征将从说明书和附图以及权利要求书中显而易见。
附图说明
图1示出了编解码单元(CU)的可选时域运动矢量预测(ATMVP)的示例。
图2示出了具有四个子块A-D及其临近块a-d的一个CU的示例。
图3示出了应用重叠块运动补偿(OBMC)的子块的示例。
图4示出了具有不同运动矢量(MV)精度的编码流程图的示例。
图5示出了简化仿射运动模型的示例。
图6示出了每个子块的仿射运动矢量场(MVF)的示例。
图7示出了4参数仿射模型(a)和6参数仿射模型(b)的示例。
图8示出了AF_INTER的MVP的示例。
图9示出AF_Merge的候选的示例。
图10示出了当前块的临近块的示例。
图11是视频处理装置的示例的框图。
图12示出视频编码器的示例实现的框图。
图13是视频处理方法的示例的流程图。
图14是视频处理方法的示例的流程图。
图15是视频处理方法的示例的流程图。
图16示出了用于实现一些公开的方法的示例硬件平台。
图17示出了用于实现一些公开的方法的另一示例硬件平台。
图18是可以实现所公开的技术的示例视频处理***的框图。
图19是视频处理方法的示例的流程图。
图20是视频处理方法的示例的流程图。
图21是视频处理方法的示例的流程图。
图22是视频处理方法的示例的流程图。
图23是视频处理方法的示例的流程图。
图24是视频处理方法的示例的流程图。
图25是视频处理方法的示例的流程图。
图26是视频处理方法的示例的流程图。
图27是视频处理方法的示例的流程图。
具体实施方式
本文提供了可以由视频比特流的解码器使用以提高解压缩或解码的数字视频的质量的各种技术。此外,视频编码器也可以在编码处理期间中实现这些技术,以便重构用于进一步编码的解码帧。
为了便于理解,在本文中使用章节标题,并且不将实施例和技术限制在相应的章节中。因此,可以将来自一个章节的实施例与来自其他章节的实施例组合。
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)标准。
图12是视频编码器的示例实现的框图。图12示出了具有内置的反馈路径的编码器实现,其中视频编码器还执行视频解码功能(重构视频数据的压缩表示以用于下一视频数据的编码)。
2.1基于子CU的运动矢量预测
在具有四叉树二叉树(QTBT)分割的JEM中,每个CU对于每个预测方向最多可以具有一组运动参数。通过将大的CU划分成子CU并推导该大CU的所有子CU的运动信息,编码器中考虑了两种子CU级的运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从并置参考图片中多个小于当前CU的块中提取多组运动信息。在空时运动矢量预测(STMVP)方法中,通过使用时域运动矢量预测值和空域临近运动矢量递归地推导子CU的运动矢量。
为了为子CU运动预测保持更精确的运动场,当前禁用参考帧的运动压缩。
图1是CU的ATMVP运动预测的示例。
2.1.1可选时域运动矢量预测
在可选时域运动矢量预测(ATMVP)方法中,运动矢量时域运动矢量预测(TMVP)是通过从小于当前CU的块中提取多组运动信息(包括运动矢量和参考索引)来修改的。高级时域运动矢量预测(ATMVP)也被称为基于子块的时域运动矢量预测(SbTMVP)。如图1所示,子CU为方形N×N块(默认N设置为4)。
ATMVP分两步预测CU内的子CU的运动矢量。第一步是用所谓的时域矢量标识参考图片中的对应块。参考图片称为运动源图片。第二步是将当前CU划分成子CU,并从每个子CU对应的块中获取每个子CU的参考索引以及运动矢量,如图1所示。
在第一步中,参考图片和对应的块由当前CU的空域临近块的运动信息确定。为了避免临近块的重复扫描处理,使用当前CU的Merge候选列表中的第一个Merge候选。第一个可用的运动矢量及其相关联的参考索引被设置为时域矢量和对运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地标识对应的块,其中对应的块(有时称为并置块)始终位于相对于当前CU的右下或中心位置。
在第二步中,通过将时域矢量添加到当前CU的坐标中,通过运动源图片中的时域矢量标识子CU的对应块。对于每个子CU,使用其对应块的运动信息(覆盖中心样点的最小运动网格)来推导子CU的运动信息。在标识出对应N×N块的运动信息后,将其转换为当前子CU的运动矢量和参考索引,与HEVC的TMVP方法相同,其中应用运动缩放和其它处理。例如,解码器检查是否满足低延迟条件(例如,当前图片的所有参考图片的POC都小于当前图片的图片顺序计数POC),并可能使用运动矢量MVx(与参考图片列表X对应的运动矢量)来为每个子CU预测运动矢量MVy(X等于0或1且Y等于1-X)。
2.1.2空时运动矢量预测
在这种方法中,子CU的运动矢量是按照光栅扫描顺序递归推导的。图2说明了该概念。考虑一个8×8的CU,它包含四个4×4的子CU A、B、C和D。当前帧中临近的4×4的块标记为a、b、c和d。
子CU A的运动推导由标识其两个空域邻居开始。第一个邻居是子CU A上方的N×N块(块c)。如果该块c不可用或帧内编码,则检查子CU A上方的其它N×N块(从左到右,从块c处开始)。第二个邻居是子CU A左侧的块(块b)。如果块b不可用或是帧内编码,则检查子CUA左侧的其它块(从上到下,从块b处开始)。每个列表从临近块获得的运动信息被缩放到给定列表的第一个参考帧。接下来,按照HEVC中规定的与TMVP推导相同的程序,推导子块A的时域运动矢量预测(TMVP)。提取位置D处的并置块的运动信息并进行对应的缩放。最后,在检索和缩放运动信息后,对每个参考列表分别平均所有可用的运动矢量(最多3个)。将平均运动矢量指定为当前子CU的运动矢量。
图2是具有四个子块(A-D)和临近块(a-d)的一个CU的示例。
2.1.3子CU运动预测模式信令通知
子CU模式作为附加的Merge候选启用,并且不需要附加的语法元素信令通知该模式。将两个附加Merge候选添加到每个CU的Merge候选列表中,以表示ATMVP模式和STMVP模式。如果序列参数集指示启用了ATMVP和STMVP,则最多使用七个Merge候选。附加Merge候选的编码逻辑与HM中的Merge候选的编码逻辑相同,这意味着对于P条带或B条带中的每个CU,需要对两个附加Merge候选进行两次更多RD检查。
在JEM中,Merge索引的所有块(bin)都由上下文自适应二进制算术编码CABAC进行上下文编解码。然而在HEVC中,只有第一个块是上下文编解码的,并且其余的块是上下文旁路编解码的。
2.2重叠块运动补偿
先前在H.263中已经使用了重叠块运动补偿(OBMC)。在JEM中,不同于在H.263中,可以使用CU级别的语法打开和关闭OBMC。当OBMC用于JEM时针对所有运动补偿(MC)块边界执行OBMC,但CU的右边界和底边界除外。此外,它还适用于亮度和色度分量。在JEM中,MC块对应于编解码块。当CU用子CU模式(包括子CU Merge、仿射、帧速率上转换和FRUC模式)编解码时,CU的每个子块都是MC块。为了用统一的方式处理CU边界,对所有MC块边界,在子块级别执行OBMC,其中子块尺寸设置为等于4×4,如图3所示。
当OBMC应用于当前子块时,除了当前运动矢量外,四个相连的临近子块的运动矢量(如果可用且与当前运动矢量不同)也可用于推导当前子块的预测块。将这些基于多个运动矢量的多个预测块组合起来,以生成当前子块的最终预测信号。
基于临近子块运动矢量的预测块表示为PN,其中N表示临近的上、下、左、右子块的索引,并且基于当前子块运动矢量的预测块表示为PC。当PN基于包含与当前子块相同的运动信息的临近子块的运动信息时,OBMC不从PN处执行的。否则,每个PN的样点都添加到PC中的相同样点中,即将PN的四行/列添加到PC。PN使用权重因子{1/4,1/8,1/16,1/32},PC使用权重因子{3/4,7/8,15/16,31/32}。例外情况是小MC块(即编解码块的高度或宽度等于4或CU是用子CU模式编解码的),对此在PC中只添加PN的两行/列。在这种情况下,PN使用权重因子{1/4,1/8},PC使用权重因子{3/4,7/8}。对于基于垂直(水平)临近子块的运动矢量生成的PN,将PN的同一行(列)中的样点以相同的权重因子添加到PC中。
图3是应用了OBMC的子块的示例。
在JEM中,对于尺寸小于或等于256亮度样点的CU,会对CU级别标志发信令,以指示当前CU是否应用OBMC。对于尺寸大于256亮度样点或未使用AMVP模式编解码的CU,默认情况下应用OBMC。在编码器处,当OBMC应用于CU时,在运动估计阶段会考虑其影响。使用上临近块和左临近块的运动信息通过OBMC形成的预测信号被用来补偿当前CU的原始信号的上边界和左边界,并且然后应用常规的运动估计处理。
2.3自适应运动矢量差分辨率
在HEVC中,当在条带报头中use_integer_mv_flag等于0时,运动矢量差(MVD)(在PU的运动矢量和预测运动矢量之间)以四分之一亮度样点为单位信令通知。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,MVD可以用四分之一亮度样点、整数亮度样点或四亮度样点为单位进行编解码。MVD分辨率控制在编解码单元(CU)级别,并且MVD分辨率标志有条件地为每个至少有一个非零MVD分量的CU发信令。
对于具有至少一个非零MVD分量的CU,信令通知第一个标志以指示CU中是否使用四分之一亮度样点MV精度。当第一个标志(等于1)指示不使用四分之一亮度样点MV精度时,信令通知另一个标志以指示是使用整数亮度样点MV精度还是使用四亮度样点MV精度。
当CU的第一个MVD分辨率标志为零或没有为CU编解码(意味着CU中的所有MVD都为零)时,CU使用四分之一亮度样点MV分辨率。当一个CU使用整数亮度样点MV精度或四亮度样点MV精度时,该CU的AMVP候选列表中的MVP将取整到对应的精度。
在编码器中,CU级别的RD检查用于确定哪个MVD分辨率将用于CU。也就是说,对每个MVD分辨率执行三次CU级别的RD检查。为了加快编码器速度,在JEM中应用以下编码方案。
在对具有常规四分之一亮度样点MVD分辨率的CU进行RD检查期间,存储当前CU(整数亮度样点精度)的运动信息。在对具有整数亮度样点和4亮度样点MVD分辨率的同一个CU进行RD检查时,将存储的运动信息(取整后)用作进一步小范围运动矢量细化的起始点,从而使耗时的运动估计处理不会重复三次。
有条件地调用具有4亮度样点MVD分辨率的CU的RD检查。对于CU,当整数亮度样点MVD分辨率的RD成本远大于四分之一亮度样点MVD分辨率的RD成本时,将跳过对CU的4亮度样点MVD分辨率的RD检查。
编码处理如图4所示。首先,测试1/4像素MV,并且计算RD成本并表示为RDCost0,然后测试整数MV,并且将RD成本表示为RDCost1。如果RDCost1<th*RDCost0(其中th为正值),则测试4像素MV;否则,跳过4像素MV。基本上,在检查整数或4像素MV时,1/4像素MV的运动信息和RD成本等都是已知的,其可以被重用来加速整数或4像素MV的编码处理。
图4是用不同MV精度编码的流程图的示例。
2.4更高运动矢量存储精度
在HEVC中,运动矢量精度是四分之一像素(4:2:0视频的四分之一亮度样点和八分之一色度样点)。在JEM中,内部运动矢量存储和Merge候选的精度增加到1/16像素。较高运动矢量精度(1/16像素)用于以跳跃/Merge模式编解码的CU的运动补偿帧间预测。对于常规AMVP模式编解码的CU,使用整数像素或四分之一像素运动,如章节2.3所述。
具有与HEVC运动补偿插值滤波器相同的滤波器长度和归一化因子的SHVC上采样插值滤波器被用作附加分数像素位置的运动补偿插值滤波器。在JEM中色度分量运动矢量精度是1/32样点,通过使用两个临近1/16像素分数位置的滤波器的平均推导出1/32像素分数位置的附加插值滤波器。
2.5仿射运动补偿预测
在HEVC中,运动补偿预测(MCP)仅应用平移运动模型。然而,在真实世界中可能存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在JEM中应用了简化的仿射变换运动补偿预测。如图5所示,用两个控制点运动矢量描述块的仿射运动场。
图5是简化仿射运动场的示例。
块的运动矢量场(MVF)由以下等式描述:
其中,(v0x,v0y)是左上角控制点的运动矢量,并且(v1x,v1y)是右上角控制点的运动矢量。
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。如等式2推导子块尺寸M×N,其中MvPre是运动矢量分数精度(例如,JEM中的1/16)。(v2x,v2y)是左下控制点的运动矢量,其根据等式1计算。
用等式2推导出之后,如果需要,M和N应当被向下调节使其分别作为w和h的除数。
为了推导出每个M×N子块的运动矢量,如图6所示,可以根据等式1计算每个子块的中心样点的运动矢量,并且舍入到1/16分数精度。然后应用运动补偿插值滤波器,利用推导出的运动矢量生成各子块的预测。
图6是每个子块的仿射MVF的示例。
在MCP之后,对每个子块的高精度运动矢量进行舍入,并将其保存为与常规运动矢量相同的精度。
在JEM中,有两个仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中,信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。在这种模式中,使用临近块构建具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。如图8所示,从块A、B或C的运动矢量中选择v0。根据参考列表,以及临近块参考的POC、当前CU参考的POC和当前CU的POC之间的关系对来自临近块的运动矢量进行缩放。从临近块D和E中选择v1的方法类似。当候选列表的数量小于2时,该列表由复制每个AMVP候选组成的运动矢量对来填充。当候选列表大于2时,可以首先根据临近运动矢量的一致性对候选进行排序(一对候选中两个运动矢量的相似性),并且只保留前两个候选。使用RD成本检查来确定选择哪个运动矢量对候选作为当前CU的控制点运动矢量预测(CPMVP)。并且在比特流中信令通知指示CPMVP在候选列表中的位置的索引。在确定了当前仿射CU的CPMVP后,应用仿射运动估计,并且找到控制点运动矢量(CPMV)。然后,在比特流中信令通知CPMV和CPMVP的差。
图7是4参数仿射模型(a)和6参数仿射模型(b)的示例。
图8是AF_INTER的MVP的示例。
在AF_INTER模式中,当使用4/6参数仿射模式时,需要2/3个控制点,并且因而需要对这些控制点编解码2/3个MVD,如图7所示。在JVET-K0337中,提出了如下导出MV,即,从mvd0预测mvd1和mvd2。
在编码器处,迭代地导出AF_INTER的MVD。假设这种MVD推导处理被迭代n次,则最终MVD计算如下,其中ai和bi是估计的仿射参数,并且mvd[k]h和mvd[k]v是在第i次迭代中导出的mvdk(k=0,1)的水平和垂直分量。
利用JVET-K0337,即,从mvd0预测mvd1,现在实际上对mvd1仅编码
当在AF_MERGE模式中应用CU时,它从有效的临近重构块中获得以仿射模式编解码的第一个块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图9所示。如果临近的左下块A以仿射模式被编码,如图9所示,则导出包含块A的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。并且根据v2、v3和v4计算当前CU左上角的运动矢量v0。其次,计算当前CU右上方的运动矢量v1。
在导出当前CU的CPMV v0和v1之后,根据简化的仿射运动模型等式1,生成当前CU的MVF。为了标识当前CU是否以AF_MERGE模式编解码,当至少一个临近块以仿射模式编解码时,在比特流中信令通知仿射标志。
图9是AF_Merge的候选的示例。
2.6帧内块复制
解码器方面:
在这种方式[5]中,当前(部分)解码图片被视为参考图片。该当前图片被放在参考图片列表0的最后的位置。因此,对于使用当前图片作为唯一参考图片的条带,其条带类型被视为P条带。该方式中的比特流语法遵循帧间编码的相同语法结构,同时解码处理与帧间编码统一。唯一显著的区别是块矢量(指向当前图片的运动矢量)始终使用整数像素分辨率。
从块级CPR_标志方式的变化如下:
在该模式的编码器搜索中,块宽度和高度二者都小于或等于16。
当亮度块矢量是奇数整数时启用色度插值。
当SPS标志开启时,为CPR模式启用自适应运动矢量分辨率(AMVR)。在这种情况下,当使用AMVR时,可以在块级别在1像素整数和4像素整数分辨率之间切换块矢量。
编码器方面:
编码器对宽度或高度不大于16的块进行RD检查。对于非Merge模式,首先使用基于散列的搜索来执行块矢量搜索。如果从散列搜索中找不到有效的候选,则将执行基于块匹配的局部搜索。
在基于散列的搜索中,当前块和参考块之间的散列键匹配(32位CRC)被扩展到所有允许的块尺寸。当前图片中每个位置的散列键计算都基于4x4块。对于较大尺寸的当前块,当其所有4×4块与对应参考位置中的散列键匹配时,将发生散列键与参考块的匹配。如果发现多个参考块与具有相同散列键的当前块匹配,则计算每个候选块的块矢量成本,并选择成本最小的块。
在块匹配搜索中,将搜索范围设置为当前块左侧和顶部的64个像素。
图10是当前块的临近块的示例。
3.实施例解决的问题的示例
即使在当前PU/CU未在子块模式下编码时,OBMC也总是在子块级中执行,这增加了带宽和计算复杂度。同时,使用固定的4x4子块尺寸,这也会导致带宽问题。
4.实施例的示例
为了解决这个问题,可以在较大的块尺寸或自适应的子块尺寸中执行OBMC。同时,在所提出的一些方法中,可以仅针对一个预测方向执行一次运动补偿。
下面列出的技术应被视为解释一般概念的示例。不应狭隘地解释这些技术。此外,这些发明可以以任何方式组合。提出了是否应用以及如何应用去方块滤波器可取决于是否使用相关的标量量化。
1.提出在OBMC处理中,当前块内的所有子块使用与一个代表性临近块相关联的相同运动信息。
a.可替代地,可以选择两个代表性临近块。例如,从临近块的上方选择一个代表块,并且从临近块的左侧选择另一个代表块。
b.可替代地,此外,除了空域临近块,临近块还可以位于不同的图片中。
c.在一个示例中,仅当当前块未使用子块技术(例如,ATMVP、仿射)编解码时才应用这种方法。
2.在解码视频单元(例如,块或子块)时,可以基于临近块的运动信息进一步修改从比特流导出的运动信息,并且可以使用修改的运动信息来推导视频单元的最终预测块。
a.在一个示例中,可以选择一个代表性临近块,并且其运动信息可以与当前单元的运动信息一起使用,以导出修改的运动信息。
b.可替代地,可以选择多个代表性临近块的运动信息。
c.此外,在一个示例中,可以将所选择的每个运动信息首先缩放到当前视频单元的相同参考图片(例如,针对每个预测方向)。然后,可以共同使用缩放MV(表示为neigScaleMvLX)和当前视频单元的MV(表示为currMvLX)来导出视频单元的MC的最终MV(例如,使用加权平均)。
i.当选择多组运动信息时,可以从多个缩放运动矢量导出neigScaleMvLX,例如,使用所有缩放运动矢量的加权平均或平均。
ii.在一个示例中,表示为avgMv的平均MV计算为:avgMv=(w1
*neigScaleMvLX+w2*currMvLX+offset)>>N,其中w1、w2、offset和N是整数。
1.在一个示例中,w1和w2分别等于1和3,并且N为2,offset为2。
2.在一个示例中,w1和w2分别等于1和7,并且N为3,offset为4。
d.在一个示例中,所提出的方法被应用于当前块的边界区域,例如,当前块的顶部几行和/或左侧几列。
i.在一个示例中,对于块的上方边界区域和/或左侧边界区域,用不同的代表性临近块生成neigScaleMvLX,并且对于上方边界区域和左侧边界区域,可以生成两个不同的neigScaleMvLX。对于左上方边界区域,可以使用两个neigScaleMvLX中的任何一个。
e.在一个示例中,在子块级执行所提出的方法。为每个子块导出avgMv,并且用于子块的运动补偿。
f.在一个示例中,仅当当前块以子块模式(如ATMVP、STMVP、仿射模式等)编解码时,才在子块级执行所提出的方法。
g.在一个示例中,选择多个临近块中的一个,将其记为代表性临近块,并且其运动信息可用于导出最终MV。可替代地,可以选择M个临近块作为代表性临近块,例如,M=2,一个临近块来自当前块上方的临近块,并且一个临近块来自当前块左侧的临近块。
h.在一个示例中,对于块的边界区域或边界区域内的MxN的(例如,4x4)小区域,如果其代表性临近块是帧内编解码的,则可以不执行所提出的方法。
i.在一个示例中,对于块的边界区域,如果其代表性临近块是帧内编解码的,则检查多个相邻和/或非相邻块,直到找到一个帧间编解码块,如果没有可用的帧间编解码块,则禁用该方法。
i.在一个示例中,非相邻块包括CU的顶部边界块的上方或/和左上或/和右上临近块,并且非相邻块包括CU的左侧边界块的左侧或/和左上或/和左下临近块,如图10所示。
ii.在一个示例中,非相邻块包括上方或/和左上或/和右上或/和左侧或/和左上临近块。
iii.在一个示例中,按照非相邻块与对应边界块之间的距离降序检查非相邻块。
iv.在一个示例中,仅检查一些非相邻块。
v.在一个示例中,检查不超过K个非相邻块。
vi.在一个示例中,右上和左上区域的宽度是W/2,并且左下区域的高度是H/2,其中W和H是CU的宽度和高度。
j.在一个示例中,对于块的边界区域,如果其代表性临近/非相邻块和当前块都是从同一参考列表双向预测或单向预测的,则在每个有效预测方向上执行该方法。
k.在一个示例中,对于块的边界区域,如果其代表性临近/非相邻块是单向预测的,例如,从列表LX预测的,并且当前CU是双向预测的,或者反之亦然,则仅对列表LX执行该方法。
i.可替代地,不执行MV平均。
l.在一个示例中,对于块的边界区域,如果其代表性临近块/非相邻块和当前块都是单向预测的并且是从不同的方向进行预测的,则不执行该方法。
i.可替代地,将临近/非相邻块的MV缩放到当前块的参考图片,并且执行MV平均。
3.提出可以共同使用一个或多个代表性临近块的运动信息来生成视频单元(块或子块)的附加预测块(表示为neigPredLX)。假设用currMvLX生成的预测块是currPredLX,则可以共同使用neigPredLX和currPredLX来生成视频单元的最终预测块。
a.在一个示例中,可以首先将多个代表性临近块的运动信息缩放到当前视频单元的相同参考图片(例如,针对每个预测方向),然后共同使用缩放MV(例如,平均/加权平均)来导出neigScaleMvLX。并且neigPredLX是基于neigScaleMvLX生成的。
b.在一个示例中,所提出的方法被应用于当前块的边界区域,例如,当前块的顶部几行和/或左侧几列。
i.在一个示例中,对于块的上方边界区域和左侧边界区域,用不同的代表性临近块生成neigScaleMvLX,并且对于上方边界区域和左侧边界区域,可以生成两个不同的neigScaleMvLX。对于左上方边界区域,可以使用两个neigScaleMvLX中的任何一个。
c.在一个示例中,可以跳过MV缩放处理。
d.在一个示例中,仅当当前块以子块模式(如ATMVP、STMVP、仿射模式等)编解码时,才在子块级执行所提出的方法。
4.提出当OBMC和局部照明补偿(LIC)一起工作时,可以对当前MV和临近MV使用相同的LIC参数,即使用相同的LIC参数和当前MV或临近MV导出一些临时预测块。
a.在一个示例中,对于每个预测方向,可以使用当前MV来导出LIC参数,该参数用于当前MV和临近MV。
b.在一个示例中,对于每个预测方向,可以使用临近MV来导出LIC参数,该参数用于当前MV和临近MV。
c.在一个示例中,可以为当前MV和临近MV导出不同的LIC参数,并且可以为不同的临近MV导出不同的LIC参数。
d.在一个示例中,可以不对临近MV执行LIC。
e.在一个示例中,仅当对应临近块的LIC标志为假时,可不对临近MV执行LIC。
f.在一个示例中,当至少N(N>=0)个临近块的LIC标志为假时,可不对所有临近MV执行LIC。
g.在一个示例中,当至少N(N>=0)个临近块的LIC标志为真时,可以对所有临近MV执行LIC。
h.在一个示例中,如果当前块的LIC标志为假,则对于当前MV或临近MV都可不执行LIC。
i.在一个示例中,如果当前块的LIC标志为假,则如果对应块的LIC标志为真,则仍可对临近块执行LIC。
5.提出当OBMC和GBI一起工作时,当前MV和临近MV可以使用相同的GBI索引。
a.在一个示例中,当前块的GBI索引可用于当前MV和临近MV。
b.在一个示例中,可将不同的GBI索引用于当前MV和临近MV,并且可将不同的GBI索引用于临近MV。例如,对于MV(当前MV或临近MV),使用对应块的GBI。
c.在一个示例中,可将默认的GBI索引用于所有临近MV。
i.例如,将指示[1,1]权重因子的GBI索引用作默认GBI索引。
6.提出在OBMC中,可不将DMVD应用于临近MV。
7.提出当OBMC和DMVD一起工作时,可以在DMVD后执行OBMC。
a.在一个示例中,可以在DMVD之前执行OBMC以修改预测样点,然后在DMVD中使用修改的预测样点。
i.在一个示例中,可将DMVD的输出用作块的最终预测。
b.在一个示例中,可仅将修改后的预测样点用于在DMVD中导出运动矢量。DMVD完成后,可将OBMC中生成的预测块进一步用于修改块的最终预测。
8.提出OBMC中是否使用临近MV可取决于块尺寸或临近块的运动信息。
a.在一个示例中,如果临近块的尺寸为4x4或/和4x8或/和8x4或/和4x16或/和16x4,则在OBMC中可不使用其临近MV。
b.在一个示例中,如果临近块的尺寸为4x4或/和4x8或/和8x4或/和4x16或/和16x4并且是双预测的,则在OBMC中可不使用其临近MV。
9.提出在组合的帧内和帧间预测(combined intra and inter prediction,CIIP)模式下编解码的块不可使用一些临近像素进行帧内预测。
a.在一个示例中,如果CIIP模式块的临近像素来自帧内编解码块,则可以将其视为不可用。
b.在一个示例中,如果CIIP模式块的临近像素来自帧间编解码块,则可以将其视为不可用。
c.在一个示例中,如果CIIP模式块的临近像素来自CIIP模式块,则可以将其视为不可用。
d.在一个示例中,如果CIIP模式块的临近像素来自CPR模式块,则可以将其视为不可用。
10.提出在BIO的早期终止中,子块(或块)级早期终止可不适用。
a.是否应用BIO只能在子块级决定。
b.一个块可以被划分成多个子块,应用BIO或不应用BIO的决定可以单纯地取决于子块本身而不参考其他子块。
11.建议对于LIC编码块,无论块的运动信息如何都不应用OBMC。
a.可替代地,对于单向预测的LIC编解码块,可以进一步应用OBMC。可替代地,此外,如何和/或何时应用OBMC可进一步取决于当前块/临近块的编解码信息,诸如块尺寸、预测方向。
12.提出了OBMC或所提出的方法中使用的子块尺寸可以取决于当前块的块尺寸、块形状、运动信息、参考图片(假设当前块的尺寸为w×h)。
a.在一个示例中,子块尺寸M1xM2被用于w×h>=T的块,并且子块尺寸N1xN2被用于其他块。
b.在一个示例中,如果w>=T,则子块的宽度/高度被设置为M1;否则,子块的宽度/高度被设置为N1。
c.在一个示例中,子块尺寸M1xM2被用于单向预测块,子块尺寸N1xN2被用于其他块。
d.在一个示例中,M1xM2是4x4。
e.在一个示例中,对于上方区域,M1xM2是w/4x4,并且对于左侧区域,M1xM2是4xh/4。
f.在一个示例中,对于上方区域,M1xM2是w/4x2,并且对于左侧区域,M1xM2是4xh/2。
g.在一个示例中,N1xN2是8x8、8x4或4x8。
h.在一个示例中,对于上方区域,N1xN2是w/2x4,并且对于左侧区域,N1xN2是4xh/2。
i.在一个示例中,对于上方区域,N1xN2是w/2x2,并且对于左侧区域,N1xN2是2xh/2。
13.所提出的方法或OBMC可应用于特定模式、块尺寸/形状和/或特定子块尺寸。
a.所提出的方法可应用于特定模式,诸如传统的平移运动(即仿射模式被禁用)。
b.所提出的方法可以应用于特定的块尺寸。
i.在一个示例中,仅将其应用于w×h>=T的块,其中w和h是当前块的宽度和高度,例如,T是16或32。
ii.在另一个示例中,仅将其应用于w>=T&&h>=T的块,例如,T是8。
iii.可替代地,仅将其应用于w>=T1&&h>=T2的块,例如,T1和T2等于8。
iv.可替代地,另外,不将其应用于w>=T1和/或h>=T2的块。例如,T1和T2等于128。
c.在进一步的条件下(例如,基于块尺寸/块形状/编解码模式/条带类型/低延迟检查标志/时域层等)可以调用所提出方法的使用。
14.如果视频单元(例如,块或子块)使用帧内块复制(IBC)模式编解码,则可以将OBMC应用于视频单元。
a.在一个示例中,仅当一个或多个代表性临近块在帧内块复制模式下编解码时才调用它。可替代地,此外,在OBMC中仅使用来自这种临近块的运动信息。
b.在一个示例中,如果一个块用子块技术(例如,ATMVP)编解码,并且一些子块用IBC模式编解码,则仍然可以将OBMC应用于非IBC编解码的子块。可替代地,可以对整个块禁用OBMC。
c.可替代地,在帧内块复制模式中禁用OBMC。
15.所提出的方法可应用于所有颜色分量。可替代地,可以仅将它们应用于某些颜色分量。例如,可以仅将它们应用于亮度分量。
16.可以在VPS/SPS/PPS/图片报头/片组/条带报头/CTU/CU/CTU组/CU组中从编码器向解码器信令通知是否以及如何应用所提出的方法。
图11是视频处理装置1100的框图。装置1100可用于实现本文所述的一个或多个方法。装置1100可以被实现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置1100可以包括一个或多个处理器1102、一个或多个存储器1104和视频处理硬件1106。处理器1102可以被配置为实现本文所述的一个或多个方法。存储器(多个存储器)1104可用于存储用于实现本文所述的方法和技术的数据和代码。视频处理硬件1106可用于在硬件电路中实现本文所述的一些技术。
图13是用于处理视频的方法1300的流程图。方法1300包括:确定(1305)第一视频块临近第二视频块,确定(1310)第二视频块的运动信息,以及基于第二视频块的运动信息执行(1315)第一视频块的子块的进一步处理。
图14是用于处理视频的方法1400的流程图。方法1400包括:确定(1405)第一视频块临近第二视频块,确定(1410)第二视频块的运动信息,基于第二视频块的运动信息修改(1415)第一视频块的运动信息,以生成第一视频块的修改的运动信息,基于修改的运动信息确定(1420)第一视频块的预测块,以及基于预测块执行(1425)第一视频块的进一步处理。
图15是用于处理视频的方法1500的流程图。方法1500包括:确定(1505)第一视频块使用帧内块复制(IBC)模式编解码,以及基于第一视频块使用帧内块复制模式编解码的确定,使用重叠块运动补偿(OBMC)处理(1510)第一视频块。
参考方法1300、1400和1500,在本文的第4节中描述了确定用于编码的候选及其使用的一些示例。例如,如第4节所述,可以基于临近第一视频块的第二视频块的运动信息来处理第一视频块的子块。
参考方法1300、1400和1500,可以将视频块编码在视频比特流中,其中,可以通过使用与运动信息预测相关的比特流生成规则来实现比特效率。
所述方法可以包括:由处理器确定第一视频块临近第三视频块;以及由处理器确定第三视频块的运动信息,其中,基于第三视频块的运动信息执行第一视频块的子块的进一步处理,第二视频块或第三视频块中的一个位于第一视频块的上方,另一个位于第一视频块的左侧。
所述方法可以包括:其中,第一视频块来自第一图片,并且第二视频块来自第二图片,第一图片和第二图片是不同的图片。
所述方法可以包括:其中,第一视频块和第二视频块在同一图片内。
所述方法可以包括:其中,基于未使用子块技术编解码的第一视频块应用该方法。
所述方法可以包括,其中,修改的运动信息还基于临近第一视频块的第三视频块的运动信息。
所述方法可以包括:其中,基于与第一视频块相关的参考图片缩放第二视频块的运动信息和第一视频块的运动信息,所述修改基于缩放运动信息。
所述方法可以包括:其中,缩放运动信息基于来自缩放运动信息的缩放运动矢量的加权平均或平均。
所述方法可以包括:其中,基于avgMv=(w1*neigScaleMvLX+w2*currMvLX+offset)>>N来计算缩放运动矢量的平均,其中w1、w2、offset和N是整数,其中avgMv是缩放运动矢量的平均,neigScaleMvLX是缩放运动矢量,并且currMvLX是第一视频块的运动矢量。
所述方法可以包括:其中w1是1,w2是3,N是2,并且offset是2。
所述方法可以包括:其中w1是1,w2是7,N是3,并且offset是4。
所述方法可以包括:其中,将所述方法应用于第一视频块的边界区域,边界区域包括第一视频块上方的多行块,并且边界区域包括第一视频块左侧的多列块。
所述方法可以包括:其中,neigScaleMvLX基于与边界区域内第一视频上方的多行块相关的第一neigScaleMvLX,并且基于与边界区域内第一视频块左侧的多列块相关的第二neigScaleMvLX。
所述方法可以包括:其中,第一neigScaleMvLX或第二neigScaleMvLX中的一个或两个被用于第一视频块的左上方边界区域。
所述方法可以包括:其中,在子块级执行所述方法,并且在子块级avgMv基于子块,其中子块的运动补偿基于avgMv。
所述方法可以包括:其中,基于在子块模式中编解码的第一视频块,在子块级执行所述方法。
所述方法可以包括:基于第二视频块的运动信息,确定第一视频块的运动矢量。
所述方法可以包括:其中,第一视频块的运动矢量还基于第三视频块的运动信息,第二视频块或第三视频块中的一个位于第一视频块的上方,另一个位于第一视频块的左侧。
所述方法可以包括:其中,如果第二视频块是帧内编解码的,则不执行该方法。
所述方法可以包括:由处理器确定第二视频块在边界区域内;由处理器确定第二视频块是帧内编解码的;由处理器确定边界区域内第三视频块是帧间编解码的,第三视频块与第一视频块相邻或不相邻;以及基于第三视频块执行第一视频块的进一步处理。
所述方法可以包括:其中,所述边界区域包括是边界区域的上方、左上或右上顶部边界视频块的非相邻块的一个或多个,并且非相邻块包括边界区域的左侧、左上或左下左侧边界块的一个或多个。
所述方法可以包括:其中,非相邻块包括边界区域的上方、左上、右上、左侧或左上视频块中的一个或多个。
所述方法可以包括:其中,基于非相邻块与边界区域内的视频块之间的距离,以降序检查非相邻块来标识第三视频块。
所述方法可以包括:其中,检查非相邻块的子集以标识第三视频块。
所述方法可以包括:其中,检查以标识第三视频块的非相邻块的数量小于或等于阈值K。
所述方法可以包括:其中,右上和左上区域的宽度为W/2,并且左下区域的高度为H/2,其中W和H是第一视频块的宽度和高度,第一视频块是编解码单元。
所述方法可以包括:确定第一视频块和第三视频块是从参考列表中双向预测或单向预测的,其中在每个有效预测方向上执行所述方法。
所述方法可以包括:其中,第三视频块是单向预测的,第一视频块是双向预测的。
所述方法可以包括:其中,第三视频块是双向预测的,第一视频块是单向预测的。
所述方法可以包括:其中,不执行运动矢量平均。
所述方法可以包括:确定第三视频块和第一视频块是从不同方向单向预测和预测的,其中基于该确定不执行所述方法。
所述方法可以包括:其中,将第三视频块的运动矢量缩放到第一视频块的参考图片,并且执行运动矢量平均。
所述方法可以包括:确定第一视频块的一个或多个临近块的运动信息;以及基于一个或多个临近块的运动信息确定第一视频块的预测块。
所述方法可以包括:其中,将一个或多个临近块的运动信息缩放到第一视频块的参考图片,以生成包括缩放运动矢量的缩放运动信息,缩放运动矢量被用于确定预测块。
所述方法可包括:其中,将所述方法应用于第一视频块的边界区域。
所述方法可以包括:其中,neigScaleMvLX基于第一视频块的上方边界区域和左侧边界区域的不同临近块,并且两个不同的neigScaleMvLX基于上方边界区域和左侧边界区域,其中两个neigScaleMvLX中的任何一个被用于左上方边界区域。
所述方法可以包括:其中,跳过运动矢量缩放处理。
所述方法可以包括:其中,基于以子块模式编解码的第一块,在子块级执行所述方法。
所述方法可以包括:其中,子块尺寸基于第一视频块的块尺寸、块形状、运动信息或参考图片。
所述方法可以包括:对于宽度x高度大于或等于T的块,子块尺寸为M1xM2;对于宽度x高度不是大于或等于T的块,子块尺寸为N1xN2。
所述方法可以包括:其中,基于块的宽度大于或等于T,子块的宽度除以高度为M1,并且如果块的宽度不是大于或等于T,则子块的宽度除以高度为N1。
所述方法可以包括:其中,对于单向预测块,子块尺寸为M1xM2,对于其他块,子块尺寸为N1xN2。
所述方法可以包括:其中M1xM2是4x4。
所述方法可以包括:其中,对于上方区域,M1xM2是w/4x4,并且对于左侧区域,M1xM2是4xh/4。
所述方法可以包括:其中,对于上方区域,M1xM2是w/4x2,并且对于左侧区域,M1xM2是4xh/2。
所述方法可以包括:其中N1xN2是8x8、8x4或4x8。
所述方法可以包括:其中,对于上方区域,N1xN2是w/2x4,并且对于左侧区域,N1xN2是4xh/2。
所述方法可以包括:其中,对于上方区域,N1xN2是w/2x2,并且对于左侧区域,N1xN2是2xh/2。
所述方法可以包括:其中,将所述方法应用于传统平移运动模式。
所述方法可以包括:其中,第一视频块的宽度x高度大于或等于T,并且T是16或32。
所述方法可以包括:其中,第一视频块具有大于或等于T的宽度、以及大于或等于T的高度,并且T为8。
所述方法可以包括:其中第一视频块具有大于或等于T1的宽度、以及大于或等于T2的高度,并且T1和T2是8。
所述方法可以包括:其中,不将所述方法应用于宽度大于或等于T1或高度大于或等于T2的视频块,T1和T2为128。
所述方法可以包括:其中,基于确定根据以下一个或多个的条件来执行所述方法:块尺寸、块形状、编解码模式、条带类型、低延迟检查标志或时域层。
所述方法可以包括:确定第一视频块的一个或多个临近块使用帧内块复制模式编解码,其中,基于第一视频块的一个或多个临近块用帧内块复制模式编解码的确定,使用OBMC处理第一视频块。
所述方法可以包括:确定第一视频块包括用IBC模式编解码的子块;以及用OBMC处理未用IBC模式编解码的第一视频块的子块。
所述方法可以包括:确定第一视频块包括用IBC模式编解码的子块;以及基于用IBC模式编解码的子块,不使用OBMC来处理子块。
所述方法可以包括:其中,将所述方法应用于一个或多个颜色分量。
所述方法可包括:其中,将所述方法应用于亮度分量。
所述方法可以包括:其中,基于从编码器到解码器的信号来应用所述方法,通过视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片报头、片组、条带报头、编解码树单元(CTU)、编解码单元(CU)、CTU组或CU组来提供所述信号。
应当理解的是,当被压缩的编解码单元具有明显不同于传统的方形块或半方形的矩形块的形状时,所公开的技术可以实施在视频编码器或解码器中,以提高压缩效率。例如,使用长或高编解码单元(诸如4x32或32x4尺寸的单元)的新编解码工具可以受益于所公开的技术。
图16是说明可以用于实现本公开技术的各个部分的计算机***或其他控制设备2600的结构的示例的示意图。在图16中,计算机***2600包括通过互连2625连接的一个或多个处理器2605和存储器2610。互连2625可以表示由适当的桥、适配器或控制器连接的任何一条或多条单独的物理总线、点对点连接或两者。因此,互连2625可以包括例如***总线、***分量互连(PCI)总线、超传输或工业标准体系结构(ISA)总线、小型计算机***接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气与电子工程师协会(IEEE)标准674总线(有时被称为“火线”)。
处理器2605可以包括中央处理器(CPU),来控制例如主机的整体操作。在一些实施例中,处理器2605通过执行存储在存储器2610中的软件或固件来实现这一点。处理器2605可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些器件的组合。
存储器2610可以是或包括计算机***的主存储器。存储器2610表示任何适当形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,存储器2610除其他外可包含一组机器指令,当处理器2605执行该指令时,使处理器2605执行操作以实现本公开技术的实施例。
通过互连2625连接到处理器2605的还有(可选的)网络适配器2615。网络适配器2615为计算机***2600提供与远程设备(诸如存储客户机和/或其他存储服务器)通信的能力,并且可以是例如以太网适配器或光纤通道适配器。
图17示出了可以用于实施本公开技术的各个部分的设备2700的示例实施例的框图。移动设备2700可以是笔记本电脑、智能手机、平板电脑、摄像机或其他能够处理视频的设备。移动设备2700包括处理器或控制器2701来处理数据,以及与处理器2701通信的存储器2702来存储和/或缓冲数据。例如,处理器2701可以包括中央处理器(CPU)或微控制器单元(MCU)。在一些实现中,处理器2701可以包括现场可编程门阵列(FPGA)。在一些实现中,移动设备2700包括或与图形处理单元(GPU)、视频处理单元(VPU)和/或无线通信单元通信,以实现智能手机设备的各种视觉和/或通信数据处理功能。例如,存储器2702可以包括并存储处理器可执行代码,当处理器2701执行该代码时,将移动设备2700配置为执行各种操作,例如接收信息、命令和/或数据、处理信息和数据,以及将处理过的信息/数据发送或提供给另一个数据设备,诸如执行器或外部显示器。为了支持移动设备2700的各种功能,存储器2702可以存储信息和数据,诸如指令、软件、值、图像以及处理器2701处理或引用的其他数据。例如,可以使用各种类型的随机存取存储器(RAM)设备、只读存储器(ROM)设备、闪存设备和其他合适的存储介质来实现存储器2702的存储功能。在一些实现中,移动设备2700包括输入/输出(I/O)单元2703,来将处理器2701和/或内存2702与其他模块、单元或设备进行接口。例如,I/O单元2703可以与处理器2701和内存2702进行接口,以利用与典型数据通信标准兼容的各种无线接口,例如,在云中的一台或多台计算机和用户设备之间。在一些实现中,移动设备2700可以通过I/O单元2703使用有线连接与其他设备进行接口。I/O单元2703可以包括无线传感器,例如用于检测远程控制信号的红外探测器,或其他合适的无线人机界面技术。移动设备2700还可以与其他外部接口(例如数据存储器)和/或可视或音频显示设备2704连接,以检索和传输可由处理器处理、由存储器存储或由显示设备2704或外部设备的输出单元上显示的数据和信息。例如,显示设备2704可以根据所公开的技术显示基于MVP修改的视频帧。
图18是示出其中可以实施本文公开的各种技术的示例视频处理***1900的框图。各种实现可能包括***1800的部分或全部分量。***1800可包括用于接收视频内容的输入1802。视频内容可以原始或未压缩格式接收,例如8位或10位多分量像素值,或者可以压缩或编码格式接收。输入1802可以表示网络接口、***总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
***1800可包括可实现本文中所描述的各种编码或编码方法的编解码分量1804。编解码分量1804可以降低从输入1802到编解码分量1804的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码分量1804的输出可以被存储,也可以通过连接的通信进行传输,如分量1806所示。输入1802处接收的视频的存储或通信比特流(或编解码)表示可由分量1808用于生成像素值或发送到显示接口1810的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编码”操作或工具,但应当理解的是,编解码工具或操作被用于编码器处,并且逆向编码结果的相应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中所述的技术可实施在各种电子设备中,例如移动电话、笔记本电脑、智能手机或其他能够执行数字数据处理和/或视频显示的设备。
图19是视频处理的示例方法的流程图。方法1900包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定(在步骤1902处)当前块的至少一个临近块;确定(在步骤1904处)至少一个临近块的运动信息;以及基于至少一个临近块的运动信息对当前块执行(在步骤1906处)重叠块运动补偿(OBMC);其中,OBMC工具包括:使用当前块的一个子块的中间预测值、以及至少一个临近子块的预测值来生成子块的最终预测值。
在一些实现中,可以对方法1900执行附加修改。例如,基于至少一个临近块的运动信息对当前块执行OBMC包括:基于至少一个临近块的运动信息对当前块的所有子块执行OBMC。至少一个临近块包括位于当前块上方的第一临近块和位于当前块左侧的第二临近块。至少一个临近块和当前块来自视觉媒体数据的不同图片。仅当当前块未使用子块技术编解码时才应用该方法。
图20是视频处理的示例方法的流程图。方法2000包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定(在步骤2002处)当前块的至少一个临近块;确定(在步骤2004处)至少一个临近块的运动信息;以及基于至少一个临近块的运动信息修改(在步骤2006处)当前块的运动信息,以生成当前块的修改的运动信息;基于修改的运动信息执行(在步骤2008处)当前块的处理。
在一些实现中,可以对方法2000执行附加修改。例如,基于至少一个临近块的运动信息修改当前块的运动信息,以生成当前块的修改的运动信息包括:基于至少一个临近块的运动信息和当前块的运动信息修改当前块的运动信息,以生成当前块的修改的运动信息。修改当前块的运动信息包括:将至少一个临近块的运动信息缩放到当前块的相同参考图片;以及基于至少一个临近块的缩放运动信息和当前块的运动信息修改当前块的运动信息。对至少一个临近块的缩放运动信息进行加权平均或平均,以为当前块的每个参考图片列表生成一个代表性缩放运动矢量。将当前块的修改的运动信息生成为代表性缩放运动矢量和当前块的运动矢量的加权平均。修改的运动矢量计算为:avgMv=(w1*neigScaleMvLX+w2*currMvLX+offset)>>N,其中w1、w2、offset和N为整数,其中avgMv是修改的运动矢量,neigScaleMvLX是代表性缩放运动矢量,并且currMvLX是当前块的运动矢量,X是参考图片列表,其中X=0,1。w1是1、w2是3、N是2、并且offset是2,或者其中w1是1、w2是7、N是3、并且offset是4。基于至少一个临近块的运动信息执行当前块的处理包括:在当前块的边界区域上执行处理,其中当前块的边界区域包括当前块的多个顶部行和/或左侧列。分别使用不同的临近块为当前块的顶部行和当前块的左侧列生成代表性运动矢量。仅当当前块使用子块技术编解码时才在子块级应用该方法。当边界区域的至少一个临近块是帧内编解码时,不对当前块的边界区域执行该方法。当至少一个临近块是帧内编解码时,该方法还包括:检查相邻块和/或非相邻块,直到找到一个帧间编解码块,并且响应于未找到帧间编解码块而禁用运动矢量修改处理。非相邻块包括当前块的顶部边界区域的上方和/或左上和/或右上临近块,并且非相邻块包括当前块的左侧边界区域的左侧和/或左上和/或左下临近块。非相邻块包括上方和/或左上和/或右上和/或左侧和/或左上临近块。按照非相邻块与边界区域内对应块之间的距离降序检查非相邻块。检查非相邻块的子集或非相邻块的数量,该数量不大于阈值K。右上和左上区域的宽度为W/2,左下区域的高度为H/2,其中W和H是作为编解码单元的当前块的宽度和高度。当至少一个临近块/非相邻块和当前块是从参考列表中双向预测或单向预测的时,在每个有效预测方向上执行所述方法。当至少一个临近块/非相邻块是从第一列表中单向预测、并且当前块是双向预测的时,或者当至少一个临近块/非相邻块是双向预测、并且当前块是从第一列表中单向预测的时,为第一列表生成修改的运动信息。不生成修改的运动信息。当至少一个临近块/非相邻块和当前块是单向预测并且是从不同方向预测的时,不生成修改的运动信息。当至少一个临近块/非相邻块和当前块是单向预测并且是从不同方向预测的时,将临近块/非相邻块的运动矢量缩放到当前块的参考图片,并且生成修改的运动信息。
图21是视频处理的示例方法的流程图。方法2100包括:在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定(在步骤2102处)当前块的多个临近块;确定(在步骤2104处)多个临近块的运动信息;基于当前块的运动信息确定(在步骤2106处)当前块的第一预测块;基于多个临近块的运动信息确定(在步骤2108处)当前块的第二预测块;基于第二预测块修改(在步骤2110处)第一预测块;并且基于第一预测块执行(在步骤2112处)当前块的处理。
在一些实现中,可以对方法2100执行附加修改。例如,将多个临近块中的一个的运动信息缩放到当前块的参考图片,以生成用于确定当前块的第二预测块的代表性缩放运动信息。修改第一预测块还包括:将修改的预测块生成为第一预测块和第二预测块的加权平均。基于第一预测块执行当前块的处理包括:在当前块的边界区域上执行处理,其中当前块的边界区域包括当前块的具有多个顶部行的上边界区域和/或具有左侧列的左边界区域。基于不同的临近块为上边界区域和左边界区域生成两个不同的代表性缩放运动矢量。两个不同的缩放运动矢量中的任何一个都用于左上边界区域。跳过运动矢量缩放处理。基于第二预测块修改第一预测块包括:基于至少一个临近块的运动信息在当前块的一个或多个子块上执行处理。仅当当前块使用子块技术编解码时才应用该方法。子块技术包括:高级时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、包括仿射帧间模式和仿射Merge模式的仿射模式。
图22是视频处理的示例方法的流程图。方法2200包括:在当前块和当前块的比特流表示之间的转换期间,确定(在步骤2202处)当前块内的第一子块的运动矢量;使用(在步骤2204处)重叠块运动补偿(OBMC)模式来执行转换;其中,OBMC模式使用基于第一子块的运动矢量的第一子块的中间预测值、以及临近第一子块的至少第二视频单元的预测值,来生成第一子块的最终预测值;其中,第一子块的子块尺寸基于当前块的块尺寸、块形状、运动信息或参考图片。
图23是视频处理的示例方法的流程图。方法2300包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,基于当前块的维度从当前块生成(在步骤2302处)至少一个子块;基于不同的预测列表生成(在步骤2304处)至少一个子块的不同的预测;应用(在步骤2306处)子块级的早期终止处理,以确定是否将双向光流(BDOF)处理工具应用于至少一个子块;以及基于该应用执行(在步骤2308处)转换;其中BDOF处理工具基于不同预测的水平或垂直梯度中的至少一个生成预测偏移。
图24是视频处理的示例方法的流程图。方法2400包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,生成(在步骤2402处)当前块的当前运动矢量;生成(在步骤2404处)当前块的一个或多个临近块的一个或多个临近运动矢量;基于当前运动矢量导出(在步骤2406处)当前块的第一类型预测;基于一个或多个临近运动矢量导出(在步骤2408处)当前块的一个或多个第二类型预测;基于当前块或临近块的特性,确定(在步骤2410处)是否将局部照明补偿(LIC)应用于第一类型预测或第二类型预测;以及基于确定执行(在步骤2412处)转换;其中LIC构造具有多个参数的线性模型,以基于预测方向来细化预测。
图25是视频处理的示例方法的流程图。方法2500包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,生成(在步骤2502处)当前块的当前运动矢量;生成(在步骤2504处)当前块的一个或多个临近块的一个或多个临近运动矢量;基于当前运动矢量导出(在步骤2506处)当前块的第一类型预测;基于一个或多个临近运动矢量导出(在步骤2508处)当前块的一个或多个第二类型预测;将广义双向预测(GBi)应用(在步骤2510处)于第一类型预测或第二类型预测;以及基于确定执行(在步骤2512处)转换;其中GBi包括基于权重列表的GBi索引将相等或不相等的权重应用于第一和第二类型预测的不同预测方向。
图26是视频处理的示例方法的流程图。方法2600包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定(在步骤2602处)当前视频块的一个或多个预测块;以及基于一个或多个预测块,至少通过使用重叠块运动补偿(OBMC)和解码器侧运动矢量推导(DMVD)来执行(在步骤2604处)转换,其中DMVD基于不同预测方向之间的绝对差之和对运动矢量应用细化,或基于不同预测的水平或垂直梯度中的至少一个对预测应用细化。其中,OBMC基于当前视频块的当前运动矢量和临近块的一个或多个临近运动矢量来推导细化的预测。
图27是视频处理的示例方法的流程图。方法2700包括:在视频数据中的当前块和当前视频块的比特流表示之间的转换期间,确定(在步骤2702处)当前视频块的至少一个临近样点的可用性;基于至少一个临近样点的可用性,生成(在步骤2704处)当前视频块的帧内预测;基于至少一个运动矢量,生成(在步骤2706处)当前块的帧间预测;基于帧内预测和帧间预测的加权和,导出(在步骤2708处)当前块的最终预测;以及基于最终预测执行(在步骤2710处)转换。
在一些实现中,可以对方法2200执行附加修改。例如,转换从比特流表示生成当前块。转换从当前块生成比特流表示。当前块具有宽度w和高度h,并且如果w×h大于或等于第一阈值T1,则第一子块的尺寸为M1 x M2;并且如果w×h小于第一阈值T1,则子块的尺寸为N1 x N2,其中M1、M2、w、h、N1、N2和T1是整数。当前块具有宽度w和高度h,并且如果w大于或等于第二阈值T2,则当前块的第一子块的宽度高度比w/h为M1;并且如果w小于第二阈值T2,则第一子块的宽度高度比w/h为N1,其中M1、N1和T2是整数。如果当前块是单向预测块,则使用第一子块的尺寸M1xM2,否则使用第一子块的尺寸N1xN2。M1xM2是4x4。对于上方区域,M1xM2为(w/4)x4,并且对于左侧区域,M1xM2为4x(h/4)。对于上方区域,M1xM2为(w/4)x2,并且对于左侧区域,M1xM2为4x(h/2)。N1xN2是8x8、8x4或4x8。对于上方区域,N1xN2为(w/2)x4,并且对于左侧区域,N1xN2为(h/2)。对于上方区域,N1xN2为(w/2)x2,并且对于左侧区域,N1xN2为2x(h/2)。在仿射模式下禁用该方法。将该方法应用于平移运动模式。如果当前块的宽度和高度的乘积w×h大于或等于第三阈值T3,则将该方法应用于当前块,其中T3是整数。T3是16或32。如果当前块的宽度w大于或等于第四阈值T4,并且高度h大于或等于第四阈值T4,则将该方法应用于当前块,其中T4是整数。T是8。如果当前块的宽度w大于或等于第五阈值T5,并且高度h大于或等于第六阈值T6,则将该方法应用于当前块,其中T5和T6是整数。T5和T6是8的整数倍,T5与T6相同或不同。如果当前块的宽度w大于或等于第七阈值T7,或者高度h大于或等于第八阈值T8,则不将该方法应用于当前块,其中T7和T8是整数。T7和T8是128。当前块使用帧内块复制(IBC)模式编解码,其中IBC模式将当前块的图片用作参考图片。第二视频单元使用IBC模式编解码。将该方法应用于所有颜色分量。将该方法应用于一个或多个颜色分量。仅将该方法应用于亮度分量。在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片报头、片组、条带报头、编解码树单元(CTU)、编解码单元(CU)、CTU组或CU组中将是否以及如何应用该方法从编码器信令通知给解码器。
现在以基于条款的格式公开一些由一些实施例优选地实现的特征。
1.一种视频处理方法,包括:
在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的至少一个临近块;
确定至少一个临近块的运动信息;以及
基于至少一个临近块的运动信息对当前块执行重叠块运动补偿(OBMC),
其中,OBMC包括:使用当前块的一个子块的中间预测值、以及至少一个临近子块的预测值来生成子块的最终预测值。
2.根据条款1所述的方法,其中,基于至少一个临近块的运动信息对当前块执行OBMC包括:
基于至少一个临近块的运动信息对当前块的所有子块执行OBMC。
3.根据条款1或2所述的方法,其中,至少一个临近块包括位于当前块上方的第一临近块和位于当前块左侧的第二临近块。
4.根据条款1至3中任一项所述的方法,其中,至少一个临近块和当前块来自视觉媒体数据的不同图片。
5.根据条款1至4中任一项所述的方法,其中,仅在当前块未使用子块技术编解码时才应用所述方法。
6.一种视频处理方法,包括:
在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的至少一个临近块;
确定至少一个临近块的运动信息;以及
基于至少一个临近块的运动信息修改当前块的运动信息,以生成当前块的修改的运动信息;
基于修改的运动信息执行当前块的处理。
7.根据条款6所述的方法,其中,基于至少一个临近块的运动信息修改当前块的运动信息,以生成当前块的修改的运动信息包括:
基于至少一个临近块的运动信息和当前块的运动信息修改当前块的运动信息,以生成当前块的修改的运动信息。
8.根据条款6或7所述的方法,其中,修改当前块的运动信息包括:
将至少一个临近块的运动信息缩放到当前块的相同参考图片;以及基于至少一个临近块的缩放运动信息和当前块的运动信息修改当前块的运动信息。
9.根据条款8所述的方法,其中,对至少一个临近块的缩放运动信息进行加权平均或平均,以为当前块的每个参考图片列表生成一个代表性缩放运动矢量。
10.根据条款9所述的方法,其中,将当前块的修改的运动信息生成为代表性缩放运动矢量和当前块的运动矢量的加权平均。
11.根据条款10所述的方法,其中,修改的运动矢量计算为:avgMv=(w1*neigScaleMvLX+w2*currMvLX+offset)>>N,
其中w1、w2、offset和N为整数,其中avgMv是修改的运动矢量,neigScaleMvLX是代表性缩放运动矢量,并且currMvLX是当前块的运动矢量,X是参考图片列表,其中X=0,1。
12.根据条款11所述的方法,其中,w1是1、w2是3、N是2、并且offset是2,或者其中w1是1、w2是7、N是3、并且offset是4。
13.根据条款6至12中任一项所述的方法,其中,基于至少一个临近块的运动信息执行当前块的处理包括:
在当前块的边界区域上执行处理,
其中当前块的边界区域包括当前块的多个顶部行和/或左侧列。
14.根据条款13所述的方法,其中,分别使用不同的临近块为当前块的顶部行和当前块的左侧列生成代表性运动矢量。
15.根据条款6至14中任一项所述的方法,其中,仅当当前块使用子块技术编解码时才在子块级应用该方法。
16.根据条款6至15中任一项所述的方法,其中,当边界区域的至少一个临近块是帧内编解码时,不对当前块的边界区域执行该方法。
17.根据条款6至16中任一项所述的方法,其中,当至少一个临近块是帧内编解码时,该方法还包括:
检查相邻块和/或非相邻块,直到找到一个帧间编解码块,并且
响应于未找到帧间编解码块而禁用运动矢量修改处理。
18.根据条款17所述的方法,其中,非相邻块包括当前块的顶部边界区域的上方和/或左上和/或右上临近块,并且非相邻块包括当前块的左侧边界区域的左侧和/或左上和/或左下临近块。
19.根据条款17所述的方法,其中,非相邻块包括上方和/或左上和/或右上和/或左侧和/或左上临近块。
20.根据条款17所述的方法,其中,按照非相邻块与边界区域内对应块之间的距离降序检查非相邻块。
21.根据条款17至20中任一项所述的方法,其中,检查非相邻块的子集或非相邻块的数量,该数量不大于阈值K。
22.根据条款17至21中任一项所述的方法,其中,右上和左上区域的宽度为W/2,并且左下区域的高度为H/2,其中W和H是作为编解码单元的当前块的宽度和高度。
23.根据条款17至22中任一项所述的方法,其中,当至少一个临近块/非相邻块和当前块是从参考列表中双向预测或单向预测的时,在每个有效预测方向上执行所述方法。
24.根据条款17至22中任一项所述的方法,其中,当至少一个临近块/非相邻块是从第一列表中单向预测、并且当前块是双向预测的时,或者当至少一个临近块/非相邻块是双向预测、并且当前块是从第一列表中单向预测的时,为第一列表生成修改的运动信息。
25.根据条款24所述的方法,其中,不生成修改的运动信息。
26.根据条款17至22中任一项所述的方法,其中,当至少一个临近块/非相邻块和当前块是单向预测并且是从不同方向预测的时,不生成修改的运动信息。
27.根据条款17至22中任一项所述的方法,其中,当至少一个临近块/非相邻块和当前块是单向预测并且是从不同方向预测的时,将临近块/非相邻块的运动矢量缩放到当前块的参考图片,并且生成修改的运动信息。
28.一种视频处理方法,包括:
在视觉媒体数据的当前块和视觉媒体数据的对应编解码表示之间的转换期间,确定当前块的多个临近块;
确定多个临近块的运动信息;
基于当前块的运动信息确定当前块的第一预测块;
基于多个临近块的运动信息确定当前块的第二预测块;
基于第二预测块修改第一预测块;以及
基于第一预测块执行当前块的处理。
29.根据条款28所述的方法,其中,将多个临近块中的一个的运动信息缩放到当前块的参考图片,以生成代表性缩放运动信息,所述代表性缩放运动信息用于确定当前块的第二预测块。
30.根据条款29所述的方法,其中,修改第一预测块还包括:
将修改的预测块生成为第一预测块和第二预测块的加权平均。
31.根据条款30所述的方法,其中,基于第一预测块执行当前块的处理包括:
在当前块的边界区域上执行处理,
其中当前块的边界区域包括当前块的具有多个顶部行的上边界区域和/或具有左侧列的左边界区域。
32.根据条款31所述的方法,其中,基于不同的临近块为上边界区域和左边界区域生成两个不同的代表性缩放运动矢量。
33.根据条款32所述的方法,其中,两个不同的缩放运动矢量中的任何一个都用于左上边界区域。
34.根据条款28至33中任一项所述的方法,其中,跳过运动矢量缩放处理。
35.根据条款28至33中任一项所述的方法,其中,基于第二预测块修改第一预测块包括:
基于至少一个临近块的运动信息在当前块的一个或多个子块上执行处理。
36.根据条款28至35中任一项所述的方法,其中,仅当当前块使用子块技术编解码时才应用该方法。
37.根据条款1至36中任一项所述的方法,其中,子块技术包括:高级时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、包括仿射帧间模式和仿射Merge模式的仿射模式。
38.一种视频处理方法,包括:
在当前块和当前块的比特流表示之间的转换期间,确定当前块内的第一子块的运动矢量;
使用重叠块运动补偿(OBMC)模式来执行转换;
其中,所述OBMC模式使用所述第一子块的中间预测值、以及临近所述第一子块的至少第二视频单元的预测值,来生成所述第一子块的最终预测值,其中,所述中间预测值基于所述第一子块的所述运动矢量;
其中,第一子块的子块尺寸基于当前块的块尺寸、块形状、运动信息或参考图片。
39.根据条款38所述的方法,其中,转换从比特流表示生成当前块。
40.根据条款38所述的方法,其中,转换从当前块生成比特流表示。
41.根据条款38至40中任一项所述的方法,其中,当前块具有宽度w和高度h,并且如果w×h大于或等于第一阈值T1,则第一子块的尺寸为M1x M2;并且如果w×h小于第一阈值T1,则子块的尺寸为N1 x N2,其中M1、M2、w、h、N1、N2和T1是整数。
42.根据条款38至40中任一项所述的方法,其中,当前块具有宽度w和高度h,并且如果w大于或等于第二阈值T2,则当前块的第一子块的宽度高度比w/h为M1;并且如果w小于第二阈值T2,则第一子块的宽度高度比w/h为N1,其中M1、N1和T2是整数。
43.根据条款41所述的方法,其中,如果当前块是单向预测块,则使用第一子块的尺寸M1xM2,否则使用第一子块的尺寸N1xN2。
44.根据条款41或43所述的方法,其中,M1xM2是4x4。
45.根据条款41或43所述的方法,其中,对于上方区域,M1xM2为(w/4)x4,并且对于左侧区域,M1xM2为4x(h/4)。
46.根据条款41或43所述的方法,其中,对于上方区域,M1xM2为(w/4)x2,并且对于左侧区域,M1xM2为4x(h/2)。
47.根据条款41或43所述的方法,其中,N1xN2是8x8、8x4或4x8。
48.根据条款41或43所述的方法,其中,对于上方区域,N1xN2为(w/2)x4,并且对于左侧区域,N1xN2为(h/2)。
49.根据条款41或43所述的方法,其中,对于上方区域,N1xN2为(w/2)x2,并且对于左侧区域,N1xN2为2x(h/2)。
50.根据条款38至49中任一项所述的方法,其中,在仿射模式下禁用该方法。
51.根据条款38至50中任一项所述的方法,其中,将该方法应用于平移运动模式。
52.根据条款38至51中任一项所述的方法,其中,如果当前块的宽度和高度的乘积w×h大于或等于第三阈值T3,则将该方法应用于当前块,其中T3是整数。
53.根据条款52所述的方法,其中,T3是16或32。
54.根据条款38至51中任一项所述的方法,其中,如果当前块的宽度w大于或等于第四阈值T4,并且高度h大于或等于第四阈值T4,则将该方法应用于当前块,其中T4是整数。
55.根据条款54所述的方法,其中,T是8。
56.根据条款38至51中任一项所述的方法,其中,如果当前块的宽度w大于或等于第五阈值T5,并且高度h大于或等于第六阈值T6,则将该方法应用于当前块,其中T5和T6是整数。
57.根据条款56所述的方法,其中,T5和T6是8的整数倍,并且T5与T6相同或不同。
58.根据条款38至51中任一项所述的方法,其中,如果当前块的宽度w大于或等于第七阈值T7,或者高度h大于或等于第八阈值T8,则不将该方法应用于当前块,其中T7和T8是整数。
59.根据条款58所述的方法,其中,T7和T8是128。
60.根据条款38所述的方法,其中,当前块使用帧内块复制(IBC)模式编解码,其中IBC模式将当前块的图片用作参考图片。
61.根据条款60所述的方法,其中,第二视频单元使用IBC模式编解码。
62.根据条款38至61中任一项所述的方法,其中,将该方法应用于所有颜色分量。
63.根据条款38至61中任一项所述的方法,其中,将该方法应用于一个或多个颜色分量。
64.根据条款63所述的方法,其中,仅将该方法应用于亮度分量。
65.根据条款1至64中任一项所述的方法,其中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片报头、片组、条带报头、编解码树单元(CTU)、编解码单元(CU)、CTU组或CU组中将是否以及如何应用该方法从编码器信令通知给解码器。
66.一种视频解码装置,包括处理器,所述处理器被配置为实现条款1至65中任一项或多项中所述的方法。
67.一种视频编码装置,包括处理器,所述处理器被配置为实现条款1至65中任一项或多项中所述的方法。
68.一种其上存储了计算机代码的计算机程序产品,当所述代码被处理器执行时,使处理器实现条款1至65中任一项所述的方法。
现在以另一种基于条款的格式公开一些优选地由一些实施例实现的特征。
1.一种视频处理方法,包括:
在视频数据中的当前块与所述当前块的比特流表示之间的转换期间,基于所述当前块的维度从所述当前块生成至少一个子块;
基于不同的预测列表生成所述至少一个子块的不同预测;
应用子块级的早期终止处理,以确定是否将双向光流(BDOF)处理工具应用于所述至少一个子块;以及
基于所述应用执行所述转换;
其中所述BDOF处理工具基于所述不同预测的水平或垂直梯度中的至少一个生成预测偏移。
2.根据条款1所述的方法,其中,所述子块级的早期终止处理基于所述至少一个子块的不同预测之间的绝对差之和(SAD)。
3.根据条款2所述的方法,其中,基于所述不同预测的部分位置计算所述SAD。
4.根据条款2或3所述的方法,其中,基于所述SAD小于阈值而不应用所述BDOF处理工具。
5.根据条款4所述的方法,其中,所述阈值基于所述至少一个子块的所述维度。
6.根据条款1所述的方法,其中,所述BDOF处理工具应用所述预测偏移来细化所述不同预测,以导出所述至少一个子块的修改预测。
7.根据条款1所述的方法,还包括:
将所述当前块划分为多个子块,并为每个子块生成SAD。
8.根据条款7所述的方法,其中,确定是否将所述BDOF处理工具应用于每个子块是基于其自身的SAD,而不参考其他子块的所述SAD。
9.一种视频处理方法,包括:
在视频数据中的当前块与所述当前块的比特流表示之间的转换期间,生成所述当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测;
基于所述当前块或所述临近块的特性,确定是否将局部照明补偿(LIC)应用于所述第一类型预测或所述第二类型预测;以及
基于所述确定执行所述转换;
其中所述LIC构造具有多个参数的线性模型,以基于预测方向来细化预测。
10.根据条款9所述的方法,其中,在将所述LIC应用于所述第一类型预测和所述第二类型预测的情况下,基于所述当前运动矢量导出所述第一类型预测和所述第二类型预测的所述线性模型。
11.根据条款9所述的方法,其中,在将所述LIC应用于所述第一类型预测和所述第二类型预测的情况下,基于所述临近运动矢量中的至少一个导出所述第一类型预测和所述第二类型预测的所述线性模型。
12.根据条款9所述的方法,其中,在将所述LIC应用于所述第一类型预测的情况下,基于所述当前运动矢量导出所述第一类型预测的所述线性模型,并且在将所述LIC应用于第二类型预测的情况下,基于所述临近运动矢量中的至少一个导出所述第二类型预测的所述线性模型。
13.根据条款9至12中任一项所述的方法,其中,基于对应的临近运动矢量为不同的第二类型预测导出不同线性模型。
14.根据条款9所述的方法,其中,不将所述LIC应用于所述第二类型预测。
15.根据条款9至14中任一项所述的方法,其中,所述比特流表示包括与所述当前块和所述临近块相对应的标志,以指示是否启用所述LIC。
16.根据条款15所述的方法,其中,在所述对应的标志指示所述LIC被禁用的情况下,不将所述LIC应用于所述第二类型预测。
17.根据条款9至16中任一项所述的方法,其中,在所述临近块的指示禁用LIC的标志的数量大于或等于阈值的情况下,不将所述LIC应用于所有所述第二类型预测。
18.根据条款9至17中任一项所述的方法,其中,在所述临近块的指示启用LIC的标志的数量大于或等于阈值的情况下,将所述LIC应用于所有所述第二类型预测。
19.根据条款9至18中任一项所述的方法,其中,在所述当前块的所述标志指示禁用LIC的情况下,不将所述LIC应用于所述第一类型预测和所有所述第二类型预测。
20.根据条款9至19条中任一项所述的方法,其中,即使所述当前块的所述标志指示应用所述LIC,在所述对应的临近块的所述标志指示启用LIC的情况下,将所述LIC应用于所述第二类型预测。
21.一种视频处理方法,包括:
在视频数据中的当前块与所述当前块的比特流表示之间的转换期间,生成所述当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测;
将广义双向预测(GBi)应用于所述第一类型预测或所述第二类型预测;以及
基于所述应用执行所述转换;
其中所述GBi包括基于权重列表的GBi索引将相等或不相等的权重应用于所述第一和第二类型预测的不同预测方向。
22.根据条款21所述的方法,其中,将相同的GBi索引用于所述第一类型预测和所述第二类型预测二者。
23.根据条款22所述的方法,其中,所述相同的GBi索引是所述当前块的GBi索引。
24.根据条款21所述的方法,其中,将不同的GBi索引用于所述第一类型预测和所述第二类型预测。
25.根据条款21所述的方法,其中,将默认的GBi索引用于所述第一类型预测和所述第二类型预测。
26.一种视频处理方法,包括:
在当前视频块和所述当前视频块的比特流表示之间的转换期间,确定所述当前视频块的一个或多个预测块;以及
基于所述一个或多个预测块,至少通过使用重叠块运动补偿(OBMC)和解码器侧运动矢量推导(DMVD)来执行所述转换,
其中所述DMVD基于不同预测方向之间的绝对差之和对运动矢量应用细化,或基于不同预测的水平或垂直梯度中的至少一个对预测应用细化,
其中,所述OBMC基于所述当前视频块的当前运动矢量和所述临近块的一个或多个临近运动矢量来推导细化的预测。
27.根据条款26所述的方法,还包括:
通过使用所述DMVD然后使用所述OBMC执行所述转换。
28.根据条款26或27所述的方法,还包括:
通过使用所述OBMC来修改一个或多个预测样点以获得修改的一个或多个预测样点、然后将所述修改的一个或多个预测样点用于所述DMVD来执行所述转换。
29.根据条款28所述的方法,其中,将所述DMVD的输出用作所述当前视频块的预测结果。
30.根据条款26或27所述的方法,还包括:
通过使用所述OBMC来修改一个或多个预测样点以获得修改的一个或多个预测样点、然后将所述修改的一个或多个预测样点仅用于所述DMVD、然后使用所述OBMC生成的一个或多个预测块来修改所述DMVD的输出来执行所述转换。
31.根据条款26至30中任一项所述的方法,还包括:
基于所述一个或多个预测块,在不将所述DMVD使用到一个或多个临近块的情况下执行所述转换。
32.根据条款1至31中任一项所述的方法,还包括:
根据所述一个或多个临近块的尺寸和/或运动信息,确定是否使用所述临近块的一个或多个临近运动矢量。
33.根据条款32所述的方法,其中,响应于所述临近块的尺寸为4x4、4x8、8x4、4x16和16x4中的一个,确定不使用临近块的临近运动矢量。
34.根据条款32所述的方法,其中,响应于所述临近块的尺寸为4x4、4x8、8x4、4x16和16x4中的一个、并且所述临近块是双向预测的,确定不使用临近块的临近运动矢量。
35.根据条款9至20中任一项所述的方法,其中,基于确定将所述LIC应用于所述第一类型预测,在不使用所述第二类型预测的情况下执行所述转换。
36.根据条款9至20中任一项所述的方法,其中,基于将单向预测LIC应用于所述第一类型预测,通过使用所述第二类型预测来执行所述转换。
37.根据条款1至36中任一项所述的方法,其中,根据所述当前块和/或一个或多个临近块的编解码信息来确定是否使用所述第二类型预测。
38.根据条款37所述的方法,其中,所述编解码信息包括块维度和预测方向。
39.一种视频处理方法,包括:
在视频数据中的当前块和所述当前视频块的比特流表示之间的转换期间,确定所述当前视频块的至少一个临近样点的可用性;
基于所述至少一个临近样点的所述可用性,生成所述当前视频块的帧内预测;
基于至少一个运动矢量,生成所述当前块的帧间预测;
基于所述帧内预测和所述帧间预测的加权和,导出所述当前块的最终预测;以及
基于所述最终预测执行所述转换。
40.根据条款39所述的方法,其中,如果临近样点来自帧内编解码的临近块,则认为所述临近样点不可用。
41.根据条款39所述的方法,其中,如果临近样点来自帧间编解码的临近块,则认为所述临近样点不可用。
42.根据条款39所述的方法,其中,如果临近样点来自组合帧间帧内预测(CIIP)模式的临近块,则认为所述临近样点不可用;
其中,所述CIIP模式将权重应用于中间帧内预测和中间帧间预测。
43.根据条款39所述的方法,其中,如果临近样点来自当前图片参考(CPR)模式的临近块,则认为所述临近样点不可用;
其中,所述CPR使用指向所述临近块所属的图片的块矢量。
44.根据条款1至43中任一项所述的方法,其中,所述转换从所述比特流表示生成所述当前块。
45.根据条款1至44中任一项所述的方法,其中,所述转换从所述当前块生成所述比特流表示。
46.一种视频处理装置,包括处理器,所述处理器被配置为实现条款1至45中任一项中所述的方法。
47.根据条款46所述的装置,其中,所述装置是视频编码器。
48.根据条款46所述的装置,其中,所述装置是视频解码器。
49.一种计算机可读记录介质,其上存储包括代码的程序,所述程序用于使处理器实现条款1至45中任一项所述的方法。
本文中描述的主题的实现和功能操作可以在各种***、数字电子电路、或计算机软件、固件或硬件中实现,包括本说明书中所公开的结构及其结构等效体,或其中一个或多个的组合。本说明中描述的主题的实现可以实现为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理***、操作***或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件***中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本说明书中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
说明书和附图意在仅被视为示例,其中示例指示例。此外,除非上下文另有明确说明,否则“或”的用法意在包括“和/或”。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种***分量的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
Claims (20)
1.一种用于处理视频数据的方法,包括:
在视频中的当前块与所述当前块的比特流之间的转换期间,生成所述当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测块;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测块;
基于所述第一类型预测块和所述一个或多个第二类型预测块确定所述当前块的最终预测块;
基于所述当前块的最终预测块执行所述转换;
其中所述当前块和所述当前块的一个或多个临近块中的至少一个使用局部照明补偿(LIC)模式编解码,
其中在所述LIC模式中,应用具有LIC参数的线性模型来基于预测方向来细化预测。
2.根据权利要求1所述的方法,其中,当所述当前块使用LIC模式编解码,并且所述一个或多个临近块中的至少一个第一临近块使用LIC模式编解码时,在导出所述第一类型预测块和导出所述第二类型预测块的过程中,对所述当前运动矢量和所述第一临近块的第一临近运动矢量使用相同的LIC参数。
3.根据权利要求1所述的方法,其中,当所述当前块使用LIC模式编解码,并且所述一个或多个临近块中的至少一个第一临近块使用LIC模式编解码时,在导出所述第一类型预测块和导出所述第二类型预测块的过程中,对所述当前运动矢量和所述第一临近块的第一临近运动矢量使用不同的LIC参数。
4.根据权利要求1所述的方法,其中,当所述一个或多个临近块中的至少两个临近块使用LIC模式编解码时,在导出所述第二类型预测块的过程中,对所述当前运动矢量的不同临近运动矢量使用不同的LIC参数。
5.根据权利要求2所述的方法,其中,对于每个预测方向,所述当前运动矢量被用于导出所述LIC参数,所述导出的LIC参数被用于所述当前运动矢量和所述第一临近块的第一临近运动矢量。
6.根据权利要求2所述的方法,其中,对于每个预测方向,所述第一临近运动矢量被用于导出所述LIC参数,所述导出的LIC参数被用于所述当前运动矢量和所述第一临近块的第一临近运动矢量。
7.根据权利要求1所述的方法,其中,当所述当前块使用LIC模式编解码,并且所述一个或多个临近块全部不使用LIC模式编解码时,在导出所述第一类型预测块和导出所述第二类型预测块的过程中,只对所述当前运动矢量使用LIC参数。
8.根据权利要求1所述的方法,其中,导出所述第二类型预测块不使用所述LIC参数。
9.根据权利要求1所述的方法,其中,所述比特流包括与所述当前块和所述临近块相对应的标志,以指示是否启用所述LIC模式。
10.根据权利要求9所述的方法,其中,在所述一个或多个临近块中的第二临近块相对应的标志指示所述LIC模式被禁用的情况下,在基于所述第二临近块的第二临近运动矢量导出所述第二类型预测块的过程中,不使用LIC参数。
11.根据权利要求9所述的方法,其中,在所述临近块相对应的指示禁用LIC模式的标志的数量大于或等于阈值的情况下,对所有所述第二类型预测都不使用LIC参数。
12.根据权利要求9所述的方法,其中,在所述临近块相对应的指示启用LIC模式的标志的数量大于或等于所述阈值的情况下,将所述LIC参数应用于导出所有所述第二类型预测块。
13.根据权利要求9所述的方法,其中,在所述当前块相对应的所述标志指示禁用LIC的情况下,导出所述第一类型预测块和导出所有所述第二类型预测块的过程中均不使用LIC参数。
14.根据权利要求9所述的方法,其中,即使所述当前块相对应的标志指示禁用所述LIC,在所述一个或多个临近块中的第三临近块相对应的标志指示启用LIC的情况下,在基于所述第三临近块的第三临近运动矢量导出所述第二类型预测块的过程中仍然使用所述LIC参数。
15.根据权利要求1-14所述的方法,所述转换包括将所述视频编码成所述比特流。
16.根据权利要求1-14所述的方法,所述转换包括将所述比特流解码成所述视频。
17.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器:
在视频中的当前块与所述当前块的比特流之间的转换期间,生成所述当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测块;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测块;
基于所述第一类型预测块和所述一个或多个第二类型预测块确定所述当前块的最终预测块;
基于所述当前块的最终预测块执行所述转换;
其中所述当前块和所述当前块的一个或多个临近块中的至少一个使用局部照明补偿(LIC)模式编解码,
其中在所述LIC模式中,应用具有LIC参数的线性模型来基于预测方向来细化预测。
18.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器:
在视频中的当前块与所述当前块的比特流之间的转换期间,生成所述当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测块;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测块;
基于所述第一类型预测块和所述一个或多个第二类型预测块确定所述当前块的最终预测块;
基于所述当前块的最终预测块执行所述转换;
其中所述当前块和所述当前块的一个或多个临近块中的至少一个使用局部照明补偿(LIC)模式编解码,
其中在所述LIC模式中,应用具有LIC参数的线性模型来基于预测方向来细化预测。
19.一种存储比特流的非暂时性计算机可读记录介质,所述比特流由视频处理设备执行的方法生成,其中所述方法包括:
生成视频中的当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测块;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测块;
基于所述第一类型预测块和所述一个或多个第二类型预测块确定所述当前块的最终预测块;
基于所述当前块的最终预测块生成所述比特流;
其中所述当前块和所述当前块的一个或多个临近块中的至少一个使用局部照明补偿(LIC)模式编解码,
其中在所述LIC模式中,应用具有LIC参数的线性模型来基于预测方向来细化预测。
20.一种存储视频的比特流的方法,包括:
生成视频中的当前块的当前运动矢量;
生成所述当前块的一个或多个临近块的一个或多个临近运动矢量;
基于所述当前运动矢量导出所述当前块的第一类型预测块;
基于所述一个或多个临近运动矢量导出所述当前块的一个或多个第二类型预测块;
基于所述第一类型预测块和所述一个或多个第二类型预测块确定所述当前块的最终预测块;
基于所述当前块的最终预测块生成所述比特流;以及
在非暂时性计算机可读记录介质中存储所述比特流,
其中所述当前块和所述当前块的一个或多个临近块中的至少一个使用局部照明补偿(LIC)模式编解码,
其中在所述LIC模式中,应用具有LIC参数的线性模型来基于预测方向来细化预测。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2019/071508 | 2019-01-13 | ||
CN2019071508 | 2019-01-13 | ||
CN202080008149.8A CN113366831B (zh) | 2019-01-13 | 2020-01-13 | 重叠块运动补偿和其他工具之间的协调 |
PCT/CN2020/071851 WO2020143838A1 (en) | 2019-01-13 | 2020-01-13 | Harmonization between overlapped block motion compensation and other tools |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080008149.8A Division CN113366831B (zh) | 2019-01-13 | 2020-01-13 | 重叠块运动补偿和其他工具之间的协调 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117560503A true CN117560503A (zh) | 2024-02-13 |
Family
ID=71520987
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311510897.8A Pending CN117560503A (zh) | 2019-01-13 | 2020-01-13 | 重叠块运动补偿和其他工具之间的协调 |
CN202080008149.8A Active CN113366831B (zh) | 2019-01-13 | 2020-01-13 | 重叠块运动补偿和其他工具之间的协调 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080008149.8A Active CN113366831B (zh) | 2019-01-13 | 2020-01-13 | 重叠块运动补偿和其他工具之间的协调 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN117560503A (zh) |
WO (1) | WO2020143838A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240196001A1 (en) * | 2021-04-21 | 2024-06-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, device, and medium for video processing |
WO2024125368A1 (en) * | 2022-12-12 | 2024-06-20 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100774296B1 (ko) * | 2002-07-16 | 2007-11-08 | 삼성전자주식회사 | 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 |
WO2004111789A2 (en) * | 2003-06-10 | 2004-12-23 | Rensselaer Polytechnic Institute | A method for processing i-blocks used with motion compensated temporal filtering |
KR100750136B1 (ko) * | 2005-11-02 | 2007-08-21 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
KR20130030181A (ko) * | 2011-09-16 | 2013-03-26 | 한국전자통신연구원 | 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치 |
KR20170084055A (ko) * | 2014-11-06 | 2017-07-19 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
US10097828B2 (en) * | 2014-12-11 | 2018-10-09 | Intel Corporation | Rate control for parallel video encoding |
US10375413B2 (en) * | 2015-09-28 | 2019-08-06 | Qualcomm Incorporated | Bi-directional optical flow for video coding |
CN107147911B (zh) * | 2017-07-05 | 2019-07-26 | 中南大学 | 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置 |
-
2020
- 2020-01-13 CN CN202311510897.8A patent/CN117560503A/zh active Pending
- 2020-01-13 CN CN202080008149.8A patent/CN113366831B/zh active Active
- 2020-01-13 WO PCT/CN2020/071851 patent/WO2020143838A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN113366831A (zh) | 2021-09-07 |
WO2020143838A1 (en) | 2020-07-16 |
CN113366831B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113170181B (zh) | 块内拷贝模式中的仿射继承方法 | |
CN111131822B (zh) | 具有从邻域导出的运动信息的重叠块运动补偿 | |
CN112970253B (zh) | 用于预测的运动候选列表构建 | |
CN113924771B (zh) | 子块Merge模式中的语法信令 | |
TW202013966A (zh) | 色度解碼器側運動向量細化 | |
CN113056917A (zh) | 为视频处理使用具有几何分割的帧间预测 | |
WO2021037078A1 (en) | Extensions of intra coding modes in video coding | |
CN114009037A (zh) | 帧内块复制模式的运动候选列表构建 | |
CN114175636A (zh) | 自适应参数集中的自适应环路滤波的指示 | |
CN110858908A (zh) | 使用空间邻居的重叠块运动补偿 | |
EP3955576A1 (en) | Inter-frame prediction method and device | |
CN113966616A (zh) | 使用临近块信息的运动候选列表构建 | |
CN113366831B (zh) | 重叠块运动补偿和其他工具之间的协调 | |
CN116998155A (zh) | 图像/视频编解码中的边界填充运动矢量剪裁 | |
CN113170139A (zh) | 上下文自适应二进制算数编码的简化上下文建模 | |
CN113196772B (zh) | 块内拷贝模式和基于子块的运动矢量预测模式之间的交互 | |
CA3185916A1 (en) | Video compression using boundary based template refinement |
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 |