CN116830583A - 使用样点字符串矢量的视频编解码 - Google Patents

使用样点字符串矢量的视频编解码 Download PDF

Info

Publication number
CN116830583A
CN116830583A CN202180071992.5A CN202180071992A CN116830583A CN 116830583 A CN116830583 A CN 116830583A CN 202180071992 A CN202180071992 A CN 202180071992A CN 116830583 A CN116830583 A CN 116830583A
Authority
CN
China
Prior art keywords
block
video
sample
string
vector
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
Application number
CN202180071992.5A
Other languages
English (en)
Inventor
刘鸿彬
张凯
张莉
王悦
李俊儒
马思伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN116830583A publication Critical patent/CN116830583A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

描述了视频编解码的方法、系统和设备。视频处理的一个示例方法包括对于包括当前块的视频和视频的比特流之间的转换,根据规则确定当前块的一个或多个非紧邻临近块的块矢量对于当前块的块矢量的预测的可用性;以及基于确定执行转换,其中,该规则规定检查一个或多个非紧邻临近块的预定义顺序。

Description

使用样点字符串矢量的视频编解码
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2020年10月20日提交的国际专利申请号PCT/CN2020/122105的优先权和利益。出于法律上的所有目的,将前述申请的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本申请文件涉及图像和视频编解码和解码。
背景技术
数字视频在互联网和其他数字通信网络上占据最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文件公开了使用样点字符串矢量的视频编解码技术,图像和视频编码器、解码器可以使用该技术来执行图像或视频编码、解码或处理。
在一个示例方面,公开了一种视频处理方法。该方法包括:对于包括当前块的视频和所述视频的比特流之间的转换,根据规则确定所述当前块的一个或多个非紧邻临近块的块矢量对于所述当前块的块矢量的预测的可用性;以及基于所述确定执行所述转换,其中,所述规则规定检查所述一个或多个非紧邻临近块的预定义顺序。
在另一个示例方面,公开了一种视频处理方法。该方法包括:对于包括当前块的视频和所述视频的比特流之间的转换,确定是否以及如何存储与所述当前块的第一样点字符串相关联的样点字符串矢量;以及基于所述确定执行所述转换,其中,所述确定是基于所述第一样点字符串的长度、位置或形状。
在又一示例方面,公开了一种视频处理方法。该方法包括:对于包括当前块的视频和所述视频的比特流之间的转换,确定是否以及如何将与参考块的第一样点字符串相关联的样点字符串矢量插入到第一列表中,所述第一列表包括先前编解码或解码的块矢量或样点字符串矢量;以及基于所述确定执行所述转换,其中,所述确定是基于所述第一样点字符串的长度、位置或形状,所述当前块的尺寸或所述参考块的尺寸。
在又一示例方面,公开了一种视频编码器装置。视频编码器包括处理器,处理器被配置为实现上述方法。
在又一示例方面,公开了一种视频解码器装置。视频解码器包括配置为实现上述方法。
在又一示例方面,公开了一种计算机可读介质,其上存储有代码。代码以处理器可执行代码的形式实现本文描述的方法之一。
本文件对这些特征和其他特征进行了描述。
附图说明
图1示出了帧内块复制(intra block copy,IBC)的示例。
图2示出了空域merge候选的位置的示例。
图3示出了非紧邻临近块的示例。
图4示出了非紧邻临近块的另一示例。
图5示出了样点字符串预测的示例。
图6示出了可用非紧邻临近块区域的示例。
图7示出了可以实施本公开各种技术的示例性视频处理系统的框图。
图8是用于视频处理的示例性硬件平台的框图
图9是图示可以实施本公开一些实施例的示例性视频编解码系统的框图。
图10是图示可以实施本公开一些实施例的示例性编码器的框图。
图11是图示可以实施本公开一些实施例的示例性解码器的框图。
图12-14示出了示例性视频处理方法的流程图。
具体实施方式
在本文中,使用章节标题是为了易于理解,并且不将每个章节中公开的技术和实施例的应用性仅限于该章节。此外,在一些描述中使用H.266术语只是为了易于理解而不是为了限制所公开技术的范围。因此,这里描述的技术也适用于其他视频编解码器协议和设计。
1.简介
本文件中描述的技术可用于编码和解码视觉媒体数据,例如图像或视频,在本文件中通常称为视频。具体而言,与视频编解码中的块内复制有关。可以应用于现有的视频编解码标准中,例如HEVC或即将完成的标准(多功能视频编解码,音频视频标准3)。也可以用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演变。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4Visual,这两个组织联合制定了H.264/MPEG-2视频和H.264/MEPG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准是基于混合视频编解码结构,其中时域预测加变换编解码被使用。为了探索HEVC之外的未来视频编解码技术,联合视频探索团队(Joint Video Exploration Team,JVET)于2015年由VCEG和MPEG联合成立。此后,JVET采用了许多新方法,并将其应用于名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间成立了联合视频专家团队(Joint Video Expert Team,JVET),以致力于与HEVC相比降低50%比特率的VVC标准。
VVC草案的最新版本,即多功能视频编解码(草案9),可在以下网址找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/18_Alpbach/wg11/JVET-R2001-v10.zip
VVC的最新参考软件,名为VTM,可在以下网址找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-9.0
2.1基于历史的merge候选推导
将基于历史的MVP(history-based MVP,HMVP)merge候选被添加到空域MVP和TMVP之后的merge表中。在该方法中,先前编解码块的运动信息被存储在表中,并被用作当前CU的MVP。具有多个HMVP候选的表在编码/解码过程中被保持。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧内编解码CU时,相关联的运动信息作为新的HMVP候选被添加到该表的最后一个条目。
HMVP表的尺寸S被设置为6,这表明最多可向表中添加6个基于历史的MVP(HMVP)候选。当将新的运动候选被插入到表中时,使用约束的先进先出(first-in-first-out,FIFO)规则,其中,首先应用冗余检查来查找表中是否存在相同的HMVP。如果找到相同的HMVP,则将其从表中删除,然后向前移动所有的HMVP候选。
HMVP候选可被用于merge候选表构建过程。按顺序检查表中最新的几个HMVP候选,并在候选表中将其插入到TMVP候选之后。冗余检查应用于HMVP候选到空域或时域merge候选。
为了减少冗余检查操作的次数,引入了以下简化:
1)用于merge表生成的HMPV候选的数量是否被设置为(N<=4)?M:(8-N),其中N指示merge表中现有候选的数量,M指示表中可用HMVP候选的数量。
2)一旦可用merge候选的总数达到最大允许merge候选减1,则终止来自HMVP的merge候选表的构建过程。
HMVP思想也扩展到帧内块复制(模式)中的块矢量预测。
2.2帧内块复制
帧内块复制(IBC),也称为当前图片参考,已在HEVC屏幕内容编解码扩展(HEVCScreen Content Coding extensions,HEVC-SCC)和当前VVC测试模型(VTM-4.0)中被采用。IBC将运动补偿的概念从帧间编解码扩展到帧内编解码。如图1所示,当应用IBC时,当前块由同一图片中的参考块预测。在当前块被编解码或解码之前,参考块中的样点必须已经被重建。虽然IBC对于大多数摄像机拍摄的序列来说效率不高,但IBC展示出了对屏幕内容的显著编解码增益。原因是屏幕内容图片中有很多重复的图案,例如图标和文本字符。IBC可以有效地消除这些重复图案之间的冗余。在HEVC-SCC中,如果选择当前图片作为参考图片,则帧间编解码编解码单元(coding unit,CU)可以应用IBC。在这种情况下,MV被重命名为块矢量(block vector,BV),BV始终具有整数像素精度。为了与主档次HEVC兼容,当前图片在解码图片缓冲区(Decoded Picture Buffer,DPB)中被标记为“长期”参考图片。应当注意,类似地,在多视点/3D视频编解码标准中,视点间参考图片也被标记为“长期”参考图片。
在BV找到其参考块之后,可以通过复制参考块来生成预测。可以通过从原始信号中减去参考像素来获得残差。然后,可以像在其他编解码模式中那样应用变换和量化。
然而,当参考块在图片之外,或者与当前块重叠,或者在重建区域之外,或在某些约束限制的有效区域之外时,部分或全部像素值不被定义。基本上,有两种解决方案来处理这样的问题。一种是禁止这种情况,例如在比特流一致性方面。另一种是对那些未定义的像素值应用填充。以下分节详细介绍了解决方案。
2.3HEVC屏幕内容编解码扩展中的IBC
在HEVC的屏幕内容编解码扩展中,当块使用当前图片作为参考时,应确保整个参考块在可用的重建区域内,如以下规范文本所示:
变量offsetX和offsetY的推导如下:
offsetX=(ChromaArrayType==0)?0:(mvCLX[0]&0x7?2:0) (8-104)
offsetY=(ChromaArrayType==0)?0:(mvCLX[1]&0x7?2:0) (8-105)
比特流一致性的要求是,当参考图片是当前图片时,亮度运动矢量mvLX应遵守以下约束:
–当调用条款6.4.1中规定的z扫描顺序块的可用性的推导过程时,其中(xCurr,yCurr)设置为等于(xCb,yCb)以及临近亮度位置(xNbY,yNbY)设置为等于(xPb+(mvLX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offsetY)作为输入,输出应等于TRUE。
–当调用条款6.4.1中规定的z扫描顺序块的可用性的推导过程时,其中(xCurr,yCurr)设置为等于(xCb,yCb)以及临近亮度位置(xNbY,yNbY)设置为等于(xPb+(mvLX[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)+nPbH-1+offsetY)作为输入,输出应等于TRUE。
–以下一个或两个条件应为真:
–(mvLX[0]>>2)+nPbW+xB1+offsetX的值小于或等于0。
–(mvLX[1]>>2)+nPbH+yB1+offsetY的值小于或等于0。
–以下条件应为真:
(xPb+(mvLX[0]>>2)+nPbSw-1+offsetX)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1+offsetY)/CtbSizeY (8-106)
因此,不会发生参考块与当前块重叠或参考块在图片之外的情况。不需要填充参考块或预测块。
2.4VVC测试模型中的IBC
在当前VVC测试模型(即VTM-4.0设计)中,整个参考块应与当前编解码树单元(coding tree unit,CTU)一致,且不与当前块重叠。因此,不需要填充参考块或预测块。IBC标志被编解码为当前CU的预测模式。因此,每个CU总共有三种预测模式:MODE_INTRA、MODE_INTER和MODE_IBC。
2.4.1IBC Merge模式
在IBC merge模式下,指向IBC merge候选表中条目的索引是从比特流中解析的。IBC merge表的构建可以被总结为按照以下步骤次序进行:
·步骤1:推导空域候选。
·步骤2:插入基于历史的块矢量预测(History-based Block VectorPrediction,HBVP)候选。
·步骤3:插入成对平均候选。
在空域merge候选的推导中,从位于图2所示的位置的候选中选择最多四个merge候选。推导的顺序为A1、B1、B0、A0和B2。位置B2仅在位置A1、B1,B0和A0的任何PU不可用(例如,因为B2属于另一个条带或片)或未使用IBC模式编解码时才被考虑。在添加位置A1处的候选之后,对剩余候选的插入进行冗余检查,以确保排除表中具有相同运动信息的候选,从而提高编解码效率。为了降低计算复杂性,在提到的冗余检查中并没有考虑所有可以的候选对。相反,仅考虑图2中用箭头连接的对,并且如果用于冗余检查的对应候选不具有相同的运动信息,候选只被添加到表中。
插入空域候选后,如果IBC merge表的尺寸仍然小于最大IBC merge表的尺寸,则可以插入来自HBVP表的IBC候选。在插入HBVP候选时需要执行冗余检查。
最后,将成对平均候选插入IBC merge表中。
当merge候选所标识的参考块在图片之外,或与当前块重叠,或在重建区域之外,或在某些约束所限制的有效区域之外时,merge候选被称为无效merge候选。
需要注意的是,无效merge候选可以被插入IBC merge表中。
2.4.2IBC AMVP模式
在IBC高级运动矢量预测(Advanced Motion Vector Prediction,AMVP)模式中,指向IBC AMVP表中条目的AMVP索引是从比特流中解析的。IBC AMVP表的构建可以被总结为按照以下步骤次序进行:
·步骤1:推导空域候选。
ο检查A0、A1,直到找到可用的候选。
ο检查B0、B1、B2,直到找到可用的候选。
·步骤2:插入HBVP候选。
·步骤3:插入零候选。
插入空域候选后,如果IBC AMVP表的尺寸仍然小于最大IBC AMVP表的尺寸,则可以插入来自HBVP表的IBC候选。
最后,将零候选插入IBC AMVP表中。
2.5在AVS3中的IBC AMVP模式
在音频视频编解码标准3(Audio Video coding Standard 3,AVS3)中,保持HBVP表以存储先前编解码块的BV。对于HBVP表的每个条目,除了BV之外,还存储与BV相关联的块的信息,包括块的宽度和高度以及块的左上样点的坐标(相对于图片的左上样点)。同时,在条目中还存储指示遇到BV多少次的计数器。在下文中,块的左上样点的坐标也被用作块的坐标。
在IBC AMVP模式中,当为当前块构建IBC AMVP(高级运动矢量预测)表时,首先,按照顺序检查HBVP表中的BV,并将其分为7类。每个类最多可以包含一个BV,如果将多个BV分类到同一个类中,则该类使用最新检查的BV。
·对于BV,如果与BV相关的块的尺寸(例如,宽度*高度)大于或等于64,则将其归入第0类。
·对于BV,如果其计数器大于或等于3,则将其归入第一类。
·对于BV,还按照以下顺序进行分类:
ο如果其水平坐标小于当前块的水平坐标,并且其垂直坐标小于当前块的垂直坐标,则将其归入第四类,例如左上类。
ο否则,如果其水平坐标大于或等于当前块的水平坐标加上当前块的宽度,则将其归入第五类,例如右上类。
ο否则,如果其垂直坐标大于或等于当前块的垂直坐标加上当前块的高度,则将其归入第六类,例如左下类。
ο否则,如果其垂直坐标小于当前块的垂直坐标,则将其归入第三类,例如上类。
ο否则,如果其水平坐标小于当前块的水平坐标,则将其归入第二类,例如左类。
第二,0-6类BV被按照顺序插入AMVP表。如果类不为空,则在用已经插入的AMVP候选进行修剪之后,可以将相应的BV添加到AMVP表中。
在BV预估过程中,首先确定初始BV。然后,成功执行一维垂直BV搜索、一维水平BV搜索和二维BV搜索,以找到最佳BV。每个BV搜索阶段从相同的初始BV开始。在一维垂直BV搜索中,垂直BV分量被约束为小于或等于y–H。类似地,在一维水平BV搜索中,水平BV分量被约束为小于或等于x–W。
2.6在AVS3中的样点字符串预测
在M4503中,提出了一种样点字符串预测方法,将当前视频块划分为一组或多组样点(例如,一组样点称为样点字符串),并且通过复制包括当前视频块的当前图片中的像素组来预测每个样点字符串。同时,样点可以不被预测,而是直接被编码,这种样点被称为不匹配样点。图5示出了一个示例,CU被划分为两个样点字符串,并且每个字符串由样点字符串矢量(string vector,SV)所标识的像素组来预测。对于在样点字符串预测模式中被编解码的CU,没有残差被编解码。以遍历顺序扫描样点字符串,并编码每个样点字符串的字符串长度和字符串矢量。对于不匹配样点,直接编解码不匹配样点的值。
样点字符串的SV可以直接来自由历史BV和SV更新的帧内历史运动矢量预测列表。当从帧内历史运动矢量预测列表预测样点字符串的SV时,没有SV差被进一步信令通知。
在样点字符串预测方法中,块的SV不用于预测其后续的编解码块。
3.公开的技术方案解决的技术问题
1.当构造IBC merge表或AMVP表时不使用非紧邻临近块的块矢量(block vector,BV),这是低效的。
2.在AVS3中,当对HBVP表中的BV进行分类时,将与BV相关联的块尺寸(例如,块的宽度*高度)与固定值(例如,64)进行比较,以确定BV是否应被分为第0类,而不管当前块的尺寸,这可能是不合理的。
3.在AVS3中,在一维BV搜索阶段对垂直BV分量和水平BV分量应用非常严格的约束,这是低效的。
4.在字符串样点预测方法中,SV不用于预测后续块,这是低效的。
5.与SV和BV相关的语法元素的设计不同。
6.SV预测列表和BV预测列表以不同的方式构建。
4.示例解决方案和实施例
以下项目应作为解释一般概念的示例。不应狭隘地解释这些项目。此外,这些项目可以以任何方式组合。
将当前块的坐标(例如,块的左上样点的坐标)表示为(x,y),将当前块的宽度和高度分别表示为W和H。将非紧邻临近样点的坐标表示为(x–deltaX,y–deltaY),其中deltaX和deltaY是正整数、负整数或0,非紧邻临近块是覆盖样点的S1*S2(S1和S2是整数,例如,S1=S2=4)块。假设包括当前块的当前CTU行从坐标(0,ctuRowY)开始。在AVS3中,保持帧内历史运动矢量预测列表,并且通过历史BV和SV来更新该列表。帧内历史运动矢量预测列表可以用于BV和SV编解码。
1、提出当预测当前块的BV时,可以使用当前块的非紧邻临近块的BV。
a、提出可以将非紧邻临近块的BV插入IBC merge表或/和IBCAMVP表(例如,块矢量预测表)中。
b、在一个示例中,非紧邻临近块的位置可以取决于当前块的宽度或/和高度。
i.例如,当构建IBC merge表或/和IBC AMVP表时,可以检查覆盖位置(x–M,y–M)、(x–M,y+H/2)、(x–M,y+H)、(x+W/2,y–M)、(x+W,y–M)的非紧邻临近块,其中M是整数,如图3所示。例如,M=8。
1.或者,在构建IBC merge表或/和IBC AMVP表时,可以检查覆盖位置(x–M,y–M)、(x–M,y+H–1)、(x–M,y+H)、(x+W–1,y–M)、(x+W,y–M)的非紧邻临近块。
2.或者,可选地,在构建IBC merge表或/和IBC AMVP表时,可以检查覆盖位置(x–M,y)、(x,y–M)、(x–M,y+3*H/2)、(x–M,y+2*H)、(x+3*W/2,y–M)、(x+2*W,y–M)的非紧邻临近块。
ii.例如,在构建IBC merge表或/和IBC AMVP表时,可以检查覆盖位置(x–M–1,y–M–1)、(x–M–1,y–M–1+(H+M)/2)、(x–M–1,y+H)、(x–M–1+(W+M)/2,y–M–1)、(x+W,y–M–1)的非紧邻临近块,其中M是整数,如图4所示。例如,M=8。
1.或者,在构建IBC merge表或/和IBC AMVP表时,可以检查覆盖位置(x–M–1,y–M–1)、(x–M–1,y+H–1)、(x–M–1,y+H)、(x+W–1,y–M–1)、(x+W,y–M–1)的非紧邻临近块。
2.或者,可选地,在构建IBC merge表或/和IBC AMVP表时,可以检查覆盖位置(x–M–1,y)、(x,y–M–1)、(x–M–1,y–M–1+3*(H+M)/2)、(x–M–1,y+2*H+M)、(x–M–1+3*(W+M)/2,y–M–1)、(x+2*W+M,y–M–1)的非紧邻临近块。
c、在一个示例中,非紧邻临近块可以位于与包括当前块的图片不同的当前图片中。
i.在一个示例中,非紧邻临近块所来自的图片是当前块的参考图片。
ii.在一个示例中,所有非紧邻临近块可以来自不同的图片。
iii.或者,部分非紧邻临近块可以来自不同的图片,其余的可以来自当前图片。
d、在一个示例中,可以按照预定义顺序检查非紧邻临近块。
i.或者,顺序可以取决于解码的信息。
e、在一个示例中,检查多少非紧邻临近块可以取决于当前块的形状或尺寸。
f、在一个示例中,检查多少非紧邻临近块可以取决于当前块的坐标。
g、在一个示例中,当非紧邻临近块和当前块在两个不同的CTU行中时,非紧邻临近块的BV可以不用于预测当前块的BV。
h、在一个示例中,当非紧邻临近块和当前块在两个不同的CTU行中,并且当前块的垂直坐标和当前CTU行的垂直坐标(例如,ctuRowY)之间的差小于或等于Th时,非紧邻临近块的BV可以不用于预测当前块的BV。
i.例如,Th等于0。在这种情况下,当前块位于当前CTU行的顶行。
ii.例如,Th等于4。
iii.例如,Th等于M–4,其中M在上面被定义用于指示非紧邻临近块的位置。
i、在一个示例中,当非紧邻临近块和当前块位于两个不同的CTU行中时,非紧邻临近块的位置可以被裁剪为与当前块位于相同的CTU行内,并且在裁剪位置处的BV可以用于预测当前块的BV。
j、在一个示例中,当非紧邻临近块和当前块位于两个不同的CTU行中时,非紧邻临近块的垂直位置可以被裁剪为在到当前CTU行的垂直坐标的距离内,并且裁剪位置处的BV可以用于预测当前块的BV。
i.例如,非紧邻临近块的垂直位置可以被裁剪为ctuRowY–Th2,其中Th2是整数。例如,Th2等于0、4或8。
k、在一个示例中,当非紧邻临近块和当前块在两个不同的片/条带/子图片中时,非紧邻临近块的BV可以不用于预测当前块的BV。
i.或者,可以将非紧邻临近块的位置裁剪为与当前块在同一片/条带/子图片内,并且可以使用裁剪位置处的BV来预测当前块的BV。
l、在一个示例中,当非紧邻临近块和当前块位于两个不同的CTU或区域(例如,具有宽度RW和高度RH的矩形区域)中时,非紧邻临近块的BV可以不用于预测当前块的BV。
i.或者,可以将非紧邻临近块的位置裁剪为与当前块位于相同的CTU内,并且可以使用裁剪位置处的BV来预测当前块的BV。m、在一个示例中,当非紧邻临近块在当前块的上述N(例如,N=
8)个临近行中时,非紧邻临近块的BV可以不用于预测当前块。图6示出了一个示例,只有“可用的非紧邻临近块区域”中的非紧邻临近块的BV可以用于预测当前块的BV。
n、在一个示例中,当非紧邻临近块在当前块的左M(例如,M=8)个临近列之外时,非紧邻临近块的BV可以不用于预测当前块的BV。在图6中示出了一个示例。
o、在一个示例中,当非紧邻临近块在当前块的L形临近区域之外时,非紧邻临近块的BV可以不用于预测当前块的BV。
p、在一个示例中,当由非紧邻临近块的BV标识的当前块的参考块没有被完全包括在当前CTU或包括当前块的当前区域(例如,具有宽度RW和高度RH的矩形区域)中时,该BV可以不用于预测当前块的BV。
2、提出了非紧邻临近块的检查顺序可以取决于临近块相对于当前块的相对位置。
a、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的左上临近块、右上临近块,左下临近块、上临近块以及左临近块。
i.例如,按照(x–M,y–M)、(x+W,y–M)、(x–M,y+H)、(x+W/2,y–M)、(x–M,y+H/2)的顺序检查覆盖位置(x–M,y–M)、(x–M,y+H/2)、(x–M,y+H)、(x+W/2,y–M)、(x+W,y–M)的非紧邻临近块。
ii.例如,按照(x–M–1,y–M–1)、(x+W,y–M–1)、(x–M–1,y+H)、(x–M+(W+M)/2,y–M–1)、(x–M–1,y–M+(H+M)/2)的顺序检查覆盖位置(x–M–1,y–M–1)、(x–M–1,y–M+(H+M)/2)、(x–M–1,y+H)、(x–M+(W+M)/2,y–M–1)、(x+W,y–M–1)的非紧邻临近块。
b、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的左临近块、上临近块、左上临近块、右上临近块和左下临近块。
i.例如,按照(x–M,y+H/2)、(x+W/2,y–M)、(x–M,y–M)、(x+W,y–M)、(x–M,y+H)的顺序检查覆盖位置(x–M,y–M)、(x–M,y+H/2)、(x–M,y+H)、(x+W/2,y–M)、(x+W,y–M)的非紧邻临近块。
ii.例如,按照(x–M–1,y–M+(H+M)/2)、(x–M+(W+M)/2,y–M–1)、(x–M–1,y–M–1)、(x+W,y–M–1)、(x–M–1,y+H)的顺序检查覆盖位置(x–M–1,y–M–1)、(x–M–1,y–M+(H+M)/2)、(x–M–1,y+H)、(x–M+(W+M)/2,y–M–1)、(x+W,y–M–1)的非紧邻临近块。
c、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的左临近块、上临近块、右上临近块、左下临近块和左上临近块。
d、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的左下临近块、左临近块、右上临近块、上临近块和左上临近块。
e、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的左上临近块、左临近块、上临近块、右上临近块和左下临近块。
f、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的左上临近块、上临近块,左临近块、右上临近块和左下临近块。
g、在一个示例中,非紧邻临近块的检查顺序可以如下:当前块的上临近块、左临近块、左上临近块,右上临近块和左下临近块。
h、在一个示例中,非紧邻临近块可以被分为多个组,以预定义的顺序检查每个组中的候选,并且来自一个组的最多N个(N是整数,例如,N=1)候选可以被插入IBC merge表或/和IBC AMVP表中。
i.例如,非紧邻临近块可以被分为两组:{左下、左}-临近块,{右上、上、左上}-临近块。
ii.例如,非紧邻临近块可以被分为两组:{左下、左、左上}-临近块、{右上、上}-临近块。
i、在一个示例中,非紧邻临近块的检查顺序可以取决于从临近块到当前块的距离。
i.例如,该距离可以被定义为从临近块的左上样点到当前块的左上样点的距离。
1.该距离可以被定义为从临近块的左上样点到当前块的左上样点的水平距离和垂直距离之和。
2.该距离可以被定义为从临近块的左上样点到当前块的左上样点的水平距离平方和垂直距离平方的总和。
ii.例如,可以按距离升序检查非紧邻临近块。
iii.例如,可以按距离降序检查非紧邻临近块。
j、在一个示例中,非紧邻临近块的检查顺序可以取决于当前块的尺寸或形状。
i.例如,对于具有W>M1*H(例如,M1=2)的块,上临近块、右上临近块和左上临近块可以被给予比左下临近块和左临近块更高的优先级。
ii.例如,对于具有W>M1*H(例如,M1=2)的块,上临近块、右上临近块和左上临近块可以被给予比左下临近块和左临近块更低的优先级。
iii.例如,对于具有H>M1*W(例如,M1=2)的块,上临近块、右上临近块和左上临近块可以被给予比左下临近块和左临近块更高的优先级。
iv.例如,对于具有H>M1*W(例如,M1=2)的块,上临近块、右上临近块和左上临近块可以被给予比左下临近块和左临近块更低的优先级。
k、在一个示例中,非紧邻临近块的检查顺序可以取决于临近块的尺寸。
i.例如,可以按尺寸(宽度*高度)升序检查非紧邻临近块。
ii.例如,可以按尺寸(宽度*高度)降序检查非紧邻临近块。
3、提出将非紧邻临近块的BV插入IBC merge表或/和IBC AMVP表可以取决于来自HBVP表中BV的可用性或/和紧邻临近块BV的可用性。
a、在一个示例中,在来自HBVP表中的BV之后插入非紧邻临近块的BV。
i.或者,在来自HBVP表中的BV之前插入非紧邻临近块的BV。
ii.或者,非紧邻临近块的BV与来自HBVP表中的BV交错相间排列。
b、在一个示例中,在紧邻临近块的BV之后插入非紧邻临近块中的BV。
i.或者,在紧邻临近块的BV之前插入非紧邻临近块的BV。
ii.或者,非紧邻临近块的BV与紧邻临近块的BV交错相间排列。
c、在一个示例中,在插入来自HBVP表中的BV或/和紧邻临近块的BV之后,当IBCmerge/AMVP表中没有空条目时,不插入非紧邻临近块的BV。
d、在一个示例中,可以以与来自HBVP表中的BV类似的方式将非紧邻临近块的BV分为多个类。
i.例如,可以根据临近块与当前块的相对位置将非紧邻临近块分类为5个类,包括左上类、右上类、左下类、上类和左类。一个或多个非紧邻临近块可以被分为一个类。
ii.在一个示例中,当HBVP表不包含第一类别中的任何可用的BV时,可以使用属于第一类别(如果可用)的非紧邻临近块的BV代替。
1.在一个示例中,可以按照预定义的顺序检查属于第一类别的一个或多个非紧邻临近块的BV,直到找到可用BV或者检查完所有的BV。
2.可以按照预定义的顺序检查属于第一类别的一个或多个非紧邻临近块的BV,直到将第一类别中的BV插入IBCmerge/AMVP表或检查完所有的BV。
iii.在一个示例中,当存在既来自HBVP表又属于第一类别的非紧邻临近块的可用BV时,使用哪个BV可以取决于从与BV相关联的块到当前块的距离(类似于项目符号2.e中定义的)。
1.例如,可以按照距离降序检查BV,直到找到可用BV或者检查完所有的BV。
2.例如,可以按照距离降序检查BV,直到将BV插入IBCmerge/AMVP表或检查完所有的BV。
3.例如,可以按照距离升序检查BV,直到找到可用BV或者检查完所有的BV。
4.例如,可以按照距离升序检查BV,直到将BV插入IBCmerge/AMVP表或检查完所有BV。
e、在一个示例中,当HBVP表不包含第一类别中的任何可用BV(例如,第一类别可以是第0、第1、第2、第3、第4、第5或第6类中的一个)时,非紧邻临近块的BV可以用于第一类别。
i.在一个示例中,当HBVP表不包含第一类别中的任何可用BV时,可以按照顺序检查第一组非紧邻临近块的BV,直到找到可用BV,或者检查完所有的BV。
ii.在一个示例中,当HBVP表不包含第二类别中的任何可用BV时,可以按照顺序检查第二组非紧邻临近块的BV,直到找到可用BV。当第一类别与第二类别不同时,第一组非紧邻临近块可以与第二组非紧邻临近块不同。
1.或者,第一组非紧邻临近块可以与第二组非紧邻临近块相同。
iii.在一个示例中,如果非紧邻临近块属于第一非紧邻临近块组,则它可以不属于与第一非紧邻临近块组不同的第二非紧邻临近块组。
iv.在一个示例中,当第一非紧邻临近块的BV用于第一类别时,可以不对第二类别再次检查该BV。
1.或者,当对于第一类别检查第一非紧邻临近块的BV时,可以不对第二类别再次检查该BV。
f、在一个示例中,在插入来自非紧邻临近块的BV之前,可以将BV与已经插入IBCmerge/AMVP表中的一个或多个BV进行比较。
i.在一个示例中,如果来自非紧邻临近块的BV与已插入IBC merge/AMVP表的一个或多个BV中的一个相同,则不将其插入IBC merge/AMVP中。
ii.在一个示例中,如果来自非紧邻临近块的BV与已插入IBC merge/AMVP表的一个或多个BV中的一个相似,则不将其插入IBC merge/AMVP中。
iii.在一个示例中,可以对来自非紧邻临近块的一个或多个BV进行这种比较。
iv.或者,不进行比较。
4、提出可以根据与BV相关联的块尺寸(表示为BvBlkSize)和当前块的尺寸(表示为CurBlkSize)来决定是否将来自HBVP表的BV分为第N(N是非负整数,例如,N=0)类。
a、在一个示例中,当BvBlkSize大于或等于因子*CurBlkSize时,BV可以被分类为第N类,其中因子是正数。例如,因子等于1。
b、在一个示例中,当BvBlkSize大于因子*CurBlkSize时,BV可以被分类为第N类,其中因子是正数。例如,因子等于1。
c、在一个示例中,当BvBlkSize小于或等于因子*CurBlkSize时,BV可以被分类为第N类,其中因子是正数。例如,因子等于1。
d、在一个示例中,当BvBlkSize小于因子*CurBlkSize时,BV可以被分类为第N类,其中因子是正数。例如,因子等于1。
e、在一个示例中,当BvBlkSize等于因子*CurBlkSize时,BV可以被分类为第N类,其中因子是正数。例如,因子等于1。
f、或者,可以根据与BV相关联的块尺寸和当前块的尺寸来决定来自HBVP表中的BV是否应被分类为第N类。
5、提出了在一维BV搜索中BV分量的范围可以仅取决于当前块的坐标。
a、或者,此外,在一维BV搜索中BV分量的范围可以不取决于当前块的尺寸。
b、在一个示例中,在一维垂直BV搜索中,垂直BV分量被约束为小于或等于y–N1(N1是整数,例如N1=0、8或-8)。
c、在一个示例中,在一维水平BV搜索中,水平BV分量被约束为小于或等于x–N2(N2是整数,例如N2=0、8或-8)。
d、或者,在一维BV搜索中BV分量的范围可以同时取决于当前块的尺寸和坐标。
i.例如,在一维垂直BV搜索中,垂直BV分量被约束为小于或等于y+H–N1(N1是整数,例如N1=0、8或-8)。
ii.例如,在一维水平BV搜索中,水平BV分量被约束为小于或等于x+W–N2(N2是整数,例如N2=0、8或-8)。
iii.或者,此外,BV分量的范围还可以取决于起始BV(startBvX,startBvY)。
1.例如,在一维垂直BV搜索中,垂直BV分量被约束为小于或等于y+startBvY+K1*H–N1。N1是整数,例如N1=0、8或-8,K1是整数,例如K1=2、3、4。
2.例如,在一维水平BV搜索中,水平BV分量被约束为小于或等于x+startBvX+K2*W–N2。N2是整数,例如N2=0、8或-8,K2是整数,例如K2=2、3、4。
6、提出可以使用块的SV(样点字符串矢量)来预测其随后的编解码块的BV或/和SV。
a、在一个示例中,可以为以样点字符串预测模式编解码的块选择一个代表性SV,并且可以为该块存储该代表性SV。
i.例如,可以选择第一样点字符串的SV作为代表性SV。
ii.例如,可以选择最后一个样点字符串的SV作为代表性SV。
iii.例如,可以选择覆盖块的中心位置的样点字符串的SV作为代表性SV。
iv.例如,可以选择覆盖块的代表性位置的样点字符串的SV作为代表性SV。
v.例如,可以选择具有最大长度的样点字符串的SV作为代表性SV。如果存在长度最大的多个样点字符串,则可以选择多个样点字符串中的一个样点字符串的BV作为代表性SV。
vi.例如,可以使用多个样点字符串的BV的平均值作为代表性SV。
b、在一个示例中,可以为以样点字符串预测模式编解码的块存储多个SV。
i.例如,对于每个MxN子块,为子块存储覆盖子块的大多数样点的样点字符串的SV。如果存在覆盖子块的大多数样点的多个样点字符串,多个样点字符串中的一个样点字符串的BV可以被存储用于该子块。
7、提出在预测块的BV时,可以使用其非紧邻临近块的SV。
a、提出可以将非紧邻临近块的SV插入IBC merge表或/和IBC AMVP表中。
b、项目符号1中描述的方法可用于将SV插入IBC merge表或/和IBC AMVP表中。
c、或者,此外,紧邻临近块的SV可以用于预测当前块的BV。
8、提出在预测块的SV时,可以使用其非紧邻临近块的BV。
a、或者,此外,当预测块的SV时,可以使用其非紧邻临近块的SV。
b、或者,此外,当预测块的SV时,可以使用其紧邻临近块的SV或/和BV。
9、提出统一BV和SV的信令通知。
a、在一个示例中,用于指示SV的语法元素被用于指示BV。
b、在一个示例中,用于指示BV的语法元素被用于指示SV。
c、在一个示例中,信令通知语法以指示SV或BV是否被包括在预定义的SV/BV集合中。
i.例如,预定义的SV/BV集合可以取决于要被编解码的语法是SV还是BV。
ii.例如,预定义的SV集合可以取决于当前样点字符串是否包含当前块的全部或部分样点。
iii.例如,预定义的SV集合可以取决于当前样点字符串是从偶数行开始还是从奇数行开始。
iv.例如,对于包含块的所有样点的样点字符串的BV或SV,预定义的SV/BV集合可以包括{(0,-H),(-W,0)},其中W和H分别是当前块的宽度和高度。
1.或者,预定义的SV/BV集合可以包括(0,-H)。
2.或者,预定义的SV/BV集合可以包括(0,-H)或(-W,0)。
v.例如,对于仅包含块的部分样点的样点字符串的SV,预定义的SV集合可以包括{(0,-1),(W,0)}。
1.或者,预定义的SV/BV集合可以包括{(0,-1)}。
vi.例如,对于从块的偶数行开始的样点字符串的SV,预定义的SV集合可以包括{(0,-1),(-W,0)}。
vii.例如,对于从块的奇数行开始的样点字符串的SV,预定义的SV集合可以包括{(0,-1),(W,0)}。
viii.或者,此外,当SV或BV被包括在预定义的SV/BV集合中,并且该集合包括多于一个条目时,还可以信令通知索引,该索引指示使用该集合中的哪个SV/BV。
d、在一个示例中,对于以IBC模式编解码的块,可以信令通知语法以指示该块的BV是否来自BV预测列表。
i.或者,此外,仅在该语法指示块的BV来自BV预测列表时,可以信令通知BV索引,该BV索引指示BV预测列表中的哪个BV被当前块使用。
e、在一个示例中,对于以IBC模式编解码的块,可以直接使用帧内历史运动矢量预测列表来对BV进行编解码,并且可以不构建BV预测列表。
i.例如,可以信令通知BV索引以指示帧内历史运动矢量预测列表中的哪个BV/SV被用于块。
1.或者,此外,如果帧内历史运动矢量预测列表中的BV/SV被用于块,则BV差可以不被信令通知,并且可以被推导为零。
2.或者,此外,BV索引被约束为小于一致性比特流中的帧内历史运动矢量预测列表中的元素的数量。
f、在一个示例中,对于以IBC模式编解码的块,可以信令通知语法以指示该块的BV是否来自帧内历史运动矢量预测列表。
i.或者,此外,仅当该语法指示块的BV来自帧内历史运动矢量预测列表时,才可以信令通知BV索引。
ii.或者,此外,当在帧内历史运动矢量预测列表中不存在元素时,该语法被约束为假,即,该块的BV被约束为不来自帧内历史运动矢量预测列表。
g、在一个示例中,BV(0,0)可以不被插入到BV预测列表中。
10、提出统一BV预测列表构建过程和SV预测列表构建过程。
a、在一个示例中,SV预测列表构建过程与BV预测列表构建过程对齐。
b、在一个示例中,BV预测列表构建过程与SV预测列表构建过程对齐。
11、提出在当前块的BV估计过程中可以使用当前块的父块或/和至少一个兄弟块(如果可用的话)的SV(在样点字符串预测模式下推导出)或/和BV(在帧内块复制模式下推导出)。
a、在一个示例中,当前块的父块或/和至少一个兄弟块(如果可用)的SV或/和BV可以被认为是BV估计过程中的候选BV。
i.或者,此外,可以在所有其他候选BV之前被测试当前块的父块或/和至少一个兄弟块(如果可用)的SV或/和BV。
ii.或者,此外,如果由当前块的父块或/和至少一个兄弟块(如果可用)的SV或/和BV实现的最小成本小于阈值,则可以跳过所有其他候选BV。
b、或者,此外,可以在当前块的BV估计过程中使用当前块的至少一个兄弟块的至少一个后代的SV或/和BV。
12、提出当在块的样点字符串预测模式之前执行帧内块复制模式时,在当前块的SV估计过程中可以使用在帧内块复制模式中获得的BV,反之亦然。
a、在一个示例中,在帧内块复制模式中实现最小成本的N个(例如,N=1、2、3等)BV可以被认为是SV估计过程中的候选SV。
i.或者,此外,可以在所有其他候选SV之前测试N个BV。
ii.或者,此外,如果在SV估计过程中由N个BV实现的最小成本小于阈值,则可以跳过所有其他候选SV。
iii.在检查样点字符串预测模式之前,即使帧内块复制模式不是当前最佳模式,也可以在SV估计过程中考虑N个BV。
b、在一个示例中,当样点字符串包含块的所有样点时,可以在SV估计过程中使用N个BV,该N个BV在帧内块复制模式中实现最小成本。
c、在一个示例中,当样点字符串包含块的部分样点时,可以在SV估计过程中使用N个BV,该N个BV在帧内块复制模式中实现最小成本。
d、在一个示例中,对于包括块的所有样点的第一样点字符串和包括块的部分样点的第二样点字符串,N可以不同。
e、N对于具有不同尺寸的块可以是不同的。
13、提出将BV索引(例如,cbvp_index指示BV预测列表中的哪个BV被当前块使用)约束为小于一致性比特流中的BV预测列表中的BV的数量。
a、在一个示例中,当BV预测列表中有N个(N是整数)BV时,BV索引被约束为小于或等于N–1。
b、或者,此外,当BV预测列表中不存在元素时,提出将当前块的BV是否来自BV预测列表的指示约束为假,即,将当前块中的BV约束为不来自BV预测列表。
14、提出将SV索引(例如,sv_recent_idx指示样点字符串使用帧内历史运动矢量预测列表中的哪个SV/BV)约束为小于一致性比特流中的帧内历史运动矢量预测列表中元素的数量。
a、或者,此外,当帧内历史运动矢量预测列表中不存在元素时,提出将当前样点字符串的SV是否来自帧内历史运动矢量预测列表的指示(例如,sv_recent_flag)约束为假,即,当前样点字符串的SV被约束为不来自帧内历史运动矢量预测列表。
15、提出了是否/如何将与参考块(例如,紧邻或/和非紧邻临近块)的第一样点字符串相关联的SV(样点字符串矢量)插入到包括用于对当前块的BV或/和SV进行编解码的先前编解码/解码的BV或/和SV的第一列表(例如IBC merge表或/和IBC AMVP表或/和SVmerge表或/和SV AMVP表),可以取决于第一样点字符串的长度和/或位置和/或形状,和/或当前块和/或参考块的块尺寸。在以下讨论中,W和H分别表示参考块(例如,紧邻或/和非紧邻临近块)的宽度和高度,L是样点字符串的长度。
a、在一个示例中,如果第一样点字符串形成矩形,则不允许将与第一样点字符串相关联的SV插入到第一列表中。
b、在一个示例中,如果样点字符串的长度L等于某些值,例如W的倍数,则不允许将与第一样点字符串相关联的SV插入到第一列表中。
i.在一个示例中,L%W等于0。
ii.或者,如果L%W==0和/或L!=W,则不允许将第一样点字符串插入到第一列表中。
iii.或者,如果L!=W,则不允许将第一样点字符串插入到第一列表中。
iv.在一个示例中,如果样点字符串的长度L等于N*W,则不允许将与第一样点字符串相关联的SV插入到第一列表中,其中N是整数。
1.在一个示例中,N>0。
2.在一个示例中,N>1。
3.在一个示例中,N<=H。
c、或者,只有当样点字符串的长度L等于N*W时,才可以将与第一样点字符串相关联的SV插入到第一列表中,其中N是特定数字。
i.例如,N=0.25、0.5、1、1.5…
d、或者,如果与第一样点字符串相关联的SV位于特定位置,则不允许将该SV插入到第一列表中。
i.在一个示例中,第一样点字符串是紧邻或/和非紧邻临近块的最后(或底部)样点字符串。
ii.在一个示例中,第一样点字符串是紧邻或/和非紧邻临近块的第一(或顶部)样点字符串。
iii.在一个示例中,第一样点字符串是紧邻或/和非紧邻临近块的第N个(从顶部到底部)样点字符串。
e、或者,如果与第一样点字符串相关联的SV位于特定位置,则允许将该SV插入到第一列表中。
i.在一个示例中,第一样点字符串是紧邻或/和非紧邻临近块的最后(或底部)样点字符串。
ii.在一个示例中,第一样点字符串是紧邻或/和非紧邻临近块的第一(或顶部)样点字符串。
iii.在一个示例中,第一样点字符串是紧邻或/和非紧邻临近块的第N个(从顶部到底部)样点字符串。
f、或者,如果在紧邻或/和非紧邻临近块中不是所有样点字符串都具有矩形形状,则允许将与第一样点字符串相关联的SV插入到第一列表中。
g、在该项目符号中,语句“将与紧邻或/和非紧邻临近块的第一样点字符串相关联的SV(样点字符串矢量)插入到包括用于对当前块的BV或/和SV进行编解码的先前编解码/解码的BV或/和SV的第一列表中”,也可以替换为“将与紧邻或/和非紧邻临近块的第一样点字符串相关联的SV(样点字符串矢量)作为对当前块的BV或/和SV进行编解码的预测”,或“使用与紧邻或非紧邻临近相邻块的第一样点字符串相关联的SV(样点字符串矢量)对当前块BV或/和SV进行编解码”。
16、提出是否/如何存储与当前块的第一样点字符串相关联的SV(样点字符串矢量)可以取决于第一样点字符串的长度和/或位置和/或形状。在下面的讨论中,W和H分别表示当前块的宽度和高度,L是样点字符串的长度。
a、SV可以被存储以用于对后续块的BV或/和SV进行编解码。
i.在一个示例中,SV可以被存储以被插入到包括先前编解码/解码的BV或/和SV的列表中,该列表用于对后续块的BV或/和SV进行编解码(例如IBC merge表或/和IBC AMVP表或/SV merge表或/和SV AMVP表)。
ii.在一个示例中,SV可以被存储以用作对后续块的BV或/和SV进行编解码的预测。
b、如果决定不存储SV,则相关联的样点/位置/块/子块可以被标记为“不可用”、“非帧内编解码”、“帧间编解码”或“BV/SV不可用”。
c、在一个示例中,如果第一样点字符串形成矩形,则不存储与第一样点字符串相关联的SV。
d、在一个示例中,如果样点字符串的长度L等于W的倍数,例如L%W等于0,则不存储与第一样点字符串相关联的SV。
i.或者,如果L%W==0和/或L!=W,则不存储第一样点字符串。
ii.或者,如果L!=W,则不存储第一样点字符串。
e、在一个示例中,如果样点字符串的长度L等于N*W,则不存储与第一样点字符串相关联的SV,其中N是整数。
i.在一个示例中,N>0。
ii.在一个示例中,N>1。
iii.在一个示例中,N<=H。
f、或者,只有当样点字符串的长度L等于N*W时,才可以存储与第一样点字符串相关联的SV,其中N是特定数字。
i.例如,N=0.25、0.5、1、1.5…
g、或者,如果与第一样点字符串相关联的SV位于特定位置,则不存储该SV。
i.在一个示例中,第一样点字符串是当前块的最后(或底部)样点字符串。
ii.在一个示例中,第一样点字符串是当前块的第一(或顶部)样点字符串。
iii.在一个示例中,第一样点字符串是当前块的第N个(从顶部到底部)样点字符串。
h、或者,如果与第一样点字符串相关联的SV位于特定位置,则可以存储该SV。
i.在一个示例中,第一样点字符串是当前块的最后(或底部)样点字符串。
ii.在一个示例中,第一样点字符串是当前块的第一(或顶部)样点字符串。
iii.在一个示例中,第一样点字符串是当前块的第N个(从顶部到底部)样点字符串。
i、或者,如果不是当前块中的所有样点字符串都具有矩形形状,则可以存储与第一样点字符串相关联的SV。
5.实施例
下面在本节中示出了一些对于本发明上述总结的一些方面的示例实施例,可应用于VVC规范。大多数已添加或修改的相关部分都用粗体、下划线和斜体表示,例如“使用A B”,一些已删除的部分用斜体表示,并用粗体双括号括起来,例如“基于[[A和]]B”。还有一些其他变化是编辑性质的,因此没有突出显示。
5.1实施例#1
第9.5.6.3.2节块矢量预测
首先,按照以下步骤构建类别blockMotionClassY(Y=0~6):
a)将可选的块复制帧内预测历史运动信息候选数NumAllowedHbvpCand初始化为Min(CntHbvp,NumOfHbvpCand)。
b)如果NumAllowedHbvpCand等于0,并且MvPredXBv和MvPredYBv都等于0,则结束导出过程,否则继续执行以下步骤。
c)否则,Y从0到6,并且每个类blockMotionClassY中用于块复制的帧内预测的运动信息候选cntClassY的数目被初始化为0。对于X=0~NumAllowedHbvpCand-1,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于则将HbvpCandidateList[X]添加到blockMotionClass0,并将cntClassY的值加1;
2)如果cntCandX大于或等于3,则将HbvpCandidateList[X]添加到blockMotionClass1,并将cntClassY的值加1;
3)如果xCandX小于xCur且yCandX小于yCur,则将HbvpCandidateList[X]添加到blockMotionClass4,并将cntClassY的值加1;
4)否则,如果xCandX大于或等于xCur+widthCur,则将HbvpCandidateList[X]添加到blockMotionClass5,并将cntClassY的值加1;
5)否则,如果yCandX大于或等于yCur+heightCur,则将HbvpCandidateList[X]添加到blockMotionClass6,并将cntClassY的值加1;
6)否则,如果yCandX小于yCur,则将HbvpCandidateList[X]添加到blockMotionClass3,并将cntClassY的值加1;
7)否则,将HbvpCandidateList[X]添加到blockMotionClass2,并将cntClassY的值加1。
然后,将blockMotionClassY中帧内复制运动信息的块矢量标记为bvClassY,并根据以下方法推导候选类列表CbvpCandidateList:
a)将cntCbvp、cntCheck和Y初始化为0;
b)如果cntClassY的值大于0,执行以下步骤:
1)将candIdx初始化为0;
2)如果cntCbvp等于0,则CbvpCandidateList[cntCbvp]的块矢量等于bvClassY,cntCbwp加1,并且执行步骤c);
3)否则,如果CbvpCandidateList[candIdx]的块矢量与bvClassY相同,则转到步骤c);
4)否则,将candIdx加1,如果candIdx小于cntCheck,则转到步骤3);
5)否则,CbvpCandidateList[cntCbvp]的块矢量等于bvClassY,cntCbvp加1。
c)将Y的值加1,并且执行以下步骤:
1)如果Y的值小于或等于2,则将cntCheck的值设置为cntCbvp,然后继续执行步骤b);
2)否则,如果Y小于7,则继续步骤b);
3)否则,推导CbvpCandidateList的过程结束。
如果cntCbvp等于0,则MvPredXBv和MvPredYBv都等于0。否则,MvRedXBv和MvRedYBv分别等于CbvpCandidateList[CbvpIndex]的横坐标和纵坐标。
5.2实施例#2
1.1.1.1.1块矢量预测
当前预测单元的宽度和高度分别表示为widthCur和heightCur,当前预测单元左上角的水平坐标和垂直坐标分别表示为xCur和yCur。对于X=0~NumOfIntraHmvpCand-1,IntraHmvpCandidateList[X]的宽度和高度表示为widthCandX和heightCandX,IntraHmvpCandidateList[X]左上角的水平和垂直坐标表示为xCandX和yCandX,IntraHmvpCandidate List[X]的尺寸表示为sizeCandX,IntraHmvpCandidateList[X]的重复数表示为cntCandX,并且IntraHmvCandidateList[X]的位移矢量表示为intraMvCandX。
首先,按照以下步骤构建类别blockMotionClassY(Y=0~6):
a)将可选的块复制帧内预测历史运动信息候选数NumAllowedHbvpCand初始化为Min(CntIntraHmbvp,NumOfIntraHmvpCand)。
b)如果NumAllowedHbvpCand等于0,则不执行块矢量预测,并结束导出过程,否则,继续执行以下步骤。
c)否则,Y从0到6,cbvpValidClassY被初始化为0。
d)如果CbvpIndex等于0,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)如果cbvpValidClass0等于1,则结束分类过程;
e)如果CbvpIndex等于1,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)否则,如果cntCandX大于或等于3,cbvpValidClass1等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass1中,并使cbvpValidClass1等于1;
3)如果cbvpValidClass1等于1,则结束分类过程;
f)如果CbvpIndex等于2,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)否则,如果cntCandX大于或等于3,cbvpValidClass1等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass1中,并使cbvpValidClass1等于1;
3)否则,如果xCandX小于xCur,yCandX大于或等于yCur,并且yCandX小于yCur+heightCur,并且cbvpValidClass2等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass2,并使cbvpValidClass2等于1;
4)如果cbvpValidClass2等于1,则结束分类过程;
g)如果CbvpIndex等于3,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)否则,如果cntCandX大于或等于3,cbvpValidClass1等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass1中,并使cbvpValidiClass1等于1;
3)否则,如果yCandX小于yCur,且xCandX大于或等于xCur,且xCandX小于xCur+widthCur,且cbvpValidClass3等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass3,并使cbvpValidClass3等于1;
4)如果cbvpValidClass3等于1,则结束分类过程;
h)如果CbvpIndex等于4,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)否则,如果cntCandX大于或等于3,cbvpValidClass1等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass1中,并使cbvpValidClass1等于1;
3)否则,如果xCandX小于xCur,yCandX小于yCur,并且cbvpValidClass4等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass4中,并使cbvpValidClass4等于1;
4)如果cbvpValidClass4等于1,则结束分类过程;
i)如果CbvpIndex等于5,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)否则,如果cntCandX大于或等于3,cbvpValidClass1等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass1中,并使cbvpValidiClass1等于1;
3)否则,如果xCandX大于或等于xCur+widthCur,并且yCandX小于yCur,并且cbvpValidClass5等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass5中,并使cbvpValidClass5等于1;
4)如果cbvpValidClass5等于1,则结束分类过程;
j)如果CbvpIndex等于6,对于X=NumAllowedHbvpCand-1~0,HbvpCandidateList[X]分类如下:
1)如果widthCandX*heightCandX大于或等于64,且cbvpValidClass0等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass0中,并使cbvpValidClass0等于1;
2)否则,如果cntCandX大于或等于3,cbvpValidClass1等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass1中,并使cbvpValidClass1等于1;
3)否则,如果yCandX大于或等于yCur+heightCur,xCandX小于xCur,并且cbvpValidClass6等于0,则将IntraHmvpCandidateList[X]添加到blockMotionClass6中,并使cbvpValidClass6等于1;
4)如果cbvpValidClass6等于1,则结束分类过程。
然后,blockMotionClassY中的帧内块复制运动信息的块矢量被表示为bvClassY,并且对于Y=0~6,BvpPosValidClassY被初始化为1。设Y等于CbvpIndex,候选类CbvpCandidateList[CbvpIndex]导出如下:
a)如果cbvpValidClassY等于1,则CbvpCandidateList[CbvpIndex]的块矢量等于bvClassY;
b)否则,基于空域临近块矢量候选BlockMotionSpatialCandidate推导候选类CbvpCandidateList[CbvpIndex],如下所示:
1)如果CbvpIndex是偶数,则候选类CbvpCandidateList[CbvpIndex]推导如下:
a)如果当前编解码单元属于I图片,并且左上角的坐标为(xCur-8,yCur+heightCur/2)的位置所在的块已经被重建,并且属于与当前编解码单元相同的CTU,并且是字符串复制帧内预测模式或块复制帧内预测模式,则BlockMotionSpatialCandidateA等于该位置所在的4×4子块中的按照扫描顺序的最后一个字符串矢量或块矢量;
b)否则,如果左上角坐标为(xCur-4,yCur+heightCur/2)的当前编解码单元的位置所在的块已经被重建,并且是字符串复制帧内预测模式,则BlockMotionSpatialCandidateA等于该位置所在的4×4子块中的按照扫描顺序的最后一个字符串矢量;
c)如果BlockMotionSpatialCandidateA存在,并且最后一个字符串的字符串长度StrLen满足条件StrLen%widthCandA!=0,则CbvpCandidateList[CbvpIndex]的块矢量等于BlockMotionSpatialCandidateA;
d)否则,BvpPosValidClassY等于-1。
2)否则,候选类CbvpCandidateList[CbvpIndex]推导如下:
a)如果当前编解码单元属于I图片,并且左上角的坐标为(xCur+widthCur/2,yCur-8)的位置所在的块已经被重建,并且属于与当前编解码单元相同的CTU,并且是字符串复制帧内预测模式或块复制帧内预测模式,则BlockMotionSpatialCandidateB等于该位置所在的4×4子块中的按照扫描顺序的最后一个字符串矢量或块矢量。
b)否则,如果左上角的坐标为(xCur+widthCur/2,yCur-4)的当前编解码单元的位置所在的块已经被重建,并且是字符串复制帧内预测模式,则BlockMotionSpatialCandidateB等于该位置所在的4×4子块中的按照扫描顺序的最后一个字符串矢量。
c)如果BlockMotionSpatialCandidateB存在,并且最后一个字符串的字符串长度StrLen满足条件StrLen%widthCandB!=0,则CbvpCandidateList[CbvpIndex]的块矢量等于BlockMotionSpatialCandidateB;
d)否则,BvpPosValidClassY等于-1。
如果BvpPosValidClassCbvpIndex等于-1,则不执行块矢量预测。否则,MvRedXBv和MvRedYBv分别等于CbvpCandidateList[CbvpIndex]的水平坐标和垂直坐标。
图7示出了可以实施本公开各种技术的示例视频处理系统7000的框图。各种实现可以包括系统7000的一些或所有组件。系统7000可以包括用于接收视频内容的输入7002。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以以压缩或编码格式接收。输入7002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括例如以太网、无源光网络(passive optical network,PON)等的有线接口和例如Wi-Fi或蜂窝接口的无线接口。
系统7000可以包括编解码组件7004,编解码组件7004可以实现本公开中描述的各种编解码或编码方法。编解码组件7004可以降低从输入7002到编解码组件7004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件7004的输出可以被存储,或者经由如组件7006所表示的通信连接而被传输。在输入7002处接收到的视频的存储或通信的比特流(或编解码)表示可以由组件7008使用,组件7008用于生成发送到显示接口7010的像素值或可显示视频。从比特流表示生成用户可观看视频的过程有时称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但应当理解,编解码工具或操作在编码器处使用,并且反转编码结果的相应解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(universal serialbus,USB)或高清多媒体接口(high definition multimedia interface,HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本公开中描述的技术可以实施在各种电子设备中,例如移动电话、笔记本电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图8是视频处理装置8000的框图。装置8000可用于实现本公开中描述的一种或多种方法。装置8000可以位于智能手机、平板电脑、计算机、物联网(Internet of Things,IoT)接收器等中。装置8000可以包括一个或多个处理器8002、一个或多个存储器8004和视频处理硬件8006。(多个)处理器8002可以被配置为实现本公开中描述的一种或多种方法(例如,在图12-14中)。(多个)存储器8004可用于存储用于实现本公开描述的方法和技术的数据和代码。视频处理硬件8006可以在硬件电路中使用以实现本公开中描述的一些技术。在一些实施例中,硬件8006可以部分或全部位于一个或多个处理器8002中,例如图形处理器。
图9是说明可利用本公开的技术的示例视频编解码系统100的框图。如图9所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110可生成编码的视频数据,源设备110可被称为视频编码设备。目标设备120可解码由源设备110产生的编码的视频数据,目标设备120可称为视频解码装置。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括例如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一幅或多幅图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的位序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。关联数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由I/O接口116直接发送到目标设备120。编码的视频数据也可以存储在存储介质/服务器130b上以供目标设备120访问。
目标设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取已编码的视频数据。视频解码器124可解码已编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目标设备120集成,或者可以在目标设备120的外部,目标设备120被配置为与外部显示设备接口。
视频编码器114和视频解码器124可以根据视频压缩标准操作,例如高效视频编码(HEVC)标准、多功能视频编码(VVC)标准和其他当前和/或其他标准。
图10是说明视频编码器200的示例的框图,视频编码器200可以是图9中说明的系统100中的视频编码器114。
视频编码器200可以配置为执行本公开的任何或所有技术。在如图10所示的示例中,视频编码器200包括多个功能组件。本公开中所描述的技术可在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为执行本公开中所描述的技术中的任一或全部。
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编解码单元214。
在其他示例中,视频编码器200可包括更多、更少或不同功能的组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,例如运动估计单元204和运动补偿单元205之类的一些组件可以是高度集成的,但是出于描述的目的而在图10的示例中被分开表示。
分割单元201可将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块的尺寸。
模式选择单元203可以例如基于误差结果来选择编解码模式(帧内或帧间)之一,并将所得帧内或帧间编解码块提供给残差生成单元207以生成残差块数据并且重建单元212重建编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的除了与当前视频块相关联的图片之外的图片的运动信息和解码样点来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以对当前视频块的参考视频块搜索表0或1的参考图片。运动估计单元204可接着产生指示表0或表1中包含参考视频块的参考图片的参考索引和指示当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以对当前视频块的参考视频块搜索表0中的参考图片,并且还可以对当前视频块的参考视频块搜索表1中的参考图片。运动估计单元204可接着产生指示表0和表1中的参考图片的参考索引,其包含参考视频块和指示参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集以用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集。相反,运动估计单元204可参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可确定当前视频块的运动信息与临近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可在与当前视频块相关联的语法结构中指示向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。
在另一示例中,运动估计单元204可在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(motion vector difference,MVD)。运动矢量差表示当前视频块的运动矢量与指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器200可以预测性地信令通知运动矢量。可由视频编码器200实施的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差产生单元207可通过从当前视频块减去(例如,由负号指示)当前视频块的(多个)预测视频块来产生当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,对于当前视频块,例如在跳过模式中,可以不存在当前视频块的残差数据,并且残差生成单元207可以不执行减法运算。
变换处理单元208可通过对与当前视频块相关联的残差视频块应用一个或多个变换来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208产生与当前视频块相关联的变换系数视频块之后,量化单元209可基于与当前视频块相关联的一个或多个量化参数(quantization parameter,QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点,以产生存储在缓冲器213中的与当前块相关联的重建视频块。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
熵编解码单元214可以从视频编码器200的其他功能组件接收数据。当熵编解码单元214接收数据时,熵编解码单元214可以执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
图11是说明可以说明视频解码器300的示例的框图,视频解码器300可以是图9所示的系统100中的视频解码器114。
视频解码器300可以配置为执行本公开的任何或所有技术。在图11所示的示例中,视频解码器300包括多个功能组件。本公开中所描述的技术可在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为执行本公开中所描述的技术中的任一或全部。
在如图11所示的示例,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(图10)描述的编码通道相反的解码通道。
熵解码单元301可以取得编码的比特流。编码的比特流可以包括熵编码的视频数据(例如,编码的视频数据块)。熵解码单元301可以解码熵编码的视频数据,并且根据熵解码的视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片表索引和其他运动信息的运动信息。例如,运动补偿单元302可以通过执行AMVP和merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。用于以子像素精度的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可使用在视频块的编码期间由视频编码器200使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可根据接收的语法信息来确定由视频编码器200使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码的视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,分割信息描述编码视频序列的图片的每个宏块如何被分割,模式指示如何编码每个分割,每个帧间编解码块的一个或多个参考帧(和参考帧表),以及解码编码视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域紧邻块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化视频块系数进行逆量化,即去量化。逆变换单元303应用逆变换。
重建单元306可将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加以形成解码块。如果需要,还可以应用去方块滤波器来滤波解码的块,以便去除块状伪影。然后将解码的视频块存储在缓冲器307中,该缓冲器为随后的运动补偿/帧内预测提供参考块并且还产生用于在显示设备上呈现的解码视频。
图12-14示出了可以在例如图7-11所示的实施例中实现上述技术方案的示例方法。
图12示出了视频处理的示例方法1200的流程图。方法1200包括,在操作1210,对于包括当前块的视频和视频的比特流之间的转换,根据规则确定当前块的一个或多个非紧邻临近块的块矢量对于当前块的块矢量的预测的可用性,规则规定检查一个或多个非紧邻临近块的预定义顺序。
方法1200包括,在操作1220,基于该确定执行转换。
图13示出了视频处理的示例方法1300的流程图。方法1300包括,在操作1310,对于包括当前块的视频和视频的比特流之间的转换,确定是否以及如何存储与当前块的第一样点字符串相关联的样点字符串矢量。
方法1300包括,在操作1320处,基于该确定执行转换,该确定是基于第一样点字符串的长度、位置或形状。
图14示出了视频处理的示例方法1400的流程图。方法1400包括,在操作1410,对于包括当前块的视频和视频的比特流之间的转换,确定是否以及如何将与参考块的第一样点字符串相关联的样点字符串矢量插入到第一列表中,第一列表包括先前编解码或解码的块矢量或样点字符串矢量。
方法1400包括,在操作1420处,基于该确定执行转换,该确定是基于第一样点字符串的长度、位置或形状,当前块的尺寸或参考块的尺寸。
以下解决方案示出了前一节中讨论的技术的示例实施例(例如,项目1-16)。
接下来提供一些实施例优选的解决方案列表。
A1.一种视频处理方法,包括:对于包括当前块的视频和所述视频的比特流之间的转换,根据规则确定所述当前块的一个或多个非紧邻临近块的块矢量对于所述当前块的块矢量的预测的可用性;以及基于所述确定执行所述转换,其中,所述规则规定检查所述一个或多个非紧邻临近块的预定义顺序。
A2.解决方案A1所述的方法,其中,所述预定义顺序是基于编解码信息。
A3.解决方案A1所述的方法,其中,所述一个或多个非紧邻临近块的第一非紧邻临近块位于图片中,所述图片不同于包括所述当前块的当前图片。
A4.解决方案A3所述的方法,其中,所述图片是所述当前块的参考图片。
A5.解决方案A3所述的方法,其中,所述多个非紧邻临近块的每个非紧邻临近块位于所述图片中。
A6.解决方案A3所述的方法,其中,所述多个非紧邻临近块的第二非紧邻临近块位于所述当前图片中。
A7.一种视频处理方法,包括:对于包括当前块的视频和所述视频的比特流之间的转换,确定是否以及如何存储与所述当前块的第一样点字符串相关联的样点字符串矢量;以及基于所述确定执行所述转换,其中,所述确定是基于所述第一样点字符串的长度、位置或形状。
A8.解决方案A7所述的方法,其中,所述样点字符串矢量用于编解码后续块的块矢量或所述后续块的样点字符串矢量。
A9.解决方案A8所述的方法,其中,将所述样点字符串矢量存储和插入到表中,所述表包括先前编解码或解码的块矢量或样点字符串矢量。
A10.解决方案A9所述的方法,其中,所述表是帧内块复制(IBC)merge表、IBC高级运动矢量预测AMVP表、样点字符串矢量merge表或样点字符串矢量AMVP表。
A11.解决方案A8所述的方法,其中,将所述样点字符串矢量存储和用作对所述后续块的块矢量或所述后续块的样点字符串矢量进行编解码的预测。
A12.解决方案A7所述的方法,其中,不存储所述样点字符串矢量,将相关联的样点、位置、块或子块标记为不可用、非帧内编解码、帧间编解码、块矢量不可用或样点字符串矢量不可用。
A13.解决方案A7所述的方法,其中,响应于形成矩形的所述第一样点字符串的所述形状,不存储所述样点字符串矢量。
A14.解决方案A7所述的方法,其中,所述当前块的高度H、所述当前块的宽度W和所述第一样点字符串的长度L是非负整数。
A15.解决方案A14所述的方法,其中,响应于L%W等于零,不存储所述样点字符串矢量,并且其中,%是模运算符。
A16.解决方案A14或A15所述的方法,其中,L不等于W。
A17.解决方案A14所述的方法,其中,响应于L等于N×W,不存储所述样点字符串矢量,并且其中,N是非负整数。
A18.解决方案A17所述的方法,其中,N>0。
A19.解决方案A17所述的方法,其中,N>1。
A20.解决方案A17所述的方法,其中,N≤H。
A21.解决方案A14所述的方法,其中,响应于L等于N×W,存储所述样点字符串矢量,并且其中,N是正实数。
A22.解决方案A21所述的方法,其中,N=0.25、0.5、1.0、1.5或2.0。
A23.解决方案A7所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,不存储所述样点字符串矢量。
A24.解决方案A7所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,存储所述样点字符串矢量。
A25.解决方案A23或A24所述的方法,其中,所述特定位置是所述当前块的底部样点字符串。
A26.解决方案A23或A24所述的方法,其中,所述特定位置是所述当前块的顶部样点字符串。
A27.解决方案A23或A24所述的方法,其中,所述特定位置是从所述当前块的顶部样点字符串起的第N个样点字符串,并且其中,N是正整数。
A28.解决方案A7所述的方法,其中,响应于所述当前块中的至少一个样点字符串的所述形状是非矩形,存储所述样点字符串矢量。
A29.解决方案A7-A28任一项所述的方法,其中,采用样点字符串编解码模式对所述当前块进行编解码,在所述样点字符串编解码模式中,基于所述样点字符串矢量,通过复制包括所述当前块的当前图片中的像素组直接重建所述第一样点字符串。
A30.一种视频处理方法,包括:对于包括当前块的视频和所述视频的比特流之间的转换,确定是否以及如何将与参考块的第一样点字符串相关联的样点字符串矢量插入到第一列表中,所述第一列表包括先前编解码或解码的块矢量或样点字符串矢量;以及基于所述确定执行所述转换,其中,所述确定是基于所述第一样点字符串的长度、位置或形状,所述当前块的尺寸或所述参考块的尺寸。
A31.解决方案A30所述的方法,其中,所参考块是紧邻临近块或非紧邻临近块。
A32.解决方案A30或A31所述的方法,其中,所述第一列表是帧内块复制(IBC)merge表、IBC高级运动矢量预测AMVP表、样点字符串矢量merge表或样点字符串矢量AMVP表。
A33.解决方案A30-A32任一项所述的方法,其中,响应于形成矩形的所述第一样点字符串的所述形状,不将所述第一样点字符串矢量插入到所述第一列表。
A34.解决方案A30-A32任一项所述的方法,其中,所述参考块的高度H、所述参考块的宽度W和所述第一样点字符串的长度L是非负整数。
A35.解决方案A34所述的方法,其中,响应于L是W的倍数,不将所述第一样点字符串矢量插入到所述第一列表。
A36.解决方案A35所述的方法,其中,L%W等于零,%是模运算符。
A37.解决方案A35或A36所述的方法,其中,L不等于W。
A38.解决方案A35所述的方法,其中,L等于N×W,N是非负整数。
A39.解决方案A38所述的方法,其中,N>0。
A40.解决方案A38所述的方法,其中,N>1。
A41.解决方案A38所述的方法,其中,N≤H。
A42.解决方案A34所述的方法,其中,响应于L等于N×W,将所述样点字符串矢量插入到所述第一列表,并且其中,N是正实数。
A43.解决方案A42所述的方法,其中,N=0.25、0.5、1.0、1.5或2.0。
A44.解决方案A30-A32任一项所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,不将所述样点字符串矢量插入到所述第一列表。
A45.解决方案A30-A32任一项所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,将所述样点字符串矢量插入到所述第一列表。
A46.解决方案A44或A45所述的方法,其中,所述特定位置是所述当前块的底部样点字符串。
A47.解决方案A44或A45所述的方法,其中,所述特定位置是所述当前块的顶部样点字符串。
A48.解决方案A44或A45所述的方法,其中,所述特定位置是从所述当前块的顶部样点字符串起的第N个样点字符串,并且其中,N是正整数。
A49.解决方案A30-A32任一项所述的方法,其中,响应于所述参考块中的至少一个样点字符串的所述形状是非矩形,将所述样点字符串矢量插入到所述第一列表。
A50.解决方案A1-A49任一项所述的方法,其中,所述转换包括从所述比特流中解码所述视频。
A51.解决方案A1-A49任一项所述的方法,其中,所述转换包括将所述当前视频块编码到所述比特流中。
A52.一种将表示视频的比特流存储到计算机可读记录介质中的方法,包括:根据解决方案A1-A49中任一项或多项所述的方法从所述视频生成所述比特流;以及将所述比特流存储在所述计算机可读记录介质中。
A53.一种视频处理装置,包括处理器,所述处理器被配置为实施解决方案A1-A52中任一项或多项所述的方法。
A54.一种其上存储有指令的计算机可读介质,其中,所述指令在被执行时,使处理器实施解决方案A1-A52中任一项或多项所述的方法。
A55.一种计算机可读介质,存储有解决方案A1-A52中任一项或多项生成的所述比特流。
A56.一种存储比特流的视频处理装置,其中,所述视频处理装置被配置为实施解决方案A1-A52中任一项或多项所述的方法。
接下来提供一些实施例优选的另一解决方案的列表。
P1.一种视频处理方法,包括通过根据规则添加与所述当前视频块的一个或多个非紧邻块相对应的一个或多个块矢量,为视频的视频块和所述视频的编解码表示之间的转换构建运动候选的表,并基于所述运动候选的表执行所述转换。
P2.解决方案P1的方法,其中,所述表包括帧内块复制merge表。
P3.解决方案P1至P2中任一项所述的方法,其中,所述表包括高级运动矢量预测表。
P4.解决方案P1至P3中任一项所述的方法,其中,所述规则规定基于所述一个或多个非紧邻临近块相对于所述当前视频块的位置来检查所述一或多个非紧邻块的运动候选的顺序。
P5.解决方案P4所述的方法,其中,所述顺序包括首先检查所述当前块的左上临近块,然后检查右上临近块、然后检查左下临近块、然后检查上临近块和左临近块。
P6.解决方案P4的方法,其中,所述顺序包括:当前块的左临近块、上临近块、左上临近块、右上临近块和左下临近块。
P7.一种视频处理方法,包括:对于视频的当前视频块和所述视频的比特流表示之间的转换,确定是否满足一个或多个非紧邻临近块的一个或多个块矢量的块矢量的条件,其中,所述条件取决于来自基于历史的块矢量预测表的块矢量的可用性或紧邻临近块的块矢量的可用性;以及根据所述确定执行所述转换。
P8.解决方案P7所述的方法,其中,添加所述一个或多个非紧邻临近块的所述块矢量的所述条件是将所有基于历史的块矢量插入到所述表中。
P9.一种视频处理方法,包括:对于视频的当前视频块和所述视频的编解码表示之间的转换,确定基于历史的块矢量预测(HBVP)表中的块矢量是否根据取决于与所述块矢量相关联的块尺寸或所述当前视频块的尺寸的规则被分类为第N类;以及基于所述确定执行所述转换。
P10.解决方案P9所述的方法,其中,所述规则规定,在与所述块矢量相关联的所述块尺寸是所述当前视频块的所述尺寸的因子倍数的情况下对所述块矢量进行分类。
P11.解决方法P10所述的方法,其中,所述因子等于1。
P12.一种视频处理方法,包括:对于视频的当前视频块和所述视频的编解码表示之间的转换,基于规则确定一维搜索范围以确定块矢量,所述规则是基于所述当前视频块的属性;以及根据所述确定执行所述转换。
P13.解决方案P12所述的方法,其中,所述属性包括所述当前视频块的坐标,并且其中,所述属性能够确定所述搜索范围。
P14.解决方案P12所述的方法,其中所述属性包括所述当前视频块的尺寸。
P15.解决方案P1至P14中任一项所述的方法,其中,所述执行所述转换包括对所述视频进行编码以生成所述编解码表示。
P16.解决方案P1至P14中任一项所述的方法,其中,所述执行所述转换包括解析和解码所述编解码表示以生成所述视频。
P17.一种视频解码装置,包括处理器,所述处理器被配置为执行解决方案P1至P16中的一个或多个所述的方法。
P18.一种视频编码设备,包括处理器,所述处理器被配置为执行解决方案P1至P16中的一个或多个所述的方法。
P19.一种其上存储有计算机代码的计算机程序产品,当所述代码被处理器执行时,所述代码使所述处理器执行解决方案P1至P16中任一所述的方法。
在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。例如,如语法所定义的,当前视频块的比特流表示(或简述为比特流)可以对应于在比特流内共位的或分布在不同位置的比特。例如,宏块可以根据变换和编解码的误差残差值进行编码,并且还可以在比特流中的标头和其他字段中使用比特。
本文件中描述的公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文件中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的内容和其他实施例可以实施为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文件中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本组件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。

Claims (56)

1.一种视频处理方法,包括:
对于包括当前块的视频和所述视频的比特流之间的转换,根据规则确定所述当前块的一个或多个非紧邻临近块的块矢量对于所述当前块的块矢量的预测的可用性;以及
基于所述确定执行所述转换,
其中,所述规则规定检查所述一个或多个非紧邻临近块的预定义顺序。
2.根据权利要求1所述的方法,其中,所述预定义顺序是基于编解码信息。
3.根据权利要求1所述的方法,其中,所述一个或多个非紧邻临近块的第一非紧邻临近块位于不同于包括所述当前块的当前图片的图片中。
4.根据权利要求3所述的方法,其中,所述图片是所述当前块的参考图片。
5.根据权利要求3所述的方法,其中,所述多个非紧邻临近块的每个非紧邻临近块位于所述图片中。
6.根据权利要求3所述的方法,其中,所述多个非紧邻临近块的第二非紧邻临近块位于所述当前图片中。
7.一种视频处理方法,包括:
对于包括当前块的视频和所述视频的比特流之间的转换,确定是否以及如何存储与所述当前块的第一样点字符串相关联的样点字符串矢量;以及
基于所述确定执行所述转换,
其中,所述确定是基于所述第一样点字符串的长度、位置或形状。
8.根据权利要求7所述的方法,其中,所述样点字符串矢量用于编解码后续块的块矢量或所述后续块的样点字符串矢量。
9.根据权利要求8所述的方法,其中,将所述样点字符串矢量存储和插入到表中,所述表包括先前编解码或解码的块矢量或样点字符串矢量。
10.根据权利要求9所述的方法,其中,所述表是帧内块复制(IBC)merge表、IBC高级运动矢量预测AMVP表、样点字符串矢量merge表或样点字符串矢量AMVP表。
11.根据权利要求8所述的方法,其中,将所述样点字符串矢量存储和用作对所述后续块的块矢量或所述后续块的样点字符串矢量进行编解码的预测。
12.根据权利要求7所述的方法,其中,不存储所述样点字符串矢量,将相关联的样点、位置、块或子块标记为不可用、非帧内编解码、帧间编解码、块矢量不可用或样点字符串矢量不可用。
13.根据权利要求7所述的方法,其中,响应于所述第一样点字符串的所述形状形成矩形,不存储所述样点字符串矢量。
14.根据权利要求7所述的方法,其中,所述当前块的高度H、所述当前块的宽度W和所述第一样点字符串的长度L是非负整数。
15.根据权利要求14所述的方法,其中,响应于L%W等于零,不存储所述样点字符串矢量,并且其中,%是模运算符。
16.根据权利要求14或15所述的方法,其中,L不等于W。
17.根据权利要求14所述的方法,其中,响应于L等于N×W,不存储所述样点字符串矢量,并且其中,N是非负整数。
18.根据权利要求17所述的方法,其中,N>0。
19.根据权利要求17所述的方法,其中,N>1。
20.根据权利要求17所述的方法,其中,N≤H。
21.根据权利要求14所述的方法,其中,响应于L等于N×W,存储所述样点字符串矢量,并且其中,N是正实数。
22.根据权利要求21所述的方法,其中,N=0.25、0.5、1.0、1.5或2.0。
23.根据权利要求7所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,不存储所述样点字符串矢量。
24.根据权利要求7所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,存储所述样点字符串矢量。
25.根据权利要求23或24所述的方法,其中,所述特定位置是所述当前块的底部样点字符串。
26.根据权利要求23或24所述的方法,其中,所述特定位置是所述当前块的顶部样点字符串。
27.根据权利要求23或24所述的方法,其中,所述特定位置是从所述当前块的顶部样点字符串起的第N个样点字符串,并且其中,N是正整数。
28.根据权利要求7所述的方法,其中,响应于所述当前块中的至少一个样点字符串的所述形状是非矩形,存储所述样点字符串矢量。
29.根据权利要求7-28任一项所述的方法,其中,采用样点字符串编解码模式对所述当前块进行编解码,在所述样点字符串编解码模式中,基于所述样点字符串矢量,通过复制包括所述当前块的当前图片中的像素组,直接重建所述第一样点字符串。
30.一种视频处理方法,包括:
对于包括当前块的视频和所述视频的比特流之间的转换,确定是否以及如何将与参考块的第一样点字符串相关联的样点字符串矢量插入到第一列表中,所述第一列表包括先前编解码或解码的块矢量或样点字符串矢量;以及
基于所述确定执行所述转换,
其中,所述确定是基于所述第一样点字符串的长度、位置或形状,所述当前块的尺寸或所述参考块的尺寸。
31.根据权利要求30所述的方法,其中,所参考块是紧邻临近块或非紧邻临近块。
32.根据权利要求30或31所述的方法,其中,所述第一列表是帧内块复制(IBC)merge表、IBC高级运动矢量预测AMVP表、样点字符串矢量merge表或样点字符串矢量AMVP表。
33.根据权利要求30-32任一项所述的方法,其中,响应于所述第一样点字符串的所述形状形成矩形,不将所述第一样点字符串矢量插入到所述第一列表。
34.根据权利要求30-32任一项所述的方法,其中,所述参考块的高度H、所述参考块的宽度W和所述第一样点字符串的长度L是非负整数。
35.根据权利要求34所述的方法,其中,响应于L是W的倍数,不将所述第一样点字符串矢量插入到所述第一列表。
36.根据权利要求35所述的方法,其中,L%W等于零,%是模运算符。
37.根据权利要求35或36所述的方法,其中,L不等于W。
38.根据权利要求35所述的方法,其中,L等于N×W,N是非负整数。
39.根据权利要求38所述的方法,其中,N>0。
40.根据权利要求38所述的方法,其中,N>1。
41.根据权利要求38所述的方法,其中,N≤H。
42.根据权利要求34所述的方法,其中,响应于L等于N×W,将所述样点字符串矢量插入到所述第一列表,并且其中,N是正实数。
43.根据权利要求42所述的方法,其中,N=0.25、0.5、1.0、1.5或2.0。
44.根据权利要求30-32任一项所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,不将所述样点字符串矢量插入到所述第一列表。
45.根据权利要求30-32任一项所述的方法,其中,响应于所述第一样点字符串的所述位置位于特定位置,将所述样点字符串矢量插入到所述第一列表。
46.根据权利要求44或45所述的方法,其中,所述特定位置是所述当前块的底部样点字符串。
47.根据权利要求44或45所述的方法,其中,所述特定位置是所述当前块的顶部样点字符串。
48.根据权利要求44或45所述的方法,其中,所述特定位置是从所述当前块的顶部样点字符串起的第N个样点字符串,并且其中,N是正整数。
49.根据权利要求30-32任一项所述的方法,其中,响应于所述参考块中的至少一个样点字符串的所述形状是非矩形,将所述样点字符串矢量插入到所述第一列表。
50.根据权利要求1-49任一项所述的方法,其中,所述转换包括从所述比特流中解码所述视频。
51.根据权利要求1-49任一项所述的方法,其中,所述转换包括将所述视频编码到所述比特流中。
52.一种将表示视频的比特流存储到计算机可读记录介质中的方法,包括:
根据权利要求1-49中任一项所述的方法从所述视频生成所述比特流;以及
将所述比特流存储在所述计算机可读记录介质中。
53.一种视频处理装置,包括处理器,所述处理器被配置为实施权利要求1-52中任一项所述的方法。
54.一种其上存储有指令的计算机可读介质,其中,所述指令在被执行时,使处理器实施根据权利要求1-52中任一项所述的方法。
55.一种计算机可读介质,存储有根据权利要求1-52中任一项生成的所述比特流。
56.一种存储比特流的视频处理装置,其中,所述视频处理装置被配置为实施根据权利要求1-52中任一项所述的方法。
CN202180071992.5A 2020-10-20 2021-10-20 使用样点字符串矢量的视频编解码 Pending CN116830583A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020122105 2020-10-20
CNPCT/CN2020/122105 2020-10-20
PCT/CN2021/124935 WO2022083631A1 (en) 2020-10-20 2021-10-20 Video coding using sample string vector

Publications (1)

Publication Number Publication Date
CN116830583A true CN116830583A (zh) 2023-09-29

Family

ID=81291590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180071992.5A Pending CN116830583A (zh) 2020-10-20 2021-10-20 使用样点字符串矢量的视频编解码

Country Status (3)

Country Link
US (1) US20230262225A1 (zh)
CN (1) CN116830583A (zh)
WO (1) WO2022083631A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131818B (zh) * 2014-10-01 2023-05-26 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
MX2020012688A (es) * 2018-06-27 2021-02-15 Kt Corp Metodo y aparato para procesar se?ales de video.
CN110855998B (zh) * 2018-08-20 2023-04-11 华为技术有限公司 融合候选者列表构建方法、装置及的编/解方法及装置
WO2020048366A1 (en) * 2018-09-03 2020-03-12 Huawei Technologies Co., Ltd. Coding method, device, system with merge mode

Also Published As

Publication number Publication date
US20230262225A1 (en) 2023-08-17
WO2022083631A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
KR102630415B1 (ko) 코딩 된 비디오의 양자화된 잔차 차동 펄스 코드 변조 표현의 제약
CN114303370B (zh) 视频编解码中预测权重的对准
US20230300379A1 (en) Signaling in transform skip mode
CN111131830B (zh) 重叠块运动补偿的改进
US11438602B2 (en) Coding mode based on a coding tree structure type
US11490089B2 (en) Transform bypass coded residual blocks in digital video
US11431966B2 (en) Intra coded video using quantized residual differential pulse code modulation coding
US12034966B2 (en) Motion vector difference for block with geometric partition
US20230097850A1 (en) Intra block copy using non-adjacent neighboring blocks
WO2021129682A1 (en) Improvements on merge mode
WO2022037628A1 (en) Block vector processing in intra block copy coding
CN113892267A (zh) 使用编解码树结构类型控制编解码模式
US20230262226A1 (en) Sample string processing in intra coding
CN116830583A (zh) 使用样点字符串矢量的视频编解码
US20230276044A1 (en) Constraints on intra block copy using non-adjacent neighboring blocks
CN114598882A (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