CN114208205A - 视频信号处理方法和设备 - Google Patents
视频信号处理方法和设备 Download PDFInfo
- Publication number
- CN114208205A CN114208205A CN202080053632.8A CN202080053632A CN114208205A CN 114208205 A CN114208205 A CN 114208205A CN 202080053632 A CN202080053632 A CN 202080053632A CN 114208205 A CN114208205 A CN 114208205A
- Authority
- CN
- China
- Prior art keywords
- mmvd
- information
- block
- current block
- mode
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的用于处理视频信号的方法包括以下步骤:从比特流解析较高级别具有MVD的合并(MMVD)激活信息(sps_mmvd_enabled_flag),其指示包括当前块的较高级别的MMVD是否是可使用的;如果所述较高级别MMVD激活信息指示激活MMVD,则从所述比特流中解析指示是否在当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);如果所述MMVD合并信息指示在所述当前块中使用MMVD,则解析MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx);以及基于所述MMVD距离相关信息和所述MMVD方向相关信息来获得MMVD信息(mMvdLX),其中所述MMVD信息具有大于或等于‑2^17并且小于或等于2^17‑1的值。
Description
技术领域
本公开涉及一种视频信号处理方法和设备,更具体地,涉及一种用于对视频信号进行编码或解码的视频信号处理方法和设备。
背景技术
压缩编译指代用于通过通信线路发送数字化信息或以适合于存储介质的形式存储信息的一系列信号处理技术。压缩编码的对象包括诸如语音、视频和文本的对象,并且特别地,用于对图像执行压缩编码的技术被称为视频压缩。考虑到空间相关性、时间相关性和随机相关性,通过去除过多的信息来执行对视频信号的压缩编译。然而,随着各种媒体和数据传输媒体的最新发展,需要更有效的视频信号处理方法和装置。
发明内容
技术问题
本公开的目的是提高视频信号的编译效率。
技术方案
根据本公开的实施例的一种用于解码视频信号的方法包括:从比特流解析较高级别具有MVD的合并(MMVD)启用信息(sps_mmvd_enabled_flag),其指示包括当前块的较高级别的MMVD的可用性;如果所述较高级别MMVD启用信息指示启用MMVD,则从所述比特流中解析指示是否在当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);如果所述MMVD合并信息指示在所述当前块中使用MMVD,则解析MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx);以及基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD信息(mMvdLX),其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
根据本公开的实施例的用于解码视频信号的方法中的较高级别是以下中的一个:编译树单元、切片、图块、图块组、图片和序列单元。
根据本公开的实施例的用于解码视频信号的方法进一步包括:生成所述当前块的合并候选列表;基于从所述比特流解析的合并索引从所述合并候选列表选择运动向量;如果所述MMVD合并信息指示在所述当前块中使用MMVD,则通过将所述MMVD信息添加到所述运动向量来获得修改的运动向量;以及基于所述修改的运动向量重构所述当前块,其中所述修改的运动向量具有大于或等于-2^17并且小于或等于2^17-1的值。
根据本公开的实施例的用于解码视频信号的方法中的获得所述MMVD信息(mMvdLX)包括:基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;如果使用第一参考列表和第二参考列表,则基于所述第一参考列表获得在包括所述当前块的当前图片的图片顺序计数(POC)与第一参考图片的POC之间的差作为第一POC差,并且基于所述第二参考列表获得在所述当前图片的POC与第二参考图片的POC之间的差作为第二POC差;以及基于所述MMVD偏移、所述第一POC差、以及所述第二POC差中的至少一个,获得与所述第一参考列表相关的第一MMVD信息和与所述第二参考列表相关的第二MMVD信息,其中所述MMVD信息包括所述第一MMVD信息和所述第二MMVD信息。
根据本公开的实施例的用于解码视频信号的方法包括:如果所述第一POC差与所述第二POC差相同,则获得所述MMVD偏移作为所述第一MMVD信息并且获得所述MMVD偏移作为所述第二MMVD信息。
根据本公开的实施例的用于解码视频信号的方法包括:如果所述第一POC差的绝对值大于或等于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第一MMVD信息;如果所述第一参考图片不是长期参考图片并且所述第二参考图片不是长期参考图片,则通过缩放所述第一MMVD信息来获得所述第二MMVD信息;以及如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第一MMVD信息的绝对值、获得所述第二MMVD信息。
根据本公开的实施例的用于解码视频信号的方法包括:如果所述第一POC差的绝对值小于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第二MMVD信息;如果所述第一参考图片不是长期参考图片并且所述第二参考图片不是长期参考图片,则通过缩放所述第二MMVD信息来获得所述第一MMVD信息;以及如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第二MMVD信息的绝对值、获得所述第一MMVD信息。
根据本公开的实施例的用于解码视频信号的方法中的获得所述MMVD信息(mMvdLX)包括:基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;如果仅使用第一参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第一参考列表相关的第一MMVD信息;以及如果仅使用第二参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第二参考列表相关的第二MMVD信息。
根据本公开的实施例的一种用于解码视频信号的方法包括:从较高级别比特流获得色度分量格式信息;基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;基于所述y轴缩放信息,确定左侧块的位置;基于所述x轴缩放信息,确定上侧块的位置;基于所述左侧块和所述上侧块,确定加权值;通过以合并模式预测所述当前块来获得第一样本;通过以帧内模式预测所述当前块来获得第二样本;以及基于所述加权值、所述第一样本和所述第二样本来获得用于所述当前块的组合预测样本。
根据本公开的实施例的用于解码视频信号的方法中的确定所述加权值包括:如果所述左侧块可用并且所述左侧块的预测模式是帧内预测,则将所述左侧块的码信息(isIntraCodedNeighbourA)设置为真;如果所述左侧块不可用或者所述左侧块的预测模式不是帧内预测,则将所述左侧块的码信息设置为假;如果所述上侧块可用并且所述上侧块的预测模式是帧内预测,则将所述上侧块的码信息(isIntraCodedNeighbourB)设置为真;以及如果所述上侧块不可用或者所述上侧块的预测模式不是帧内预测,则将所述上侧块的码信息设置为假。
根据本公开的实施例的用于解码视频信号的方法中的确定所述加权值包括:如果所述左侧块的码信息和所述上侧块的码信息两者均为真,则确定所述加权值为3;如果所述左侧块的码信息和所述上侧块的码信息两者均为假,则确定所述加权值为1;以及如果所述左侧块的码信息和所述上侧块的码信息中仅一个为真,则确定所述加权值为2。
根据本公开的实施例的用于解码视频信号的方法中的获得所述组合预测样本包括:基于predSamplesComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2来预测所述当前块,其中,predSamplesComb是指所述组合预测样本,w是指所述加权值,predSamplesIntra是指所述第二样本,predSamplesInter是指所述第一样本,[x]是指包括在所述当前块中的样本的x轴坐标,以及[y]是指包括在所述当前块中的样本的y轴坐标。
在根据本公开的实施例的用于解码视频信号的方法中,获得所述x轴缩放信息包括:如果所述当前块的颜色分量是0或者所述宽度相关信息是1,则确定所述x轴缩放信息为0;以及如果所述当前块的颜色分量不是0,并且所述宽度相关信息不是1,则确定所述x轴缩放信息为1,以及获得所述y轴缩放信息包括:如果所述当前块的颜色分量是0或者所述高度相关信息是1,则确定所述y轴缩放信息为0;以及如果所述当前块的颜色分量不是0并且所述高度相关信息不是1,则确定所述y轴缩放信息为1。
在根据本公开的实施例的用于解码视频信号的方法中,所述左侧块的位置是(xCb-1,yCb-1+(cbHeight<<scallFactHeight)),其中xCb是当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbHeight是所述当前块的高度的值,并且scallFactHeight是所述y轴缩放信息,以及所述上侧块的位置是(xCb-1+(cbWidth<<scallFactWidth),yCb-1),其中xCb是所述当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbWidth是所述当前块的宽度的值,并且scallFactWidth是所述x轴缩放信息。
根据本公开的实施例的一种用于解码视频信号的设备包括处理器和存储器,其中基于存储在所述存储器中的指令,所述处理器被配置成:从比特流解析较高级别具有MVD的合并(MMVD)启用信息(sps_mmvd_enabled_flag),其指示包括当前块的较高级别的MMVD的可用性;如果所述较高级别MMVD启用信息指示启用MMVD,则从所述比特流中解析指示是否在当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);如果所述MMVD合并信息指示在所述当前块中使用MMVD,则解析MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx);以及基于所述MMVD距离相关信息和所述MMVD方向相关信息来获得MMVD信息(mMvdLX),其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
根据本公开的实施例的用于解码视频信号的设备中的较高级别是以下中的一个:编译树单元、切片、图块、图块组、图片和序列单元。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:生成所述当前块的合并候选列表;基于从所述比特流解析的合并索引从所述合并候选列表选择运动向量;如果所述MMVD合并信息指示在所述当前块中使用MMVD,则通过将所述MMVD信息添加到所述运动向量来获得修改的运动向量;以及基于所述修改的运动向量重构所述当前块,其中所述修改的运动向量具有大于或等于-2^17并且小于或等于2^17-1的值
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;如果使用第一参考列表和第二参考列表,则基于所述第一参考列表,获得包括所述当前块的当前图片的图片顺序计数(POC)与第一参考图片的图片顺序计数(POC)之间的差作为第一POC差,并且基于所述第二参考列表,获得所述当前图片的图片顺序计数(POC)与第二参考图片的POC之间的差作为第二POC差;以及基于所述MMVD偏移、所述第一POC差、以及所述第二POC差中的至少一个,获得与所述第一参考列表相关的第一MMVD信息和与所述第二参考列表相关的第二MMVD信息,其中所述MMVD信息包括所述第一MMVD信息和所述第二MMVD信息。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述第一POC差与所述第二POC差相同,则获得所述MMVD偏移作为所述第一MMVD信息并且获得所述MMVD偏移作为所述第二MMVD信息。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述第一POC差的绝对值大于或等于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第一MMVD信息;如果所述第一参考图片不是长期参考图片并且所述第二参考图片不是长期参考图片,则通过缩放所述第一MMVD信息来获得所述第二MMVD信息;以及如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第一MMVD信息的绝对值、获得所述第二MMVD信息。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述第一POC差的绝对值小于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第二MMVD信息;如果所述第一参考图片不是长期参考图片并且所述第二参考图片不是长期参考图片,则通过缩放所述第二MMVD信息来获得所述第一MMVD信息;以及如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第二MMVD信息的绝对值、获得所述第一MMVD信息。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;如果仅使用第一参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第一参考列表相关的第一MMVD信息;以及如果仅使用第二参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第二参考列表相关的第二MMVD信息。
根据本公开的实施例的一种用于解码视频信号的设备包括处理器和存储器,其中基于存储在所述存储器中的指令,所述处理器被配置成:从较高级别比特流获得色度分量格式信息;基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;基于所述y轴缩放信息,确定左侧块的位置;基于所述x轴缩放信息,确定上侧块的位置;基于所述左侧块和所述上侧块,确定加权值;通过以合并模式预测所述当前块来获得第一样本;通过以帧内模式预测所述当前块来获得第二样本;以及基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述左侧块可用并且所述左侧块的预测模式是帧内预测,则将所述左侧块的码信息(isIntraCodedNeighbourA)设置为真;如果所述左侧块不可用或者所述左侧块的预测模式不是帧内预测,则将所述左侧块的码信息设置为假;如果所述上侧块可用并且所述上侧块的预测模式是帧内预测,则将所述上侧块的码信息(isIntraCodedNeighbourB)设置为真;以及如果所述上侧块不可用或者所述上侧块的预测模式不是帧内预测,则将所述上侧块的码信息设置为假。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述左侧块的码信息和所述上侧块的码信息两者均为真,则确定所述加权值为3;如果所述左侧块的码信息和所述上侧块的码信息两者均为假,则确定所述加权值为1;以及如果所述左侧块的码信息和所述上侧块的码信息中仅一个为真,则确定所述加权值为2。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:基于predSamplesComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2来预测所述当前块,其中,predSamplesComb是指所述组合预测样本,w是指所述加权值,predSamplesIntra是指所述第二样本,predSamplesInter是指所述第一样本,[x]是指包括在所述当前块中的样本的x轴坐标,以及[y]是指包括在所述当前块中的样本的y轴坐标。
在根据本公开的实施例的用于解码视频信号的设备中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述当前块的颜色分量是0或者所述宽度相关信息是1,则确定所述x轴缩放信息为0;如果所述当前块的颜色分量不是0并且所述宽度相关信息不是1,则确定所述x轴缩放信息为1;如果所述当前块的颜色分量是0或者所述高度相关信息是1,则确定所述y轴缩放信息为0;以及如果所述当前块的颜色分量不是0并且所述高度相关信息不是1,则确定所述y轴缩放信息为1。
在根据本公开的实施例的用于解码视频信号的设备中,所述左侧块的位置是(xCb-1,yCb-1+(cbHeight<<scallFactHeight)),其中xCb是当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbHeight是所述当前块的高度的值,并且scallFactHeight是所述y轴缩放信息,以及所述上侧块的位置是(xCb-1+(cbWidth<<scallFactWidth),yCb-1),其中xCb是所述当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbWidth是所述当前块的宽度的值,并且scallFactWidth是所述x轴缩放信息。
根据本公开的实施例的一种用于编码视频信号的方法包括:生成当前块的具有MVD的合并(MMVD)信息(mMvdLX);基于所述MMVD信息(mMvdLX),生成MMVD距离相关信息和MMVD方向相关信息;生成指示是否在所述当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);生成指示包括所述当前块的较高级别的MMVD的可用性的较高级别MMVD启用信息(sps_mmvd_enabled_flag);以及基于所述MMVD距离相关信息、所述MMVD方向相关信息、所述MMVD合并信息(mmvd_merge_flag)和所述较高级别MMVD启用信息(sps_mmvd_enabled_flag),生成比特流,其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
根据本公开的实施例的一种用于编码视频信号的设备包括处理器和存储器,其中,基于存储在所述存储器中的指令,所述处理器被配置成:生成当前块的具有MVD的合并(MMVD)信息(mMvdLX);基于所述MMVD信息(mMvdLX),生成MMVD距离相关信息和MMVD方向相关信息;生成指示是否在所述当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);生成指示包括所述当前块的较高级别的MMVD的可用性的较高级别MMVD启用信息(sps_mmvd_enabled_flag);以及基于所述MMVD距离相关信息、所述MMVD方向相关信息、所述MMVD合并信息(mmvd_merge_flag)和所述较高级别MMVD启用信息(sps_mmvd_enabled_flag),生成比特流,其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
根据本公开的实施例的一种用于编码视频信号的方法包括:生成较高级别色度分量格式信息;基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;基于所述y轴缩放信息,确定左侧块的位置;基于所述x轴缩放信息,确定上侧块的位置;基于所述左侧块和所述上侧块,确定加权值;通过以合并模式预测所述当前块,获得第一样本;通过以帧内模式预测所述当前块,获得第二样本;以及基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
根据本公开的实施例的一种用于编码视频信号的设备包括处理器和存储器,其中,基于存储在所述存储器中的指令,所述处理器被配置成:生成较高级别色度分量格式信息;基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;基于所述y轴缩放信息,确定左侧块的位置;基于所述x轴缩放信息,确定上侧块的位置;基于所述左侧块和所述上侧块,确定加权值;通过以合并模式预测所述当前块,获得第一样本;通过以帧内模式预测所述当前块,获得第二样本;以及基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
发明效果
根据本发明的实施例,可以提高视频信号的编译效率。
附图说明
图1是根据本发明的实施例的视频信号编码装置的示意性框图。
图2是根据本发明的实施例的视频信号解码装置的示意性框图。
图3示出在图片中编译树单元被划分为编译单元的实施例。
图4示出用于用信号通知四叉树和多类型树的划分的方法的实施例。
图5和图6根据本公开的实施例,更详细地图示帧内预测方法。
图7图示根据本公开的实施例的帧间预测方法。
图8是图示根据本公开的实施例的用信号通知当前块的运动向量的方法的图;
图9是图示根据本公开的实施例的用信号通知当前块的运动向量差值的方法的图;
图10是图示根据本公开的实施例的自适应运动向量分辨率信令的图;
图11是图示根据本公开的实施例的帧间预测相关语法的图;
图12是图示根据本公开的实施例的多假设预测的图;
图13是图示根据本公开的实施例的多假设预测相关语法的图;
图14是图示根据本公开的实施例的多假设预测相关语法的图;
图15是图示根据本公开的实施例的多假设预测相关语法的图;
图16是图示根据本公开的实施例的确定多假设预测模式的方法的图;
图17是图示根据本公开的实施例的生成候选列表的方法的图;
图18是图示根据本公开的实施例的在多假设预测中参考的相邻位置的图;
图19是图示根据本公开的实施例的参考相邻模式的方法的图;
图20是图示根据本公开的实施例的生成候选列表的方法的图;
图21是图示根据本公开的实施例的生成候选列表的方法的图;
图22是图示根据本公开的实施例的在多假设预测中参考的相邻位置的图;
图23是图示根据本公开的实施例的参考相邻模式的方法的图;
图24是图示根据本公开的实施例的相邻样本的使用的图;
图25是图示根据本公开的实施例的变换模式的图;
图26是图示根据本公开的实施例的多假设预测与变换模式之间的关系的图;
图27是图示根据本公开的实施例的颜色分量之间的关系的图;
图28是图示根据本公开的实施例的颜色分量之间的关系的图;
图29是图示根据本公开的实施例的相邻参考位置的图;
图30是图示根据本公开的实施例的加权样本预测过程的图;
图31是图示根据本公开的实施例的相邻参考位置的图;
图32是图示根据本公开的实施例的加权样本预测过程的图;
图33是图示根据本公开的实施例的加权样本预测过程的图;
图34是图示根据本公开的实施例的加权样本预测过程的图;
图35是图示根据本公开的实施例的CIIP权重推导的图;
图36是图示根据本公开的实施例的CIIP过程的图;
图37是图示根据本公开的实施例的MV和MVD范围的图;
图38是图示根据本公开的实施例的MMVD的图;
图39是图示根据本公开的实施例的MMVD的MVD推导的图;
图40是图示根据本公开的实施例的MVD和MV推导的图;
图41是图示根据本公开的实施例的MV和CPMV推导的图;
图42是图示根据本公开的实施例的MV和MVD范围的图;以及
图43是图示根据本公开的实施例的MMVD的MVD推导的图。
具体实施方式
考虑到本公开中的功能,本说明书中使用的术语可以是当前广泛使用的通用术语,但是可以根据本领域的技术人员的意图、习俗或新技术的出现而改变。另外,在某些情况下,可能存在申请人任意选择的术语,并且在这种情况下,其含义在本公开的相应描述部分中进行了描述。因此,应基于整个说明书中的术语和内容的实质含义来解释本说明书中使用的术语。
在本说明书中,一些术语可以解释如下。在一些情况下,编译可以解释为编码或解码。在本说明书中,通过执行视频信号的编码(编译)来生成视频信号比特流的装置被称为编码装置或编码器,并且执行视频信号比特流的解码(解码)以重构视频信号的装置被称为解码装置或解码器。另外,在本说明书中,视频信号处理装置被用作包括编码器和解码器两者的概念的术语。信息是包括所有值、参数、系数、元素等的术语。在一些情况下,含义被不同地解释,因此本公开不限于此。“单元”被用作指代图像处理的基本单位或图片的特定位置的含义,并且指代包括亮度分量和色度分量两者的图像区域。另外,“块”指代包括亮度分量和色度分量(即,Cb和Cr)当中的特定分量的图像区域。然而,取决于实施例,诸如“单元”、“块”、“分区(partition)”和“区域”的术语可以互换使用。另外,在本说明书中,单元可以用作包括编译单元、预测单元和变换单元的全部的概念。图片指示场或帧,并且根据实施例,这些术语可以互换使用。
图1是根据本公开的实施例的视频信号编码装置的示意性框图。参考图1,本公开的编码装置包括变换单元110、量化单元115、逆量化单元120、逆变换单元125、滤波单元130、预测单元150和熵编译单元160。
变换单元110通过对残差信号进行变换来获得变换系数的值,该残差信号是输入的视频信号与由预测单元150生成的预测信号之间的差。例如,可以使用离散余弦变换(DCT)、离散正弦变换(DST)或小波变换。DCT和DST通过将输入图片信号分割成多个块来执行变换。在变换中,编译效率可以根据变换区域中的值的分布和特性而变化。量化单元115对从变换单元110输出的变换系数值的值进行量化。
为了改进编译效率,代替照原样对图片信号进行编译的方法,使用一种方法,其使用通过预测单元150已经编码的区域来预测图片,并通过将在原始图片和预测的图片之间的残差值添加到预测的图片来获得重构图片。为了防止编码器和解码器中的不匹配,当在编码器中执行预测时,应该使用可以在解码器中使用的信息。为此,编码器再次执行重构编码的当前块的处理。逆量化单元120对变换系数的值进行逆量化,并且逆变换单元125使用逆量化的变换系数值来重构残差值。同时,滤波单元130执行滤波操作以改善重构图片的质量并改善编译效率。例如,可以包括去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器。滤波后的图片被输出或存储在解码图片缓冲器(DPB)156中,以用作参考图片。
预测单元150包括帧内预测单元152和帧间预测单元154。帧内预测单元152在当前图片内执行帧内预测,并且帧间预测单元154执行帧间预测以通过使用存储在DBP 156中的参考图片来预测当前图片。帧内预测单元152从当前图片中的重构样本执行帧内预测,并且将帧内编码信息传送到熵编译单元160。帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一个。帧内编码信息可以包括关于参考样本的信息。帧间预测单元154可以包括运动估计单元154a和运动补偿单元154b。运动估计单元154a通过参考重构参考图片的特定区域来获得当前区域的运动向量值。运动估计单元154a将用于参考区域的运动信息集(参考图片索引、运动向量信息等)传递到熵编译单元160。运动补偿单元154b通过使用从运动估计单元154a传递的运动向量值来执行运动补偿。帧间预测单元154将包括关于参考区域的运动信息的帧间编码信息传递到熵编译单元160。
根据另一实施例,预测单元150可以包括帧内块复制(BC)预测单元(未示出)。帧内BC预测单元基于当前图片中的重构样本来执行帧内BC预测,并将帧内BC编码信息传送到熵编译单元160。帧内BC预测单元获得参考当前图片中的特定区域,指示用于预测当前区域的参考区域的块向量值。帧内BC预测单元可以使用所获得的块向量值来执行帧内BC预测。帧内BC预测单元将帧内BC编码信息传送到熵编译单元160。帧内BC编码信息可以包括块向量信息。
当执行上述图片预测时,变换单元110变换在原始图片和预测图片之间的残差值以获得变换系数值。在这种情况下,可以以图片内的特定块为单位执行变换,并且可以在预设范围内改变特定块的大小。量化单元115对在变换单元110中生成的变换系数值进行量化,并将其发送到熵编译单元160。
熵编译单元160对指示量化的变换系数的信息、帧内编码信息、帧间编码信息等进行熵编译,以生成视频信号比特流。在熵编译单元160中,可以使用可变长度编译(VLC)方案、算术编译方案等。可变长度编译(VLC)方案包括将输入符号变换成连续的码字,并且码字的长度可以是可变的。例如,频繁出现的符号由短码字表示,而很少出现的符号由长码字表示。基于上下文的自适应可变长度编译(CAVLC)方案可以被用作可变长度编译方案。算术编译可以将连续数据符号变换成单个质数,其中,算术编译可以获得表示每个符号所需的最佳比特。基于上下文的自适应二进制算术编译(CABAC)可以被用作算术编译。例如,熵编译单元160可以二值化指示量化的变换系数的信息。熵编译单元160可以通过算术编译二进制信息来生成比特流。
使用网络抽象层(NAL)单元作为基本单位来封装所生成的比特流。NAL单元包括整数个编译的编译树单元。为了在视频解码器中对比特流进行解码,首先,必须将比特流分离成NAL单元,并且然后必须对每个分离的NAL单元进行解码。同时,可以通过诸如图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等等的高层集合的原始字节序列有效载荷(RBSP)来发送对视频信号比特流进行解码所需的信息。
同时,图1的框图示出根据本公开的实施例的编码装置100,并且分开显示的块在逻辑上区分并示出编码装置100的元件。因此,取决于设备的设计上述编码装置100的元件可以被安装为一个芯片或多个芯片。根据实施例,上述编码装置100的每个元件的操作可以由处理器(未示出)执行。
图2是根据本公开的实施例的视频信号解码装置200的示意性框图。参考图2,本公开的解码装置200包括熵解码单元210、逆量化单元220、逆变换单元225、滤波单元230和预测单元250。
熵解码单元210对视频信号比特流进行熵解码,以提取每个区域的变换系数信息、帧内编码信息、帧间编码信息等。例如,熵解码单元210可以从视频信号比特流中获得用于特定区域的变换系数信息的二值化码。熵解码单元210通过对二进制码进行逆二值化来获得量化的变换系数。逆量化单元220对量化的变换系数进行逆量化,并且逆变换单元225通过使用逆量化的变换系数来恢复残差值。视频信号处理设备200通过将由逆变换单元225获得的残差值与由预测单元250获得的预测值相加来恢复原始像素值。
同时,滤波单元230对图片执行滤波以改善图像质量。这可以包括用于减少块失真的去块滤波器和/或用于去除整个图片的失真的自适应环路滤波器。滤波后的图片被输出或存储在DPB 256中,以用作下一个图片的参考图片。
预测单元250包括帧内预测单元252和帧间预测单元254。预测单元250通过使用通过上述熵解码单元210解码的编码类型、每个区域的变换系数和帧内/帧间编码信息来生成预测图片。为了重构其中执行解码的当前块,可以使用当前图片或包括当前块的其他图片的解码区域。在重构中,仅将当前图片,即,执行仅帧内预测或者(帧内预测和帧内BC预测)的图片(或图块(tile)/切片(slice))称为帧内图片或I图片(或图块/切片),并且将能够执行所有帧内预测以及帧间预测的图片(或图块/切片)称为帧间图片(或图块/切片)。为了预测帧间图片(或图块/切片)当中的每个块的样本值,使用最多一个运动向量和参考图片索引的图片(或者图块/切片)被称为预测图片或P图片(或图块/切片),并且使用最多两个运动向量和参考图片索引的图片(或图块/切片)称为双向预测图片或B图片(或图块/切片)。换句话说,P图片(或图块/切片)使用最多一个运动信息集来预测每个块,并且B图片(或图块/切片)使用最多两个运动信息集来预测每个块。这里,运动信息集包括一个或多个运动向量和一个参考图片索引。
帧内预测单元252使用帧内编码信息和当前图片中的重构的样本来生成预测块。如上所述,帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一种。帧内预测单元252通过使用位于当前块的左边和/或上边的重构的样本作为参考样本来预测当前块的样本值。在本公开中,重构的样本、参考样本和当前块的样本可以表示像素。而且,样本值可以表示像素值。
根据实施例,参考样本可以是当前块的相邻块中包括的样本。例如,参考样本可以是与当前块的左边界相邻的样本和/或样本可以是与上边界相邻的样本。而且,参考样本可以是当前块的相邻块的样本当中的位于距当前块的左边界预定距离内的线上的样本和/或位于距当前块的上边界预定距离内的线上的样本。在这种情况下,当前块的相邻块可以包括左(L)块、上(A)块、左下(BL)块、右上(AR)块或左上(AL)块。
帧间预测单元254使用存储在DPB 256中的参考图片和帧间编码信息来生成预测块。帧间编译信息可以包括用于参考块的当前块的运动信息集(参考图片索引、运动向量信息等)。帧间预测可以包括L0预测、L1预测和双向预测。L0预测意指使用L0图片列表中包括的一个参考图片进行预测,而L1预测意指使用L1图片列表中包括的一个参考图片进行预测。为此,可能需要一个运动信息集合(例如,运动向量和参考图片索引)。在双向预测方法中,可以使用最多两个参考区域,并且两个参考区域可以存在于同一参考图片中或可以存在于不同图片中。即,在双向预测方法中,可以使用最多两个的运动信息集合(例如,运动向量和参考图片索引),并且两个运动向量可以对应于相同的参考图片索引或不同的参考图片索引。在这种情况下,在时间方面,可以在当前图片之前和之后显示(或输出)参考图片。另外,在双向预测方案中的两个参考区域可以处于两个参考图片列表中。
帧间预测单元254可以使用运动向量和参考图片索引来获得当前块的参考块。参考块在与参考图片索引相对应的参考图片中。而且,由运动向量指定的块的样本值或其内插值可以用作当前块的预测子(predictor)。对于具有子像素(sub-pel)单位像素准确度的运动预测,例如,可以使用用于亮度信号的8抽头内插滤波器和用于色度信号的4抽头内插滤波器。然而,以子像素为单位的用于运动预测的内插滤波器不限于此。以这种方式,帧间预测单元254执行运动补偿以根据先前使用运动信息重构的运动图片来预测当前单元的纹理。在这样的情况下,帧间预测单元可以使用运动信息集。
根据另一实施例,预测单元250可以包括帧内BC预测单元(未示出)。帧内BC预测单元可以从当前图片中的重构样本执行帧内BC预测,以将当前区域的帧内BC编码信息递送到熵编译单元160。帧内BC预测单元获得指示当前图片中的特定区域的当前区域的块向量值。帧内BC预测单元可以通过使用所获得的块向量值来执行帧内BC预测。帧内BC预测单元将帧内BC编码信息递送到熵编译单元160。帧内BC编码信息可以包括块向量信息。
根据附加实施例,预测单元250可以包括帧内BC预测单元(未示出)。帧内BC预测单元从当前图片中的重构样本执行帧内BC预测,并且将帧内BC编码信息传输到熵编译单元160。帧内BC预测单元获得指示当前图片中的特定区域的当前区域的块向量值。帧内BC预测单元可以通过使用所获得的块向量值来执行帧内BC预测。帧内BC预测单元将帧内BC编码信息传输到熵编译单元160。帧内BC编码信息可以包括块向量信息。
通过将从帧内预测单元252或帧间预测单元254输出的预测值与从逆变换单元225输出的残差值相加生成重构的视频图片。即,视频信号解码装置200使用由预测单元250生成的预测块和从逆变换单元225获得的残差来重构当前块。
同时,图2的框图示出根据本公开的实施例的解码装置200,并且分开显示的块在逻辑上区分并示出解码装置200的元件。因此,取决于设备的设计上述解码装置200的元件可以被安装为一个芯片或多个芯片。根据实施例,上述解码装置200的每个元件的操作可以由处理器(未示出)执行。
图3图示其中在图片中编译树单元(CTU)被分割成编译单元(CU)的实施例。在视频信号的编码过程中,可以将图片分割成一系列编译树单元(CTU)。编译树单元由亮度样本的NXN块和与其相对应的色度样本的两个块组成。编译树单元可以被分割成多个编译单元。编译树单元可以不被分割,并且可以是叶节点。在这种情况下,编译树单元本身可以是编译单元。编译单元指代在上述视频信号的处理过程中,即,帧内/帧间预测、变换、量化和/或熵编译中用于处理图片的基本单元。一个图片中编译单元的大小和形状可能不恒定。编译单元可以具有正方形或矩形形状。矩形编译单元(或矩形块)包括垂直编译单元(或垂直块)和水平编译单元(或水平块)。在本说明书中,垂直块是其高度大于宽度的块,并且水平块是其宽度大于高度的块。此外,在本说明书中,非正方形块可以指代矩形块,但是本公开不限于此。
参考图3,首先将编译树单元分割成四叉树(QT)结构。即,在四叉树结构中具有2NX2N大小的一个节点可以被分割成具有NXN大小的四个节点。在本说明书中,四叉树也可以称为四元树。可以递归地执行四叉树分割,并非所有节点都需要以相同的深度分割。
同时,上述四叉树的叶节点可以进一步被分割成多类型树(MTT)结构。根据本公开的实施例,在多类型树结构中,一个节点可以被分割成水平或垂直划分的二叉或三叉树结构。即,在多类型树结构中,存在四个分割结构,诸如垂直二元分割、水平二元分割、垂直三元分割和水平三元分割。根据本公开的实施例,在每个树结构中,节点的宽度和高度都可以具有2的幂。例如,在二叉树(BT)结构中,2NX2N大小的节点可以通过垂直二元分割被分割成两个NX2N节点,并通过水平二元分割将其分割成两个2NXN节点。另外,在三叉树(TT)结构中,将2NX2N大小的节点通过垂直三元分割被分割成(N/2)X2N、NX2N和(N/2)X2N节点,并通过水平三元分割被分割成2NX(N/2)、2NXN和2NX(N/2)节点。可以递归地执行此多类型树分割。
多类型树的叶节点可以是编译单元。如果未指示用于编译单元的分割或针对最大变换长度该编译单元不大,则无需进一步划分就将编译单元用作预测和变换的单元。另一方面,可以通过诸如PPS、SPS、VPS等的高层集合的RBSP来预定义或发送上述四叉树和多类型树中的以下参数中的至少一个。1)CTU大小:四叉树的根节点大小,2)最小QT大小MinQtSize:允许的最小QT叶节点大小,3)最大BT大小MaxBtSize:允许的最大BT根节点大小,4)最大TT大小MaxTtSize:允许的最大TT根节点大小,5)最大MTT深度MaxMttDepth:从QT的叶节点分割而来的MTT的最大允许深度,6)最小BT大小MinBtSize:允许的最小BT叶节点大小,7)最小TT大小MinTtSize:允许的最小TT叶节点大小。
图4示出用于用信号通知四叉树和多类型树的分割的方法的实施例。可以使用预设标志来用信号通知上述四叉树和多类型树的分割。参考图4,指示是否分割四叉树节点的标志“qt_split_flag”、指示是否分割多类型树节点的标志“mtt_split_flag”、指示多类型树节点的分割方向的标志“mtt_split_vertical_flag”或者指示多类型树节点的分割类型的标志“mtt_split_binary_flag”中的至少一个可以被使用。
根据本公开的实施例,编译树单元是四叉树的根节点,并且可以首先被分割成四叉树结构。在四叉树结构中,为每个节点“QT_node”用信号通知“qt_split_flag”。如果“qt_split_flag”的值为1,则将该节点分割成4个正方形节点,并且如果“qt_split_flag”的值为0,则相应的节点成为四叉树的叶节点“QT_leaf_node”。
每个四叉树叶节点“QT_leaf_node”可以进一步被分割成多类型树结构。在多类型树结构中,为每个节点“MTT_node”用信号通知“mtt_split_flag”。当“mtt_split_flag”的值是1时,相应的节点被分割成多个矩形节点,并且当“mtt_split_flag”的值是0时,相应的节点是多类型树的叶节点“MTT_leaf_node”。当将多类型树节点“MTT_node”分割成多个矩形节点时(即,当“mtt_split_flag”的值是1时),可以附加地用信号通知节点“MTT_node”的“mtt_split_vertical_flag”和“mtt_split_binary_flag”。当“mtt_split_vertical_flag”的值是1时,指示节点“MTT_node”的垂直分割,并且当“mtt_split_vertical_flag”的值是0时,指示节点“MTT_node”的水平分割。另外,当“mtt_split_binary_flag”的值为1时,节点“MTT_node”被分割成2个矩形节点,并且当“mtt_split_binary_flag”的值为0时,节点“MTT_node”被分割成3个矩形节点。
对不再被划分的编译单元(即,编译单元树的叶节点)上执行用于编码的图片预测(运动补偿)。在下文中,用于执行预测的基本单元将被称为“预测单元”或“预测块”。
在下文中,在此使用的术语“单元”可以代替预测单元,该预测单元是用于执行预测的基本单元。然而,本公开不限于此,并且“单元”可以被理解为广泛地涵盖编译单元的概念。
图5和图6更加具体地图示根据本公开的实施例的帧内预测方法。如上所述,帧内预测单元通过使用位于当前块的左边和/或上边的重构的样本作为参考样本来预测当前块的样本值。
首先,图5示出在帧内预测模式中用于当前块的预测的参考样本的实施例。根据实施例,参考样本可以是与当前块的左边界相邻的样本和/或与上边界相邻的样本。如图5中所示,在当前块的大小是WXH并且与当前块相邻的单个参考线的样本被用于帧内预测时,可以使用位于当前块的左边和上边的最大2W+2H+1个邻近样本来配置参考样本。
根据本公开的附加实施例,多个参考线上的样本可以被用于当前块的帧内预测。多个参考线可以包括位于距当前块的边界的预配置距离内的N条线。在这种情况下,可以用信号通知指示用于当前块的帧内预测的至少一个参考线的单独参考线信息。具体地,参考线信息可以包括指示多个参考线中的任意一条的索引。
当尚未恢复要用作参考样本的至少一些样本时,帧内预测单元可以通过执行参考样本填充过程来获得参考样本。帧内预测单元可以执行参考样本滤波过程以减少帧内预测中的误差。也就是说,可以对通过参考样本填充过程获得的相邻样本和/或参考样本执行滤波,以便获得滤波的参考样本。帧内预测单元通过使用如上获得的参考样本来预测当前块的样本。帧内预测单元通过使用未滤波的参考样本或滤波的参考样本来预测当前块的样本。在本公开中,相邻样本可以包括至少一个参考线上的样本。例如,相邻样本可以包括在与当前块的边界相邻的线上的相邻样本。
接下来,图6示出用于帧内预测的预测模式的实施例。对于帧内预测,可以用信号通知指示帧内预测方向的帧内预测模式信息。帧内预测模式信息指示被包括在帧内预测模式集中的多个帧内预测模式中的一个。在当前块是帧内预测块时,解码器从比特流接收当前块的帧内预测模式信息。解码器的帧内预测单元基于提取的帧内预测模式信息对当前块执行帧内预测。
根据本公开的实施例,帧内预测模式集可以包括在帧内预测中使用的所有帧内预测模式(例如,总共67个帧内预测模式)。更具体地说,帧内预测模式集可以包括平面模式、DC模式以及多个(例如65个)角度模式(即,定向模式)。可以通过预设索引(即,帧内预测模式索引)来指示每个帧内预测模式。例如,如图6所示,帧内预测模式索引0指示平面模式,而帧内预测模式索引1指示DC模式。此外,帧内预测模式索引2至66可以分别指示不同的角度模式。角度模式分别指示在预设角度范围内彼此不同的角度。例如,角度模式可以指示在顺时针方向的45度和-135度之间的角度范围(即,第一角度范围)内的角度。可以基于12点钟方向来定义角度模式。在这种情况下,帧内预测模式索引2指示水平对角线(HDIA)模式,帧内预测模式索引18指示水平(水平,HOR)模式,帧内预测模式索引34指示对角(DIA)模式,帧内预测模式索引50指示垂直(VER)模式,而帧内预测模式索引66指示垂直对角(VDIA)模式。
预配置的角度范围可以根据当前块的形状而被不同地配置。例如,如果当前块是矩形块,则可以附加地使用指示在顺时针方向的大于45度的角度或小于-135度的角度的广角模式。如果当前块是水平块,则角度模式可指示在顺时针方向的(45+偏移1)度和(-135+偏移1)度之间的角度范围(即,第二角度范围)内的角度。在这种情况下,可以附加地使用第一角度范围之外的角度模式67到80。如果当前块是垂直块,则角度模式可指示在顺时针方向的(45-偏移2)度与(-135-偏移2)度之间的角度范围(即,第三角度范围)内的角度。在这种情况下,可以附加地使用第一角度范围之外的角度模式-10到-1。根据本公开的实施例,偏移1和偏移2的值可以根据矩形块的宽度与高度之间的比率而不同地确定。偏移1和偏移2可以是正数。
根据本公开的附加实施例,构成帧内预测模式集的多个角度模式可以包括基本角度模式和扩展角度模式。可以基于基本角度模式来确定扩展角度模式。
根据实施例,基本角度模式可以是与在现有高效视频编译(HEVC)标准的帧内预测中使用的角度相对应的模式,并且扩展角度模式可以是与在下一代视频编解码器标准的帧内预测中新添加的角度相对应的模式。更具体地,基本角度模式可以是与帧内预测模式{2,4,6,…,66}中的一个相对应的角度模式,并且扩展角度模式可以是与帧内预测模式{3,5,7,…,65}中的一个相对应的角度模式。也就是说,扩展角度模式可以是第一角度范围内的基本角度模式之间的角度模式。因此,由扩展角模式指示的角度可以基于由基本角度模式指示的角度来确定。
根据另一实施例,基本角度模式可以是与预配置的第一角度范围内的角度相对应的模式,并且扩展角度模式可以是第一角度范围之外的广角模式。也就是说,基本角度模式可以是与帧内预测模式{2,3,4,…,66}中的一个相对应的角度模式,并且扩展角度模式可以是与帧内预测模式{-10,-9,…,-1}和{67,68,…,76}中的一个相对应的角度模式。由扩展角模式指示的角度可以被确定为与由对应的基本角度模式指示的角度相反的角度。因此,由扩展角模式指示的角度可以基于由基本角度模式指示的角度来确定。扩展角度模式的数量不限于此,并且可以根据当前块的大小和/或形状来定义附加扩展角度。例如,扩展角度模式可以被定义为与帧内预测模式{-14,-13,…,-1}和{67,68,…,80}中的一个相对应的角度模式。帧内预测模式集中包括的帧内预测模式的总数可以根据基本角度模式和扩展角度模式的上述配置而变化。
在上述实施例中,扩展角度模式之间的间隔可以基于对应的基本角度模式之间的间隔来配置。例如,扩展角度模式{3,5,7,…,65}之间的间隔可以基于对应的基本角度模式{2,4,6,…,66}之间的间隔来确定。而且,扩展角度模式{-10,-9,…,-1}之间的间隔可以基于对应的相反的基本角度模式{56,57,…,65}之间的间隔来确定,并且扩展角度模式{67,68,…,76}之间的间隔可以基于对应的相反的基本角度模式{3,4,…,12}之间的间隔来确定。扩展角度模式之间的角间隔可以被配置为与对应的基本角度模式之间的角间隔相同。在帧内预测模式集中,扩展角度模式的数量可以被配置为等于或小于基本角度模式的数量。
根据本公开的实施例,扩展角度模式可以基于基本角度模式来用信号通知。例如,广角模式(即,扩展角度模式)可以替换第一角度范围内的至少一个角度模式(即,基本角度模式)。所替换的基本角度模式可以是与广角模式的相反相对应的角度模式。即,所替换的基本角度模式是与在由广角模式指示的角度的相反方向上的角度相对应的角度模式,或者是与在相反方向上与由预配置的偏移索引指示的角度不同的角度相对应的角度模式。根据本公开的实施例,预配置的偏移索引为1。对应于所替换的基本角度模式的帧内预测模式索引可以重新映射到上述广角模式,以用信号通知该广角模式。例如,可以分别通过帧内预测模式索引{57,58,…,66}用信号通知广角模式{-10,-9,…,-1},并且可以分别通过帧内预测模式索引{2,3,…,11}用信号通知广角模式{67,68,…,76}。这样,通过允许用于基本角度模式的帧内预测模式索引用信号通知扩展角度模式,即使用于每个块的帧内预测的角度模式的配置彼此不同,相同的帧内预测模式索引集也可以用于用信号通知帧内预测模式。因此,可以最小化根据帧内预测模式配置的改变的信令开销。
可以基于当前块的形状和大小中的至少一个来确定是否使用扩展角度模式。根据实施例,如果当前块的大小大于预配置的大小,则扩展角度模式可以被用于当前块的帧内预测,否则仅基本角度模式可以被用于当前块的帧内预测。根据另一实施例,如果当前块是非正方形块,则扩展角度模式可以被用于当前块的帧内预测,并且如果当前块是正方形块,则仅基本角度模式可以被用于当前块的帧内预测。
帧内预测单元基于当前块的帧内预测模式信息来确定用于当前块的帧内预测的参考样本和/或内插参考样本。如果帧内预测模式索引指示特定角度模式,则与从当前块的当前样本的特定角度相对应的参考样本或内插参考样本被用于预测当前样本。因此,可以根据帧内预测模式将不同集合的参考样本和/或内插参考样本用于帧内预测。在使用参考样本和帧内预测模式信息执行当前块的帧内预测之后,解码器通过将从逆变换单元获得的当前块的残差信号与当前块的帧内预测值相加来重构当前块的样本值。
在下文中,参照图7描述根据本公开的实施例的帧间预测方法。在本公开中,帧间预测方法可以包括为平移运动优化的一般帧间预测方法和基于仿射模型的帧间预测方法。此外,运动向量可以包括用于根据一般帧间预测方法的运动补偿的一般运动向量和用于仿射补偿的控制点运动向量中的至少一个。
图7图示了根据本公开的实施例的帧间预测方法。如上所述,解码器可以参考另一解码图片的重构样本来预测当前块。参照图7,解码器基于当前块701的运动信息集来获得参考图片720内的参考块702。在这种情况下,运动信息集可以包括参考图片索引和运动向量(MV)。参考图片索引指示参考图片列表中,包括用于当前块的帧间预测的参考块的参考图片720。根据实施例,参考图片列表可以包括L0图片列表或L1图片列表中的至少一个。运动向量指示当前图片710内的当前块701的坐标值与参考图片720内的参考块702的坐标值之间的偏移。解码器基于参考块702的样本值来获得当前块701的预测子,并且使用预测子来重构当前块701。
具体地,编码器可以通过在具有较高恢复序列的图片中搜索与当前块相似的块来获得参考块。例如,编码器可以在预设搜索区域内搜索与当前块的样本值的差值之和最小的参考块。在这种情况下,为了测量当前块和参考块的样本之间的相似性,可以使用绝对差和(SAD)和哈达玛变换差和(SATD)中的至少一个。在此,SAD可以是通过将包括在两个块中的样本值的差的所有绝对值相加而获得的值。此外,SATD可以是通过将通过包括在两个块中的样本值的差的哈达玛变换获取的哈达玛变换系数的所有绝对值相加而获得的值。
同时,可以使用一个或多个参考区域来预测当前块。如上所述,可以使用两个或更多个参考区域,通过一对预测方法来帧间预测当前块。根据实施例,解码器可以基于当前块的两个运动信息集来获得两个参考块。进一步地,解码器可以基于两个所获得的参考块的样本值,获得当前块的第一预测子和第二预测子。此外,解码器可以使用第一预测子和第二预测子来重构当前块。例如,解码器可以基于第一预测子和第二预测子的每个样本的平均值来重构当前块。
如上所述,对于当前块的运动补偿,可以用信号通知一个或多个运动信息集。在这种情况下,可以使用用于多个块中的每一个的运动补偿的运动信息集之间的相似性。例如,可以由用于预测其他重构样本中的一个的运动信息集推推导用于预测当前块的运动信息集。为此,编码器和解码器可以减少信令开销。
例如,可能存在很可能基于与当前块的运动信息集相同或相似的运动信息集预测出的多个候选块。解码器可以生成合并候选列表。解码器可以基于对应的多个候选块来生成合并候选列表。在此,合并候选列表可以包括与在当前块之前重构的样本之中很可能已经基于与当前块的运动信息集相关的运动信息集而预测出的样本相对应的候选。合并候选列表可以包括空间候选或时间候选。合并候选列表可以基于在当前块之前重构的样本的位置来生成。在当前块之前重构的样本可以是当前块的相邻块。当前块的相邻块可以是指与当前块相邻的块。编码器和解码器可以根据预定义规则来配置当前块的合并候选列表。
编码器和解码器分别配置的合并候选列表可以彼此相同。例如,编码器和解码器可以基于当前块在当前图片内的位置来配置当前块的合并候选列表。在本公开中,特定块的位置指示特定块的左上样本在包括该特定块的图片中的相对位置。
图8是图示根据本公开的实施例的用信号通知当前块的运动向量的方法的图。根据本公开的实施例,可以从当前块的运动向量预测子(MVP)推导当前块的运动向量。根据实施例,可以使用运动向量预测子(MVP)候选列表来获得被参考以推导当前块的运动向量的运动向量预测子。该MVP候选列表可以包括预配置数量的MVP候选(候选1、候选2、...、候选N)。
根据实施例,MVP候选列表可以包括空间候选和时间候选中的至少一个。空间候选可以是用于预测从当前图片中的当前块在特定范围内的相邻块的运动信息集。空间候选可以基于当前块的相邻块当中的可用相邻块来配置。时间候选可以是用于预测除当前图片之外的图片中的块的运动信息集。例如,时间候选可以基于特定参考图片中的对应于当前块的位置的特定块来配置。在这种情况下,特定块的位置指示特定块的左上样本在参考图片中的位置。根据附加实施例,MVP候选列表可以包括零运动向量。根据另一实施例,可以对当前块的MVP候选列表中所包括的MVP候选执行舍入处理。这里,可以使用稍后将描述的当前块的运动向量差值的分辨率。例如,可以基于当前块的运动向量差值的分辨率对当前块的候选MVP中的每一个进行舍入。
在本公开中,MVP候选列表可以包括改进的时间运动向量候选(高级时间运动向量预测ATMVP或基于子块的时间运动向量预测SbTMVP)列表、用于合并帧间预测的合并候选列表、用于仿射运动补偿的控制点运动向量候选列表,以及用于基于子块的运动补偿的时间运动向量候选(基于子块的时间运动向量预测(STMVP))列表及其组合。
根据实施例,编码器810和解码器820可以配置用于当前块的运动补偿的MVP候选列表。例如,在当前块之前重构的样本中,可能存在与可能已经基于与当前块的运动信息集相同或相似的运动信息集而预测的样本相对应的候选。编码器810和解码器820可以基于相应的多个候选块来配置当前块的MVP候选列表。编码器810和解码器820可以根据编码器810和解码器820之间预定义的规则来配置MVP候选列表。也就是说,分别由编码器810和解码器820配置的MVP候选列表可以彼此相同。
此外,预定义规则可以根据当前块的预测模式而变化。例如,如果当前块的预测模式是基于仿射模型的仿射预测模式,则编码器和解码器可以通过使用基于仿射模型的第一方法来配置当前块的MVP候选列表。第一方法可以是获得控制点运动向量候选列表的方法。另一方面,如果当前块的预测模式是不基于仿射模型的一般帧间预测模式,则编码器和解码器可以通过使用不基于仿射模型的第二方法来配置当前块的MVP候选列表。第一方法和第二方法可以是不同的方法。
解码器820可以基于包括在当前块的MVP候选列表中的至少一个MVP候选之一来推导当前块的运动向量。例如,编码器810可以用信号通知指示被参考以推导当前块的运动向量的运动向量预测子的MVP索引。用信号通知可以指编码器生成信号作为比特流并且解码器820从比特流执行解析。MVP索引可以包括用于合并候选列表的合并索引。解码器820可以基于用信号通知的MVP索引来获得当前块的运动向量预测子。解码器820可通过使用运动向量预测子来推导当前块的运动向量。根据实施例,解码器820可以在没有单独运动向量差值的情况下使用从MVP候选列表获得的运动向量预测子作为当前块的运动向量。例如,解码器820可以基于合并索引从合并列表选择运动向量。
解码器820可以基于当前块的运动向量来重构当前块。帧间预测模式可以被称为合并模式,在帧间预测模式中,在没有单独运动向量差值的情况下,从MVP候选列表获得的运动向量预测子被用作当前块的运动向量。
根据另一实施例,解码器820可获得当前块的运动向量的单独运动向量差值。解码器820可通过将从MVP候选列表获得的运动向量预测子与当前块的运动向量差值求和来获得当前块的运动向量。在这种情况下,编码器810可以用信号通知指示当前块的运动向量与运动向量预测子之间的差的运动向量差值(MV差)。将参照图9详细描述用信号通知运动向量差值的方法。解码器820可以基于运动向量差值(MV差)来获得当前块的运动向量。解码器820可以基于当前块的运动向量来重构当前块。
另外,可用信号通知用于当前块的运动补偿的参考图片索引。当前块的预测模式可以允许编码器810用信号通知指示包括参考块的参考图片的参考图片索引。解码器820可以基于用信号通知的参考图片索引来获得用于重构当前块所参考的参考图片的POC。参考图片的POC可以不同于与被参考以推导当前块的运动向量的MVP相对应的参考图片的POC。在这种情况下,解码器820可以执行运动向量缩放。也就是说,解码器820可通过缩放MVP来获得MVP’。可以基于当前图片的POC、当前块的用信号通知的参考图片的POC和对应于MVP的参考图片的POC来执行运动向量缩放。解码器820可以使用MVP’作为当前块的运动向量预测子。
如上所述,可以通过将当前块的运动向量预测子与运动向量差值求和来获得当前块的运动向量。在这种情况下,可以从编码器用信号通知运动向量差值。编码器可以对运动向量差值进行编码以生成并且用信号通知指示运动向量差值的信息。在下文中,将描述根据本公开的实施例的用信号通知运动向量差值的方法。
图9是图示根据本公开的实施例的用信号通知当前块的运动向量差值的方法的图。根据实施例,指示运动向量差值的信息可以包括运动向量差值的绝对值信息和运动向量差值的符号信息中的至少一个。可以对运动向量差值的绝对值和符号单独进行编码。
根据实施例,运动向量差值的绝对值可以不用信号通知为值本身。编码器可通过使用指示运动向量差值的绝对值的特性的至少一个标志来减小用信号通知的量值的大小。解码器可通过使用至少一个标志从用信号通知的值推导运动向量差值的绝对值。
例如,至少一个标志可以包括指示运动向量差值的绝对值是否大于N的第一标志。N可以是整数。如果运动向量差值的绝对值的量值大于N,则可以将值(运动向量差值的绝对值-N)与启用的第一标志一起用信号通知。在此情况下,启用的标志可以指示运动向量差值的绝对值的量值大于N的情况。解码器可以基于启用的第一标志和用信号通知的值来获得运动向量差值的绝对值。
参照图9,可以用信号通知指示运动向量差值的绝对值是否大于“0”的第二标志(abs_mvd_greater0_flag)。如果第二标志(abs_mvd_greater0_flag)指示运动向量差值的绝对值不大于“0”,则运动向量差值的绝对值可以是“0”。另外,如果第二标志(abs_mvd_greater0_flag)指示运动向量差值的绝对值大于“0”,则解码器可以通过使用关于运动向量差值的其它信息来获得运动向量差值的绝对值。
根据实施例,可以用信号通知指示运动向量差值的绝对值是否大于“1”的第三标志(abs_mvd_greater1_flag)。如果第三标志(abs_mvd_greater1_flag)指示运动向量差值的绝对值不大于“1”,则解码器可以确定运动向量差值的绝对值为“1”。
另一方面,如果第三标志(abs_mvd_greater1_flag)指示运动向量差值的绝对值大于“1”,则解码器可以通过使用关于运动向量差值的其它信息来获得运动向量差值的绝对值。例如,可以用信号通知(运动向量差值的绝对值-2)的值(abs_mvd_minus2)。这是因为,如果运动向量差值的绝对值大于“1”,则运动向量差值的绝对值可以是2或更大的值。
如上所述,可以以至少一个标志变换当前块的运动向量差值的绝对值。例如,运动向量差值的变换后的绝对值可以根据运动向量差值的量值来指示(运动向量差值的绝对值-N)的值。根据实施例,可以经由至少一个比特来用信号通知运动向量差值的变换后的绝对值。在此情况下,用信号通知以指示运动向量差值的变换后的绝对值的比特数目可以为可变的。编码器可以通过使用可变长度二进制方法对运动向量差值的变换后的绝对值进行编码。例如,编码器可以使用截断的一元二进制、一元二进制、截断的莱斯(rice)二进制和指数哥伦布(exp-Golomb)二进制中的至少一个作为可变长度二进制方法。
另外,运动向量差值的符号可以经由符号标志(mvd_sign_flag)用信号通知。运动向量差值的符号可以通过符号位隐藏来隐式地用信号通知。
在图9中,[0]和[1]可以表示分量索引。例如,[0]和[1]可以表示x分量和y分量。
图10是图示根据本公开的实施例的自适应运动向量分辨率信令的图。
根据本公开的实施例,指示运动向量或运动向量差的分辨率可以变化。换句话说,编译运动向量或运动向量差的分辨率可以变化。例如,分辨率可以基于像素(像元)来表示。例如,可以以1/4(四分之一)、1/2(二分之一)、1(整数)、2或4个像素为单位用信号通知运动向量或运动向量差。例如,在希望表示16时,可以通过以1/4为单位的64来执行编译(1/4*64=16),可以通过以1为单位的16来执行编译(1*16=16),并且可以通过以4为单位的4来执行编译(4*4=16)。也就是说,可以如下确定该值。
valueDetermined=分辨率*valuePerResolution
这里,valueDetermined可以是用于传输的值,即,在本实施例中的运动向量或运动向量差。valuePerResolution可以是以[/分辨率]为单位指示valueDetermined的值。
在这种情况下,如果由运动向量或运动向量差用信号通知的值不能被分辨率除尽,则由于舍入等可能传送不是最佳性能运动向量或运动向量差的不准确值。当使用高分辨率时,可以降低不准确性,但是由于增加要编译的值,所以可能使用更多的比特。当使用低分辨率时,可能增加不准确性,但是由于减小要编译的值,所以可以使用更少的比特。
此外,可以以块、CU、切片等为单位不同地配置分辨率。因此,可以自适应地应用分辨率以适合该单位。
分辨率可以从编码器用信号通知给解码器。分辨率的信令可以是利用上述可变长度而二进制化的信令。在这种情况下,当利用与最小值(最前值)相对应的索引来执行信令时,减少信令开销。
在实施例中,信令索引可以按照从高分辨率(详细信令)到低分辨率的顺序匹配分辨率。
图10示出三种分辨率的信令。这三个信号可以是0、10和11,并且可以分别对应于分辨率1、分辨率2和分辨率3。由于分辨率1的信令需要1比特并且剩余分辨率的信令需要2比特,所以分辨率1的信令具有较小的信令开销。在图10的示例中,分辨率1、分辨率2和分辨率3分别是1/4、1和4像元。
在下文中的本发明中,运动向量分辨率可以指运动向量差的分辨率。
图11是示出根据本公开的实施例的帧间预测相关语法的图。
根据本公开的实施例,帧间预测方法可以包括跳过模式、合并模式、帧间模式等。根据实施例,在跳过模式中,可以不传送残差信号。在跳过模式中,可以使用与合并模式中的MV确定方法相同的MV确定方法。可以根据跳过标志来确定是否使用跳过模式。参照图11,可以根据cu_skip_flag的值来确定是否使用跳过模式。
根据实施例,在合并模式中可以不使用运动向量差。运动向量可以基于运动候选索引来确定。可以根据合并标志来确定是否使用合并模式。参照图11,可以根据merge_flag的值来确定是否使用合并模式。如果不使用跳过模式,则可以使用合并模式。
可以在跳过模式或合并模式中从一个或多个候选列表类型中选择性地使用候选。例如,可以使用合并候选或子块合并候选。合并候选可以包括空间相邻候选、时间候选等。此外,合并候选可以包括使用整个当前块(CU)的运动向量的候选。也就是说,属于当前块的相应子块的运动向量可以包括相同候选。子块合并候选可以包括基于子块的时间MV、仿射合并候选等。另外,子块合并候选可以包括能够针对当前块(CU)的相应子块使用不同运动向量的候选。仿射合并候选可以是基于在不使用运动向量差的情况下确定仿射运动预测的控制点运动向量的方法而形成的方法。子块合并候选可以包括以当前块中的子块为单位确定运动向量的方法。例如,子块合并候选可以包括平面MV、基于回归的MV、STMVP等以及上述基于子块的时间MV和仿射合并候选。
根据实施例,运动向量差可以在帧间模式中使用。可以基于运动候选索引来确定运动向量预测子,并且可以基于运动向量预测子和运动向量差来确定运动向量。可以根据是否使用其它模式来确定是否使用帧间模式。在另一实施例中,是否使用帧间模式可以通过标志来确定。图11图示在不使用诸如跳过模式和合并模式的其它模式的情况下使用帧间模式的示例。
帧间模式可以包括AMVP模式、仿射帧间模式等。帧间模式可以是基于运动向量预测子和运动向量差来确定运动向量的模式。仿射帧间模式可以是在确定仿射运动预测的控制点运动向量时使用运动向量差的方法。
参照图11,在确定跳过模式或合并模式之后,可以确定是否使用子块合并候选或合并候选。例如,如果满足特定条件,则可以解析指示是否使用子块合并候选的merge_subblock_flag。特定条件可以是与块大小相关的条件。例如,特定条件可以是与宽度、高度、面积等相关的条件,或者可以使用其组合。参照图11,特定条件可以是例如在当前块(CU)的宽度和高度大于或等于特定值的情况下的条件。当对merge_subblock_flag进行解析时,可以推断其值为0。如果merge_subblock_flag是1,则可以使用子块合并候选,并且如果merge_subblock_flag是0,则可以使用合并候选。当使用子块合并候选时,可以解析与候选索引相对应的merge_subblock_idx,并且当使用合并候选时,可以解析与候选索引相对应的merge_idx。如果候选列表的最大数目是1,则可以不执行解析。如果未解析merge_subblock_idx或merge_idx,则可以推断其值为0。
图11图示coding_unit的功能,并且可以省略与帧内预测相关的内容,或者图11可以指示确定帧间预测的情况。
图12是图示根据本公开的实施例的多假设预测的图。
如上所述,可以基于预测块来执行编码和解码。根据本公开的实施例,可以基于多个预测来生成预测块。这可以被称为多假设(MH)预测。预测可以指通过特定预测方法生成的块。多个预测中的预测方法可以包括诸如帧内预测和帧间预测的方法。或者,多个预测中的预测方法可以进一步细分,并且指合并模式、AMVP模式、帧内预测的特定模式等。
作为基于多个预测生成预测块的方法,可以对多个预测执行加权求和。
或者,可以预先配置多个预测的最大数目。例如,多个预测的最大数目可以是两个。因此,在单向预测的情况下,可以从两个预测生成预测块,而在双向预测的情况下,可以从两个预测(当多个预测仅用于来自一个参考列表的预测时)或者四个预测(当多个预测用于来自两个参考列表的预测时)来生成预测块。
或者,可以预先配置可用于多个预测的预测模式。或者,可以预先配置可用于多个预测的预测模式的组合。例如,可以使用通过帧间预测和帧内预测生成的预测。在这种情况下,可以仅使用帧间预测或帧内预测的一些模式用于多假设预测。例如,对于多假设预测,可以在帧间预测中仅使用合并模式。或者,对于多假设预测,可以仅使用帧间预测中的子块合并之外的合并模式。或者,对于多假设预测,可以在帧内预测中仅使用特定帧内模式。例如,对于多假设预测,可以在帧内预测中仅使用包括平面模式、DC模式、垂直模式和水平模式的模式。
因此,例如,可以基于经由合并模式和帧内预测的预测来生成预测块。在这种情况下,可以仅允许平面模式、DC模式、垂直模式和水平模式用于帧内预测。
参照图12,基于预测1和预测2来生成预测块。该预测块使用预测1和预测2的加权和来生成,并且预测1和预测2的权重分别为w1与w2。
根据本公开的实施例,当基于多个预测来生成预测块时,多个预测的权重可以基于该块内的位置。或者,多个预测的权重可以基于用于生成预测的模式。
例如,如果用于生成预测的模式中的一个对应于帧内预测,则权重可以基于预测模式来确定。例如,如果用于生成预测的模式中的一个对应于帧内预测并且是定向模式,则可以增加远离参考样本的位置的权重。更具体地,如果用于生成预测的模式中的一个对应于帧内预测并且是定向模式,并且用于生成另一预测的模式对应于帧间预测,则可以增加基于远离参考样本的帧内预测生成的预测的权重。在帧间预测的情况下,可以基于空间相邻候选来执行运动补偿,并且在该情况下,存在当前块的移动与MC所参考的空间相邻块的移动相同或相似的概率,并且存在空间相邻块附近的预测和包括具有运动的对象的区域的预测与其它部分相比更准确的概率。然后,与其它部分相比,更多的残差信号可以保持在空间相邻块的相对侧附近,这可以通过在多假设预测中使用帧内预测来偏移。帧内预测的参考样本的位置可以靠近帧间预测的空间相邻候选,因此可以增加远离空间相邻候选的权重。
作为另一示例,如果用于生成预测的模式中的一个对应于帧内预测并且是定向模式,则可增加接近于参考样本的位置的权重。更具体地,如果用于生成预测的模式中的一个对应于帧内预测并且是定向模式,并且用于生成另一预测的模式对应于帧间预测,则可以增加基于接近参考样本的帧内预测生成的预测的权重。这是因为在帧内预测中更接近参考样本的预测精度可能更高。
作为另一示例,如果用于生成预测的模式中的一个对应于帧内预测并且不是定向模式(例如,在平面或DC模式的情况下),则权重可能恒定,而不管块中的位置如何。
在多假设预测中,也可以基于预测1的权重来确定预测2的权重。
下面是示出基于多个预测确定预测样本pbSamples的示例的等式。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(w*predSamples[x][y]+(8-w)*predSamplesIntra[x][y])>>3)
在上述等式中,x和y可以表示块中的样本的坐标,并且可以在以下范围中。x=0..nCbW-1并且y=0..nCbH-1。此外,nCbW和nCbH可以分别是当前块的宽度和高度。另外,predSamples可以是通过帧间预测生成的块/样本,predSamplesIntra可以是通过帧内预测生成的块/样本。权重“w”可以如下确定。
-如果predModeIntra是INTRA_PLANAR或INTRA_DC或nCbW<4或nCbH<4或cIdx>0,则w被设置为等于4。
-否则,如果predModeIntra是INTRA_ANGULAR50并且y<(nCbH/4),则w被设置为等于6。
-否则,如果predModeIntra是INTRA_ANGULAR50并且(nCbH/4)<=y<(nCbH/2),则w被设置为等于5。
-否则,如果predModeIntra为INTRA_ANGULAR50并且(nCbH/2)<=y<(3*nCbH/4),则w被设置为等于4。
-否则,如果predModeIntra为INTRA_ANGULAR50并且(3*nCbH/4)<=y<nCbH,则w被设置为等于3。
-否则,如果predModeIntra是INTRA_ANGULAR18并且x<(nCbW/4),则w被设置为等于6。
-否则,如果predModeIntra是INTRA_ANGULAR18并且(nCbW/4)<=x<(nCbW/2),则w被设置为等于5。
-否则,如果predModeIntra为INTRA_ANGULAR18并且(nCbW/2)<=x<(3*nCbW/4),则w被设置为等于4。
-否则,如果predModeIntra为INTRA_ANGULAR18并且(3*nCbW/4)<=x<nCbW,则w被设置为等于3。
图13是图示根据本公开的实施例的多假设预测相关语法的图。
参照图13,mh_intra_flag可以是指示是否使用多假设预测的标志。根据实施例,仅当满足mh_conditions时,可以使用多假设预测,并且如果不满足mh_conditions,则可以推断mh_intra_flag为0而不进行解析。例如,mh_conditions可以包括与块大小相关的条件。此外,mh_conditions可以包括与是否使用特定模式相关的条件。例如,如果merge_flag是1并且subblock_merge_flag是0,则可以解析mh_intra_flag。
根据本公开的实施例,为了确定多假设预测中的模式,可以将候选模式划分为多个列表,并且用信号通知要使用哪个列表。参照图13,mh_intra_luma_mpm_flag可以是指示多个列表当中要使用的列表的标志。如果mh_intra_luma_mpm_flag不存在,则这可以被推断为1。在本公开的实施例中,多个列表可以是MPM列表和非MPM列表。
根据本公开的实施例,可以用信号通知指示在多个列表当中的哪一列表中使用哪一索引候选的索引。参考图13,mh_intra_luma_mpm_idx可以是这样的索引。作为实施例,仅当选择了特定列表时,可以用信号通知该索引。参照图13,mh_intra_luma_mpm_idx可以仅在确定特定列表为mh_intra_luma_mpm_flag时被解析。
例如,如参考图12描述的一个实施例中,可以基于由帧间预测生成的预测和由帧内预测生成的预测来执行多假设预测。另外,可以在用信号通知使用帧间预测时执行多假设预测。或者,可以仅在用信号通知使用帧间预测的特定模式(诸如合并模式)时执行多假设预测。在此情况下,用于帧间预测的信令可能不是必要的。根据实施例,当通过帧内预测生成预测时,可以存在总共四个候选模式。总共四个候选模式可以分别在列表1和列表2中被划分为3和1。如果选择列表2,则不用信号通知索引。当选择列表1时,可以用信号通知索引,其中,由于在列表1中包括三个候选,因此可以利用可变长度编译来执行信令,并且索引信令可能需要1比特或2比特。
图14是示出根据本公开的实施例的多假设预测相关语法的图。
如图13中所描述,可以存在指示将使用哪个列表的信令,并且mh_intra_luma_mpm_flag可以是图13和图14中的信令。
根据本公开的实施例,指示要使用哪个列表的信令可以仅在特定情况下显式地执行。如果信令未被显式地执行,则可以根据预配置的方法来推断信令值。参照图14,如果满足mh_mpm_infer_condition的条件,则可能不存在显式信令,而如果不满足该条件,则可能存在显式信令。此外,如果满足mh_mpm_infer_condition的条件,则mh_intra_luma_mpm_flag不存在,并且这种情况可以被推断为1。即,这种情况可以被推断为使用MPM列表。
图15是示出根据本公开的实施例的多假设预测相关语法的图。
如图13和图14中所描述的,可能存在指示要使用哪个列表的信令,并且如果满足特定条件,则可以推断出值。
根据本公开的实施例,用于推断指示将使用哪个列表的信令值的条件可以基于当前块大小。例如,该条件可以基于当前块的宽度和高度。更具体地,如果当前块的宽度和高度中的较大值大于较小值的n倍,则可以推断信令值。例如,n可以是2。
参照图15,用于推断指示将使用哪个列表的信令值的条件可以是当前块的宽度和高度中的较大值大于较小值的两倍的条件。如果当前块的宽度和高度分别为cbWidth和cbHeight,则当cbWidth和cbHeight相同时,Abs(Log2(cbWidth/cbHeight))的值为0,并且当cbWidth和cbHeight中的一个是另一个的两倍时,该值为1。因此,如果cbWidth和cbHeight中的一个大于另一个的2倍,则Abs(Log2(cbWidth/cbHeight))的值大于1(值大于或等于2)。
图16是图示根据本公开的实施例的确定多假设预测模式的方法的图。
如图13至图15所述,可以基于多个列表来确定模式。模式可以指用于基于帧内预测生成预测的帧内模式。多个列表可以包括列表1和列表2。参考图16,是否使用列表1可由list1_flag来确定。可以存在可以属于列表1的多个候选,并且可以存在可以属于列表2的一个候选。多个列表可以是两个列表。
如果推断list1_flag,则可以推断该值,使得使用列表1。在该情况下,可以解析作为指示在列表1中使用哪个候选的索引的list1_index。如果不推断list1_flag,则可以解析list1_flag。如果list1_flag是1,则可以解析list1_index,而如果list1_flag不是1,则可以不解析索引。如果list1_flag是1,则可以基于索引从列表1的候选模式中确定实际要使用的模式。如果list1_flag不是1,则列表2的候选模式可以被确定为实际要使用的模式,而无需索引。即,模式可以基于列表1中的标志和索引来确定,并且模式可以基于列表2中的标志来确定。
图17是图示根据本公开的实施例的生成候选列表的方法的示图。
根据本公开的实施例,可以存在一种确定包括在候选列表中的模式的顺序的方法,以便当对用于确定列表中的候选模式的索引执行可变长度编译时提高编译效率。例如,可以存在确定列表1中包括的模式的顺序的方法。可以参考当前块周围的模式来确定模式顺序。列表2可以在不参考当前块周围的模式的情况下确定。例如,列表1可以通过参考当前块周围的模式来生成,并且列表1中未包括的模式可以包括在列表2中。
列表1可以是MPM模式,而列表2可以是非MPM模式。可以存在总共4个候选模式,并且列表1可以包括3个,而列表2可以包括1个模式。
参考图17,可以存在作为指示是否使用列表1的信令的list1_flag。如果使用列表1,则可以生成列表1,并且可以在列表1中选择模式。在这种情况下,列表1的生成和是否使用列表1的确定可以以任何顺序执行。然而,在使用列表1的情况下,可以在确定是否使用列表1之前或之后生成列表1。如果使用列表1,则可以不执行列表2的生成。如果不使用列表1,则可以生成列表2,并且可以在列表2中选择模式。可以生成列表1以生成列表2。此外,在候选模式中,可以在列表2中包括列表1中未包括的候选。
根据本公开的实施例,无论是否使用列表1(list1_flag值)、是使用还是推断列表1等,生成列表1的方法可以是相同的。
在这种情况下,列表信令和模式信令可以遵循上面在图16等中描述的实施例。
在下文中,将进一步描述图16和图17中描述的生成多个列表的方法。多个列表可以包括列表1和列表2。多个列表可以是在多假设预测过程中特别使用的列表。
根据本公开的实施例,可以参考当前块周围的模式来生成多个列表。可以使用从所述多个列表中选择的模式来执行帧内预测,并且帧内预测可以与帧间预测(多假设预测)组合,使得可以使用预测块。作为实施例,可以包括在多个列表中的模式(候选模式)可以是帧内预测方法的平面模式、DC模式、垂直模式和水平模式。垂直模式可以是图6中的索引50的模式,水平模式可以是图6中的索引18的模式,平面模式和DC模式可以分别是索引0和1。
根据本公开的实施例,candModeList可以参考当前块周围的模式来生成。candModeList可以是在前述实施例中描述的列表1。作为实施例,可以存在candIntraPredModeX,其为当前块周围的模式或基于当前块周围的模式的模式。这里,X可以是诸如A或B的字符,用于指示与当前块周围的特定位置相对应。
作为一个实施例,candModeList可以基于多个candIntraPredModeX是否彼此匹配来生成。例如,candIntraPredModeX可以存在两个位置,其可由candIntraPredModeA和candIntraPredModeB表示。如果candIntraPredModeA和candIntraPredModeB相同,则candModeList可以包括平面模式和DC模式。
如果candIntraPredModeA和candIntraPredModeB相同,并且其值指示平面模式或DC模式,则由candIntraPredModeA和candIntraPredModeB指示的模式可以被添加到candModeList中。在这种情况下,可以将平面模式和DC模式中的未由candIntraPredModeA和candIntraPredModeB指示的模式添加到candModeList。在这种情况下,可以将除了平面模式或DC模式之外的预配置模式添加到candModeList。作为实施例,在这种情况下,candModeList内的平面模式、DC模式和预设模式的顺序可以被预配置。例如,该顺序可以是平面模式、DC模式和预配置模式的序列。即candModeList[0]=平面模式,candModeList[1]=DC模式,并且candModeList[2]=预配置模式。预配置模式可以是垂直模式。作为另一实施例,在此情况下,平面模式、DC模式和预设模式中的由candIntraPredModeA和candIntraPredModeB指示的模式首先进入candModeList中,未由candIntraPredModeA和candIntraPredModeB指示的模式在candModeList之后进入,并且预配置模式在其后进入。
如果candIntraPredModeA和candIntraPredModeB相同并且其值不指示平面模式和DC模式,则由candIntraPredModeA和candIntraPredModeB所指示的模式可以被添加到candModeList。平面模式和DC模式可以被添加到candModeList。在这种情况下,由candIntraPredModeA和candIntraPredModeB指示的模式、candModeList内的平面模式和DC模式的顺序可以被预配置。该预配置顺序可以是由candIntraPredModeA和candIntraPredModeB所指示的模式、平面模式和DC模式的序列。即candModeList[0]=candIntraPredModeA,candModeList[1]=平面模式,以及candModeList[2]=DC模式。
如果candIntraPredModeA和candIntraPredModeB不同,则candIntraPredModeA和candIntraPredModeB两者都可以被添加到candModeList。candIntraPredModeA和candIntraPredModeB可以根据特定顺序被包括在candModeList中。例如,candIntraPredModeA和candIntraPredModeB可以按顺序包括在candModeList中。在候选模式之间可以存在预配置顺序,并且可以将根据预配置顺序的模式中除candIntraPredModeA和candIntraPredModeB之外的模式添加到candModeList。candIntraPredModeA和candIntraPredModeB之外的模式可以在candModeList内的candIntraPredModeA和candIntraPredModeB之后出现。预配置顺序可以是平面模式、DC模式和垂直模式的序列。或者,预配置顺序可以是平面模式、DC模式、垂直模式和水平模式的序列。即,candModeList[0]=candIntraPredModeA并且candModeList[1]=candIntraPredModeB,并且candModeList[2]可以是平面模式、DC模式和垂直模式中的除candIntraPredModeA和candIntraPredModeB之外的最前模式。
在候选模式中,不包括在candModeList中的模式可以是candIntraPredModeC。candIntraPredModeC可以包括在列表2中。此外,如果指示是否使用列表1的上述信令指示不使用列表1,则可以配置candIntraPredModeC。
如果使用列表1,则可以根据索引从candModeList中确定模式,并且如果不使用列表1,则可以使用列表2的模式。
如上所述,在生成candModeList之后,可以增加修改candModeList的过程。例如,可以根据当前块大小条件来附加地执行修改过程,也可以不附加地执行修改过程。例如,当前块大小条件可以基于当前块的宽度和高度。例如,如果当前块的宽度和高度中的较大值大于另一个值的N倍,则可以附加地执行修改过程。n可以是2。
修改过程可以是当candModeList中包括特定模式时用另一模式替换该模式的过程。例如,当candModeList中包括垂直模式时,可以将水平模式添加到candModeList替代垂直模式。或者,当candModeList中包括垂直模式时,candIntraPredModeC可以被添加到candModeList替代垂直模式。然而,如上所述,当生成candModeList时,平面模式和DC模式可以总是被包括在candModeList中,并且在这种情况下,candIntraPredModeC可以是水平模式。在当前块的高度大于当前块的宽度的n倍时,可以使用修改过程。例如,n可以是2,这可能是因为,当高度大于宽度时,块的下部远离帧内预测的参考样本,使得垂直模式的准确度可能低。或者,使用修改过程可以对应于被推断为使用列表1的情况。
作为修改过程的另一示例,当candModeList中包括水平模式时,可以将垂直模式添加到candModeList替代水平模式。或者,当candModeList中包括水平模式时,candIntraPredModeC可以被添加到candModeList替代水平模式。然而,如上所述,当生成candModeList时,平面模式和DC模式可以总是被包括在candModeList中,并且在这种情况下,candIntraPredModeC可以是垂直模式。在当前块的宽度大于当前块的高度的n倍时,可以使用修改过程。例如,n可以是2,这可能是因为,当宽度大于高度时,块的右边部分远离帧内预测的参考样本,使得水平模式的准确度可能低。或者,使用修改过程可以对应于被推断为使用列表1的情况。
下面再次描述上述列表配置方法的示例。在下文中,IntraPredModeY可以是将用在多假设预测中的帧内预测中的模式。这也可以是亮度分量的模式。作为实施例,在多假设预测中,色度分量的帧内预测模式可遵循亮度分量的模式。此外,mh_intra_luma_mpm_flag可以是指示要使用的列表的信令。也就是说,该信令可以是例如图13至图15的mh_intra_luma_mpm_flag、以及图16和图17的list1_flag。此外,mh_intra_luma_mpm_idx可以是指示列表中的哪个候选将被使用的索引。也就是说,索引可以是例如图13到图15的mh_intra_luma_mpm_idx和图16的list1_index。xCb和yCb可以是当前块的左上的x和y坐标。此外,cbWidth和cbHeight可以是当前块的宽度和高度。
x=0..2的candModeList[x]如下推导:
A.如果candIntraPredModeB等于candIntraPredModeA,则应用以下:
a.如果candIntraPredModeA小于2(即,等于INTRA_PLANAR或INTRA_DC),则具有x=0..2的candModeList[x]如下推导:
candModeList[0]=INTRA_PLANAR
candModeList[1]=INTRA_DC
candModeList[2]=INTRA_ANGULAR50
b.否则,具有x=0..2的candModeList[x]如下推导:
candModeList[0]=candIntraPredModeA
candModeList[1]=INTRA_PLANAR
candModeList[2]=INTRA_DC
B.否则(candIntraPredModeB不等于candIntraPredModeA),应用以下:
a.candModeList[0]和candModeList[1]如下推导:
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
b.如果candModeList[0]和candModeList[1]中的任一个都不等于INTRA_PLANAR,则candModeList[2]被设置为等于INTRA_PLANAR,
c.否则,如果candModeList[0]和candModeList[1]中的任一个都不等于INTRA_DC,则candModeList[2]被设置为等于INTRA_DC,
d.否则,candModeList[2]被设置为等于INTRA_ANGULAR50。
IntraPredModeY[xCb][yCb]通过应用以下过程来推导:
A.如果mh_intra_luma_mpm_flag[xCb][yCb]等于1,则将IntraPredModeY[xCb][yCb]设置为等于candModeList[intra_luma_mpm_idx[xCb][yCb]]。
B.否则,IntraPredModeY[xCb][yCb]被设置为等于candIntraPredModeC,通过应用以下步骤来推导:
a.如果x=0..2的candModeList[x]中的任一个都不等于INTRA_PLANAR,则candIntraPredModeC被设置为等于INTRA_PLANAR,
b.否则,如果x=0..2的candModeList[x]中的任一个都不等于INTRA_DC,则candIntraPredModeC被设置为等于INTRA_DC,
c.否则,如果x=0..2的candModeList[x]中的任一个都不等于INTRA_ANGULAR50,则candIntraPredModeC被设置为等于INTRA_ANGULAR50,
d.否则,如果x=0..2的candModeList[x]中的任一个都不等于INTRA_ANGULAR18,则candIntraPredModeC被设置为等于INTRA_ANGULAR18,
其中x=xCb..xCb+cbWidth-1和y=yCb..yCb+cbHeight-1的变量IntraPredModeY[x][y]被设置为等于IntraPredModeY[xCb][yCb]。一个附加设置是当cbHeight大于cbWidth的两倍时,mh_intra_luma_mpm_flag[xCb][yCb]被推断为1,并且如果x=0..2的candModeList[x]等于INTRA_ANGULAR50,则candModeList[x]用candIntraPredModeC替换。另一个附加设置是当cbWidth大于cbHeight的两倍时,mh_intra_luma_mpm_flag[xCb][yCb]被推断为1,并且如果x=0..2的candModeList[x]等于INTRA_ANGULAR18,则candModeList[x]用candIntraPredModeC替换。
图18是图示根据本公开的实施例的在多假设预测中参考的相邻位置的图。
如上所述,在生成用于多假设预测的候选列表的过程期间,可以参考相邻位置。例如,可能需要上述的candIntraPredModeX。如图18所示,与当前块相邻的A和B的位置可以是NbA和NbB。即,位置可以紧接当前块的左上的左侧和上侧。如果当前块的左上位置是Cb,如图18所示,并且当其坐标是(xCb、yCb)时,NbA可以是(xNbA,yNbA)=(xCb-1,yCb),并且NbB可以是(xNbB,yNbB)=(xCb,yCb-1)。
图19是图示根据本公开的实施例的参考周围模式的方法的图。
如上所述,在生成多假设预测的候选列表的过程期间,可以参考相邻位置。另外,可以通过照原样使用相邻模式或者通过使用基于相邻模式的模式来生成列表。通过参考相邻位置获得的模式可以是candIntraPredModeX。
作为实施例,在相邻位置不可用的情况下,candIntraPredModeX可以是预定模式。相邻位置不可用的情况可以包括相邻位置使用帧间预测的情况、模式没有按所确定的解码或编码顺序被确定的情况等。
或者,如果多假设预测不用于相邻位置,则candIntraPredModeX可以是预定模式。
或者,如果相邻位置超出并且高于当前块所属的CTU,则candIntraPredModeX可以是预定模式。作为另一示例,如果相邻位置在当前块所属的CTU之外,则candIntraPredModeX可以是预定模式。
根据实施例,预定模式可以是DC模式。作为另一实施例,预定模式可以是平面模式。
此外,取决于相邻位置的模式是否超出阈值角度或相邻位置的模式的索引是否超出阈值,可以对candIntraPredModeX进行配置。例如,如果相邻位置的模式的索引大于对角模式索引,则candIntraPredModeX可以被配置为垂直模式索引。另外,如果相邻位置的模式的索引小于或等于对角模式索引并且对应于定向模式,则candIntraPredModeX可以被配置为水平模式索引。对角模式索引可以是图6中的模式34。
如果相邻位置的模式是平面模式或DC模式,则candIntraPredModeX可以照原样被配置为平面模式或DC模式。
参考图19,mh_intra_flag可以是指示是否使用(或已经使用)多假设预测的信令。在相邻块中使用的帧内预测模式可以是X。此外,当前块可以使用多假设预测,并且候选列表可以基于相邻块的模式使用candIntraPredMode来生成,其中相邻块不使用多假设预测,并且因此candIntraPredMode可以被配置为作为预配置模式的DC模式,而不管相邻块的帧内预测模式如何或不管相邻块是否使用帧内预测。
下面将再次描述上述参考相邻模式的方法的示例。
对于用A或B替换的X,变量candIntraPredModeX如下推导:
1.以设置为等于(xCb,yCb)的位置(xCurr,yCurr)和设置为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用如在相邻块可用性检查过程中指定的块的可用性推导过程,并且将输出指配给availableX。
2.候选帧内预测模式candPredModeX如下推导:
A.如果以下条件中的一个或多个为真,则candIntraPredModeX被设置为等于INTRA DC。
a.变量availableX等于假。
b.mh_intra_flag[xNbX][yNbX]不等于1。
c.X等于B和yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)。
B.否则,如果IntraPredModeY[xNbX][yNbX]>INTRA_ANGULAR34,则candIntraPredModeX被设置为等于INTRA_ANGULAR50。
C.否则,如果IntraPredModeY[xNbX][yNbX]<=INTRA_ANGULAR34并且IntraPredModeY[xNbX][yNbX]>INTRA_DC,则candIntraPredModeX被设置为等于INTRA_ANGULAR18。
D.否则,candIntraPredModeX被设置为等于IntraPredModeY[xNbX][yNbX]。
在上述列表配置方法中,candIntraPredModeX可以根据参考相邻模式的方法来确定。
图20是图示根据本公开的实施例的生成候选列表的方法的图。
根据图13至图17中描述的生成列表1和列表2的方法,可以通过参考当前块的相邻模式来生成列表1,并且可以将候选模式中未包括在列表1中的模式添加到列表2中。由于在图片中存在空间相似性,所以参考相邻模式可以对应于高优先级。也就是说,列表1可以具有比列表2更高的优先级。然而,根据图13至图17中描述的用信号通知列表1和列表2的方法,如果未推断出用于确定列表的信令,则使用标志和索引来执行信令以便使用列表1中的模式,并且仅标志可用于使用列表2中的模式。也就是说,列表2的信令可使用更少的比特。然而,较大数量的比特用于用信号通知具有较高优先级的列表中的模式的事实在编译效率方面可能是低效的。因此,如在本公开中,可以存在一种使用具有较少比特的信令用于具有高优先级的列表和模式的方法。
根据本公开的实施例,取决于是否仅列表1可用,生成候选列表的方法可以变化。是否仅列表1可用可以指示是否推断出指示要使用的列表的信令。例如,当存在由预配置方法利用候选模式生成的列表3时,列表3可以被划分成列表1和列表2。例如,通过预配置方法生成的列表3和生成方法可以对应于上述candModeList及其生成方法。如果推断出指示要使用的列表的信令,则可以仅使用列表1,并且在这种情况下,可以用列表3从其前部开始填充列表1。另外,如果没有推断出指示要使用的列表的信令,则可以使用列表1或列表2,并且在这种情况下,可以用列表3从其前部开始填充列表2,并且可以用剩余部分填充列表1。当填充列表1时,也可以根据列表3的顺序填充列表1。也就是说,candIntraPredModeX可以参考当前块的相邻模式添加到候选列表,其中如果推断出指示列表的信令,则candIntraPredModeX可以被添加到列表1,并且如果未推断出信令,则candIntraPredModeX可以被添加到列表2。列表2的大小可以为1,在此情况下,如果推断出指示列表的信令,则candIntraPredModeA可以被添加到列表1,而如果未推断出信令,则candIntraPredModeA可以被添加到列表2。candIntraPredModeA可以是列表3中的最前面模式的list3[0]。因此,在本公开中,可以取决于情况将作为基于相邻模式的模式的candIntraPredModeA原样添加到列表1和列表2两者。相反,根据图13至图17中描述的方法,candIntraPredModeA仅被添加到列表1。根据本公开,取决于是否推断出指示要使用的列表的信令,可以不同地配置生成列表1的方法。
参照图20,候选模式可以是可用于生成多假设预测的帧内预测的候选。取决于是否推断出作为指示要使用的列表的信令的list1_flag,候选列表生成方法可以变化。如果推断出信令,则推断出使用列表1,并且由于仅可以使用列表1,因此可以从最前面模式开始将列表3添加到列表1。当生成列表3时,可以将基于相邻模式的模式添加到顶部。如果没有推断出信令,则可以使用列表1和列表2两者,因此可以从其最前面模式将列表3添加到较少信令的列表2。如果需要列表1,例如,如果用信号通知使用列表1,则可以将已经从其排除了包括在列表2中的部分的列表3添加到列表1中。
尽管在本公开中存在使用列表3描述的部分,但是这可以是概念解释,并且可以生成列表1和列表2而无需实际存储列表3。
可以自适应地使用根据下面描述的实施例的生成候选列表的方法和图16和图17中描述的生成候选列表的方法。例如,可以取决于是否推断出指示要使用的列表的信令来选择生成候选列表的两种方法之一。这可以对应于多假设预测的情况。另外,列表1可以包括三种模式,并且列表2可以包括一种模式。在模式信令方法中,如图13至图16中所述,可以使用标志和索引来用信号通知列表1中的模式,并且可以使用标志来用信号通知列表2中的模式。
根据实施例,如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA为平面模式或DC模式,则List2[0]=平面模式、List1[0]=DC模式、List1[1]=垂直模式、以及List1[2]=水平模式是可能的。
根据另一实施例,如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA为平面模式或DC模式,则List2[0]=candIntraPredModeA、List1[0]=!candIntraPredModeA、List1[1]=垂直模式、以及List1[2]=水平模式是可能的。
作为实施例,如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA为定向模式,则List2[0]=candIntraPredModeA、List1[0]=平面模式、List1[1]=DC模式、以及List1[2]=垂直模式是可能的。
在实施例中,如果candIntraPredModeA和candIntraPredModeB不同,则List2[0]=candIntraPredModeA,并且List1[0]=candIntraPredModeB。平面模式、DC模式、垂直模式和水平模式之中除了candIntraPredModeA和candIntraPredModeB之外的模式可以首先被添加到List1[1]和List1[2]。
图21是图示根据本公开的实施例的生成候选列表的方法的图。
在上述实施例中,已经描述了基于多个列表确定模式的方法。在图21的发明中,可以基于一个列表而不是多个列表来确定模式。
参照图21,如图21(a)所示,可以生成包括多假设预测的所有候选模式的一个候选列表。参照图21(a),由于存在一个候选列表,因此不存在用于选择列表的信令,并且可以存在指示候选列表中的模式之中要使用的模式的索引信令。因此,如果指示是否使用多假设预测的mh_intra_flag是“1”,则可以解析作为候选索引的mh_intra_luma_idx。
根据实施例,一种生成用于多假设预测的候选列表的方法可以基于一种在现有帧内预测中生成MPM列表的方法。
根据实施例,所述生成用于多假设预测的候选列表的方法可以以其中列表1和列表2在图17中描述的生成列表1和列表2的方法中被顺序地组合的列表的形式被配置。
也就是说,如果多假设预测的候选列表被称为candModeList,则candModeList的大小在该实施例中可以是4。如果candIntraPredModeA和candIntraPredModeB相同并且对应于平面模式或DC模式,则candModeList可以以预定顺序确定。例如candModeList[0]=平面模式,candModeList[1]=DC模式,candModeList[2]=垂直模式,并且candModeList[3]=水平模式。
根据另一实施例,如果candIntraPredModeA和candIntraPredModeB相同并且对应于平面模式或DC模式,则可配置candModeList[0]=candIntraPredModeA、candModeList[1]=!candIntraPredModeA、candModeList[2]=垂直模式、以及candModeList[3]=水平模式。
如果candIntraPredModeA和candIntraPredModeB相同并且对应于定向模式,则可配置candModeList[0]=candIntraPredModeA、candModeList[1]=平面模式、candModeList[2]=DC模式,并且candModeList[3]=除了candIntraPredModeA、平面模式及非DC模式之外的模式。
如果candIntraPredModeA和candIntraPredModeB不同,则candModeList[0]=candIntraPredModeA,并且candModeList[1]=candIntraPredModeB。在candModeList[2]和candModeList[3]中,可以根据候选模式的预定顺序顺序地添加除了candIntraPredModeA和candIntraPredModeB之外的模式。预定顺序可以是平面模式、DC模式、垂直模式和水平模式的序列。
根据本公开的实施例,候选列表可以取决于块大小条件而变化。如果块的宽度和高度中的较大值大于另一值的n倍,则候选列表可以更短。例如,如果宽度大于高度的n倍,则可以从图21中描述的候选列表中移除水平模式,并且可以用水平模式之后的模式来填充候选列表。另外,如果高度大于宽度的n倍,则可从图21中描述的候选列表中移除垂直模式,并且可用垂直模式之后的模式填充候选列表。因此,如果宽度大于高度的n倍,则候选列表的大小可以是3。另外,如果宽度大于高度的n倍,则候选列表的大小可以具有小于或等于其它大小的值。
根据本发明的实施例,可对图21的实施例中的候选索引执行可变长度编译。这可通过将更可能使用的模式添加到列表的前部来增加信令效率。
根据另一实施例,在图21的实施例中,可以对候选索引执行固定长度编译。在多假设预测中使用的模式的数量可以是2的n次幂。例如,如上所述,可以使用四种帧内预测模式。在这种情况下,这可能是因为由于即使在固定长度编译的情况下也不会出现未指配值,所以在信令中没有生成不必要的部分。如果执行固定长度编译,则列表构造的情况的数量可以是1。这是因为不管要用信号通知的索引如何,比特的数量都是相同的。
根据实施例,在一些情况下,可以对候选索引执行可变长度编译或固定长度编译。例如,如在上述实施例中,候选列表的大小在一些情况下可以变化。根据实施例,可以根据候选列表的大小对候选索引执行可变长度编译或固定长度编译。例如,如果候选列表的大小对应于2的n次幂,则可以执行固定长度编译,否则可以执行可变长度编译。即,根据上述实施例,编译方法可以取决于块大小条件而变化。
根据本公开的实施例,如果在使用多假设预测时使用DC模式,则多个预测之间的权重可以相对于整个块而相同,并且因此结果可以与调整预测块的权重的结果相同或类似。因此,可以从多假设预测中排除DC模式。
根据实施例,在多假设预测中可以仅使用平面模式、垂直模式和水平模式。在这种情况下,如图21所示,可以通过使用单个列表来用信号通知多假设预测。可变长度编译可以用于索引信令。根据实施例,可以以固定顺序生成列表。例如,固定顺序可以是平面模式、垂直模式和水平模式的序列。根据另一实施例,可以通过参考当前块的相邻模式来生成列表。例如,如果candIntraPredModeA和candIntraPredModeB相同,则candModeList[0]=candIntraPredModeA。如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA为平面模式,则candModeList[1]和candModeList[2]可以以预定顺序配置。如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA不同于平面模式,则candModeList[1]=平面模并式且candModeList[2]=除了candIntraPredModeA和平面模式之外的模式。如果candIntraPredModeA和candIntraPredModeB不同,则candModeList[0]=candIntraPredModeA、candModeList[1]=candIntraPredModeB、并且candModeList[2]=除了candIntraPredModeA和candIntraPredModeB之外的模式。
根据另一实施例,在多假设预测中仅可以使用三种模式。三种模式可以包括平面模式和DC模式。根据条件,三种模式可以包括垂直模式和水平模式中的一种。条件可与块大小相关联。例如,可以根据块的宽度和高度中的哪一个具有更大值来确定要包括水平模式和垂直模式中的哪一个。例如,如果块的宽度大于高度,则可以包括垂直模式。如果块的高度大于宽度,则可以包括水平模式。如果块的高度和宽度相同,则可以包括垂直模式和水平模式中的预定模式。
根据实施例,可以以固定顺序生成列表。例如,固定顺序可以是平面模式、DC模式和垂直模式或水平模式的序列。根据另一实施例,可通过参考当前块的相邻模式来生成列表。例如,如果candIntraPredModeA和candIntraPredModeB相同,则candModeList[0]=candIntraPredModeA。如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA不同于定向模式,则candModeList[1]和candModeList[2]可以根据预定顺序来配置。如果candIntraPredModeA和candIntraPredModeB相同并且candIntraPredModeA是定向模式,则candModeList[1]=平面模式并且candModeList[2]=DC模式。如果candIntraPredModeA和candIntraPredModeB不同,则candModeList[0]=candIntraPredModeA、candModeList[1]=candIntraPredModeB以及candModeList[2]=除了candIntraPredModeA和candIntraPredModeB之外的模式。
根据本公开的另一实施例,在多假设预测中仅可以使用两种模式。这两种模式可以包括平面模式。根据条件,这两种模式可以包括垂直模式和水平模式中的一种。条件可与块大小相关联。例如,可以根据块的宽度和高度中的哪一个具有更大值来确定要包括水平模式和垂直模式之间的模式中的哪一个。例如,如果块的宽度大于高度,则可以包括垂直模式。如果块的高度大于宽度,则可以包括水平模式。如果块的高度和宽度相同,则可以包括垂直模式和水平模式之间的预定模式。在这种情况下,可以用信号通知指示要在多假设预测中使用的模式的标志。根据实施例,可以根据块大小来排除特定模式。例如,如果块大小小,则可以排除特定模式。例如,如果块大小小,则在多假设预测中仅可以使用平面模式。如果排除了特定模式,则可以省略模式信令或者以减少的状态执行信令。
根据本公开的另一实施例,在多假设预测中可以仅使用一种模式。该种模式可以是平面模式。作为另一实施例,该一种模式可以基于块大小在垂直模式和水平模式当中确定。例如,可以取决于块的宽度和高度中的哪一个具有更大值,将垂直模式和水平模式中的一个确定为该种模式。例如,如果块的宽度大于高度,则可以将垂直模式确定为该模式,而如果块的高度大于宽度,则可以将水平模式确定为该模式。如果块的宽度和高度相同,则可以将预定模式确定为该模式。如果块的宽度和高度相同,则可以将水平模式和垂直模式中的预定模式确定为该模式。如果块的宽度和高度相同,则可以将平面模式和DC模式中的预定模式确定为该模式。
另外,根据本公开的实施例,可以存在用于翻转在多假设预测中生成的预测的翻转信令。因此,尽管在多假设预测中选择一种模式,但是翻转可以消除相对侧上的残差。通过这种方式,可以减少多假设预测中可用的候选模式。更具体地,例如,对于实施例中仅使用一种模式的情况,可以使用翻转。因此,可以提高预测的性能。翻转可以指相对于x轴的翻转、相对于y轴的翻转、或者相对于x轴和y轴两者的翻转。作为实施例,可以基于多假设预测中的选定模式来确定翻转方向。例如,如果多假设预测中的选定模式是平面模式,那么可以确定翻转是相对于x轴和y轴两者。相对于x轴和y轴的翻转可以基于块形状。例如,如果块不是正方形,则可以确定不相对于x轴和y轴两者执行翻转。例如,如果多假设预测中的选定模式是水平模式,则可以确定翻转是相对于x轴。例如,如果多假设预测中的选定模式是垂直模式,则可以确定翻转是相对于y轴。如果多假设预测中的选定模式是DC模式,则可以确定不存在翻转且不执行显式信令。
多假设预测中的DC模式可以具有与照度补偿的效果类似的效果。因此,根据本公开的实施例,如果使用多假设预测中的照度补偿和DC模式中的一个,则可以不使用另一个。
此外,多假设预测可以具有与一般化双向预测(GBi)的效果类似的效果。例如,在多假设预测中,DC模式可以具有与一般化双向预测(GBi)的效果类似的效果。一般化双向预测可以是以块为单位和以Cu为单位调整双向预测的两个参考块之间的权重的技术。因此,根据本公开的实施例,如果使用多假设预测(或多假设预测中的DC模式)和一般化双向预测中的一个,则可以不使用另一个。这可以是在多假设预测的预测中包括双向预测的情况。例如,如果多假设预测的选定合并候选是双向预测,则可以不使用一般化双向预测。在实施例中,多假设预测和一般化双向预测之间的关系可限于其中使用多假设预测的特定模式(例如,DC模式)的情况。或者,当一般化双向预测相关信令在多假设预测相关信令之前存在时,如果使用一般化双向预测,则可以不使用多假设预测或多假设预测的特定模式。
不使用某种方法可以指示不执行用于特定方法的信令并且不解析相关语法。
图22是图示根据本公开的实施例的在多假设预测中参考的相邻位置的图。
如上所述,在生成用于多假设预测的候选列表的过程期间,可以参考相邻位置。例如,可能需要上述的candIntraPredModeX。如图22所示,与当前块相邻的A和B的位置可以是NbA和NbB。如果当前块的左上的位置为Cb,如图18所示,并且当其坐标为(xCb、yCb)时,NbA可以是(xNbA,yNbA)=(xCb-1,yCb+cbHeight-1),而NbB可以是(xNbB,yNbB)=(xCb+cbWidth-1,yCb-1)。这里,cbWidth和cbHeight可以分别是当前块的宽度和高度。在生成多假设预测的候选列表的过程中的相邻位置可以与在生成帧内预测的MPM列表时所参考的相邻位置相同。
根据另一实施例,在生成多假设预测的候选列表的过程期间所参考的相邻位置可以在当前块的左中心和上中心附近。例如,NbA和NbB可以是(xCb-1,yCb+cbHeight/2-1)和(xCb+cbWidth/2-1,yCb-1)。或者,NbA和NbB可以是(xCb-1,yCb+cbHeight/2)和(xCb+cbWidth/2,yCb-1)。
图23是示出根据本公开的实施例的参考相邻模式的方法的图。
如上所述,可以在生成多假设预测的候选列表的过程期间参考相邻位置。在图19的实施例中,在多假设预测未用于相邻位置的情况下,candIntraPredModeX被配置为预配置模式。这可能是因为在配置candIntraPredModeX时,相邻位置的模式可能不是照原样的candPredModeX。
因此,根据本公开的实施例,尽管多假设预测未用于相邻位置,但如果用于相邻位置的模式是用于多假设预测的模式,则candIntraPredModeX可以被配置为用于相邻位置的模式。用于多假设预测的模式可以是平面模式、DC模式、垂直模式和水平模式。
或者,尽管未将多假设预测用于相邻位置,但如果用于相邻位置的模式为特定模式,则candIntraPredModeX可以被配置为用于相邻位置的模式。
或者,尽管多假设预测未用于相邻位置,但如果用于相邻位置的模式是垂直模式或高度模式,则candIntraPredModeX可以被配置为用于相邻位置的模式。或者,在相邻位置在当前块的上侧的情况下,尽管多假设预测不用于相邻位置,但如果用于相邻位置的模式为垂直模式,则candIntraPredModeX可以被配置为用于相邻位置的模式。或者,在相邻位置在当前块的左侧的情况下,尽管多假设预测不用于相邻位置,但如果用于相邻位置的模式是水平模式,则candIntraPredModeX可以被配置为用于相邻位置的模式。
参考图23,mh_intra_flag可以是指示是否使用(或者已经使用)多假设预测的信令。在相邻块中使用的帧内预测模式可以是水平模式。当前块可以使用多假设预测,并且候选列表可以使用基于相邻块的模式的candIntraPredMode来生成,其中尽管在相邻块中不使用多假设预测,但相邻块的帧内预测模式为特定模式(例如水平模式),并且candIntraPredMode可因此被配置为水平模式。
在下文中,将结合图19的另一实施例再次描述上述参考相邻模式的方法的示例。
对于用A或B替换的X,变量candIntraPredModeX如下推导:
1.以设置为等于(xCb,yCb)的位置(xCurr,yCurr)和设置为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用如在相邻块可用性检查过程中指定的块的可用性推导过程,并且将输出指配给availableX。
2.候选帧内预测模式candIntraPredModeX如下推导:
A.如果以下条件中的一个或多个为真,则candIntraPredModeX被设置为等于INTRA DC。
a.变量availableX等于假。
b.mh_intra_flag[xNbX][yNbX]不等于1,并且IntraPredModeY[xNbX][yNbX]既不是INTRA_ANGULAR50也不是INTRA_ANGULAR18。
c.X等于B并且yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)。
B.否则,如果IntraPredModeY[xNbX][yNbX]>INTRA_ANGULAR34,则candIntraPredModeX被设置为等于INTRA_ANGULAR50。
C.否则,如果IntraPredModeY[xNbX][yNbX]<=INTRA_ANGULAR34并且IntraPredModeY[xNbX][yNbX]>INTRA_DC,则candIntraPredModeX被设置为等于INTRA_ANGULAR18。
D.否则,candIntraPredModeX被设置为等于IntraPredModeY[xNbX][yNbX]。
以下是另一实施例。
对于用A或B替换的X,变量candIntraPredModeX如下推导:
1.以设置为等于(xCb,yCb)的位置(xCurr,yCurr)和设置为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用如在相邻块可用性检查过程中指定的块的可用性推导过程,并且将输出指配给availableX。
2.候选帧内预测模式candIntraPredModeX如下推导:
A.如果以下条件中的一个或多个为真,则candIntraPredModeX被设置为等于INTRA_DC。
a.变量availableX等于假。
b.mh_intra_flag[xNbX][yNbX]不等于1,并且IntraPredModeY[xNbX][yNbX]既不是INTRA_PLANAR、INTRA_DC、INTRA_ANGULAR50也不是INTRA_ANGULAR18。
c.X等于B并且yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)。
B.否则,如果IntraPredModeY[xNbX][yNbX]>INTRA_ANGULAR34,则candIntraPredModeX被设置为等于INTRA_ANGULAR50。
C.否则,如果IntraPredModeY[xNbX][yNbX]<=INTRA_ANGULAR34并且IntraPredModeY[xNbX][yNbX]>INTRA_DC,则candIntraPredModeX被设置为等于INTRA_ANGULAR18。
D.否则,candIntraPredModeX被设置为等于IntraPredModeY[xNbX][yNbX]。
在上述列表配置方法中,candIntraPredModeX可以根据参考相邻模式的方法来确定。
图24是图示根据本公开的实施例的相邻样本的使用的图。
如上所述,如果使用多假设预测,则帧内预测可以与另一预测组合使用。因此,如果使用多假设预测,则可以使用当前块的相邻样本作为参考样本来生成帧内预测。
根据本公开的实施例,如果使用多假设预测,则使用重构样本的模式可以被使用。另外,如果不使用多假设预测,则使用重构样本的模式可以不被使用。重构样本可以是与当前块相邻的重构样本。
使用重构样本的模式的示例可以包括模板匹配。可以将基于特定块的预配置位置处的重构样本定义为模板。模板匹配可以是比较当前块的模板和要与之比较的块的模板之间的成本以便以低成本找到块的操作。在这种情况下,成本可以被定义为模板的绝对差的和、差的平方和等。例如,可以通过在当前块和参考图片中的块之间执行模板匹配来搜索预期与当前块相似的块,并且可以基于其来配置或细化运动向量。
使用重构样本的模式的示例可以包括运动向量细化和使用重构样本的运动补偿等。
为了使用与当前块相邻的重构样本,当对当前块进行解码时,必须等待完成相邻块的解码。在这种情况下,可能难以执行当前块和相邻块的并行处理。因此,如果不使用多假设预测,则可以不使用与当前块相邻的重构样本的模式以实现并行处理。如果使用多假设预测,则可以使用与当前块相邻的重构样本来生成帧内预测,因此也可以使用与当前块相邻的重构样本的另一模式。
根据本公开的实施例,尽管使用了多假设预测,但是可以根据候选索引来改变与当前块相邻的重构样本是否可用。作为实施例,如果候选索引具有小于阈值的值,则与当前块相邻的重构样本可以是可用的。如果候选索引具有较小值,则候选索引信令比特的数量可能较少,候选准确度可以较高,并且能够通过使用重构样本来进一步提高准确度以用于高编译效率。根据另一实施例,如果候选索引大于阈值,则与当前块相邻的重构样本可以是可用的。如果候选索引较大,则候选索引信令比特的数目可能较大并且候选准确度可能较低,并且可以通过使用与当前块相邻的重构样本来补充准确度以用于具有较低准确度的候选。
根据本公开的实施例,如果使用多假设预测,则可以通过使用与当前块相邻的重构样本来生成帧间预测,并且通过将帧间预测与多假设预测的帧内预测组合来生成预测块。
参照图24,作为指示当前块是否使用多假设预测的信令的mh_intra_flag的值是1。当前块使用多假设预测,因此可以使用与当前块相邻的重构样本的模式。
图25是图示根据本公开的实施例的变换模式的图。
根据本公开的实施例,可以存在用于变换仅块的子部分的变换模式。这种变换模式可以被称为子块变换(SBT)或空间变化变换(SVT)。例如,CU或PU可以被划分成多个TU,并且仅多个TU中的一些TU可以被变换。例如,在多个TU中仅有一个TU可以被变换。在多个TU中未被变换的TU可以被配置为具有残差0。
参考图25,SBT-V和SBT-H可以对应于将单个CU或PU划分成多个TU的两种类型。根据SVT-V,多个TU的高度与CU或PU的高度相同,并且多个TU的宽度与CU或PU的宽度不同。根据SVT-H,多个TU的高度与CU或PU的高度不同,并且多个TU的宽度与CU或PU的宽度相同。根据实施例,可以用信号通知用于SVT-V变换的TU的宽度和位置。可以用信号通知用于SVT-H变换的TU的高度和位置。
根据实施例,可以预配置根据SVT类型、位置、宽度或高度的变换核。
如上所述,可以存在用于变换仅CU或PU的一部分的模式,因为预测之后的残差可以主要存在于CU或PU的一部分中。
也就是说,SBT可以具有与用于TU的跳过模式相同的概念。现有跳过模式可以是用于CU的跳过模式。
参考图25,对于每种类型的SVT-V和SVT-H,在两个地方定义将被变换并标记有A的位置,并且宽度或高度可以被定义为CU的宽度或CU的高度的1/2或1/4。可以将除用A标记的区域以外的部分配置为具有0的残差。
可能存在SBT可用的条件。例如,启用SBT的条件可以包括与块大小、高级别(例如,序列、切片、图块等)语法中的可用性的信令值等相关联的条件。
图26是图示根据本公开的实施例的多假设预测和变换模式之间的关系的图。
根据本公开的实施例,可以存在多假设预测和变换模式之间的关联。例如,取决于使用它们中的哪一个,可以确定是否要使用另一个。或者,取决于它们中的任何一个的模式,可以确定是否要使用另一个的模式。或者,取决于使用它们中的哪一个,可以确定是否要使用另一个的模式。
根据实施例,变换模式可以是图25的SVT,即,取决于是否使用多假设预测,可以确定是否要使用SVT。或者,取决于是否使用SVT,可以确定是否要使用多假设预测。这是因为,通过多假设预测,可以提高整个块的预测性能,并且其中残差仅集中在块的一部分中的现象可以较不频繁地发生。
根据本公开的实施例,取决于是否使用多假设预测或者多假设预测的模式,可以限制用于SVT变换的TU的位置。或者,取决于是否使用多假设预测或者多假设预测的模式,可以限制用于SVT变换的TU的宽度(SBT-V)或高度(SBT-H)。因此,可以减少与位置、宽度或高度相关的信令。例如,用于SVT变换的TU的位置可以不同于其中多假设预测中的帧内预测的权重可以具有较大值的部分。这是因为可以通过多假设预测来减少具有大权重的部分中的残差。因此,当使用多假设预测时,在SVT中可能不存在用于变换具有大权重的部分的模式。例如,如果水平模式或垂直模式用于多假设预测,则有可能省略图25的位置1。作为另一实施例,如果在多假设预测中使用平面模式,则可以限制用于SVT变换的TU的位置。例如,如果在多假设预测中使用平面模式,则可以省略图25的位置0,这是因为,如果在多假设预测中使用平面模式,则帧内预测的参考样本附近的部分可以具有与参考样本的值类似的值,并且因此,参考样本附近的部分可以具有小残差。
根据另一实施例,如果使用多假设预测,则SVT变换的TU的宽度或高度的可能值可以变化。或者,如果在多假设预测中使用预定模式,则用于SVT变换的TU的宽度或高度的可能值可以变化。例如,如果使用多假设预测,则在块的较宽部分中可能不存在许多残差,并且因此可排除用于SVT变换的TU的宽度或高度的较大值。或者,如果使用多假设预测,则可以排除与在多假设预测中改变权重所基于的单元相同的用于SVT变换的TU的宽度值或高度值。
参照图26,可以存在指示是否使用SBT的cu_sbt_flag和指示是否使用多假设预测的mh_intra_flag。参考附图,如果mh_intra_flag是0,则可以解析cu_sbt_flag。如果不存在cu_sbt_flag的情况可以推断为0。
SBT和多假设预测中的帧内预测的组合两者可以解决当不使用相应技术时许多残差可能仅保留在CU或PU的一部分中的问题。因此,两种技术可以彼此相关联,并且因此是否要使用这些技术中的一种、是否要使用一种技术的特定模式等可以基于与另一种技术相关联的信息来确定。
在图26中,sbtBlockConditions可以指示SBT可能的条件。SBT可能的条件可以包括与块大小、高级别(例如,序列、切片、图块等)语法中的可用性的信令值等相关联的条件。
图27是图示根据本公开的实施例的颜色分量之间的关系的图。
参考图27,颜色格式可以由色度格式信息(chroma_format_idc)、色度格式、separate_colour_plane_flag等指示。
在单色的情况下,可能仅存在一个样本阵列。SubWidthC和SubHeightC两者都可以是1。
在4:2:0采样的情况下,可以存在两个色度阵列。此外,色度阵列可以具有亮度阵列的宽度和高度的一半。宽度相关信息(SubWidthC)和高度相关信息(SubHeightC)都可以是2。
宽度相关信息(SubWidthC)和高度相关信息(SubHeightC)可指示与亮度阵列的大小相比的色度阵列的大小,并且如果色度阵列宽度或高度为亮度阵列的大小的一半,则宽度相关信息(SubWidthC)或高度相关信息(SubHeightC)可以是2,并且其中色度阵列宽度或高度具有与亮度阵列相同的大小的宽度相关信息(SubWidthC)或高度相关信息(SubHeightC)可以是1。
在4:2:2采样的情况下,可以存在两个色度阵列。此外,色度阵列可以具有亮度阵列的一半宽度和与亮度阵列的高度相同的高度。SubWidthC和SubHeightC可以分别为2和1。
在4:4:4采样的情况下,色度阵列可以具有与亮度阵列的宽度和高度相同的宽度和高度。SubWidthC和SubHeightC都可以是1。在这种情况下,处理可以基于separate_colour_plane_flag而变化。如果separate_colour_plane_flag是0,则色度阵列可以具有与亮度阵列的宽度和高度相同的宽度和高度。如果separate_colour_plane_flag是1,则可以分别处理三个颜色平面(亮度、Cb和Cr)。不管separate_colour_plane_flag如何,在4:4:4的情况下,SubWidthC和SubHeightC都可以是1。
如果separate_colour_plane_flag是1,则对应于仅单个颜色分量的一个可以存在于单个切片中。如果separate_colour_plane_flag是0,则对应于多个颜色分量的一个可以存在于单个切片中。
参照图27,SubWidthC和SubHeightC可以仅在4:2:2的情况下不同。因此,在4:2:2的情况下,基于亮度的宽度与基于亮度的高度的关系可以不同于基于色度的宽度与基于色度的高度的关系。
例如,当基于亮度样本的宽度是widthL并且基于色度样本的宽度是widthC时,如果widthL对应于widthC,则其关系可以如下。
widthC=widthL/SubWidthC
即,widthL=widthC*SubWidthC
此外,当基于亮度样本的高度是heightL并且基于色度样本的高度是heightC时,如果heightL对应于heightC,则其关系可以如下。
heightC=heightL/SubHeightC
即,heightL=heightC*SubHeightC
可以存在指示(表示)颜色分量的值。例如,cIdx可指示颜色分量。例如,cIdx可以是颜色分量索引。如果cIdx为0,则这可以指示亮度分量。cIdx为非0可以指示色度分量。cIdx为1可以指示色度Cb分量。cIdx为2可以指示色度Cr分量。
图28是图示根据本公开的实施例的颜色分量之间的关系的图。
图28(a)、图28(b)和图28(c)分别指示4:2:0、4:2:2和4:4:4的情况。
参考图28(a),可以在水平方向上每两个亮度样本布置一个色度样本(一个Cb和一个Cr)。可以在垂直方向上每两个亮度样本布置一个色度样本(一个Cb和一个Cr)。
参考图28(b),可以在水平方向上每两个亮度样本布置一个色度样本(一个Cb和一个Cr)。可以在垂直方向上每亮度样本布置一个色度样本(一个Cb和一个Cr)。
参考图28(c),可以在水平方向上每亮度样本布置一个色度样本(一个Cb和一个Cr)。可以在垂直方向上每亮度样本布置一个色度样本(一个Cb和一个Cr)。
如上文所描述,可以基于前述关系来确定在图27中已经描述的SubWidthC和SubHeightC,并且可以基于SubWidthC和SubHeightC来执行亮度样本参考和色度样本参考之间的变换。
图29是图示根据本公开的实施例的相邻参考位置的图。
根据本公开的实施例,当执行预测时,可以参考相邻位置。例如,如上所述,当执行CIIP时,可以参考相邻位置。CIIP可以是上述多假设预测。CIIP可以是组合的图片间合并和图片内预测。也就是说,CIIP可以是将帧间预测(例如,合并模式帧间预测)与帧内预测进行组合的预测方法。
根据本公开的实施例,可以通过参考相邻位置将帧间预测与帧内预测进行组合。例如,可以通过参考相邻位置来确定帧间预测与帧内预测的比率。或者,当通过参考相邻位置将帧间预测与帧内预测进行组合时,可以确定加权。或者,当通过参考相邻位置获得帧间预测和帧内预测的加权和(加权平均)时,可以确定加权。
根据本公开的实施例,所参考的相邻位置可以包括NbA和NbB。NbA和NbB的坐标可以分别是(xNbA,yNbA)和(xNbB,yNbB)。
NbA可以是当前块的左侧的位置。更具体地,如果当前块的左上坐标为(xCb、yCb),并且当前块的宽度和高度分别为cbWidth和cbHeight,则NbA可以是(xCb-1、yCb+cbHeight-1)。当前块的左上坐标(xCb、yCb)可以是基于亮度样本的值。或者,当前块的左上坐标(xCb、yCb)可以对应于与当前图片的左上亮度样本相关联的当前亮度编译块的左上样本亮度的位置。另外,cbWidth和cbHeight可以是基于对应颜色分量的值。前述坐标可与亮度分量(或亮度块)相关联。例如,cbWidth和cbHeight可以是基于亮度分量的值。
此外,NbB可以是当前块的顶部的位置。更具体地,当前块的左上坐标为(xCb、yCb),并且当前块的宽度和高度分别为cbWidth和cbHeight,NbB可以是(xCb+cbWidth-1、yCb-1)。当前块的左上坐标(xCb、yCb)可以是基于亮度样本的值。或者,当前块的左上坐标(xCb、yCb)可以对应于与当前图片的左上亮度样本相关联的当前亮度编译块的左上样本亮度的位置。另外,cbWidth和cbHeight可以是基于对应颜色分量的值。前述坐标可与亮度分量(或亮度块)相关联。例如,cbWidth和cbHeight可以是基于亮度分量的值。
参考图29,关于上部中所示的被指示为亮度块的块,图示左上、坐标NbA、坐标NbB等。
NbA可以是当前块的左侧的位置。更具体地,如果当前块的左上坐标是(xCb、yCb),并且当前块的宽度和高度分别是cbWidth和cbHeight,则NbA可以是(xCb-1、yCb+2*cbHeight-1)。当前块的左上坐标(xCb、yCb)可以是基于亮度样本的值。或者,当前块的左上坐标(xCb、yCb)可以对应于与当前图片的左上亮度样本相关联的当前亮度编译块的左上样本亮度的位置。另外,cbWidth和cbHeight可以是基于对应颜色分量的值。上述坐标可以与色度分量(色度块)相关联。例如,cbWidth和cbHeight可以是基于色度分量的值。另外,坐标可以对应于4:2:0格式的情况。
此外,NbB可以是当前块的顶部的位置。更具体地,如果当前块的左上坐标是(xCb、yCb),并且当前块的宽度和高度分别是cbWidth和cbHeight,则NbB可以是(xCb+2*cbWidth-1、yCb-1)。当前块的左上坐标(xCb、yCb)可以是基于亮度样本的值。或者,当前块的左上坐标(xCb、yCb)可以对应于与当前图片的左上亮度样本相关联的当前亮度编译块的左上样本亮度的位置。另外,cbWidth及cbHeight可以是基于对应颜色分量的值。上述坐标可以与色度分量(色度块)相关联。例如,cbWidth和cbHeight可以是基于色度分量的值。另外,坐标可以对应于4:2:0格式或4:2:2格式的情况。
参照图29,关于下部中所示的被指示为色度块的块,图示左上、坐标NbA、坐标NbB等。
图30是图示根据本公开的实施例的加权样本预测过程的图。
图30的实施例可以涉及组合两个或更多个预测信号的方法。图30的实施例可以应用于使用CIIP的情况。图30的实施例可以包括已经在图29中描述的参考相邻位置的方法。
参考图30的等式(8-838),可以如下描述缩放信息(ScallFact)。
scallFact=(cIdx=0)?0:1
也就是说,如果关于当前块的颜色分量的信息(cIdx)为0,则可以将缩放信息(ScallFact)配置为0,并且如果关于当前块的颜色分量的信息(cIdx)不为0,则可以将缩放信息(ScallFact)配置为1。根据本公开的实施例,如果x为真或者x不为0,则x?y:z可以指示y值,否则(x是假(或x是0)),x?y:z可以指示z值。
此外,可以配置作为所参考的相邻位置NbA和NbB的坐标的(xNbA,yNbA)和(xNbB,yNbB)。根据参照图29所述的实施例,用于亮度分量的(xNbA,yNbA)和(xNbB,yNbB)可以分别被配置为(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1),并且用于色度分量的(xNbA,yNbA)和(xNbB,yNbB)可以分别被配置为(xCb-1,yCb+2*cbHeight-1)和(xCb+2*Width-1,yCb-1)。乘以2^n的运算可等效于左移n位。例如,乘以2的运算可以等效于左移1位。x向左移n位可以表示为“x<<n”。除以2^n的操作可等效于右移n位。除以2^n并向下舍入到最接近整数的操作可等效于右移n位。例如,除以2的操作可以等效于右移1位。x右移n位可表达为“x>>n”。因此,(xCb-1、yCb+2*cbHeight-1)、(xCb+2*cbWidth-1、yCb-1)可以表示为((xCb-1、yCb+(cbHeight<<1)-1)、(xCb+(cbWidth<<1)-1、yCb-1)。因此,与亮度分量相关联的上述坐标和与色度分量相关联的坐标可以一起表示如下。
(xNbA,yNbA)=(xCb-1,yCb+(cbHeight<<scallFact)-1)
(xNbB,yNbB)=(xCb+(cbWidth<<scallFact)-1,yCb-1)
这里,缩放信息(scallFact)可以是(cIdx==0)?0:1,如上所述。在这种情况下,可以基于每个颜色分量来表达cbWidth和cbHeight。例如,如果基于亮度分量的宽度和高度分别为cbWidthL和cbHeightL,则当执行用于亮度分量的加权样本预测过程时,cbWidth和cbHeight可以分别为cbWidthL和cbHeightL。此外,如果基于亮度分量的宽度和高度分别为cbWidthL和cbHeightL,则当执行用于色度分量的加权样本预测过程时,cbWidth和cbHeight可以分别为cbWidthL/SubWidthC和cbHeightL/SubHeightC。
根据实施例,可以参考相邻位置来确定对应位置的预测模式。例如,可以确定预测模式是否是帧内预测。预测模式可以由CuPredMode来指示。如果CuPredMode是MODE_INTRA,则这可以指示使用帧内预测。CuPredMode值可以是MODE_INTRA、MODE_INTER、MODE_IBC和MODE_PLT。如果CuPredMode是MODE_INTER,则可以使用帧内预测。如果CuPredMode是MODE_IBC,则可以使用帧内块复制(IBC)。如果CuPredMode是MODE_PLT,则可以使用调色板模式。可以根据信道类型(chType)和位置来表示CuPredMode。例如,可以做出表达为CuPredMode[chType][x][y],并且该值可以是在位置(x,y)处的与信道类型chType相关联的CuPredMode的值。另外,chType可以基于树类型。例如,树类型(treeType)可以被配置成SINGLE_TREE、DUAL_TREE_LUMA、DUAL_TREE_CHROMA等的值。在SINGLE_TREE的情况下,可以存在其中亮度分量和色度分量的块分区被共享的部分。例如,在SINGLE_TREE的情况下,亮度分量和色度分量可以具有相同的块分区。或者,在SINGLE_TREE的情况下,亮度分量和色度分量可以具有相同或部分相同的块分区。或者,在SINGLE_TREE的情况下,亮度分量的块分区和色度分量的块分区可由相同语法元素值执行。另外,在DUAL TREE的情况下,亮度分量的块分区和色度分量的块分区可以是独立的。或者,在DUAL TREE的情况下,可通过不同语法元素值执行亮度分量的块分区和色度分量的块分区。在DUAL TREE的情况下,treeType值可以是DUAL_TREE_LUMA或DUAL_TREE_CHROMA。如果treeType为DUAL_TREE_LUMA,则这可指示DUAL TREE被使用并且过程与亮度分量相关联。如果treeType为DUAL_TREE_CHROMA,则这可指示DUAL TREE被使用并且过程与色度分量相关联。另外,chType可以基于树类型是否为DUAL_TREE_CHROMA来确定。例如,如果treeType是DUAL_TREE_CHROMA,则chType可以被配置为1,并且如果treeType不是DUAL_TREE_CHROMA,则chType可以被配置为0。因此,参照图30,可以确定CuPredMode[0][xNbX][yNbY]值。X可以用A和B替换。即,可以确定用于NbA和NbB位置的CuPredMode值。
另外,isIntraCodedNeighbourX值可以基于对用于相邻位置的预测模式的确定来配置。例如,isIntraCodedNeighbourX值可以根据用于相邻位置的CuPredMode是否为MODE_INTRA来配置。如果用于相邻位置的CuPredMode是MODE_INTRA,则isIntraCodedNeighbourX值可以被设置为真,并且如果用于相邻位置的CuPredMode不是MODE_INTRA,则isIntraCodedNeighbourX值可以被设置为假。在上面已经描述并且将在下面描述的本公开中,X可以用A、B等代替。X可以指对应于位置X的事物。
根据实施例,可以通过参考相邻位置来确定对应位置是否可用。可以基于availableX来配置对应位置是否可用。另外,isIntraCodedNeighbourX可以基于availableX来配置。例如,如果availableX是真,则isIntraCodedNeighbourX可以被设置为真。例如,如果availableX是假,则isIntraCodedNeighbourX可以被设置为假。参考图30,可以通过“相邻块可用性的推导过程”来确定对应位置是否可用。另外,可以基于对应位置是否落入当前图片内来确定对应位置是否可用。在对应位置是(xNbY,yNbY)的情况下,如果xNbY或yNbY小于0,则对应位置在当前图片之外,并且availableX可以被设置为假。如果xNbY大于或等于图片宽度,则对应位置在当前图片之外,并且availableX可以被设置为假。图片宽度可以由pic_width_in_luma_samples指示。如果yNbY大于或等于图片高度,则对应位置在当前图片之外,并且availableX可以被设置为假。图片高度可由pic_height_in_luma_samples指示。如果对应位置在不同于当前块的拼块(brick)或切片中,则availableX可以被设置为假。另外,如果没有完成对应位置的重构,则availableX可以被设置为假。重构是否完成可以由IsAvailable[cIdx][xNbY][yNbY]指示。因此,总之,如果满足以下条件之一,则availableX可以被设置为假,否则(如果不满足以下条件中的任何一个),availableX可以被设置为真。
条件1:xNbY<0
条件2:yNbY<0
条件3:xNbY>=pic_width_in_luma_samples
条件4:yNbY>=pic_height_in_luma_samples
条件5:IsAvailable[cIdx][xNbY][yNbY]==假
条件6:其中对应位置(相邻位置或(xNbY,yNbY)的位置)属于与当前块的拼块(或不同切片)不同的拼块(或不同切片)的情况
此外,availableX可以通过根据选项确定当前位置和对应位置是否具有相同的CuPredMode来配置。
isIntraCodedNeighbourX可以通过组合两个上述条件来配置。例如,如果满足所有以下条件,则isIntraCodedNeighbourX可以被设置为真,否则(如果不满足至少一个条件),则isIntraCodedNeighbourX可以被设置为假。
条件1:availableX==真
条件2:CuPredMode[0][xNbX][yNbX]==MODE_INTRA
根据本公开的实施例,CIIP的加权可以基于多条码信息(isIntraCodedNeighbourX)来确定。例如,加权可以基于多条码信息(isIntraCodedNeighbourX)在组合帧间预测和帧内预测时来确定。例如,可以基于左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)来进行该确定。根据实施例,如果左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)都为真,则加权值(w)可以被配置为3,例如,加权值(w)可以是CIIP的加权或用于确定加权的值。另外,如果左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)都是假,则加权值(w)可以被配置为1。如果左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)中的一个是假(与当它们中的一个是真时相同),则加权值(w)可以被配置为2。即,加权值(w)可以基于相邻位置是否根据帧内预测来预测或者基于根据帧内预测所预测的相邻位置的数量来配置。
加权值(w)可以是对应于帧内预测的加权。可以基于加权值(w)来确定与帧间预测相对应的加权。例如,对应于帧间预测的加权可以是(4-w)。参考图30中的等式(8-840),可如下完成两个或更多个预测信号的组合。
predSampleComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2
这里,第二样本(predSamplesIntra)和第一样本(predSamplesInter)可以是预测信号。例如,第二样本(predSamplesIntra)和第一样本(predSamplesInter)可以分别是通过帧内预测所预测的预测信号和通过帧间预测(例如,合并模式,更具体地,常规合并模式)所预测的预测信号。组合预测样本(predSampleComb)可以是在CIIP中使用的预测信号。
在执行图30的等式(8-840)之前,可以包括在组合之前更新预测信号的过程。例如,更新可以以与图30的等式(8-839)相同的方式执行。例如,更新预测信号的过程可以是更新用于CIIP的帧间预测信号的过程。
图31是图示根据本公开的实施例的相邻参考位置的图。
在图29和图30中描述了相邻参考位置。如果所描述的位置用于所有情况(例如,所有色度块),则可能出现问题,并且将参考图31描述该问题。
图31的实施例图示色度块。在图29和图30中,基于用于色度块的亮度样本所表示的坐标NbA和NbB分别为((xCb-1,yCb+2*cbHeight-1)和(xCb+2*cbWidth-1,yCb-1)。然而,如果SubWidthC或SubHeightC为1,则这可指示图31所示的位置,其不同于图29所示的位置。cbWidth和cbHeight基于每个颜色分量(在此示例中为色度分量)来表示,并且坐标基于亮度来表示,并且因此,在上述坐标中将cbWidth和cbHeight乘2可用于与在4:2:0的情况下色度样本相对亮度样本的数目相关联的补偿。也就是说,这可以用于基于亮度表示其中基于x轴与两个亮度样本相对应的色度样本的数量是1并且基于y轴与两个亮度样本相对应的色度样本的数量是1的情况的坐标。因此,其中SubWidthC或SubHeightC是1的情况可以指示不同位置。因此,如果始终相对于色度块使用(xCb-1,yCb+2*cbHeight-1)和(xCb+2*cbWidth-1,yCb-1)的位置,则可以参考远离当前色度块的位置。在这种情况下,当前块的亮度块使用的相对位置和色度块使用的相对位置可能不匹配。加权可以通过参考色度块的不同位置相对于与当前块几乎无关的位置来配置。或者,可以根据块解码的顺序不执行解码/重构。
参考图31,图示了在4:4:4的情况下即在其中SubWidthC和SubHeightC两者均为1的情况下的上述基于亮度的坐标的位置。NbA和NbB可以位于由实线指示的远离色度块的位置。
图32是图示根据本公开的实施例的加权样本预测过程的图。
图32的实施例可以是用于解决图29至图31中所述的问题的实施例。以上描述可能已被省略。
在图30中,相邻位置基于缩放信息(scallFact)来配置,并且如图31中所述,如果SubWidthC和SubHeightC都是2,则缩放信息(scallFact)是用于变换位置的值。
然而,如上所述,取决于颜色格式,可能出现问题,并且色度样本与亮度样本的比率可能取决于宽度和高度而不同。根据本公开的实施例,可以将缩放信息(scallFact)划分成宽度和高度。
根据本公开的实施例,可以存在x轴缩放信息(scallFactWidth)和y轴缩放信息(scallFactHeight),并且相邻位置可以基于x轴缩放信息(scallFactWidth)和y轴缩放信息(scallFactHeight)来配置。另外,相邻位置可以基于亮度样本(亮度块)来配置。
视频信号处理设备可以执行基于色度格式信息(chroma_format_idc)获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC)的操作。这里,色度格式信息(chroma_format_idc)可以在编译树单元、切片、图块、图块组、图片或序列单元中的一个中用信号通知。
视频信号处理设备可以基于图27所示的表,基于色度格式信息(chroma_format_idc)获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC)。
视频信号处理设备可以执行基于宽度相关信息(SubWidthC)或关于当前块的颜色分量的信息(cIdx)获得x轴缩放信息(scallFactWidth)的操作(8-838)。更具体地,x轴缩放信息(scallFactWidth)可以基于关于当前块的颜色分量的信息(cIdx)和宽度相关信息(SubWidthC)来配置。例如,如果关于当前块的颜色分量的信息(cIdx)是0,或者宽度相关信息(SubWidthC)是1,则x轴缩放信息(scallFactWidth)可以被配置为0,否则(如果关于当前块的颜色分量的信息(cIdx)不是0,并且宽度相关信息(SubWidthC)不是1(如果SubWidth是2)),则x轴缩放信息(scallFactWidth)可以被配置为1。参考图32的等式(8-838),可以如下提供描述。
scallFactWidth=(cIdx==0||SubWidthC==1)?0:1
视频信号处理设备可以执行基于高度相关信息(SubHeightC)或关于当前块的颜色分量的信息(cIdx)获得y轴缩放信息(scallFactHeight)的操作(8-839)。
y轴缩放信息(scallFactHeight)可以基于关于当前块的颜色分量的信息(cIdx)和高度相关信息(SubHeightC)来配置。例如,如果关于当前块的颜色分量的信息(cIdx)是0,或者高度相关信息(SubHeightC)是1,则y轴缩放信息(ScallFactHeight)可以被配置为0,否则(如果关于当前块的颜色分量的信息(cIdx)不是0,并且高度相关信息(SubHeightC)不是1(如果SubHeightC是2)),则y轴缩放信息(ScallFactHeight)可以被配置为1。参考图32的等式(8-839),可以如下提供描述。
scallFactHeight=(cIdx==0||SubHeightC==1)?0:1
相邻位置的x坐标可以基于x轴缩放信息(scallFactWidth)来指示,并且相邻位置的y坐标可以基于y轴缩放信息(scallFactHeight)来指示。视频信号处理设备可以执行基于y轴缩放信息(scallFactHeight)确定左侧块的位置(NbA)的操作。视频信号处理设备可以执行基于x轴缩放信息(scallFactWidth)确定上侧块的位置(NbB)的操作。例如,上侧块的坐标(NbB)可以基于x轴缩放信息(scallFactWidth)来配置。例如,左侧块的坐标(NbA)可以基于y轴缩放信息(scallFactHeight)来配置。如上所述,在这种情况下,基于x轴缩放信息(scallFactWidth)可以指基于宽度相关信息(SubWidthC),并且基于y轴缩放信息(scallFactHeight)可以指基于高度相关信息(SubHeightC)。例如,相邻位置的坐标可以如下。
(xNbA,yNbA)=(xCb-1,yCb+(cbHeight<<scallFactHeight)-1)
(xNbB,yNbB)=(xCb+(cbWidth<<scallFactWidth)-1,yCb-1)
(xCb,yCb)可以是当前亮度块(亮度编译块)相对于当前图片的左上亮度样本的左上样本亮度位置。cbWidth和cbHeight可以分别是当前块的宽度和高度。在这种情况下,xCb和yCb可以是基于亮度样本表达的坐标,如上所述。cbWidth和cbHeight可以基于每个颜色分量来表达。
因此,在色度块和SubWidthC为1的情况下,可以确定(xNbB,yNbB)=(xCb+cbWidth-1,yCb-1)。也就是说,在此情况下,亮度块的NbB坐标和色度块的NbB坐标可以相同。另外,在色度块和SubHeightC为1的情况下,可以确定(xNbA,yNbA)=(xCb-1,yCb+cbHeight-1)。也就是说,在这种情况下,用于亮度块的NbA坐标和用于色度块的NbA坐标可以相同。
因此,在图32的实施例中,相邻位置的坐标可以被配置为与图29和图30的实施例中的在4:2:0格式的情况下的坐标相同,并且相邻位置的坐标可以被配置为与图29和图30的实施例中的在4:2:2格式或4:4:4格式的情况下的坐标不同。
视频信号处理设备可以执行基于左侧块(NbA)和上侧块(NbB)确定加权值(w)的操作。图32可以具有与图30类似的描述。即,可以基于图32中描述的相邻位置的坐标来确定预测模式或其可用性,并且可以确定CIIP的加权。在图32的描述中,可以省略与图30的描述重叠的一些描述。
参照图32,视频信号处理设备可以通过组合两个条件来配置码信息(isIntraCodedNeighbourX)。例如,如果满足所有以下条件,则码信息(isIntraCodedNeighbourX)可以被设置为真,否则(如果不满足以下条件中的至少一个),则码信息(isIntraCodedNeighbourX)可以被设置为假。
条件1:availableX==真
条件2:CuPredMode[0][xNbX][yNbX]==MODE_INTRA
更具体地,参考行3210,如果左侧块可用(availableA==真),并且左侧块的预测模式是帧内预测(CuPredMode[0][xNbA][yNbA]等于MODE_INTRA),则视频信号处理设备可以执行将左侧块的码信息(isIntraCodedNeighbourA)设置为真的操作。
如果左侧块不可用或者左侧块的预测模式不是帧内预测,则视频信号处理设备可以执行将左侧块的码信息设置为假的操作。
如果上侧块可用(availableB==真),并且上侧块的预测模式是帧内预测(CuPredMode[0][xNbB][yNbB]等于MODE_INTRA),则视频信号处理设备可以执行将上侧块的码信息(isIntraCodedNeighbourB)设置为真的操作。
如果上侧块不可用或者上侧块的预测模式不是帧内预测,则视频信号处理设备可以执行将上侧块的码信息设置为假的操作。
参考行3220,如果左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)都是真,则视频信号处理设备可以执行将加权值(w)确定为3的操作。如果左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)都是假,则视频信号处理设备可以执行将加权值(w)确定为1的操作,如果左侧块的码信息(isIntraCodedNeighbourA)和上侧块的码信息(isIntraCodedNeighbourB)中仅一个是真,则视频信号处理设备可以执行将加权值(w)确定为2的操作。
视频信号处理设备可以执行通过在合并模式下预测当前块来获得第一样本(predSamplesInter)的操作。视频信号处理设备可以执行通过在帧内模式下预测当前块来获得第二样本(predSamplesIntra)的操作。
视频信号处理设备可以执行基于加权值(w)、第一样本(predSamplesInter)和第二样本(predSamplesIntra)获得当前块的组合预测样本(predSampleComb)的操作(8-841)。例如,视频信号处理设备可以基于以下等式获得组合预测样本(PredSampleComb)。
predSampleComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2
这里,predSamplesComb可指组合预测样本,w可指加权值,predSamplesIntra可指第二样本,predSamplesInter可指第一样本,[x]可指包括在当前块中的样本的x轴坐标,并且[y]可指包括在当前块中的样本的y轴坐标。
在本公开中,可以互换地使用相邻位置和相邻位置坐标。
图33是图示根据本公开的实施例的加权样本预测过程的图。
图33的实施例可以以不同的方式表示图32中描述的相邻位置的坐标。因此,可以省略上述内容的重复内容。
如上所述,位移位可以表示为乘法。图32可以提供使用位移位的描述,并且图33可以提供使用乘法的描述。
根据实施例,x轴缩放信息(scallFactWidth)可以基于关于当前块的颜色分量的信息(cIdx)和宽度相关信息(SubWidthC)来配置。例如,如果关于当前块的颜色分量的信息(cIdx)是0,或者宽度相关信息(SubWidthC)是1,则x轴缩放信息(scallFactWidth)可以被配置为1,否则(如果cIdx不是0,并且宽度相关信息(SubWidthC)不是1(如果SubWidthC是2)),则x轴缩放信息(scallFactWidth)可以被配置为2。参考图33的等式(8-838),可以如下提供描述。
scallFactWidth=(cIdx==0||SubWidthC==1)?1:2
y轴缩放信息(scallFactHeight)可以基于关于当前块的颜色分量的信息(cIdx)和高度相关信息(SubHeightC)来配置。例如,如果关于当前块的颜色分量的信息(cIdx)是0,或者高度相关信息(SubHeightC)是1,则y轴缩放信息(scallFactHeight)可以被配置为1,否则(如果cIdx不是0,并且高度相关信息(SubHeightC)不是1(如果SubHeightC是2)),则y轴缩放信息(scallFactHeight)可以被配置为2。参考图33的等式(8-839),可以如下提供描述。
scallFactHeight=(cIdx==0||SubHeightC==1)?1:2
相邻位置的x坐标可以基于x轴缩放信息(scallFactWidth)来指示,并且相邻位置的y坐标可以基于y轴缩放信息(scallFactHeight)来指示。例如,NbB的坐标可以基于x轴缩放信息(scallFactWidth)来配置。例如,NbA的坐标可以基于y轴缩放信息(scallFactHeight)来配置。如上所述,在这种情况下,基于x轴缩放信息(scallFactWidth)可以指基于SubWidthC,并且基于y轴缩放信息(scallFactHeight)可以指基于SubHeightC。例如,相邻位置的坐标可以如下。
(xNbA,yNbA)=(xCb-1,yCb+(cbHeight*scallFactHeight)-1)
(xNbB,yNbB)=(xCb+(cbWidth*scallFactWidth)-1,yCb-1)
在这种情况下,xCb和yCb可以是基于亮度样本表达的坐标,如上所述。cbWidth和cbHeight可以基于每个颜色分量来表达。
图34是图示根据本公开的实施例的加权样本预测过程的图。
在图30、图32和图33等的实施例中,通过参考相邻位置来确定对应位置是否可用。在这种情况下,作为指示颜色分量的索引的cIdx被配置为0(亮度分量)。在确定对应位置是否可用期间,当确定完成对应位置(cIdx)的重构时,可以使用关于当前块的颜色分量的信息(cIdx)。也就是说,在确定对应位置是否可用期间,当确定IsAvailable[cIdx][xNbY][yNbY]的值时,可以使用cIdx。然而,当执行色度块的加权样本预测过程时,如果参考对应于cIdx 0的IsAvailable值,则可能做出不正确的确定。例如,在包括相邻位置的块的亮度分量的重构是不完整的但是色度分量的重构是完整的情况下,如果cIdx不是0,则IsAvailable[0][xNbY][yNbY]可以是假,并且IsAvailable[cIdx][xNbY][yNbY]可以是真。因此,即使相邻位置实际上是可用的,也可能错误地确定相邻位置是不可用的。在图34的实施例中,为了解决该问题,当通过参考相邻位置确定相应位置是否可用时,当前编译块的cIdx可以用作输入。即,当调用“相邻块可用性的推导过程”时,当前编译块的cIdx可以用作作为输入的cIdx。
可以省略图32和图33中描述的内容。
当确定上述相邻位置的预测模式时,参考作为对应于chType 0的CuPredMode的CuPredMode[0][xNbX][yNbY],其中,如果当前块的chType不匹配,则可以参考不正确的参数。因此,根据本公开的实施例,当确定相邻位置的预测模式时,可以参考对应于与当前块相对应的chType值的CuPredMode[chType][xNbX][yNbY]。
图35是图示根据本公开的实施例的CIIP权重推导的图。
在参照图29至图34描述的实施例中已经描述了与CIIP权重推导相关的内容,并且在该实施例中可以省略所描述的内容。
在参考图29到图34描述的实施例中,已经基于多个颜色分量的相对相同位置来确定CIIP中使用的加权。因此,这可指示,相对于色度分量,可以基于针对亮度分量所描述的相邻位置来确定CIIP中使用的加权。此外,因此,这可以指示,相对于多个颜色分量,可以基于针对亮度分量所描述的相邻位置来确定CIIP中使用的权重。因此,这可以指示,相对于多个颜色分量,可以基于相同的相邻位置来确定CIIP中使用的权重。这还可以指示,相对于多个颜色分量,在CIIP中使用的权重是相同的。这可能是因为,如上所述,参考了相邻位置的预测模式。或者,这可能是因为,相对于颜色分量,在相对相同位置处的预测模式是相同的。更具体地,如果与用于相应颜色分量的预配置位置相对应的预测模式相对于颜色分量是相同的,则在CIIP中使用的权重对于多个颜色分量可能是相同的。如果帧间预测可用,则与用于相应颜色分量的预配置位置相对应的预测模式相对于颜色分量可能是相同的。或者,在切片P或切片B的情况下,与用于相应颜色分量的预配置位置相对应的预测模式相对于颜色分量也可以是相同的。这可能是因为在切片P或切片B的情况下配置SINGLE_TREE。
如上所述,针对亮度分量所描述的相邻位置可以如下。
(xNbA,yNbA)=(xCb-1,yCb+cbHeight-1)
(xNbB,yNbB)=(xCb+cbWidth-1,yCb-1)
总之,根据本公开的实施例,在CIIP中使用的用于多个颜色分量的权重可以是相同的。更具体地,对于色度分量,可以使用在针对亮度分量推导的CIIP中使用的加权。这可以防止多次执行用于多个颜色分量的加权推导的过程。此外,针对色度分量,可以使用基于(xNbA,yNbA)和(xNbB,yNbB)的加权值。在这种情况下,在(xNbA,yNbA)和(xNbB,yNbB)中的cbHeight和cbWidth可以是基于亮度样本的值。另外,(xNbA,yNbA)和(xNbB,yNbB)中的xCb和yCb值可以是基于亮度样本的值。也就是说,对于色度分量,也可以针对CIIP使用基于以基于亮度样本的宽度和高度、坐标为基础的相邻位置所确定的加权值。
参照图35,所推导的加权值用于所有相应颜色分量,即Y、Cb和Cr。也就是说,对于所有颜色分量,相同加权值用于CIIP。
图36是图示根据本公开的实施例的CIIP过程的图。
图36的实施例可以与参照图35所述的实施例相关。图36的实施例可以示出参照图35所述的实施例的结构。在图36的实施例中,可以省略参照图29至图35所述的内容。
如图35中所述,当CIIP用于每个颜色分量时,可以使用相同加权值。
参照图36,ciip_flag可以是指示是否使用CIIP的信令。如果使用CIIP,则可以执行图36中提到的过程。如果使用CIIP,则可以执行加权值推导过程。可以执行加权值推导过程而不管颜色分量。加权值推导过程可以包括参考图30所述的过程。在这种情况下,可以确定相邻位置而不管颜色分量如何。例如,可以使用如下的相邻位置。
(xNbA,yNbA)=(xCb-1,yCb+cbHeight-1)
(xNbB,yNbB)=(xCb+cbWidth-1,yCb-1)
参考图36,作为加权值推导过程的输入的xCb、yCb、cbWidth和cbHeight,以及相邻位置的xCb、yCb、cbWidth和cbHeight可以是预先配置的分量参考而不管当前正执行的颜色分量如何。例如,作为加权值推导过程的输入的xCb、yCb、cbWidth和cbHeight,以及相邻位置的xCb、yCb、cbWidth和cbHeight可以是基于亮度样本的值。也就是说,当针对色度分量执行加权值推导过程时,该过程可以基于以亮度样本为基础的xCb、yCb、cbWidth和cbHeight。更具体地说,当针对色度分量执行加权值推导过程时,可以基于亮度样本的xCb、yCb、cbWidth和cbHeight来配置相邻位置,并且可以基于相邻位置来确定加权值。
加权值(w)可以基于加权值推导过程来配置。图36的加权值推导过程可以是参考图30所述的配置加权值(w)的过程。在这种情况下,如所述,可以使用与颜色分量无关的相邻位置。
参照图36,当使用CIIP时,可执行一般帧内样本预测过程和加权样本预测过程。这些可以对每个颜色分量执行。加权样本预测过程可以包括通过使用参考图30所描述的加权来组合帧间预测和帧内预测的过程。例如,加权样本预测过程可以包括使用图30的等式(8-840)的组合的过程。根据本公开的实施例,加权样本预测过程可以基于加权值来执行,并且可以针对多个颜色分量使用相同加权值。在加权样本预测中使用的加权值可以是基于上述加权值推导过程所确定的加权值(w)。
参照图36,作为加权样本预测过程的输入的编译块宽度和编译块高度可以是基于每个颜色分量表达的值。参考图36,在亮度分量的情况下(当cIdx为0时),宽度和高度可以分别为cbWidth和cbHeight,而在色度分量的情况下(当cIdx不为0时;当cIdx为1或2时),宽度和高度可以分别为cbWidth/SubWidthC和cbHeight/SubHeightC。
即,加权样本预测过程可以针对特定颜色分量通过使用基于另一颜色分量所确定的加权值并且通过使用基于特定颜色分量的宽度和高度来执行。或者,加权样本预测过程可以针对特定颜色分量通过使用基于以另一颜色分量为基础的宽度和高度所确定的加权值并且通过使用基于特定颜色分量的宽度和高度来执行。在这种情况下,特定颜色分量可以为色度分量,并且另一颜色分量可以为亮度分量。作为另一实施例,特定颜色分量可以为亮度分量,并且另一颜色分量可以为色度分量。
这可以简化实施方式。例如,可以针对每个颜色分量执行图36中所示的过程,其中可以通过允许执行加权值推导过程而不管颜色分量来简化加权值推导过程的实施方式。或者,这可以用于防止执行重复过程。
图37是图示根据本公开的实施例的MV和MVD范围的图。
根据本公开的实施例,可以存在多种MVD生成方法或MVD确定方法。MVD可以是前述运动向量差。此外,可以存在多种运动向量(MV)生成方法或MV确定方法。
例如,MVD确定方法可以包括基于语法元素值的确定方法。例如,如参考图9所述,可以基于语法元素来确定MVD。这将参考图40进一步描述。
MVD确定方法可以包括当使用具有MVD的合并(MMVD)模式时所执行的确定方法。例如,可以存在当使用合并模式时所使用的MVD。这将参照图38和图39进一步描述。
在本公开的实施例中,MV或MVD可以包括用于执行仿射运动补偿的控制点运动向量(CPMV)。也就是说,MV和MVD可以分别包括CPMV和CPMVD。
根据本公开的实施例,MV或MVD能够表示的范围可以被限制。因此,可以通过使用有限资源和有限比特数量来表达或存储MV或MVD,并且使用MV或MVD执行操作。在本公开的实施例中,可由MV和MVD表示的范围可分别称为MV范围和MVD范围。
根据实施例,MV范围或MVD范围可以从-2^N到(2^N-1)。该范围可以包括-2^N和(2^N-1)。根据另一实施例,MV范围或MVD范围可以从(-2^N+1)到2^N。该范围可以包括(-2^N+1)和2^N。在这些实施例中,N可以是整数,例如正整数。更具体地,N可以是15或17,在这种情况下,可以通过使用N+1比特来表达MV范围或MVD范围。
可以执行剪切(clipping)和模数运算,以便实现所述的受限MV范围或受限MVD范围。例如,MV范围或MVD范围内的值可以通过在某一阶段(例如,在最后阶段之前)对MV或MVD执行剪切或模数运算来推导。或者,为了实现受限MV范围或受限MVD范围,可以限制指示MV或MVD的语法元素的二进制表达范围。
根据本公开的实施例,MV范围和MVD范围可以不同。可以存在多种MVD确定方法,并且MVD1和MVD2可以是通过不同方法所确定的MVD。根据本公开的另一实施例,MVD1范围和MVD2范围可以不同。使用不同范围可以是为了使用不同资源或不同比特数量,因此这可以防止表示元素的不必要的宽范围。
根据实施例,MVD1可以是参考图40或图9所描述的MVD。或者,MVD1可以是仿射帧间模式、帧间模式及AMVP的MVD。或者,MVD1可以是当不使用合并模式时的MVD。可以由merge_flag或general_merge_flag来指示是否使用合并模式。例如,如果merge_flag或general_merge_flag是1,则使用合并模式,而如果merge_flag或general_merge_flag是0,则可以不使用合并模式。
根据实施例,MVD2可以是参考图38和图39描述的MVD。或者,MVD2可以是MMVD模式的MVD。或者,MVD2可以是当使用合并模式时的MVD。
根据实施例,MV可以是用于最终运动补偿或预测的MV。或者,MV可以是包括在候选列表中的MV。或者,MV可以是并置运动向量(时间运动向量)。或者,MV可以是通过将MVD添加到MVP而获得的值。或者,MV可以是CPMV。或者,MV可以是通过将CPMVD添加到CPMVP而获得的值。或者,MV可以是仿射MC中的每个子块的MV。子块的MV可以是从CPMV推导的MV。或者,MV可以是MMVD的MV。
根据本公开的实施例,MVD2范围可以窄于MVD1范围或MV范围。MVD1范围和MV范围可以是相同的。根据实施例,MVD1范围和MV范围可以是从-2^17到(2^17-1)(含)。MVD2范围可以是从-2^15到(2^15-1)(含)。
参照图37,虚线指示的矩形指示MV范围或MVD范围。内部矩形可以指示MVD2范围。外部矩形可指示MVD1范围或MV范围。也就是说,MVD2范围可以不同于MVD1范围或MV范围。附图中的范围可以指示从附图中的点可表达的向量范围。例如,如上所述,MVD2范围可以是从-2^15到(2^15-1)(含)。MVD1范围或MV范围可以是从-2^17到(2^17-1)(含)。如果MV或MVD是以x个像元为单位的值,则MV或MVD所指示的值实际上可以是(MV*x)或(MVD*x)个像素。例如,在以1/16像元为单位的值的情况下,它可以指示(MV/16)或(MVD/16)像素。在这个实施例中,在MVD2范围的情况下,最大绝对值是32768,并且如果这是1/16像元为单位的值,则(MVD2值)/16的值是2048个像素的最大值。因此,8K图片不能被完全覆盖。在MVD1范围或MV范围的情况下,最大绝对值是131072,并且当使用1/16像元单位时,该值可以表示8192个像素的最大值。因此,8K图片可以被完全覆盖。8K分辨率可以指示水平长度(或者水平和垂直长度中较长的一个的长度)为7680个像素或8192个像素的分辨率。例如,诸如7680×4320的图片可以具有8K分辨率。
图38是图示根据本公开的实施例的MMVD的图。
根据本公开的实施例,MMVD是具有MVD的合并模式和具有MVD的合并,并且可以是将MVD用于合并模式的方法。例如,MV可以基于合并候选和MVD来生成。MMVD的MVD与前述的MVD1或图9或图40的MVD相比,可以具有有限的可表达范围。例如,MMVD的MVD可能只存在水平分量和垂直分量中的一个。由MMVD的MVD可表达的值的绝对值可能彼此不是相等地隔开。图38(a)示出了由MMVD的MVD从中心的虚线点可表达的点。
图38(b)示出MMVD相关语法。根据实施例,可以存在指示MMVD是否可用的较高级别信令。这里,信令可指示从比特流进行解析。较高级别可以是包括当前块和当前编译块的单元,并且可以是例如切片、序列、图块、图块组和CTU。指示MMVD是否可用的较高级别信令可以是较高级别MMVD启用信息(sps_mmvd_enabled_flag)。如果较高级别MMVD启用信息(sps_mmvd_enabled_flag)是1,则这可以指示启用MMVD,并且如果较高级别MMVD启用信息(sps_mmvd_enabled_flag)是0,则这可以指示不启用MMVD。然而,本公开并不限于此,并且如果较高级别MMVD启用信息(sps_mmvd_enabled_flag)是0,则这可以指示启用MMVD,并且如果较高级别MMVD启用信息(sps_mmvd_enabled_flag)是1,则这可以指示不启用MMVD。
如果较高级别MMVD启用信息(sps_mmvd_enabled_flag)(其是指示MMVD是否可用的较高级别信令)是1,则可以经由附加信令指示MMVD是否用于当前块。也就是说,如果较高级别MMVD启用信息指示启用MMVD,则视频信号处理设备可以从比特流中解析指示MMVD是否用于当前块的MMVD合并信息(mmvd_merge_flag)。指示是否使用MMVD的信令可以是MMVD合并信息(mmvd_merge_flag)。如果MMVD合并信息(mmvd_merge_flag)是1,这可以指示MMVD用于当前块。如果MMVD合并信息(mmvd_merge_flag)是0,这可以指示MMVD不用于当前块。然而,本公开并不限于此,如果MMVD合并信息(mmvd_merge_flag)是0,这可以指示MMVD用于当前块,并且如果MMVD合并信息(mmvd_merge_flag)是1,这可以指示MMVD不用于当前块。
如果MMVD合并信息(mmvd_merge_flag)是1(指示使用MMVD的值),则可以解析MMVD相关语法元素。MMVD相关语法元素可以包括以下中的至少一个:mmvd_cand_flag、MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)。
作为实施例,mmvd_cand_flag可以指示在MMVD模式中使用的MVP。或者,mmvd_cand_flag可以指示要在MMVD模式中使用的合并候选。MMVD的MVD可以基于MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)来确定。MMVD的MVD可以指示MVD信息(mMvdLX)。例如,MMVD距离相关信息(mmvd_distance_idx)可以指示与MMVD的MVD的绝对值相关的值,并且MMVD方向相关信息(mmvd_direction_idx)可以指示与MMVD的MVD方向相关的值。
图39是图示根据本公开的实施例的MMVD的MVD推导的图。
参考图39的左侧,视频信号处理设备可以基于MMVD合并信息(mmvd_merge_flag)来确定是否在当前块中使用MMVD。如果MMVD用于当前块,则可以执行MVD推导过程。MVD推导过程可以是图39右侧所示的8.5.2.7。作为8.5.2.7的输出的MVD可以是MMVD的MVD,并且可以是MMVD信息(mMvdLX)。如上所述,MMVD信息(mMvdLX)可以基于MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)来获得。这里,X可以用分别对应于参考列表L0和参考列表L1的0和1替换。
如图39所示,MMVD的MVD或MMVD信息(mMvdLX)可以被添加到mvLX,该mvLX是在先前过程((8-281)和(8-282))中推导的运动向量(MV)。这里,X可以用可分别对应于第一参考列表(参考列表L0)和第二参考列表(参考列表L1)的0和1替换。MMVD的MVD可以指示MMVD信息(mMvdLX)。视频信号处理设备可以执行限制通过添加MVD而获得的修改的运动向量(mvLX)的范围的过程。例如,可以执行剪切((8-283)和(8-284))。例如,该范围可以被限制于上述MV范围。例如,该范围可以被限制为从-2^17到(2^17-1)(含)。
在本公开中,Clip3(x,y,z)可指示剪切。例如,Clip3的结果(x,y,z)可以是1)如果z<x,则x,2)如果z>y,则y,以及3)否则z。因此,Clip3的结果的范围(x,y,z)可以是x<=结果<=y。
在该实施例中,mvLX[0][0][comp]和mMvdLX[comp]中的comp可以表示x分量或y分量。例如,comp可以表示水平分量和垂直分量中的每一个。
视频信号处理设备可以基于修改的运动向量(mvLX)来预测当前块。视频信号处理设备可以基于修改的运动向量(mvLX)来重构当前块。如上所述,修改的运动向量(mvLX)可以是通过将MMVD信息(mMvdLX)添加到作为运动向量(MV)的mvLX而获得的值。
MMVD的MVD推导的过程可以如图39的右侧所示。附图中的MMVD偏移(MmvdOffset)可以是基于上述MMVD相关语法元素的值。例如,MMVD偏移(MmvdOffset)可以是基于MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)的值。总之,MMVD偏移(MmvdOffset)可以基于MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)中的至少一个来获得。MMVD信息(mMvdLX)可以基于MMVD偏移(MmvdOffset)来推导。
根据一个实施例,在双向预测(predFlagLX可指示要使用的参考列表,X可以用0和1替换,并且L0和L1可以分别对应于第一参考列表(参考列表L0)和第二参考列表(参考列表L1))的情况下,可以确定是否照原样使用MMVD偏移(MmvdOffset)作为基于图像顺序计数(POC)的MMVD的MVD,是否使用基于MMVD偏移(MmvdOffset)计算出的值,是否将MMVD偏移(MmvdOffset)照原样用于特定参考列表的值,是否将基于MMVD偏移(MmvdOffset)计算出的值用于特定参考列表的值等。
根据实施例,可以存在使用MMVD偏移(MmvdOffset)来获得第一参考列表(参考列表L0)和第二参考列表(参考列表L1)两者的MVD((8-350)至(8-353))的情况。例如,第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)可以是相同的。POC差(currPocDiffLX)可以是当前图片的POC与参考列表LX的参考图片的POC之间的差,并且X可用0和1替换,第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)可分别由图39的(8-348)和(8-349)确定。DiffPicOrderCnt可以如下计算。
DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)-PicOrderCnt(picB)
PicOrderCnt(picX)可以指示图片picX的图片顺序计数值。
在图39中,currPic可指示当前图片。RefPicList[X][refIdxLX]可指示当在参考列表LX中使用refIdxLX时的参考图片。
根据实施例,可能存在基于MmvdOffset计算出的值用于第二参考列表(参考列表L1)的MVD((8-354)到(8-363))的情况。在这种情况下,可以照原样使用MMVD偏移(MmvdOffset)值作为第一参考列表(参考列表L0)的MVD。这可以是Abs(currPocDiffL0)等于或大于Abs(currPocDiffL1)的情况。或者,Abs(currPocDiffL0)可以大于Abs(currPocDiffL1)。
根据实施例,可能存在基于MMVD偏移(MmvdOffset)计算的值用于第一参考列表(参考列表L0)的MVD((8-364)到(8-373))的情况。在这种情况下,可以照原样使用MMVD偏移(MmvdOffset)值作为第二参考列表(参考列表L1)的MVD。这可以是Abs(currPocDiffL0)小于Abs(currPocDiffL1)的情况。或者,Abs(currPocDiffL0)可以小于或等于Abs(currPocDiffL1)。
根据实施例,基于MMVD偏移(MmvdOffset)的计算可指示MV缩放。MV缩放可以对应于图39的(8-356)至(8-361)或(8-366)至(8-371)。前者可以是生成第二MMVD信息(mMvdL1)的过程,该第二MMVD信息是通过基于第一MMVD信息(mMvdL0)或MMVD偏移(MmvdOffset)进行缩放而获得的缩放的MV,而后者可以是生成第一MMVD信息(mMvdL0)的过程,该第一MMVD信息是通过基于第二MMVD信息(mMvdL1)或MMVD偏移(MmvdOffset)进行缩放而获得的缩放的运动向量(MV)。MV缩放可以是基于缩放因子(distScaleFactor((8-359)和(8-369)))的计算,该缩放因子是基于第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)的值。MV缩放可以是基于通过将缩放因子(distScaleFactor)和要缩放的MV相乘而获得的值的计算((8-360)、(8-361)、(8-370)和(8-371))。MV缩放可以包括限制MV范围的过程。例如,范围限制过程可以包括在图39的(8-360)、(8-361)、(8-370)和(8-371)中。例如,MV缩放可以包括剪切过程。根据本公开的实施例,在这种情况下,可以使用上述MVD2范围。例如,该范围可以被限制为从-2^15到(2^15-1)(含)。也就是说,MMVD的MVD范围可以被限制在-2^15到(2^15-1)(含)。例如,也就是说,MMVD的MVD推导的过程可以包括将基于要缩放的MV与distScaleFactor的乘积的值限制到从-2^15到(2^15-1)(含)的范围的过程。例如,Clip3(-2^15,2^15-1,x)过程可以被包括在MMVD的MVD推导的过程中。更具体地,mMvdLX可以如下确定。
mMvdLX=Clip3(-2^15,2^15-1,(distScaleFactor*mMvdLY+128-(distScaleFactor*mMvdLY>=0))>>8)
这里,Y可以是0或1,并且可以是!X。mMvdLY可以是MmvdOffset。distScaleFactor可以是(8-359)或(8-369)中所示的值,并且可以是基于currPocDiffL0和currPocDiffL1的值。然而,缩放的MV、MMVD信息(mMvdLX)和MMVD的MVD的范围不限于从-2^15到(2^15-1)的范围。缩放的MV、MMVD信息(mMvdLX)和MMVD的MVD的范围可以从-2^17到(2^17-1)。这将参考图43进行描述。
当L0和L1的参考图片都不是长期参考图片时,可以执行该过程。
根据实施例,基于MMVD偏移(MmvdOffset)的计算可以指示MMVD偏移(MmvdOffset)或负MMVD偏移(-MmvdOffset),其基于第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)((8-362)、(8-363)、(8-372)和(8-373))。当L0和L1的参考图片中的至少一个是长期参考图片时,可以执行该过程。
在单向预测的情况下,可以照原样使用MmvdOffset作为mMvdLX((8-374)和(8-375))。
图40是图示根据本公开的实施例的MVD和MV推导的图。
图40的实施例可以是使用图37的MV范围或MVD1范围的示例。图40的实施例可以是使用从-2^17到(2^17-1)(含)的范围的示例。
参照图40,可以基于图9等中描述的语法元素来推导lMvd等(7-161)。lMvd的范围可以从-2^17到(2^17-1)(含)。诸如MvdLX和MvdCpLX的值可以被配置为lMvd。lMvd、MvdLX、MvdCpLX等可以是上述的MVD1。
如果使用AMVP、帧间模式等,则MV范围可以被限制为从-2^17到(2^17-1)(含)。这可以是不使用合并模式的情况。参照图40,(8-264)至(8-267)可以包括MV范围限制过程。参考附图,uLX可以是基于添加MVP(mvpLX)和MVD(mvdLX)的值。作为最终MV的mvLX可以基于ULX来计算。图40包括模运算,其中由该运算表示的值可以被限制以便由特定数量的比特或更少的比特来表达。例如,通过计算(%2^18),该值可以用18比特来表达。因此,MV范围可以被限制为从-2^17到(2^17-1)(含)。(8-265)和(8-267)可用于解决当添加MVP和MVD时可能发生的溢出。
图41是图示了根据本公开的实施例的MV和CPMV推导的图。
图41的实施例可以是使用图37的MV范围或MVD1范围的示例。图40的实施例可以是使用从-2^17到(2^17-1)(含)的范围的示例。
图41(a)可以表示推导并置运动向量(时间运动向量)的方法。该过程可以包括MV缩放。可以包括基于distScaleFactor和要缩放的MV(mvCol)来对值进行剪切的操作(8-398)。在这种情况下,剪切可以被配置为产生从-131072到131071(含)的范围内的结果。-131072等于-2^17-1。131072等于2^17-1
图41(b)是图示推导CPMV(cpMvLX)的过程的一部分的图。这还可以包括用于限制范围的剪切过程。在这种情况下,该范围可以是从-2^17到(2^17-1)(含)。
图41(c)是图示了推导基于子块的MV的过程的一部分的图。基于子块的MV可以是在使用仿射MC时的MV、基于子块的时间MV预测等。这还可以包括用于限制范围的剪切过程。在这种情况下,该范围可以是从-2^17到(2^17-1)(含)。附图中的xSbIdx和ySbIdx可以分别指示x轴上的子块索引和y轴上的子块索引。
图42是图示了根据本公开的实施例的MV和MVD范围的图。
在本实施例中可以省略上述部分。
如上所述,可能存在多种MVD生成方法或MVD确定方法。MVD可以是前述运动向量差。此外,可以存在多种MV生成方法或MV确定方法。
根据本公开的实施例,可以限制MV或MVD能够指示的范围。
根据本公开的实施例,MV范围和MVD范围可以相同。可以存在MVD生成方法,由MVD生成方法1所生成的MVD可以是MVD1,由MVD生成方法2所生成的MVD可以是MVD2。MVD1范围和MVD2范围可以相同。MV范围、MVD范围、MVD1范围和MVD2范围可以是从-2^N到(2^N-1)。这些范围可以包括-2^N和(2^N-1)。根据另一实施例,MV范围或MVD范围可以从(-2^N+1)到2^N。该范围可以包括(-2^N+1)和2^N。在这些实施例中,N可以是整数,例如正整数。更具体地,N可以是17。在这种情况下,可以通过使用N+1比特来表达MV范围或MVD范围。因此,MV范围、MVD范围、MVD1范围和MVD2范围都可以从-2^17变化到(2^17-1)。
如先前附图中所述,可以定义MV、MVD1、MVD2等。也就是说,MV可以指用于最终运动补偿或预测的MV,并且对此可以参考图37的描述。MVD1可以是参考图40或图9描述的MVD。或者,MVD1可以是AMVP、帧间模式或仿射帧间模式的MVD,或者是当不使用合并模式时的MVD,对此可以参考图37的描述。MVD2可以是图38和图39中描述的MVD,或者是MMVD模式的MVD,对此可以参考图37的描述。MMVD模式的MVD可以指示MMVD信息(mMvdLX)。
因此,根据实施例,由AMVP、帧间模式或仿射帧间模式的所有MVD和MMVD的MVD可表达的范围可以都相同。另外,最终MV可以具有相同范围。更具体地,AMVP、帧间模式或仿射帧间模式的MVD和MMVD的MVD的范围都可以从-2^17到(2^17-1)(含)。另外,最终MV也可以具有从-2^17到(2^17-1)(含)的范围。
因此,所有的MV和MVD都能够完全覆盖一定大小的图片。当存在由特定MV或MVD1可表达的范围时,MVD2也可表达相同范围。因此,例如,与其他方法相比,使用MVD2的方法可以防止由于表达范围而导致的更限制性地使用。当MV、MVD1等能够表达特定范围时MVD2表达相同范围的事实可能不需要硬件或软件中的附加资源。如果MMVD的MVD或MVD2能够表达从-2^17到(2^17-1)(含),最大绝对值是131072,其中如果该值是以1/16像元为单位的值,可以表达最多8192个像素。因此,可以完全覆盖8K图片。
参照图42,外侧虚线指示由MV、MVD1和MVD2从中心点可表达的范围。MV范围、MVD1范围和MVD2范围可以全部相同。例如,MV范围、MVD1范围和MVD2范围可以全部从-2^17变化到(2^17-1)(含)。所有这些范围可以包括8K图片。也就是说,MV、MVD1和MVD2范围可指示此情况,即使在指示图片的结束的最坏情况下也是如此。因此,可指示较好的运动向量,可认为运动补偿被良好地执行,可减少残差,并且可增加编译效率。
图43是图示了根据本公开的一个实施例的MMVD的MVD推导的图。
图43可以对应于其一部分已经被修改的图39。在图43的实施例中,可以省略参考图39描述的内容。或者,可能已经省略以上描述。
当使用MMVD时,可以执行MVD推导过程。MVD推导过程可以是图43所示的8.5.2.7。作为8.5.2.7的输出的MVD可以是MMVD的MVD,并且可以是MMVD信息(mMvdLX)。如上所述,MMVD信息(mMvdLX)可以基于MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)来获得。
更具体地,将参照图43提供描述。参照图43,视频信号处理设备可以获得MMVD偏移(MmvdOffset)。视频信号处理设备可以获得MMVD偏移(MmvdOffset)以便获得MMVD信息(mMvdLX)。MMVD偏移(MmvdOffset)可以是基于上述MMVD相关语法元素的值。例如,MMVD偏移(MmvdOffset)可以是基于MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx)的值。
根据实施例,视频信号处理设备可以基于predFlagLX来确定是否通过双向预测来预测当前块。predFlagLX可以指示要使用的参考列表。这里,X可以用0和1来替换,并且L0和L1可以分别对应于参考列表L0和L1。如果predFlagL0为1,则这可指示使用第一参考列表。如果predFlagL0为0,则这可指示不使用第一参考列表。如果predFlagL1为1,则这可指示使用第二参考列表。如果predFlagL1为0,则这可指示不使用第二参考列表。
在图43中,如果predFlagL0和predFlagL1都是1,则可指示双向预测。双向预测可指示使用第一参考列表和第二参考列表两者。如果使用第一参考列表和第二参考列表,则视频信号处理设备可执行基于第一参考列表获得包括当前块的当前图片的图像顺序计数(POC)与第一参考图片(refPicList[0][refIdxL0])的POC之间的差作为第一POC差(CurrPocDiffL0)的操作(8-348)。如果使用第一参考列表和第二参考列表,则视频信号处理设备可以执行基于第一列表获得当前图片的图像顺序计数(POC)与第二参考图片(refPicList[1][refIdxL1])的POC之间的差作为第二POC差(CurrPocDiffL1)的操作(8-349)。
POC差(currPocDiffLX)可以是当前图片的POC与参考列表(参考列表LX)的参考图片的POC之间的差,并且X可用0和1替换。第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)可分别由图43的(8-348)和(8-349)确定。DiffPicOrderCnt可以如下计算。
DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)-PicOrderCnt(picB)
PicOrderCnt(picX)可指示图片picX的图片顺序计数值。
视频信号处理设备可以执行基于MMVD偏移(MmvdOffset)、第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)中的至少一个来获得与第一参考列表相关的第一MMVD信息(mMvdL0)和与第二参考列表相关的第二MMVD信息(mMvdL1)的操作。这里,MMVD信息(mMvdLX)可以包括第一MMVD信息(mMvdL0)和第二MMVD信息(mMvdL1)。下面将详细描述通过视频信号处理设备获得第一MMVD信息(mMvdL0)和第二MMVD信息(mMvdL1)的过程。
视频信号处理设备可以确定是否照原样使用MMVD偏移(MmvdOffset)作为基于图像顺序计数(POC)的MMVD的MVD、是否使用基于MMVD偏移(MmvdOffset)计算出的值、是否照原样使用MMVD偏移(MmvdOffset)用于特定参考列表的值、是否使用基于MMVD偏移(MmvdOffset)计算出的值用于特定参考列表的值等。
如果第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)相同,则视频信号处理设备可以执行获得MMVD偏移(MmvdOffset)作为第一MMVD信息(mMvdL0)的操作(8-350和8-351)。如果第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)相同,则视频信号处理设备可以执行获得MMVD偏移(MmvdOffset)作为第二MMVD信息(mMvdL1)的操作(8-352和8-353)。
视频信号处理设备可以确定第一POC差的绝对值(Abs(currPocDiffL0))是否大于第二POC差的绝对值(Abs(currPocDiffL1))。如果第一POC差的绝对值(Abs(currPocDiffL0))大于或等于第二POC差的绝对值(Abs(currPocDiffL1)),则视频信号处理设备可以执行获得MMVD偏移(MmvdOffset)作为第一MMVD信息(mMvdL0)的操作(8-354和8-355)。
如果第一参考图片(RefPicList[0][refIdxL0])不是长期参考图像并且第二参考图片(RefPicList[1][refIdxL])不是长期参考图片,则视频信号处理设备可执行通过缩放第一MMVD信息(mMvdL0)获得第二MMVD信息(mMvdL1)的操作(8-356到8-361)。缩放因子(distScaleFactor)可用于缩放。缩放因子(distScaleFactor)可以基于第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)中的至少一个来获得。
如果第一参考图片是长期参考图片或者第二参考图片是长期参考图片,则视频信号处理设备可执行在不缩放第一MMVD信息(mMvdL0)的绝对值的情况下获得第二MMVD信息(mMvdL1)的操作(8-362和8-363)。这里,不缩放可以指不改变第一MMVD信息(mMvdL0)的绝对值。即,视频信号处理设备可以通过改变或不改变第一MMVD信息(mMvdL0)的符号来获得第二MMVD信息(mMvdL1)。如果第一POC差(currPocDiffL0)的符号和第二POC差(currPocDiffL1)的符号相同,则视频信号处理设备可以将第二MMVD信息(mMvdL1)配置为第一MMVD信息(mMvdL0)。如果第一POC差(currPocDiffL0)的符号和第二POC差(currPocDiffL1)的符号不同,则视频信号处理设备可以通过改变第一MMVD信息(mMvdL0)的符号来配置第二MMVD信息(mMvdL1)。
视频信号处理设备可以确定第一POC差的绝对值(Abs(currPocDiffL0))是否小于第二POC差的绝对值(Abs(currPocDiffL1))。如果第一POC差的绝对值(Abs(currPocDiffL0))小于第二POC差的绝对值(Abs(currPocDiffL1)),则视频信号处理设备可以执行获得MMVD偏移(MmvdOffset)作为第二MMVD信息(mMvdL1)的操作(8-364和8-365)。
如果第一参考图片(RefPicList[0][refIdxL0])不是长期参考图片并且第二参考图片(RefPicList[1][refIdxL1])不是长期参考图片,则视频信号处理设备可以执行通过缩放第二MMVD信息(mMvdL1)来获得第一MMVD信息(mMvdL0)的操作(8-366至8-371)。缩放因子(distScaleFactor)可用于缩放。缩放因子(distScaleFactor)可以基于第一POC差(currPocDiffL0)和第二POC差(currPocDiffL1)中的至少一个来获得。
如果第一参考图片(RefPicList[0][refIdxL0])是长期参考图片或第二参考图片(RefPicList[1][refIdxL1])是长期参考图片,则视频信号处理设备可执行在不缩放第二MMVD信息(mMvdL1)的绝对值的情况下获得第一MMVD信息(mMvdL0)的操作(8-372和8-373)。这里,不缩放可以指不改变第二MMVD信息(mMvdL1)的绝对值。即,视频信号处理设备可以通过改变或不改变第二MMVD信息(mMvdL1)的符号来获得第一MMVD信息(mMvdL0)。如果第一POC差(currPocDiffL0)的符号和第二POC差(currPocDiffL1)的符号相同,则视频信号处理设备可以将第一MMVD信息(mMvdL0)配置为第二MMVD信息(mMvdL1)。如果第一POC差(currPocDiffL0)的符号和第二POC差(currPocDiffL1)的符号不同,则视频信号处理设备可以通过改变第二MMVD信息(mMvdL1)的符号来配置第一MMVD信息(mMvdL0)。
在图43中,如果predFlagL0和predFlagL1中的至少一个不是1,则可指示单向预测。在单向预测的情况下,可以照原样使用MMVD偏移(MmvdOffset)作为MMVD信息(mMvdLX)((8-374)和(8-375))。
如上所述,视频信号处理设备可以执行基于MMVD距离相关信息和MMVD方向相关信息来获得MMVD偏移以便获得MMVD信息(mMvdLX)的操作。
如果仅使用第一参考列表(predFlagL0==1),则视频信号处理设备可以执行在不缩放MMVD偏移(MmvdOffset)的情况下获得MMVD偏移(MmvdOffset)作为与第一参考列表相关的第一MMVD信息(mMvdL0)的操作(8-374和8-375)。
如果仅使用第二参考列表(predFlagL1==1),则视频信号处理设备可以执行在不缩放MMVD偏移(MmvdOffset)的情况下获得MMVD偏移(MmvdOffset)作为与第二参考列表相关的第二MMVD信息(mMvdL1)的操作(8-374和8-375)。
如上所述,MMVD的MVD的范围可能受限。MMVD的MVD可以是MMVD信息(mMvdLX)。根据本公开的实施例,MMVD的MVD的范围可以与由另一方法所确定的MVD(例如,基于图9的语法元素的MVD)的范围相同。MMVD的MVD的范围可以与最终MV的范围相同。根据本公开的实施例,MMVD的MVD范围或MMVD信息(mMvdLX)的范围可以从-2^17到2^17-1,其中-2^17和2^17-1是包含性的。
如上所述,MV缩放过程可以包括在MMVD的MVD推导的过程中。限制范围的剪切操作可以包括在MMVD的MVD推导的过程中。
参考图43,MMVD信息(mMvdLX)可以基于剪切操作。此处,X可以用可分别对应于第一参考列表(参考列表L0)或第二参考列表(参考列表L1)的0或1替换。例如,MMVD信息(mMvdLX)可以基于Clip3操作。例如,MMVD信息(mMvdLX)可以基于Clip3(-2^17,2^17-1,x)。在这种情况下,x可以是基于第一POC差(currPocDiffL0)、第二POC差(currPocDiffL1)或MMVD偏移(MmvdOffset)的值。例如,x可以是基于缩放因子(distScaleFactor)和MMVD偏移(MmvdOffset)的值。图43的(8-360)、(8-361)、(8-370)和(8-371)包括用于限制MVD范围的剪切操作。
作为附加实施例,在图42和图43中,MV、MVD、MVD1和MVD2之间的统一范围以及通过多种MVD生成方法的MVD和MMVD的MVD范围可以是从-2^N+1到2^N,其中-2^N+1和2^N是包含性的。更具体地,N可以是17。即,MV、MVD、MVD1和MVD2之间的统一范围和通过多种MVD生成方法的MVD和MMVD的MVD范围可以是从-2^17+1到2^17,其中-2^17+1和2^17是包含性的。在这种情况下,可以用18比特来表达MVD。
根据本公开的实施例,色度MV的范围可以不同于亮度MV的范围。例如,色度MV可以具有比亮度MV更高的分辨率。也就是说,1单位的色度MV可以表达比1单位的亮度MV更小的像素。例如,亮度MV可以以1/16像元为单位。色度MV可以以1/32像元为单位。
色度MV可以基于亮度MV。例如,色度MV可以通过将亮度MV乘以特定值来确定。该特定值对于水平分量可以是2/SubWidthC,并且对于垂直分量可以是2/SubHeightC。包括在该特定值中的2可以是因为色度MV的分辨率比亮度MV的分辨率高两倍而包括的值。SubWidthC和SubHeightC可以是根据颜色格式所确定的值。SubWidthC和SubHeightC可以是色度样本采样的值。例如,SubWidthC和SubHeightC可以是关于现有色度样本相对于亮度样本的数量的值。SubWidthC和SubHeightC可以是1或2。
根据本公开的实施例,如果色度MV的分辨率高于亮度MV的分辨率,则色度MV的范围可以宽于亮度MV的范围。这可以允许由亮度MV覆盖的区域也由色度MV覆盖。例如,色度MV的范围可以是亮度MV的范围的两倍。例如,色度MV范围可以从-2^18到2^18-1,其中-2^18和2^18-1是包含性的。而且,亮度MV范围可以从-2^17到2^17-1,其中-2^17和2^17-1是包含性的。
色度MV的范围可以取决于颜色格式而变化。例如,如果SubWidthC或SubHeightC为1,则色度MV的范围可以不同于亮度MV的范围。在这种情况下,色度MV的范围可能是亮度MV的范围的两倍。例如,色度MV范围可以从-2^18到2^18-1,在这种情况下,-2^18和2^18-1是包含性的,并且亮度MV范围可以从-2^17到2^17-1,在这种情况下,-2^17和2^17-1是包含性的。如果SubWidthC和SubHeightC为2,则色度MV的范围可以与亮度MV的范围相同。在这种情况下,该范围可以是从-2^17到2^17-1,其中-2^17和2^17-1是包含性的。这可以是为了统一由色度MV和亮度MV可表达的范围。
在本公开的实施例中,在4:2:0格式的情况下,SubWidthC和SubHeightC可以分别为2和2。在4:2:2格式的情况下,SubWidthC和SubHeightC可以分别为2和1。在4:4:4格式的情况下,SubWidthC和SubHeightC可以分别是1和1。
可以通过各种手段来实现本发明的上述实施例。例如,可以通过硬件、固件、软件或其组合来实现本发明的实施例。
对于通过硬件实现的情况,可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等中的一个或多个来实现根据本发明的实施例的方法。
在通过固件或软件实现的情况下,可以以执行上述功能或操作的模块、过程或函数的形式来实现根据本发明的实施例的方法。可以将软件代码存储在存储器中并由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知的方式与处理器交换数据。
本发明的上述描述仅用于说明目的,并且将会理解,本发明所属的本领域的普通技术人员可以在不改变本发明的技术思想或者基本特征的情况下对本发明进行改变,并且本发明可以以其他特定形式容易地被修改。因此,上述实施例是说明性的,并且在所有方面均不受限制。例如,被描述为单个实体的每个组件可以被分布和实现,并且同样,被描述为被分布的组件也可以以关联的方式被实现。
本发明的范围由所附权利要求书而不是上述详细描述来限定,并且从所附权利要求书的含义和范围及其等效物导出的所有改变或修改都应解释为包括在本发明的范围内。
Claims (32)
1.一种用于解码视频信号的方法,所述方法包括:
从比特流解析较高级别具有MVD的合并(MMVD)启用信息(sps_mmvd_enabled_flag),其指示包括当前块的较高级别的MMVD的可用性;
如果所述较高级别MMVD启用信息指示启用MMVD,则从所述比特流中解析指示是否在当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);
如果所述MMVD合并信息指示在所述当前块中使用MMVD,则解析MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx);以及
基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD信息(mMvdLX),其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
2.根据权利要求1所述的方法,其中,所述较高级别是以下中的一个:编译树单元、切片、图块、图块组、图片和序列单元。
3.根据权利要求1所述的方法,进一步包括:
生成所述当前块的合并候选列表;
基于从所述比特流解析的合并索引,从所述合并候选列表选择运动向量;
如果所述MMVD合并信息指示在所述当前块中使用MMVD,则通过将所述MMVD信息添加到所述运动向量来获得修改的运动向量;以及
基于所述修改的运动向量重构所述当前块,其中所述修改的运动向量具有大于或等于-2^17并且小于或等于2^17-1的值。
4.根据权利要求1所述的方法,其中,获得所述MMVD信息(mMvdLX)包括:
基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;
如果使用第一参考列表和第二参考列表,则基于所述第一参考列表获得在包括所述当前块的当前图片的图片顺序计数(POC)与第一参考图片的POC之间的差作为第一POC差,并且基于所述第二参考列表获得在所述当前图片的POC与第二参考图片的POC之间的差作为第二POC差;以及
基于所述MMVD偏移、所述第一POC差、以及所述第二POC差中的至少一个,获得与所述第一参考列表相关的第一MMVD信息和与所述第二参考列表相关的第二MMVD信息,其中所述MMVD信息包括所述第一MMVD信息和所述第二MMVD信息。
5.根据权利要求4所述的方法,包括:如果所述第一POC差与所述第二POC差相同,则获得所述MMVD偏移作为所述第一MMVD信息,并且获得所述MMVD偏移作为所述第二MMVD信息。
6.根据权利要求4所述的方法,包括:
如果所述第一POC差的绝对值大于或等于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第一MMVD信息;
如果所述第一参考图片不是长期参考图片,并且所述第二参考图片不是长期参考图片,则通过缩放所述第一MMVD信息来获得所述第二MMVD信息;以及
如果所述第一参考图片是长期参考图片或者所述第二参考图片是长期参考图片,则无需缩放所述第一MMVD信息的绝对值、获得所述第二MMVD信息。
7.根据权利要求4所述的方法,包括:
如果所述第一POC差的绝对值小于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第二MMVD信息;
如果所述第一参考图片不是长期参考图片,并且所述第二参考图片不是长期参考图片,则通过缩放所述第二MMVD信息来获得所述第一MMVD信息;以及
如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第二MMVD信息的绝对值、获得所述第一MMVD信息。
8.根据权利要求1所述的方法,其中,获得所述MMVD信息(mMvdLX)包括:
基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;
如果仅使用第一参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第一参考列表相关的第一MMVD信息;以及
如果仅使用第二参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第二参考列表相关的第二MMVD信息。
9.一种用于解码视频信号的方法,所述方法包括:
从较高级别比特流获得色度分量格式信息;
基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);
基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;
基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;
基于所述y轴缩放信息,确定左侧块的位置;
基于所述x轴缩放信息,确定上侧块的位置;
基于所述左侧块和所述上侧块,确定加权值;
通过以合并模式预测所述当前块来获得第一样本;
通过以帧内模式预测所述当前块来获得第二样本;以及
基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
10.根据权利要求9所述的方法,其中,确定所述加权值包括:
如果所述左侧块可用并且所述左侧块的预测模式是帧内预测,则将所述左侧块的码信息(isIntraCodedNeighbourA)设置为真;
如果所述左侧块不可用或者所述左侧块的预测模式不是帧内预测,则将所述左侧块的码信息设置为假;
如果所述上侧块可用并且所述上侧块的预测模式是帧内预测,则将所述上侧块的码信息(isIntraCodedNeighbourB)设置为真;以及
如果所述上侧块不可用或者所述上侧块的预测模式不是帧内预测,则将所述上侧块的码信息设置为假。
11.根据权利要求10所述的方法,其中,确定所述加权值包括:
如果所述左侧块的码信息和所述上侧块的码信息两者均为真,则确定所述加权值为3;
如果所述左侧块的码信息和所述上侧块的码信息两者均为假,则确定所述加权值为1;以及
如果所述左侧块的码信息和所述上侧块的码信息中仅一个为真,则确定所述加权值为2。
12.根据权利要求9所述的方法,其中,获得所述组合预测样本包括基于predSamplesComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2来预测所述当前块,这里,predSamplesComb是指所述组合预测样本,w是指所述加权值,predSamplesIntra是指所述第二样本,predSamplesInter是指所述第一样本,[x]是指包括在所述当前块中的样本的x轴坐标,以及[y]是指包括在所述当前块中的样本的y轴坐标。
13.根据权利要求9所述的方法,其中,获得所述x轴缩放信息包括:
如果所述当前块的颜色分量是0,或者所述宽度相关信息是1,则确定所述x轴缩放信息为0;以及
如果所述当前块的颜色分量不是0、并且所述宽度相关信息不是1,则确定所述x轴缩放信息为1,以及
获得所述y轴缩放信息包括:
如果所述当前块的颜色分量是0、或者所述高度相关信息是1,则确定所述y轴缩放信息为0;以及
如果所述当前块的颜色分量不是0、并且所述高度相关信息不是1,则确定所述y轴缩放信息为1。
14.根据权利要求9所述的方法,其中:
所述左侧块的位置是(xCb-1,yCb-1+(cbHeight<<scallFactHeight)),这里xCb是当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbHeight是所述当前块的高度的值,以及scallFactHeight是所述y轴缩放信息;以及
所述上侧块的位置是(xCb-1+(cbWidth<<scallFactWidth),yCb-1),这里xCb是所述当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbWidth是所述当前块的宽度的值,并且scallFactWidth是所述x轴缩放信息。
15.一种用于解码视频信号的设备,所述设备包括处理器和存储器,其中,基于存储在所述存储器中的指令,所述处理器被配置成:
从比特流解析较高级别具有MVD的合并(MMVD)启用信息(sps_mmvd_enabled_flag),其指示包括当前块的较高级别的MMVD的可用性;
如果所述较高级别MMVD启用信息指示启用MMVD,则从所述比特流中解析指示是否在当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);
如果所述MMVD合并信息指示在所述当前块中使用MMVD,则解析MMVD距离相关信息(mmvd_distance_idx)和MMVD方向相关信息(mmvd_direction_idx);以及
基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD信息(mMvdLX),其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
16.根据权利要求15所述的设备,其中,所述较高级别是以下中的一个:编译树单元、切片、图块、图块组、图片和序列单元。
17.根据权利要求15所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:生成所述当前块的合并候选列表;
基于从所述比特流解析的合并索引,从所述合并候选列表选择运动向量;
如果所述MMVD合并信息指示在所述当前块中使用MMVD,则通过将所述MMVD信息添加到所述运动向量来获得修改的运动向量;以及
基于所述修改的运动向量重构所述当前块,其中所述修改的运动向量具有大于或等于-2^17并且小于或等于2^17-1的值。
18.根据权利要求15所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;
如果使用第一参考列表和第二参考列表,则基于所述第一参考列表获得在包括所述当前块的当前图片的图片顺序计数(POC)与第一参考图片的POC之间的差作为第一POC差,并且基于所述第二参考列表获得在所述当前图片的图片顺序计数(POC)与第二参考图片的POC之间的差作为第二POC差;以及
基于所述MMVD偏移、所述第一POC差、以及所述第二POC差中的至少一个,获得与所述第一参考列表相关的第一MMVD信息和与所述第二参考列表相关的第二MMVD信息,其中所述MMVD信息包括所述第一MMVD信息和所述第二MMVD信息。
19.根据权利要求18所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述第一POC差与所述第二POC差相同,则获得所述MMVD偏移作为所述第一MMVD信息并且获得所述MMVD偏移作为所述第二MMVD信息。
20.根据权利要求18所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述第一POC差的绝对值大于或等于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第一MMVD信息;
如果所述第一参考图片不是长期参考图片,并且所述第二参考图片不是长期参考图片,则通过缩放所述第一MMVD信息来获得所述第二MMVD信息;以及
如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第一MMVD信息的绝对值、获得所述第二MMVD信息。
21.根据权利要求18所述的装置,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述第一POC差的绝对值小于所述第二POC差的绝对值,则获得所述MMVD偏移作为所述第二MMVD信息;
如果所述第一参考图片不是长期参考图片,并且所述第二参考图片不是长期参考图片,则通过缩放所述第二MMVD信息来获得所述第一MMVD信息;以及
如果所述第一参考图片是长期参考图片,或者所述第二参考图片是长期参考图片,则无需缩放所述第二MMVD信息的绝对值、获得所述第一MMVD信息。
22.根据权利要求15所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:基于所述MMVD距离相关信息和所述MMVD方向相关信息,获得MMVD偏移;
如果仅使用第一参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第一参考列表相关的第一MMVD信息;以及
如果仅使用第二参考列表,则无需缩放所述MMVD偏移、获得所述MMVD偏移作为与所述第二参考列表相关的第二MMVD信息。
23.一种用于解码视频信号的设备,所述设备包括处理器和存储器,其中,基于存储在所述存储器中的指令,所述处理器被配置成:
从较高级别比特流获得色度分量格式信息;
基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);
基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;
基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;
基于所述y轴缩放信息,确定左侧块的位置;
基于所述x轴缩放信息,确定上侧块的位置;
基于所述左侧块和所述上侧块,确定加权值;
通过以合并模式预测所述当前块来获得第一样本;
通过以帧内模式预测所述当前块来获得第二样本;以及
基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
24.根据权利要求23所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述左侧块可用并且所述左侧块的预测模式是帧内预测,则将所述左侧块的码信息(isIntraCodedNeighbourA)设置为真;
如果所述左侧块不可用,或者所述左侧块的预测模式不是帧内预测,则将所述左侧块的码信息设置为假;
如果所述上侧块可用,并且所述上侧块的预测模式是帧内预测,则将所述上侧块的码信息(isIntraCodedNeighbourB)设置为真;以及
如果所述上侧块不可用或者所述上侧块的预测模式不是帧内预测,则将所述上侧块的码信息设置为假。
25.根据权利要求24所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述左侧块的码信息和所述上侧块的码信息两者均为真,则确定所述加权值为3;
如果所述左侧块的码信息和所述上侧块的码信息两者均为假,则确定所述加权值为1;以及
如果所述左侧块的码信息和所述上侧块的码信息中仅一个为真,则确定所述加权值为2。
26.根据权利要求23所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:基于predSamplesComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2来预测所述当前块,这里,predSamplesComb是指所述组合预测样本,w是指所述加权值,predSamplesIntra是指所述第二样本,predSamplesInter是指所述第一样本,[x]是指包括在所述当前块中的样本的x轴坐标,以及[y]是指包括在所述当前块中的样本的y轴坐标。
27.根据权利要求23所述的设备,其中,基于存储在所述存储器中的所述指令,所述处理器被配置成:如果所述当前块的颜色分量是0,或者所述宽度相关信息是1,则确定所述x轴缩放信息为0;
如果所述当前块的颜色分量不是0,并且所述宽度相关信息不是1,则确定所述x轴缩放信息为1;
如果所述当前块的颜色分量是0,或者所述高度相关信息是1,则确定所述y轴缩放信息为0;以及
如果所述当前块的颜色分量不是0,并且所述高度相关信息不是1,则确定所述y轴缩放信息为1。
28.根据权利要求23所述的设备,其中:
所述左侧块的位置是(xCb-1,yCb-1+(cbHeight<<scallFactHeight)),这里,xCb是当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbHeight是所述当前块的高度的值,并且scallFactHeight是所述y轴缩放信息;以及
所述上侧块的位置是(xCb-1+(cbWidth<<scallFactWidth),yCb-1),这里,xCb是所述当前亮度块的左上样本的x轴坐标,yCb是所述当前亮度块的左上样本的y轴坐标,cbWidth是所述当前块的宽度的值,并且scallFactWidth是所述x轴缩放信息。
29.一种用于编码视频信号的方法,所述方法包括:
生成当前块的具有MVD的合并(MMVD)信息(mMvdLX);
基于所述MMVD信息(mMvdLX),生成MMVD距离相关信息和MMVD方向相关信息;
生成指示是否在所述当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);
生成指示包括所述当前块的较高级别的MMVD的可用性的较高级别MMVD启用信息(sps_mmvd_enabled_flag);以及
基于所述MMVD距离相关信息、所述MMVD方向相关信息、所述MMVD合并信息(mmvd_merge_flag)和所述较高级别MMVD启用信息(sps_mmvd_enabled_flag),生成比特流,其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
30.一种用于编码视频信号的设备,所述设备包括处理器和存储器,其中,基于存储在所述存储器中的指令,所述处理器被配置成:
生成当前块的具有MVD的合并(MMVD)信息(mMvdLX);
基于所述MMVD信息(mMvdLX),生成MMVD距离相关信息和MMVD方向相关信息;
生成指示是否在所述当前块中使用MMVD的MMVD合并信息(mmvd_merge_flag);
生成指示包括所述当前块的较高级别的MMVD的可用性的较高级别MMVD启用信息(sps_mmvd_enabled_flag);以及
基于所述MMVD距离相关信息、所述MMVD方向相关信息、所述MMVD合并信息(mmvd_merge_flag)和所述较高级别MMVD启用信息(sps_mmvd_enabled_flag),生成比特流,其中所述MMVD信息具有大于或等于-2^17并且小于或等于2^17-1的值。
31.一种用于编码视频信号的方法,所述方法包括:
生成较高级别色度分量格式信息;
基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);
基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;
基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;
基于所述y轴缩放信息,确定左侧块的位置;
基于所述x轴缩放信息,确定上侧块的位置;
基于所述左侧块和所述上侧块,确定加权值;
通过以合并模式预测所述当前块,获得第一样本;
通过以帧内模式预测所述当前块,获得第二样本;以及
基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
32.一种用于编码视频信号的设备,所述设备包括处理器和存储器,其中,基于存储在所述存储器中的指令,所述处理器被配置成:
生成较高级别色度分量格式信息;
基于所述色度分量格式信息,获得宽度相关信息(SubWidthC)和高度相关信息(SubHeightC);
基于所述宽度相关信息或关于当前块的颜色分量的信息,获得x轴缩放信息;
基于所述高度相关信息或关于当前块的颜色分量的信息,获得y轴缩放信息;
基于所述y轴缩放信息,确定左侧块的位置;
基于所述x轴缩放信息,确定上侧块的位置;
基于所述左侧块和所述上侧块,确定加权值;
通过以合并模式预测所述当前块,获得第一样本;
通过以帧内模式预测所述当前块,获得第二样本;以及
基于所述加权值、所述第一样本和所述第二样本,获得用于所述当前块的组合预测样本。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0090519 | 2019-07-25 | ||
KR20190090519 | 2019-07-25 | ||
KR20190111060 | 2019-09-06 | ||
KR10-2019-0111060 | 2019-09-06 | ||
KR20190124933 | 2019-10-09 | ||
KR10-2019-0124933 | 2019-10-09 | ||
PCT/KR2020/009783 WO2021015586A1 (ko) | 2019-07-25 | 2020-07-24 | 비디오 신호 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114208205A true CN114208205A (zh) | 2022-03-18 |
Family
ID=74192915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080053632.8A Pending CN114208205A (zh) | 2019-07-25 | 2020-07-24 | 视频信号处理方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20220279162A1 (zh) |
EP (1) | EP4007282A4 (zh) |
JP (2) | JP2022543207A (zh) |
KR (1) | KR20220036942A (zh) |
CN (1) | CN114208205A (zh) |
WO (1) | WO2021015586A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760481A (zh) * | 2022-04-29 | 2022-07-15 | 北京淳中科技股份有限公司 | 一种视频编码方法、装置、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118175328A (zh) | 2018-10-12 | 2024-06-11 | 韦勒斯标准与技术协会公司 | 使用多假设预测的视频信号处理方法和装置 |
GB2588406B (en) * | 2019-10-22 | 2022-12-07 | British Broadcasting Corp | Video encoding and video decoding |
WO2023200233A1 (ko) * | 2022-04-12 | 2023-10-19 | 엘지전자 주식회사 | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
WO2024076074A1 (ko) * | 2022-10-07 | 2024-04-11 | 엘지전자 주식회사 | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9807401B2 (en) * | 2011-11-01 | 2017-10-31 | Qualcomm Incorporated | Transform unit partitioning for chroma components in video coding |
EP3442227B1 (en) * | 2012-02-29 | 2020-04-22 | LG Electronics Inc. | Inter-layer prediction method and apparatus |
EP3076670A4 (en) * | 2014-01-03 | 2017-08-23 | Samsung Electronics Co., Ltd. | Method for encoding video and apparatus therefor, and method for decoding video and apparatus therefor using effective parameter delivery |
JP6938612B2 (ja) * | 2016-07-12 | 2021-09-22 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読の記録媒体 |
-
2020
- 2020-07-24 JP JP2022505306A patent/JP2022543207A/ja active Pending
- 2020-07-24 EP EP20844004.0A patent/EP4007282A4/en active Pending
- 2020-07-24 US US17/629,385 patent/US20220279162A1/en active Pending
- 2020-07-24 KR KR1020227002072A patent/KR20220036942A/ko unknown
- 2020-07-24 CN CN202080053632.8A patent/CN114208205A/zh active Pending
- 2020-07-24 WO PCT/KR2020/009783 patent/WO2021015586A1/ko active Application Filing
-
2024
- 2024-01-05 JP JP2024000706A patent/JP2024038271A/ja active Pending
- 2024-02-22 US US18/584,910 patent/US20240195954A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760481A (zh) * | 2022-04-29 | 2022-07-15 | 北京淳中科技股份有限公司 | 一种视频编码方法、装置、设备及存储介质 |
CN114760481B (zh) * | 2022-04-29 | 2023-05-30 | 北京淳中科技股份有限公司 | 一种视频编码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021015586A1 (ko) | 2021-01-28 |
US20220279162A1 (en) | 2022-09-01 |
JP2024038271A (ja) | 2024-03-19 |
EP4007282A1 (en) | 2022-06-01 |
JP2022543207A (ja) | 2022-10-11 |
US20240195954A1 (en) | 2024-06-13 |
KR20220036942A (ko) | 2022-03-23 |
EP4007282A4 (en) | 2022-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112840654B (zh) | 使用多假设预测的视频信号处理方法和装置 | |
CN110662052B (zh) | 更新查找表(lut)的条件 | |
CN110662059B (zh) | 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置 | |
CN110662053B (zh) | 使用查找表的视频处理方法、装置和存储介质 | |
CN113302927B (zh) | 使用运动补偿的视频信号处理方法和设备 | |
US20210243476A1 (en) | Method and device for processing video signal by using subblock-based motion compensation | |
CN114208205A (zh) | 视频信号处理方法和设备 | |
CN114145014A (zh) | 处理视频信号的方法和设备 | |
CN113454992A (zh) | 基于帧内预测的视频信号处理方法和设备 | |
CN113382234A (zh) | 视频信号编码/解码方法以及用于所述方法的设备 | |
JP2024060107A (ja) | 現在ピクチャ参照を用いたビデオ信号処理方法及び装置 | |
CN110677650B (zh) | 降低非相邻Merge设计的复杂度 | |
CN113228636B (zh) | 使用当前图片参考的视频信号处理方法和设备 | |
JP7524188B2 (ja) | 現在ピクチャ参照を用いたビデオ信号処理方法及び装置 | |
CN113491116A (zh) | 基于帧内预测的视频信号处理方法和装置 | |
KR20200137326A (ko) | 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220829 Address after: Gyeonggi Do, South Korea Applicant after: WILUS INSTITUTE OF STANDARDS AND TECHNOLOGY Inc. Address before: Gyeonggi Do, South Korea Applicant before: WILUS INSTITUTE OF STANDARDS AND TECHNOLOGY Inc. Applicant before: HUMAX Co.,Ltd. |
|
TA01 | Transfer of patent application right |