CN116601953A - 编解码视频中的位置相关系数重新排序 - Google Patents

编解码视频中的位置相关系数重新排序 Download PDF

Info

Publication number
CN116601953A
CN116601953A CN202180079067.7A CN202180079067A CN116601953A CN 116601953 A CN116601953 A CN 116601953A CN 202180079067 A CN202180079067 A CN 202180079067A CN 116601953 A CN116601953 A CN 116601953A
Authority
CN
China
Prior art keywords
video
block
coefficients
samples
codec
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180079067.7A
Other languages
English (en)
Inventor
张莉
张凯
张玉槐
刘鸿彬
王悦
马思伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN116601953A publication Critical patent/CN116601953A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

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

Abstract

描述了用于视频处理的方法、系统和装置。处理视频数据的一种示例方法包括执行视频的当前块和视频的比特流之间的转换。使用根据规则响应于当前块的样点的位置排列的系数在比特流中表示当前块的样点。

Description

编解码视频中的位置相关系数重新排序
相关申请的交叉引用
根据巴黎公约适用的专利法和/或规则,提出本申请是为了及时要求2020年11月24日提交的国际专利申请No.PCT/CN2020/131205的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本申请的公开内容的部分。
技术领域
该专利文档涉及图像以及视频编码和解码。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了视频编码器和解码器可以使用的技术,用于使用对编解码表示的解码有用的控制信息来处理视频的编解码表示。
在一个示例方面,一种处理视频数据的方法,包括:执行视频的当前块和视频的比特流之间的转换。根据规则,响应于当前块的样点的位置,在当前块的样点用于当前块的重建之前,排列对应于比特流中的当前块的样点的系数。
在另一个示例方面,公开了一种视频处理方法。该方法包括:为视频的视频块和视频的编解码表示之间的转换,基于规则对水平或垂直恒等变换是否应用于视频块作出确定;并且基于确定执行转换。该规则规定了该确定与来自视频的一个或多个代表性块的解码系数的代表性系数之间的关系。
在另一个示例方面中,公开了另一种视频处理方法。该方法包括:为视频的视频块和视频的编解码表示之间的转换,基于规则对水平或垂直恒等变换是否应用于视频块作出确定;并且基于确定执行转换。该规则规定了该确定与视频块的解码亮度系数之间的关系。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:为视频的视频块和视频的编解码表示之间的转换,基于规则对水平或垂直恒等变换是否应用于视频块作出确定;并且基于确定执行转换。该规则规定该确定和与解码系数的代表性系数或代表性块相关联的值V之间的关系。
在另一个示例方面,公开了另一种视频处理方法。该方法包括确定一个或多个语法字段存在于视频的编解码表示中,其中视频包含一个或多个视频块;基于一个或多个语法字段,对是否为视频中的视频块启用了水平或垂直恒等变换作出确定。
在另一个示例方面,公开了另一种视频处理方法。该方法包括对关于是否启用恒等变换的使用用于视频的视频块和视频的编解码表示之间的转换作出第一确定;对转换期间是否启用置零操作作出第二确定;并且基于第一确定与第二确定执行转换。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行视频的视频块和视频的编解码表示之间的转换;其中视频块在编解码表示中表示为编解码块,其中编解码块的非零系数被限制在一个或多个子区域内;以及其中应用恒等变换用于生成编解码块。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频区域的视频与视频的编解码表示之间的转换,其中编解码表示符合格式规则;其中格式规则规定视频区域的系数在从编解码表示解析之后根据映射重新排序。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:为视频的视频块和视频的编解码表示的转换,确定视频块是否满足在编解码表示中作为部分残差块信令通知的条件;并且根据确定执行转换;其中,部分残差块被分割为至少两部分,其中至少一部分没有在编解码表示中信令通知的非零残差。
在又一个示例方面,公开了一种视频编码器装置。视频编码器包括配置为实现上述方法的处理器。
在又一个示例方面,公开了一种视频解码器装置。视频解码器包括配置为实现上述方法的处理器。
在又一个示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现这里描述的方法之一。
本文档中描述了这些和其他特征。
附图说明
图1示出了视频编码器框图的示例。
图2示出了67种帧内预测模式的示例。
图3A显示了广角帧内预测的参考样点的示例
图3B显示了广角帧内预测的参考样点的另一个示例。
图4图示了方向超过45度的情况下的不连续性问题。
图5A显示了应用于对角和邻角帧内模式的PDPC使用的样点的示例定义。
图5B显示了应用于对角和邻角帧内模式的PDPC使用的样点的另一示例定义。
图5C显示了应用于对角和邻角帧内模式的PDPC使用的样点的另一示例定义。
图5D显示了应用于对角和邻角帧内模式的PDPC使用的样点的又一示例定义。
图6显示了4×8和8×4块的划分的示例。
图7显示了除4×8、8×4和4×4之外的所有块的划分的示例。
图8显示了JEM中的二次变换的示例。
图9显示了简化二次变换LFNST的示例。
图10A显示了正向简化变换的示例。
图10B显示了逆向简化变换的示例。
图11显示了具有16×48矩阵的正向LFNST8x8过程的示例。
图12示出了非零元素的扫描位置17至64的示例。
图13为子块变换模式SBT-V和SBT-H的示例图示。
图14A示出了基于扫描区域的系数编解码(SRCC)的示例。
图14B示出了基于扫描区域的系数编解码(SRCC)的另一示例。
图15A示出了根据非零系数位置的IST的示例限制。
图15B示出了根据非零系数位置的IST的另一示例限制。
图16A显示了TS编解码块的示例置零类型。
图16B显示了TS编解码块的另一示例置零类型。
图16C显示了TS编解码块的另一示例置零类型。
图16D显示了TS编解码块的又一置零类型。
图17为示例视频处理系统的框图。
图18是图示根据本公开的一些实施例的视频编解码系统的框图。
图19是图示根据本公开的一些实施例的编码器的框图。
图20是图示根据本公开的一些实施例的解码器的框图。
图21为视频处理装置的框图。
图22为视频处理的示例方法的流程图。
图23显示了部分残差块的L形分割的示例。
图24显示了系数重新排序方法的示例。
图25显示了系数重新排序方法的示例。
图26为根据本技术处理视频数据的方法的流程图表示。
具体实施方式
在本文档中使用章节标题是为了便于理解,并且不限制每个章节中公开的技术和实施例仅应用于该章节。此外,在一些说明书中使用H.266术语只是为了便于理解,而不是为了限制所公开技术的范围。这样,本文所描述的技术也应用于其它视频编解码器协议和设计。
1.概述
本文档与视频编解码技术有关。具体来说,它涉及视频编解码中的变换跳过模式和变换类型(例如,包括恒等变换)。它可以应用于现有的视频编解码标准,如HEVC,或者即将完成的标准(多功能视频编解码)。它也可以应用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而得以演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4Visual标准,并且两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编解码(AVC)标准和H.265/HEVC标准。从H.262开始,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,由VCEG和MPEG于2015年联合成立联合视频探索团队(JVET)。从那时起,JVET采用了许多新方法并将其纳入名为联合探索模型(JEM)的参考软件。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET)成立,致力于VVC标准,目标是与HEVC相比降低50%比特率。
2.1.典型视频编解码器的编解码流程
图1示出了VVC的编码器框图的示例,其包含三个环路滤波块:去块滤波器(DF)、采样自适应偏移(SAO)和ALF。与使用预定义滤波器的DF不同,SAO和ALF利用当前图片的原始样点分别通过添加偏移和通过应用有限脉冲响应(FIR)滤波器来降低原始样点与重建样点之间的均方误差,其中编解码的辅助信息信令通知偏移和滤波器系数。ALF位于每个图片的最后处理阶段,并且能够被看作是试图捕获和修复由先前阶段创建的伪像的工具。
2.2.具有67种帧内预测模式的帧内模式编解码
为了捕捉自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC使用的33个扩展到65个。附加的方向模式在图2中用虚线箭头表示,并且平面和DC模式保持不变。这些更密集的方向帧内预测模式适用于所有块尺寸以及适用于亮度和色度帧内预测两者。
如图2所示,传统的角度帧内预测方向被定义为顺时针方向从45度到-135度。在VTM2中,对于非正方形块,几种传统的角度帧内预测模式被自适应地替换为广角帧内预测模式。替换的模式使用原始方法被信令通知,并在解析之后重新映射到广角模式的索引。帧内预测模式的总数不变,即67,并且帧内模式编解码不变。
在HEVC中,每个帧内编解码块具有正方形形状,并且其每侧的长度是2的幂。因此,使用DC模式生成帧内预测器不需要除法运算。在VVV2中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免DC预测的除法运算,只使用较长一侧来计算非正方形块的平均值。
2.3.非方形块的广角帧内预测
传统的角度帧内预测方向被定义为在顺时针方向上从45度到-135度。在VTM2中,对于非正方形块,几种传统的角度帧内预测模式被自适应地替换为广角帧内预测模式。被替换的模式使用原始方法被信令通知,并在解析后重新映射到广角模式的索引。某个块的帧内预测模式的总数不变(例如,67),并且帧内模式编解码不变。
为了支持这些预测方向,长度为2W+1的顶部参考和长度为2H+1的左侧参考被定义为如图3B所示。
广角方向模式中被替换模式的模式数量取决于块的纵横比。表1示出了被替换的帧内预测模式。
表1:被广角模式替换的帧内预测模式
如图4所示,在广角帧内预测的情况下,两个垂直相邻的预测样点可以使用两个不相邻的参考样点。因此,低通参考样点滤波器和侧平滑被应用于广角预测,以减少增加的间隙Δpα的负面影响。
2.4.位置相关帧内预测组合
在VTM2中,通过位置相关帧内预测组合(PDPC)方法进一步修改平面模式的帧内预测的结果。PDPC是一种帧内预测方法,其调用未滤波边界参考样点和具有滤波边界参考样点的HEVC类型帧内预测的组合。PDPC适用于以下无需信令通知的帧内模式:平面、DC、水平、垂直、左下角模式及其八个相邻角模式,以及右上角模式及其八个相邻角模式。
预测样点pred(x,y)是使用帧内预测模式(DC、平面、角度)和参考样点的线性组合根据如下等式来预测的:
pred(x,y)=(wL×R-1,y+wT×Rx,-1–wTL×R-1,-1+(64–wL–wT+wTL)×pred(x,y)+32)>>6
其中,Rx,-1、R-1,y分别表示位于当前样点(x,y)的顶部和左侧的参考样点,R-1,-1表示位于当前块的左上角的参考样点。
如果PDPC被应用于DC、平面、水平和垂直帧内模式,则不需要如在HEVC DC模式边界滤波器或水平/垂直模式边缘滤波器的情况下所需要的额外的边界滤波器。
图5A-5D示出了应用于各种预测模式的PDPC的参考样点(Rx,-1、R-1,y和R-1,-1)的定义。预测样点pred(x’,y’)位于预测块内的(x’,y’)处。参考样点Rx,-1的坐标x由下式给出:x=x'+y'+1,并且参考样点R-1,y的坐标y类似地由下式给出:y=x'+y'+1。图5A示出了对角右上模式。图5B示出了对角左下模式。图5C示出了相邻对角右上模式。图5D示出了相邻对角左下模式。
PDPC权重取决于预测模式,并且在表2中示出。
表2:根据预测模式的PDPC权重的示例
预测模式 wT wL wTL
对角右上 16>>((y’<<1)>>shift) 16>>((x’<<1)>>shift) 0
对角左下 16>>((y’<<1)>>shift) 16>>((x’<<1)>>shift) 0
相邻对角右上 32>>((y’<<1)>>shift) 0 0
相邻对角左下 0 32>>((x’<<1)>>shift) 0
2.5.帧内子块分割(ISP)
在一些实施例中,在JVET-M0102中,提出了ISP,其根据块尺寸维度,将亮度帧内预测块垂直或者水平划分成2个或4个子分割,如表3中所示。图6和图7示出了两种可能性的示例。所有子分割满足具有至少16个样点的条件。
表3:取决于块尺寸的子分割数量
块尺寸 子分割的数量
4×4 没有划分
4×8和8×4 2
所有其他情况 4
对于这些子分割中的每一个,通过对编码器发送的系数进行熵解码,然后对其进行逆量化和逆变换,来生成残差信号。然后,子分割被帧内预测,并且最终通过将残差信号添加到预测信号来获得对应的重构样点。因此,每个子分割的重构值将可用于生成下一个子分割的预测,下一个子分割将重复该过程等等。所有子分割共享相同的帧内模式。
基于所使用的帧内模式和划分,使用两种不同类别的处理顺序(称为正常和反向顺序)。按照正常顺序,要处理的第一个子分割是包含CU的左上角样点的分割,并且然后继续向下(水平划分)或向右(垂直划分)。结果,用于生成子分割预测信号的参考样点仅位于线的左侧和上侧。另一方面,反向处理顺序或者从包含CU的左下角样点的子分割开始并继续向上,或者从包含CU的右上角样点的子分割开始并继续向左。
2.6.多变换集(MTS)
除了在HEVC中已经采用的DCT-II之外,多变换选择(MTS)方案被用于帧间编解码块和帧内编解码块两者的残差编解码。它使用来自DCT8/DST7的多重选择的变换。新引入的变换矩阵是DST VII和DCT VIII。表4示出了所选DST/DCT的基函数。
表4:变换类型和基函数
启用MTS有两种方式,一种是显式MTS;另一种是隐式MTS。
2.6.1.隐式MTS
隐性MTS是VVC中的一个新工具。变量implicitMtsEnabled的推导如下:
是否启用隐式MTS取决于变量implicitMtsEnabled的值。变量implicitMtsEnabled的推导如下:
–如果sps_mts_enabled_flag等于1,并且下列一个或多个条件为真,则implicitMtsEnabled设置为等于1:
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT(即,ISP被启用)
–cu_sbt_flag等于1(即,ISP被启用),且Max(nTbW,nTbH)小于或等于32
–sps_explicit_mts_intra_enabled_flag等于0(即,显式MTS被禁用),CuPredMode[0][xTbY][yTbY]等于MODE_INTRA,以及lfnst_idx[x0][y0]等于0,且intra_mip_flag[x0][y0]等于0
–否则,implicitMtsEnabled被设置为等于0。
规定水平变换核的变量trTypeHor和规定垂直变换核的变量trTypeVer的推导如下:
–如果以下一个或多个条件为真,则将trTypeHor和trTypeVer设置为等于0(例如,DCT2)。
–cIdx大于0(即,对于色度分量)
–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且lfnst_idx不等于0
–否则,如果implicitMtsEnabled等于1,则适用以下情况:
–如果cu_sbt_flag等于1,则trTypeHor和trTypeVer根据cu_sbt_horizontal_flag和cu_sbt_pos_flag在表40中规定。
–否则(cu_sbt_flag等于0),trTypeHor和trTypeVer的推导如下:
trTypeHor=(nTbW>=4&&nTbW<=16)?1:0 (1188)
trTypeVer=(nTbH>=4&&nTbH<=16)?1:0 (1189)
–否则,trTypeHor和trTypeVer根据mts_idx在表39中规定。
变量nonZeroW和nonZeroH的推导如下:
–如果ApplyLfnstFlag等于1,并且nTbW大于或等于4,且nTbH大于或等于4,则适用以下条件:
nonZeroW=(nTbW==4||nTbH==4)?4:8 (1190)
nonZeroH=(nTbW==4||nTbH==4)?4:8 (1191)
–否则,以下情况适用:
nonZeroW=Min(nTbW,(trTypeHor>0)?16:32) (1192)
nonZeroH=Min(nTbH,(trTypeVer>0)?16:32) (1193)
2.6.2.显式MTS
为了控制MTS方案,使用一个标志来规定比特流中是否存在用于帧内/帧间的显式MTS。此外,在SPS级别为帧内和帧间分别规定了两个单独的启用标志,以指示是否启用显式MTS。当在SPS启用MTS时,可以信令通知CU级别变换索引,以指示是否应用MTS。这里,MTS仅适用于亮度。当满足以下条件时,MTS CU级别索引(由mts_idx表示)被信令通知。
-宽度和高度均小于或等于32
-CBF亮度标志等于一
-非TS
-非ISP
-非SBT
-LFNST被禁用
-存在不在DC位置(块的左上位置)的非零系数
-左上方16×16区域之外没有非零系数
如果mts_idx的第一个二进制位等于零,则DCT2在两个方向上都适用。然而,如果mts_idx的第一个二进制位等于一,则另外信令通知另外两个二进制位,以分别指示水平方向和垂直方向的变换类型。变换和信令映射表如表5中所示。对于变换矩阵精度,使用8位主变换内核。因此,HEVC中使用的所有变换内核保持不变,包括4点DCT-2和DST-7、8点DCT-2、16点DCT-2以及32点DCT-2。此外,包括64点DCT-2、4点DCT-8、8点、16点、32点DST-7和DCT-8在内的其他变换内核使用8位主变换内核。
表5:MTS的信令通知
为了降低大尺寸DST-7和DCT-8的复杂度,对于尺寸(宽度或高度,或者宽度和高度两者)等于32的DST-7块和DCT-8块,高频变换系数被置零。仅保留16×16低频区域内的系数。
如在HEVC中,块的残差可以用变换跳过模式来编解码。为了避免语法编解码的冗余,当CU级别MTS_CU_flag不等于零时,不信令通知变换跳过标志。变换跳过的块尺寸限制与JEM4中的MTS的块尺寸限制相同,这指示当块宽度和块高度都等于或小于32时,变换跳过适用于CU。
2.6.3.MTS中的置零
在VTM8中,启用尺寸最高达64×64的大块尺寸变换,这主要适用于较高分辨率的视频,例如,1080p和4K序列。对于尺寸(宽度或高度,或者宽度和高度两者)不小于64的变换块,应用了DCT2变换的块的高频变换系数被置零,从而仅保留低频系数,所有其他系数被强制为零而不被信令通知。例如,对于一个M×N的变换块,M为块宽度,N为块高度,当M不小于64时,只保留变换系数的左32列。类似地,当N不小于64时,只保留前32行变换系数。
对于尺寸(宽度或高度,或者宽度和高度二者)不小于32的变换块,应用了DCT8或DST7变换的块的高频变换系数被置零,从而仅保留低频系数,所有其他系数被强制为零而不被通知。例如,对于一个M×N的变换块,M为块宽度,N为块高度,当M不小于32时,只保留变换系数的左16列。类似地,当N不小于32时,仅保留前16行变换系数。
2.7.低频不可分二次变换(LFNST)
2.7.1.JEM中的不可分二次变换(NSST)
在JEM,在正向主变换和量化之间(在编码器侧)以及在反量化和逆向主变换之间(在解码器侧)应用二次变换。如图8所示,根据块尺寸执行4×4(或8×8)二次变换。例如,对于每个8×8块,4×4二次变换被应用于小块(例如,min(宽度,高度)<8),并且8×8二次变换被应用于较大块(例如,min(宽度,高度)>4)。
下面以输入为例描述不可分变换的应用。为了应用不可分变换,4x4输入块X
首先表示为矢量
不可分变换被计算为其中/>指示变换系数矢量,并且T是16×16变换矩阵。16×1系数矢量/>随后使用该块的扫描顺序(水平、垂直或对角线)被重新组织为4×4块。具有较小索引的系数将与较小扫描索引一起放置在4x4系数块中。总共有35个变换集,并且每个变换集使用3个不可分变换矩阵(内核)。从帧内预测模式到变换集的映射是预先定义的。对于每个变换集,所选择的不可分二次变换候选进一步由显式信令通知的二次变换索引来指定。在变换系数之后,在比特流中每帧内CU信令通知一次该索引。
2.7.2.简化二次变换(LFNST)
在一些实施例中,引入了LFNST,并且使用了4个变换集(替代35个变换集)映射。在一些实现中,16×64(可以进一步简化为16×48)矩阵和16×16矩阵分别用于8×8块和4×4块。为了便于标注,16×64(可以进一步简化为16×48)变换表示为LFNST8×8,16×16变换表示为LFNST4×4。图9示出了LFNST的示例。
LFNST计算
简化变换(RT)的主要思想是将N维矢量映射到不同空间中的R维矢量,其中R/N(R<N)是简化因子。
RT矩阵是R×N矩阵,如下:
其中,变换的R行是N维空间的R个基。RT的逆逆向变换矩阵是其正向变换的转置。正向RT和逆向RT如图10A和图10B所描绘。
在本提议中,应用简化因子为4(1/4尺寸)的LFNST 8×8。因此,代替64×64,使用16×64直接矩阵,其是传统的8×8不可分变换矩阵尺寸。换句话说,在解码器侧使用64×16逆向LFNST矩阵来生成8×8左上区域中的核心(一次)变换系数。正向LFNST 8×8使用16×64(或8×64,对于8×8块)矩阵,使得它仅在给定8×8区域内的左上4×4区域中产生非零系数。换句话说,如果应用LFNST,则除了左上4×4区域之外的8×8区域将仅具有零系数。对于LFNST 4×4,应用16×16(或8×16,对于4×4块)直接矩阵乘法。
当满足以下两个条件时,有条件地应用逆向LFNST:
a.块尺寸大于或等于给定阈值(W>=4&&H>=4)
b.变换跳过模式标志等于零
如果变换系数块的宽度(W)和高度(H)都大于4,则LFNST 8x8被应用于变换系数块的左上8×8区域。否则,将LFNST 4x4应用于变换系数块的左上min(8,W)×min(8,H)区域。
如果LFNST索引等于0,则不应用LFNST。否则,应用LFNST,其核与LFNST索引一起选择。LFNST选择方法和LFNST索引的编解码将在后面解释。
此外,LFNST被应用于帧内和帧间条带中的帧内CU,以及亮度和色度。如果启用了双树,亮度和色度的LFNST索引被单独信令通知。对于帧间条带(双树被禁用),单个LFNST索引被信令通知并用于亮度和色度。
在第13届JVET会议上,帧内子分割(ISP)作为一种新的帧内预测模式被采用。当选择ISP模式时,LFNST被禁用,并且LFNST索引不被信令通知,因为即使LFNST被应用于每个可行的分割块,性能改善也是有限的。此外,对ISP预测的残差禁用LFNST可以降低编码复杂度。
LFNST选择
LFNST矩阵选自四个变换集,每个变换集由两个变换组成。应用哪个变换集由帧内预测模式确定,如下:
1)如果指示了三种CCLM模式中的一种,则选择变换集0。
2)否则,根据表6执行变换集选择。
表6:变换集选择表
访问表的索引,表示为IntraPredMode,范围为[-14,83],这是用于宽角度帧内预测的变换模式索引。
简化维度的LFNST矩阵
作为进一步简略化,应用16×48矩阵代替具有相同变换集配置的16×64,每个16×48矩阵从左上8×8块中的三个4×4块(不包括右下4×4块)中获取48个输入数据(图11)。
LFNST信令通知
R=16的正向LFNST8×8使用16×64矩阵,因此它仅在给定的8×8区域内的左上4×4区域中产生非零系数。换句话说,如果应用LFNST,则除左上方的4×4区域外,8×8区域仅产生零系数。因此,当在除左上4×4(如图12中所示)之外的8×8块区域中检测到任何非零元素时,LFNST索引不被编解码,因为这意味着没有应用LFNST。在这种情况下,LFNST索引被推断为零。
置零范围
通常,在对4×4子块应用逆向LFNST之前,4×4子块中的任何系数都可以为非零。然而,在一些情况下受到约束,在将逆向LFNST应用于子块之前,4×4子块中的一些系数必须为零。
设nonZeroSize为变量。要求在逆向LFNST之前将具有不小于nonZeroSize的索引的任何系数重新排列到1-D阵列中时,该任何系数必须为零。
当nonZeroSize等于16时,左上4×4子块中的系数没有归零约束。
在一些示例中,当当前块尺寸为4×4或8×8时,nonZeroSize被设置为等于8。对于其他块尺寸,nonZeroSize被设置为等于16。
2.8.仿射线性加权帧内预测(ALWIP,也称为基于矩阵的帧内预测)
在一些实施例中使用仿射线性加权帧内预测(ALWIP,也称为基于矩阵的帧内预测(MIP))。
在一些实施例中,进行两个测试。在测试1中,ALWIP被设计为具有8K字节的内存限制,并且每个样点最多4次乘法。测试2与测试1相似,但在内存要求和模型架构方面进一步简化了设计。
·所有块形状的单组矩阵和偏移向量。
·所有块形状的模式数量减少到19。
·将内存需求减少到5760个10位值,即7.20千字节。
·预测样点的线性插值在每个方向的单个步骤中执行,代替第一测试中的迭代插值。
2.9.子块变换
对于具有等于1的cu_cbf的帧间预测CU,可以信令通知cu_sbt_flag以指示解码整个残差块还是残差块的子部分。在前一种情况下,进一步解析帧间MTS信息以确定CU的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换进行编解码,并且残差块的另一部分置零。SBT不应用于组合帧间-帧内模式。
在子块变换中,位置相关变换被应用于SBT-V和SBT-H中的亮度变换块(色度TB总是使用DCT-2)。SBT-H和SBT-V的两个位置与不同的核变换相关联。更具体地,每个SBT位置的水平和垂直变换在图13中规定。例如,SBT-V位置0的水平和垂直变换分别是DCT-8和DST-7。当残差TU的一侧大于32时,对应的变换被设置为DCT-2。因此,子块变换联合规定TU平铺(tiling)、cbf以及残差块的水平和垂直变换,这可以被认为是块的主要残差在块的一侧的情况的语法快捷方式。
2.10.基于扫描区域的系数编解码(SRCC)
SRCC已经被AVS-3采纳。对于SRCC,如图14A至图14B中所示的右下位置(SRx,SRy)被信令通知,并且只有具有四个角(0,0)、(SRx,0)、(0,SRy)、(SRx,SRy)的矩形内的系数被扫描和信令通知。矩形之外的所有系数都为零。
2.11.变换的隐式选择(IST)
如PCT/CN2019/090261(通过引用包含于此)中所公开的,给出了变换解决方案的隐式选择,其中变换矩阵的选择(用于水平变换和垂直变换的DCT2,或者用于两者的DST7)由变换块中非零系数的奇偶性来确定。
所提出的方法应用于帧内编解码块的亮度分量,不包括用DT编解码的那些块,并且允许的块尺寸从4×4到32×32。变换类型隐藏在变换系数中。具体地,一个块中有效系数(例如,非零系数)的数量的奇偶性被用来表示变换类型。奇数表示应用DST-VII,偶数表示应用DCT-II。
为了去除IST引入的32点DST-7,提出在使用SRCC时,根据剩余扫描区域的范围来限制IST的使用。如图15A至图15B中所示,当剩余扫描区域中右下位置的x坐标或y坐标不小于16时,IST是不允许的。也就是说,对于这种情况,直接应用DCT-II。
对于另一种情况,当使用游程长度系数编解码时,需要检查每个非零系数。当一个非零系数位置的x坐标或y坐标不小于16时,不允许IST。
对应的语法改变用粗体斜体和下划线文本表示,如下所示:
/>
/>
/>
2.12.AVS3中的SBT
对应的语法更改突出显示如下(粗体斜体):
/>
7.2.6编解码单元
子块变换标志sbt_cu_flag
二元变量。分析过程见8.3。SbtCuFlag的值等于sbt_cu_flag的值。如果比特流中不存在sbt_cu_flag,则SbtCuFlag的值为0。
子块转换四分之一尺寸标志sbt_quad_flag
二元变量。分析过程见8.3。SbtQuadFlag的值等于sbt_quad_flag的值。如果比特流中不存在sbt_quad_flag,则SbtQuadFlag的值为0。
子块变换方向标志sbt_dir_flag
二元变量。分析过程见8.3。SbtDirFlag的值等于sbt_dir_flag的值。如果比特流中不存在sbt_dir_flag,当SbtQuadFlag为1时,SbtDirFlag的值等于SbtHorQuad的值;当SbtQuadFlag为0时,SbtDirFlag的值等于SbtHorHalf的值。
子块变换位置标志sbt_pos_flag
二元变量。分析过程见8.3。SbtPosFlag的值等于sbt_pos_flag的值。如果比特流中不存在sbt_pos_flag,则SbtPosFlag的值为0。
3.由公开的技术解决方案解决的技术问题的示例
IST和MTS的当前设计具有以下问题:
1.VVC中的TS模式是在块级别中被信令通知的。然而,DCT2和DST7对于相机捕捉的序列中的残差块工作良好,而对于具有屏幕内容的视频,与DST7相比,变换跳过(TS)模式使用得更频繁。需要研究如何以更有效的方式确定TS模式的使用。
2.在VVC中,最大允许TS块尺寸被设置为32×32。如何支持大块的TS,还需要进一步研究。
3.当应用TS时,系数的扫描顺序可能效率不高。
4.示例技术和实施例
下面列出的项目应被视为解释一般概念的示例。这些项目不应以狭隘的方式解释。此外,这些项目可以以任何方式组合。min(x,y)得出x和y中较小的一个。
变换跳过模式/恒等变换的隐式确定
提出了根据一个或多个代表性块的解码系数来确定是否将水平和/或垂直恒等变换(IT)(例如,变换跳过模式)应用于当前第一块。这种方法被称为“IT的隐式确定”。当水平变换和垂直变换都是IT的时候,变换跳过(TS)模式被用于当前的第一块。
“块”可以是变换单元(TU)/预测单元(PU)/编解码单元(CU)/变换块(TB)/预测块(PB)/编解码块(CB)。TU/PU/CU可以包括一个或多个颜色分量,诸如对于双树分割的仅亮度分量,并且当前编解码的颜色分量是亮度;并且对于双树分割的两个色度分量,当前编解码的颜色分量是色度;或者对于单树情况的三个颜色分量。
1.解码系数可与当前第一块的相同颜色分量或不同颜色分量中的一个或多个代表性块相关联。
a.在一个示例中,代表性块是第一块,并且与第一块相关联的解码系数用于确定IT在第一块上的使用。
b.在一个示例中,对将IT用于第一块的确定可取决于多个块的解码系数,该多个块包括至少一个不同于第一块的块。
i.在一个示例中,多个块可以包括第一块。
ii.在一个示例中,多个块可以包括与第一块相邻的一个块或多个块。
iii.在一个示例中,多个块可以包括具有与第一块相同的块维度一个块或多个块。
iv.在一个示例中,多个块可以包括按照解码顺序在第一块之前的,满足特定条件(诸如,具有与当前块相同的预测模式,例如,全部为帧内编解码或IBC编解码,或具有与当前块相同的维度)的最后N个解码的块。N是大于1的整数。
1)相同的预测模式可以是帧间编解码模式。
2)同样的预测模式可以是直接编解码模式。
v.在一个示例中,多个块可以包括与第一块的颜色分量不同的一个块或多个块。
1)在一个示例中,第一块可以在亮度分量中。多个块可以包括色度分量中的块(例如,Cb/B分量中的第二个块,以及Cr/R分量中的第三个块)。
a)在一个示例中,三个块在相同的编解码单元中。
b)此外,可选择地,隐式MTS仅应用于亮度块,而不应用于色度块。
2)在一个示例中,第一颜色分量中的第一块和包括在多个块中的不在第一分量颜色分量中的多个块可以在图片的对应位置或并置位置。
2.用于确定IT的使用的解码系数被称为代表性系数。
a.在一个示例中,代表性系数仅包括不等于零的系数(表示为有效系数)。
b.在一个示例中,代表性系数可以在用于确定IT的使用之前被修改。
i.例如,代表性系数可以在用于导出变换之前被剪裁。
ii.例如,代表性系数可以在用于导出变换之前被缩放。
iii.例如,代表性系数可以在用于导出变换之前加上偏移量。
iv.例如,代表性系数可以在用于导出变换之前滤波。
v.例如,在用于导出变换之前,系数或代表性系数可以被映射到其他值(例如,通过查找表或去量化)。
c.在一个示例中,代表性系数是代表性块中的所有有效系数。
d.可选择地,代表性系数是代表性块中有效系数的部分。
i.在一个示例中,代表性系数是那些奇数的解码有效系数。
1)可选择地,代表性系数是那些偶数的解码有效系数。
ii.在一个示例中,代表性系数是大于或不小于阈值的那些解码有效系数。
1)可选择地,代表性系数是其幅值大于或不小于阈值的那些解码有效系数。
iii.在一个示例中,代表性系数是小于或不大于阈值的那些解码有效系数。
1)可选择地,代表性系数是其幅值小于或不大于阈值的那些解码有效系数。
iv.在一个示例中,代表性系数是按照解码顺序的前K(K>=1)个解码有效系数。
v.在一个示例中,代表性系数是按照解码顺序的最后K(K>=1)个解码有效系数。
vi.在一个示例中,代表性系数可以是块中预定义位置处的系数。
1)在一个示例中,代表性系数可以包括相对于代表性块位于(xPos,yPos)坐标处的仅一个系数。例如xPos=yPos=0。
2)在一个示例中,代表性系数可以包括相对于代表性块位于(xPos,yPos)坐标处的仅一个系数。并且xpo和/或ypo满足以下条件:
a)在一个示例中,xPos不大于阈值Tx(例如,31)和/或yPos不大于阈值Ty(例如,31)。
b)在一个示例中,xPos不小于阈值Tx(例如,32)和/或yPos不小于阈值Ty(例如,32)。
3)例如,位置可以取决于块的维度。
4)在一个示例中,代表性系数可以仅包括相对于代表性块位于(xPos,yPos)(多个)坐标处的系数。并且xPos和/或yPos满足以下条件:
a)在一个示例中,xPos不大于阈值Tx(例如,31)和/或yPos不大于阈值Ty(例如,31)。
b)在一个示例中,xPos不小于阈值Tx(例如32)和/或yPos不小于阈值Ty(例如32)。
5)在一个示例中,代表性系数可以仅包括相对于代表性块位于(xPos,yPos)(多个)坐标处的系数。并且xPos和/或yPos可以根据指示允许的具有非零系数的子块的语法元素来导出。
a)在一个示例中,语法元素与用于指示子块变换模式的语法元素相同(例如SBT,例如SbtCuFlag、SbtQuadFlag、SbtDirFlag、SbtPosFlag或基于位置的变换(pbt))
vii.在一个示例中,代表性系数可以是按照系数扫描顺序的预定义位置处的那些系数。
e.可选择地,代表性系数也可以包括那些零系数。
f.可选择地,代表性系数可以是从解码系数中导出的系数,诸如,通过剪裁到一个范围,通过量化。
g.在一个示例中,代表性系数可以是最后有效系数之前的系数(可以包括最后有效系数)。
3.对将IT用于第一块的确定可以取决于第一块的解码亮度系数。
a.此外,可选择地,确定的IT的使用仅应用于第一块的亮度分量,而DCT2总是用于第一块的色度分量。
b.此外,可选择地,确定的IT的使用被应用于第一块的所有颜色分量。也就是说,相同的变换矩阵被应用于第一块的所有颜色分量。
4.IT的使用的确定可以取决于代表性系数的函数,诸如,使用代表性系数作为输入,值V作为输出的函数。
a.在一个示例中,V是作为代表性系数的数量导出的。
i.可选择地,V被导出为代表性系数之和。
1)可选择地,V被导出为代表性系数的级别(或它们的绝对值)之和。
2)可选择地,V可以被导出为一个代表性系数(诸如,最后一个)的级别(或其绝对值)。
3)可选择地,V可以被导出为级别为偶数的代表性系数的数量。
4)可选择地,V可以被导出为级别为奇数的代表性系数的数量。
5)此外,可选择地,可以对总和进行剪裁,以导出V。
6)
ii.可选择地,V被导出为函数的输出,其中函数定义残差能量分布。
1)在一个示例中,函数返回部分代表性系数的绝对值之和与所有代表性系数的绝对值之比。
2)在一个示例中,函数返回部分代表性系数的绝对值的平方和与所有代表性系数的绝对值的平方和之比。
3)在一个示例中,该函数返回前K个代表性系数的能量乘以缩放因子是否大于前M(M>K)或所有代表性系数的能量。
4)在一个示例中,该函数返回代表性块的第一子区域中的代表性系数的能量乘以缩放因子是否大于包含第一子区域的第二子区域中的代表性系数的能量并且大于第一个子区域。
a)或者,该函数返回代表性块的第一子区域中的代表性系数的能量乘以缩放因子是否大于与第一子区域不重叠的第二子区域中的代表性系数的能量。
b)在一个示例中,第一子区域是左上MxN子区域(即,M=N=1,只有DC)。
i.或者,第一子区域是排除左上MxK子区域(即,排除DC)的第二子区域。
c)在一个示例中,第一个子区域是左上4x4子区域。
5)在以上示例中,能量被定义为绝对值之和或值的平方和。
iii.可选择地,V被导出为是否至少一个代表性系数位于代表性块的子区域之外。
1)在一个示例中,子区域被定义为代表性块的左上子区域,例如,代表性块的左上四分之一。
b.在一个示例中,对IT的使用的确定可以取决于V的奇偶性。
i.例如,如果V是偶数,则使用IT;而如果V是奇数,则不使用IT。
1)可选择地,如果V是偶数,则使用IT;而如果V是奇数,则不使用IT。
ii.在一个示例中,如果V小于阈值T1,则使用IT;而如果
V大于阈值T2,则不使用IT。
1)可选择地,如果V大于阈值T1,则使用IT;如果V小于阈值T2,则不使用IT。
iii.例如,阈值可以取决于编解码信息,诸如块维度、预测模式。
iv.例如,阈值可以取决于QP。
c.在一个示例中,对IT的使用的确定可以取决于V和其它编解码信息(例如,预测模式、条带类型/图片类型、块维度)的组合。
5.对IT的使用的确定可以进一步取决于当前块的编解码信息。
a.在一个示例中,该确定还可以取决于模式信息(例如,帧间、帧内或IBC)。
i.在一个示例中,模式可以是帧间编解码模式。
ii.在一个示例中,模式可以是直接编解码模式。
iii.在一个示例中,当前块可以用SBT模式编解码(例如,sbt_cu_flag等于1)。
1)此外,或者,是使用当前变换集(例如,DCT2/DST7/DCT8)还是使用IT可以取决于代表性系数。
a)在一个示例中,如果确定IT的使用是不使用IT,则可以使用DCT2/DST7/DCT8并且确定要使用哪种变换可以遵循现有技术(例如,在章节2.12、2.9中描述)。
iv.在一个示例中,IT的使用的确定可以取决于在更高级别中信令通知的语法元素,例如在图片标头和/或序列标头和/或SPS/PPS/VPS/条带标头中。
b.在一个示例中,是否应用IT可以取决于帧间编解码块的代表性系数,其不是直接的并且不使用SBT。
c.在一个示例中,如果使用SBT,则IT可应用于帧间编解码块。d.第一条消息(表示为ph_ts_inter_enable_flag)在图片标头中被信令通知。仅当ph_ts_inter_enable_flag为真时,帧间编解码块才能应用IT。否则,将使用默认转换(例如DCT2)。
i.第二条消息(表示为ts_inter_enable_flag)在序列标头中被信令通知。仅当ts_inter_enable_flag为真时,ph_ts_inter_enable_flag才会被信令通知。否则,ph_ts_inter_enable_flag不会被信令通知并推断为假。
e.在一个示例中,变换确定可以取决于作为覆盖所有有效系数的最小矩形的扫描区域(例如,如图14所描绘)。
i.在一个示例中,如果与当前块相关联的扫描区域的尺寸(例如,宽度乘以高度)大于给定阈值,则可以利用默认变换(诸如DCT-2),包括水平变换和垂直变换。否则,可以利用诸如项目符号3中定义的规则(例如,当V是偶数时是IT,当V是奇数时是DCT-2)。
ii.在一个示例中,如果与当前块相关联的扫描区域的宽度大于(或小于)给定的最大宽度(例如,16),那么可利用默认的水平变换(诸如DCT-2)。否则,可以使用诸如项目符号3中定义的规则。
iii.在一个示例中,如果与当前块相关联的扫描区域的高度大于(或小于)给定的最大高度(例如,16),则可以利用默认的垂直变换(诸如DCT-2)。否则,可以使用诸如项目符号3中定义的规则。
iv.在一个示例中,给定的尺寸是L×K,其中,L和K是整数,诸如16。
v.在一个示例中,默认变换矩阵可以是DCT-2或DST-7。
f.在一个示例中,只有当满足条件(例如,模式信息)时,才可以调用IT的使用的确定,否则,可以改为使用其他变换(不包括恒等变换)。
6.项目符号1至项目符号5中公开的方法中的一种或多种只能应用于特定的块。
a.例如,在项目符号1至项目符号5中公开的方法中的一种或多种只能应用于除DT之外的IBC编解码块和/或帧内编解码块。
i.在一个示例中,项目符号1至项目符号5中公开的一种或多种方法可以应用于帧间编解码块。
ii.在一个示例中,项目符号1至项目符号5中公开的一种或多种方法可以应用于直接编解码块。
b.例如,项目符号1至项目符号5中公开的方法中的一种或多种只能应用于对系数有特定约束的块。
i.具有四个角(0,0)、(CRx,0)、(0,CRy)、(CRx,CRy)的矩形被定义为受约束矩形,例如在SRCC方法中。在一个示例中,仅当受约束矩形之外的所有系数都为零时,才可以应用项目符号1至项目符号5中公开的方法中的一种或多种。例如CRx=CRy=16。
1)例如,CRx=SRx和CRy=SRy,其中(SRx,SRy)在SRCC中的定义如2.14节所述。
2)此外,可选择地,上述方法仅在块宽度或块高度大于K时应用。
a)在一个示例中,K等于16。
b)在一个示例中,上述方法仅在块宽度大于K1并且K1等于CRx时应用;或者当块高度大于K2且K2等于CRy时应用。
ii.仅当最后的非零系数(按照正向扫描顺序)满足某些条件时,例如,当水平坐标/垂直坐标不大于阈值(例如,16/32)时,可以应用方法中的一种或多种。
7.当确定不使用IT时,可以改为使用诸如DCT-2或DST-7的默认变换。
a.可选择地,当确定不使用IT时,可以从诸如DCT-2或DST-7的多个默认变换中选择。
8.为了确定来自要应用于以预测模式A编解码的块的变换集的变换,使用一个或多个代表性块(例如,项目符号1)中的代表性系数(例如,项目符号2),并且变换集可以是取决于预测模式A和/或一个或多个语法元素和/或其他编解码信息(例如,DT的使用、块维度)。
a.在一个示例中,变换集是{DCT2}。
b.在一个示例中,变换集是{IT}。
c.在一个示例中,变换集包括{DCT2,IT}。
d.在一个示例中,变换集包括{DCT2,DST7}。
e.在一个示例中,当代表性系数的数量为偶数时,使用DCT2。否则(当代表性系数的数量为奇数时),使用DST7或IT,其可由预测模式A和/或一个或多个语法元素和/或其他编解码信息确定。
i.在一个示例中,如果预测模式A是IBC,当代表性系数的个数是奇数时总是使用IT。
ii.在一个示例中,如果预测模式A是帧内的并且应用DT,则当代表性系数的数量为奇数时总是使用DCT2。
iii.在一个示例中,如果预测模式A是帧内的并且不应用DT,并且一个或多个语法元素指示使用IT的隐式确定或启用变换跳过模式的隐式确定的使用,当代表性系数的数目为奇数时,IT总是被使用。
9.是否和/或如何应用以上所公开的方法可以在视频区域级别(诸如序列级别/图片级别/条带级别/片组级别/片级别/子图片级别)信令通知。
a.在一个示例中,可以在序列标头/图片标头/SPS/VPS/DCI/DPS/PPS/APS/条带标头/片组标头中信令通知(例如,标志)。
i.此外,可选择地,可以信令通知一个或多个语法元素(例如,一个或多个标志)来规定是否启用IT的隐式确定的方法或变换跳过模式的隐式确定的使用。
1)在一个示例中,可以信令通知第一标志来控制对视频区域级别中的IBC编解码块的IT的隐式确定的方法的使用。
a)此外,可选择地,可以在检查IBC是否被启用的条件下信令通知标志。
b)或者,是否启用对IBC编解码块的IT的隐式确定的方法的使用可以由用于控制对排除派生树(DT)模式的帧内编解码块的变换的隐式选择(IST)模式的使用的相同标志来控制。
2)在一个示例中,可以信令通知第二标志以控制视频区域级别中的帧内编解码块(例如,可以排除具有派生树(DT)模式的块)的IT的隐式确定的方法的使用。
3)在一个示例中,可以信令通知第三标志来控制视频区域级别中的帧间编解码块的IT的隐式确定的方法的使用。
4)在一个示例中,可以信令通知标志以控制视频区域级别中的帧内编解码块(例如,可以排除具有DT模式的块)和帧间编解码块的IT的隐式确定的方法的使用。
5)在一个示例中,可以信令通知标志以控制视频区域级别中的IBC编解码块和帧内编解码块(例如,可以排除具有DT模式的块)的IT的隐式确定的方法的使用。
ii.此外,可选择地,当对视频区域启用IT的隐式确定的方法时(例如,标志为真),可以进一步应用以下:
1)在一个示例中,对于IBC编解码块,如果IT用于块,则应用TS模式;否则,使用DCT2。
2)在一个示例中,对于帧内编解码块(例如,可以排除具有DT模式的块),如果IT用于块,则应用TS模式;否则,使用DCT2。
iii.此外,可选择地,当对视频区域禁用IT的隐式确定的方法时(例如,标志为假),可以进一步应用以下:
1)在一个示例中,对于IBC或帧内编解码块,使用DCT-2。
2)在一个示例中,对于帧内编解码块(例如,排除具有DT模式的块),可以即时确定DCT-2或DST-7,诸如由IST确定。
3)在一个示例中,对于帧间编解码块,如果IT用于块,则应用TS模式;否则,以下可能适用:
a)在一个示例中,使用了DCT2。
b)在一个示例中,根据SBT的使用,使用DCT2/DST7/DCT8。
4)在一个示例中,对于直接编解码块,如果IT用于块,则应用TS模式;否则,以下可能适用。
a)在一个示例中,使用了DCT2。
b)在一个示例中,根据SBT的使用,使用DCT2/DST7/DCT8。
b.启用/应用IT方法的多级别控制可以在多个视频单元级别(例如,序列、图片、条带级别)中信令通知。
i.在一个示例中,第一视频单元级别被定义为序列级别。
1)此外,可选地,第一语法元素(例如,标志)在序列标头/SPS/中信令通知以指示IT的使用。
a)在一个示例中,第一个语法元素等于0指示不能在序列中使用隐式选择变换跳过(ISTS)方法。否则(第一个语法元素等于1)指示可以在序列中使用隐式选择变换跳过(ISTS)方法。
b)此外,或者,可以有条件地信令通知第一语法元素,诸如根据“变换的隐式选择(IST)被启用/ist_enable_flag等于1”。
c)此外,可选地,当第一语法元素不存在时,它被推断为默认值。例如,IT被推断为对于第一视频单元级别被禁用。
ii.在一个示例中,第二视频单元级别被定义为图片/条带级别。
1)此外,可选地,第二语法元素(例如,标志)在图片标头(例如,帧内图片标头和/或帧间图片标头)/条带标头中信令通知以指示IT的使用。
a)此外,可选地,可以有条件地信令通知第二语法元素,诸如根据“变换的隐式选择(IST)被启用”或“ist_enable_flag等于1”和/或“IT方法在第一视频单元级别(例如,序列)被启用”。
b)此外,或者,当第二语法元素不存在时,它被推断为默认值。例如,IT被推断为对于第二视频单元级别被禁用。
c.指示允许的变换集的语法元素可以在视频单元级别(例如,图
片)被信令通知,并且其可以根据是否启用变换的隐式选择(IST)有条件地信令通知。
i.在一个示例中,语法元素(例如,标志或索引)在图片标头(例如,帧内图片标头和/或帧间图片标头)/条带标头中信令通知。
1)此外,或者,支持N个不同的允许的变换集,允许的变换集的选择取决于语法元素。
a)在一个示例中,N设置为2。
b)在一个示例中,变换集的选择可以取决于块信息,例如CU的编解码模式,或者CU是否是用(派生树)DT模式编解码。
i.例如,DCT2始终用于具有DT模式的CU。
ii.例如,DCT2总是用于色度块。
c)在一个示例中,两个集合是{DCT2,DST7}和{DCT2,IT}。
i.或者,它们用于帧内编解码块。
ii.或者,它们用于非DT编解码的帧内编解码块。
d)在一个示例中,两个集合是{DCT2}和{DCT2,IT}。
i.或者,它们用于帧内块复制(IBC)编解码块。
ii.或者,它们用于非DT编解码的帧内块复制(IBC)编解码块。
e)在一个示例中,两个集合是{DCT2}和{DCT2,IT}。
i.此外,或者,它们用于帧间编解码块。
ii.此外,或者,它们用于非DT编解码的帧间编解码块。
f)在一个示例中,两个集合是{DCT2}和{DCT2,IT}。
i.此外,或者,它们用于直接编解码块。
ii.此外,或者,它们用于非DT编解码的直接编解码块。
2)此外,或者,如果不存在,则将其推断为默认值。例如,允许的变换集被推断为仅允许一种变换类型(例如,DCT2)。
ii.在一个示例中,语法元素(例如,标志或索引)用于控制来自用于具有特定编解码模式的块的允许的变换集的变换的选择。
1)在一个示例中,它控制来自用于帧内编解码块/帧内编解码块的允许的变换集的变换的选择,不包括应用了DT的块和不包括具有脉冲编解码调制(PCM)模式的块。
2)此外,或者,对于具有其他编解码模式的块,允许的变换集可以独立于语法元素。
a)在一个示例中,对于帧间编解码块,允许的变换集是{DCT2}。
b)在一个示例中,对于IBC编解码块,允许的变换集是{DCT2}或{DCT2,IT},这可能取决于例如IST是否被启用或IBC是否被启用用于当前图片。
c)在一个示例中,对于帧间编解码块,允许的变换集是{DCT2,IT}
d)在一个示例中,对于直接编解码块,允许的变换集是{DCT2,IT}
e)在一个示例中,如何选择允许的变换集可以取决于例如是否启用IST/SBT。
d.是否和/或如何应用本文档中公开的方法可以通过考虑在视频区域级别信令通知的一个或多个消息来确定,例如序列级别/图片级别/条带级别/片组级别/片级别/子图片级别,以及图片/条带类型和/或CTU/CU/PU/TU模式。
i.例如,对于第一CU模式(例如IBC或帧间),如果在视频区域级别(例如图片级别)信令通知的消息指示启用TS,则应用TS。对于第二CU模式(例如帧内),如果在视频区域级别信令通知的消息指示应该使用TS并且满足附加条件(例如系数的奇偶性满足本文档中提出的某些要求),则应用TS。
ii.例如,对于第一模式(例如CU/TU/PU)模式(例如DT编解码),如果在视频区域级别(例如图片级别)信令通知的消息指示启用TS,则应用TS。对于第二模式(例如非DT编解码),如果在视频区域级别信令通知的消息指示应该使用TS并且满足附加条件(例如系数的奇偶校验满足本文档中提出的某些要求),则应用TS。
iii.例如,对于第一模式(例如CU/TU/TU模式)(例如SBT编解码),如果在视频区域级别(例如图片级别)信令通知的消息指示启用TS,则应用TS。对于第二模式(例如非SBT编解码),如果在视频区域级别信令通知的消息指示应该使用TS并且满足附加条件(例如系数的奇偶性满足本文档中提出的某些要求),则应用TS。
10.在视频区域级别,诸如序列级别/图片级别/条带级别/片组级别/片级别/子图片级别,信令通知是否对变换块(包括恒等变换)应用置零的指示。
a.在一个示例中,可以在序列标头/图片标头/SPS/VPS/DCI/DPS/PPS/APS/条带标头/片组标头中信令通知该指示(例如,标志)。
b.在一个示例中,当该指示规定启用置零时,则仅允许IT变换。
c.在一个示例中,当该指示规定禁用置零时,则仅允许非IT变换。
d.此外,可选择地,SRCC中的二进制化/上下文建模/最后有效系数的允许范围/右下位置(例如,相对于块的左上位置的最大X/Y坐标)可以取决于该指示。
11.第一规则(例如,在以上项目符号1至7中)可以用于确定IT对第一块的使用,并且第二规则可以用于确定不包括IT的变换类型。
a.在一个示例中,第一规则可以被定义为残差能量分布。
b.在一个示例中,第二规则可以被定义为代表性系数的奇偶性。
变换跳过
12.对IT(例如,TS)编解码块应用置零,其中非零系数被限制在块的特定子区域内。
a.在一个示例中,将IT(例如TS)编解码块的置零范围设置为块的右上K*L子区域,其中K设置为min(T1,W),L设置为min(T2,H),其中W和H分别是块宽度/块高度,T1/T2是两个阈值。
i.在一个示例中,T1和/或T2可以被设置为32或16。
ii.此外,可选择地,最后非零系数应该位于K*L子区域内。
iii.此外,可选择地,SRCC方法中的右下位置(SRx,SRy)应位于K*L子区域内。
13.定义了IT(例如,TS)编解码块的多个置零类型,其中每个类型对应于块的一个子区域,其中非零系数仅存在于该子区域中。
a.在一个示例中,非零系数仅存在于块的左上K0*L0子区域中。
b.在一个示例中,非零系数仅存在于块的右上K1*L1子区域中。
i.此外,可选择地,可以信令通知具有非零系数的子区域的左下位置的指示。
c.在一个示例中,非零系数仅存在于块的左下K2*L2子区域中。
i.此外,可选择地,可以信令通知具有非零系数的子区域的右上位置的指示。
d.在一个示例中,非零系数只存在于块的右下K3*L3子区域中。
i.此外,可选择地,可以信令通知具有非零系数的子区域的左上位置的指示。
e.此外,可选择地,可以进一步显式信令通知或者即时导出IT的置零类型的指示。
14.当至少一个有效系数在IT(例如,TS)定义的置零区域之外,例如在块的左上K0*L0子区域之外时,在该块中不使用IT(例如,TS)。
a.此外,可选择地,对于这种情况,使用默认的变换。
15.当存在至少有一个有效系数在由另一变换矩阵(例如,DST7/DCT2/DCT8)定义的置零区域之外,例如在块的左上K0*L0子区域之外时,在块中使用IT(例如,TS)。
a.此外,可选择地,对于这种情况,推断使用TS模式。
图16A至图16D示出了TS编解码块的多种置零类型。图16A示出了左上K0*L0子区域。图16B示出了右上K1*L1子区域。图16C示出了左下K2*L2子区域。图16D示出了右下K3*L3子区域。
通用
16.变换矩阵的决定可以在CU/CB级别或TU级别完成。
a.在一个示例中,在CU级别做出决定,其中所有TU共享相同的变换矩阵。
i.此外,可选择地,当一个CU被划分成多个TU时,一个TU(例如,第一个TU或最后一个TU)或者部分TU或所有TU中的系数可以用于确定变换矩阵。
b.是否使用CU级别解决方案或TU级别解决方案可以取决于一个块的块尺寸和/或VPDU尺寸和/或最大CTU尺寸和/或编解码信息。
i.在一个示例中,当块尺寸大于VPDU尺寸时,可以应用CU级别确定方法。
17.是否和/或如何应用上述公开的方法可以取决于编解码信息,该编解码信息可以包括:
a.块维度。
i.在一个示例中,对于宽度和/或高度不大于阈值(例如,32)的块,可以应用上述方法。
ii.在一个示例中,对于宽度和/或高度不小于阈值(例如,4)的块,可以应用上述方法。
iii.在一个示例中,对于宽度和/或高度小于阈值(例如,64)的块,可以应用上述方法。
b.QP
c.图片或条带类型(诸如I帧或P/B帧、I条带或P/B条带)
i.在一个示例中,所提出的方法可以对I帧启用,但是对P/B帧禁用。
d.结构分割方法(单树或双树)
i.在一个示例中,对于应用单树分割的条带/图片/图块/片,可以应用上述方法。
e.编解码模式(诸如帧间模式/帧内模式/IBC模式等)。
i.在一个示例中,对于帧内编解码块,可以应用上述方法。
ii.在一个示例中,对于帧内编解码块(不包括应用了DT的块和不包括PCM模式的块),可以应用上述方法。
iii.在一个示例中,对于帧内编解码块(不包括应用了DT的块和不包括PCM模式的块)以及IBC编解码块,可以应用上述方法。
f.编解码方法(诸如,帧内子块分割、派生树(Derived Tree,DT)方法等)。
i.在一个示例中,对于应用了DT的帧内编解码块,可以禁用上述方法。
ii.在一个示例中,对于应用了ISP的帧内编解码块,可以禁用上述方法。
iii.编解码方法可以包括子块变换(SBT)。
iv.编解码方法可以包括基于位置的变换(PBT)
v.在一个示例中,对于应用了SBT的IBC编解码或帧间编解码的块,可以应用上述方法。
g.颜色分量
i.在一个示例中,对于亮度块,可以应用上述方法,而对于色度块,不应用该方法。
h.帧内预测模式(诸如DC、垂直、水平等)。
i.运动信息(诸如MV和参考索引)。
j.标准档次/级别/层次
系数重新排序
在解码器侧,系数重新排序被定义为如何在去量化之前、或在逆向变换之前、或在重建之前将解析的系数重新排序或映射到系数。这些系数可用于在有或没有逆向变换的情况下重建样点。
18.系数重新排序可以在CU级别或TU级别或PU级别完成。
19.是否/如何应用系数重新排序可能取决于编解码信息。
a.在一个示例中,编解码信息可以包括TU级别部分子块的TU位置。
b.在一个示例中,编解码信息可以包括变换类型。
i.在一个示例中,变换类型可以基于项目符号1至17中提出的系数导出。
ii.变换类型可以包括DCT-II、DST-VII、DCT-VIII和TS(也称为IT)。
iii.在一个示例中,如何进行系数重新排序可能取决于是否使用TS(也称为IT)。
1)在一个示例中,解析的系数在去量化之前以相反的顺序重新排列。
2)在一个示例中,解析的系数在用于重建之前以相反的顺序重新排列。
3)在一个示例中,按相反的顺序将i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j)重新排列为C'(i,j)=C(M-1-i,N-1-j)。
4)在一个示例中,根据(i,j),以不同的方式将i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j)重新排列为C'(i,j)。
a)在一个示例中,根据(i,j),重新排列或不重新排列i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j)。
b)在一个示例中,对于一些特定的(i,j),按相反的顺序重新排列i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j),但对于一些其他的(i,j),不重新排列该解析系数C(i,j)。
i.例如,当(i,j)满足(i<M/2-S1||i>M/2+S2)&&(j<N/2-S3||j>N/2+S4),按相反的顺序将i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j)重新排列为C'(i,j)=C(M-1-i,N-1-j)。S1、S2、S3、S4是整数,例如S1=S3=1,S2=S4=0。
ii.例如,对于不满足条件C'(i,j)=C(i,j)的(i,j)。
iii.例如,如图24(系数重新排序方法A)所示,对于除了(i,j)等于(M/2-1,N/2)或(M/2,N/2-1)之外的所有有效的(i,j),按相反的顺序将i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j)重新排列为C'(i,j)=C(M-1-i,N-1-j)。对于这两个位置,C’(M/2-1,N/2)=C(M/2-1,N/2),C’(M/2,N/2-1)=C(M/2,N/2-1)。
iv.在图25(系数重新排序方法B)所示的一个示例中,对于除了(i,j)等于(M-1,0)和(0,N-1)之外的所有有效的(i,j),按相反的顺序将i=0、1、...、M-1,j=0、1、...、N-1的解析系数C(i,j)重新排列为C'(i,j)=C(M-1-i,N-1-j)。对于这两个位置,C’(M-1,0)=C(M-1,0),C’(0,N-1)=C(0,N-1)。
20.是否根据变换类型确定系数重排序可以取决于条带/图片/片类型。
a.在一个示例中,系数重新排序是根据特定条带/图片/(多个)片类型的变换类型来确定的,例如I-条带或I-图片。
b.在一个示例中,系数重新排序不是根据特定条带/图片/(多个)片类型的变换类型来确定的,例如P条带和/或B条带或P图片和/或B图片,
21.是否根据变换类型确定系数重排序可以取决于CTU/CU/块类型。
a.在一个示例中,系数重新排序是根据特定CTU/CU/(多个)块类型(例如帧内编解码块)的变换类型来确定的。
b.在一个示例中,系数重新排序不是根据特定CTU/CU/(多个)块类型、CTU/CU/块(多个)类型(例如帧间编解码块或IBC编解码块)的变换类型来确定的。
c.在一个示例中,系数重新排序不是根据DT编解码块的变换类型确定的。
22.是否根据变换类型确定系数重新排序可以取决于可以在VPS/SPS/PPS/序列标头/图片标头/条带标头/CTU/CU/块中信令通知的消息。
a.该消息可以是标志。
b.可以有条件地信令通知该消息。
i.例如,如果CU级别块不是零残差块,则只能信令通知消息。
ii.例如,如果TU级别块或部分子块不是零残差块,则只能信令通知消息。
iii.如果消息未被信令通知,则将其推断为默认值,例如0或1。
iv.例如,如果启用了TS,则只能信令通知消息。
c.例如,第一条消息(表示为ph_rts_enable_flag)在图片标头中信令通知。仅当ph_rts_enable_flag为真时,TS编解码块才能对系数重新排序。
i.第二条消息(表示为rts_enable_flag)在序列标头中被信令通知。仅当rts_enable_flag为真时,ph_rts_enable_flag才会被信令通知。否则,ph_rts_enable_flag不会被信令通知并推断为假。
23.如何进行系数重新排序可能取决于可以在VPS/SPS/PPS/序列标头/图片标头/条带标头/CTU/CU/块中信令通知的消息。
a.该消息可以是标志。
b.可以有条件地信令通知该消息。
i.如果消息未被信令通知,则将其推断为默认值,例如0或1。
ii.例如,如果启用了TS,则只能信令通知消息。
iii.例如,只能对于特定的CTU/CU/(多个)块类型、CTU/CU/(多个)块类型(例如帧间编解码块或IBC编解码块)信令通知消息。
部分残差块
24.如果当前块是IBC编解码的,则可能不会信令通知指示是否应用基于位置的变换的消息(表示为pbt_cu_flag)。
25.建议可以将具有特定模式的块分割为至少两部分,并且部分中的至少一部分没有非零残差(换言之,残差被设置为零而不被信令通知)。这样的块称为部分残差块(PRB)。
a.在一个示例中,特定模式是IBC。
i.在一个示例中,IT或DCT2可以应用于PRB。
ii.在一个示例中,IT应用于PRB。
b.在一个示例中,如果当前块是IBC编解码的,则指示是否使用SBT的消息(表示为sbt_cu_flag)可以信令通知。
i.如果sbt_cu_flag对于IBC编解码块为真,则该块使用PRB编解码。并且分割方法与描述SBT分割的消息(如sbt_quad_flag、sbt_dir_flag、sbt_pos_flag)定义的相同。
c.在一个示例中,特定模式是帧间的,并且只有IT(或IT/DCT2之一)应用于块。
d.在一个示例中,M×N块被分割成两部分:
i.两部分可以是(M/k)×N块A和(MM/k)×N块B,其中k为大于1的整数,例如2、4、8、16。
ii.两部分可以是M×(N/k)块A和M×(NN/k)块B,其中k为大于1的整数,例如2、4、8、16。
iii.两部分可以是(M/k)×(N/k)块A,并且另一部分是“L”形区域B,其中k是大于1的整数,例如2、4、8、16。块A可以位于M×N块的左上角、右上角、左下角和右下角,如图23所示。
iv.在一个示例中,块A可能没有残差,而块B可能有非零残差。
v.在一个示例中,块B可能没有残差,而块A可能有非零残差。
vi.在一个示例中,用于指示块是否具有非零残差的消息(诸如cbf)可以不被信令通知通知并且对于PRB中要被确定为具有非零残差的部分,其被推断为一。
e.在一个示例中,可以在比特流中信令通知具有非零系数(或具有全零系数)的部分。
i.在一个示例中,可以信令通知该部分的指示,例如用于SBT的指示。
ii.在一个示例中,允许的分割集(例如,在上面的项目符号中描述的)可以根据解码信息(例如,模式)被预定义和/或在比特流中被指示。
f.在一个示例中,变换跳过可以应用于具有维度(宽度和/或高度)约束的PRB。
i.在一个示例中,仅当(W<=T1)&&(H<=T1)&&(W>T2||H>T2)时才可以应用变换跳过,其中W和H是编解码块的宽度和高度。T1和T2整数,例如T1=64,T2=4。
ii.在一个示例中,仅当(W<=T1)&&(H<=T2)时才可以应用变换跳过,其中T1和T2是整数,例如32或64,W和H为PRB或编解码块的非零部分的宽度和高度。
iii.在一个示例中,仅当(W>T1)||(H>T2)时才可以应用变换跳过,其中T1和T2为整数,例如4或8,W和H为PRB或编解码块的非零部分的宽度和高度。
g.在一个示例中,变换或变换跳过可以应用于PRB中具有非零残基的部分。
i.本文档中的所有项目符号和实施例都可以应用于该部分以确定是否和/或如何使用变换。
h.在一个示例中,块是否是PRB取决于可以在VPS/SPS/PPS/序列标头/图片标头/条带标头/CTU/CU/块中信令通知的消息。
i.该消息可以是标志。
ii.可以有条件地信令通知该消息。
5)如果消息未被信令通知,则将其推断为默认值,例如0或1。
iii.例如,只能对于特定的CTU/CU/(多个)块类型、CTU/CU/(多个)块类型(例如IBC编解码块)信令通知消息。
iv.如果块是PRB,则会信令通知消息来指示如何分割PRB。
i.在一个示例中,可以使用多级别信令来确定是否使用PRB。
i.在一个示例中,对于第一级别,例如,在序列/图片级别中,可以信令通知PRB是否被启用的指示。
6)此外,可选地,可以有条件地信令通知该指示,例如,根据是否使用IBC/屏幕内容。
ii.在一个示例中,对于第二级别,例如,在块级别,可以信令通知是否应用PRB的指示。
7)此外,此外,或者,可以有条件地信令通知该指示,例如,根据第一级中的指示和/或其他解码信息(例如,块维度/模式)。
j.是否允许PRB模式可以取决于信令通知的信息或者可以根据解码信息(例如,颜色分量)即时确定。
k.例如,第一条消息(表示为ph_pts_enable_flag)在图片标头中信令通知。仅当ph_pts_enable_flag为真时,IBC编解码块才能应用PRB。
i.第二条消息(表示为pts_enable_flag)在序列标头中被信令通知。仅当pts_enable_flag为真时,ph_pts_enable_flag才会被信令通知。否则,ph_pts_enable_flag不会被信令通知并推断为假。
5.示例实施例
以下是上面章节4中总结的一些本公开方面的一些示例实施例,其可以应用于VVC规范。已添加或修改的大部分相关部分都以粗体斜体标出下划线,并且一些删除的部分使用[[]]表示。
5.1.实施例#1
本章节介绍变换跳过模式(ISTS)的隐式选择的解决方案的示例。基本上,它遵循AVS3已经采用的变换的隐式选择(IST)的设计原则。图片标头中信令通知一个高级别标志以指示ISTS已启用。如果其被启用,则允许的变换集设置为{DCT-II TS},并且TS模式的确定基于块中非零系数的数量的奇偶性。据报道,与HPM 6.0相比,仿真结果表明,所提出的ISTS在AI和RA配置下分别实现了屏幕内容编解码的15.86%和12.79%比特率降低。据称,编码器和解码器复杂性的增加可以忽略不计。
5.1.1.介绍
在AVS3的当前设计中,只允许DCT-II用于编解码IBC模式的残差块。而对于不包括DT的帧内编解码块,应用IST允许块根据非零系数的数量的奇偶性选择DCT-II或DST-VII。然而,对于屏幕内容编解码,DST-VII的效率要低得多。变换跳过(TS)模式是用于屏幕内容编解码的高效编解码方法。需要研究如何允许编解码器支持TS而无需明确信令通知块。
5.1.2.建议的方法
在一些实施例中,可以使用变换跳过模式(ISTS)的隐式选择。高级标志在图片标头中被信令通知以指示是否启用ISTS。
当启用ISTS时,允许的变换集设置为{DCT-II TS},并且TS模式的确定是根据块中非零系数的数量的奇偶性,这遵循与IST相同的设计原理。奇数指示应用了TS,而偶数指示应用了DCT-II。ISTS适用于尺寸从4×4到32×32的CU,用于帧内编解码或IBC编解码的CU(不包括应用DT或PCM的CU)。
当禁用ISTS并启用IST时,允许的变换集设置为{DCT-II DST-VII},这与当前的AVS3设计相同。
5.1.3.对语法表、语义和解码过程的建议更改
7.1.2.2序列标头
表14序列标头定义
7.1.3.1I图片的图片标头
表27帧内预测标头定义
7.1.3.2帧间预测标头定义
表28帧间预测标头定义
7.2.2.2序列标头
7.2.3.1帧内预测标头
9.6.3逆向变换
本文定义了将M1×M2变换系数矩阵CoeffMatrix转换为残差样点矩阵ResidueMatrix的过程。
如果帧内预测模式既不是'Intra_Luma_PCM'也不是'Intra_Chroma_PCM'
当前变换块为亮度帧内预测残差块,M1和M2的值均小于64且IstTuFlag的值等于1,则根据0定义的方法推导出残差样点矩阵ResidueMatrix;
否则,根据9.6.3.1定义的方法推导残差样点矩阵ResidueMatrix。
否则(帧内预测模式为'Intra_Luma_PCM'或'Intra_Chroma_PCM'),根据9.6.3.3定义的方法导出残差样点矩阵ResidueMatrix。
9.6.3.4隐式逆向变换跳过方法
5.2.实施例#2
5.2.1.对语法表、语义和解码过程的建议更改
7.1.2.2序列标头定义
表14序列标头定义
序列标头定义 描述符
ist_enable_flag u(1)
ists_enable_flag u(1)
ts_inter_enable_flag u(1)
7.1.3.2帧间预测标头定义
7.1.6编解码单元定义
7.1.7变换块定义
/>
7.2.2.2序列标头
7.2.3.2帧间预测图像标头
9.6.3逆向变换
如果帧内预测模式既不是'Intra_Luma_PCM'也不是'Intra_Chroma_PCM'或者当前块使用块复制帧内预测模式,则:
——若PhIstsEnableFlag为0且当前变换块为亮度帧内预测残差块,M1和M2的值均小于64且IstTuFlag的值等于1,则根据9.6.3.2定义的方法推导出残差样点矩阵ResidueMatrix;
——否则,如果PhIstsEnableFlag为1,且当前变换块是亮度帧内预测残差块或亮度块复制帧内预测残差块,/>/>,M1和M2的值均小于64且IstTuFlag的值等于1,则根据9.6.3.4定义的方法推导残差样点矩阵ResidueMatrix;
——否则,根据9.6.3.1定义的方法推导残差样点矩阵ResidueMatrix。
否则(帧内预测模式为'Intra_Luma_PCM'或'Intra_Chroma_PCM'),根据9.6.3.3定义的方法推导残差样点矩阵ResidueMatrix。
5.3.实施例#3
7.1.2.2序列标头定义
序列标头定义 描述符
ist_enable_flag u(1)
ists_enable_flag u(1)
ts_inter_enable_flag u(1)
pts_enable_flag u(1)
srcc_enable_flag u(1)
7.1.3.2帧间预测标头定义
7.1.6编解码单元定义
7.1.7变换块定义
7.2.2.2序列标头
/>
7.2.3.2帧间预测图片标头
9.6.3逆向变换
如果帧内预测模式既不是'Intra_Luma_PCM'也不是'Intra_Chroma_PCM'或者当前块使用块复制帧内预测模式,则:
——若PhIstsEnableFlag为0且当前变换块为亮度帧内预测残差块,M1和M2的值均小于64且IstTuFlag的值等于1,则根据9.6.3.2定义的方法推导出残差样点矩阵ResidueMatrix;
——否则,如果PhIstsEnableFlag为1,且当前变换块为亮度帧内预测残差块或亮度块复制帧内预测残差块 ,M1和M2的值都小于64且IstTuFlag的值等于1,则根据9.6.3.4定义的方法导出残差样点矩阵ResidueMatrix;
——否则,根据9.6.3.1定义的方法推导残差样点矩阵ResidueMatrix。
否则(帧内预测模式为'Intra_Luma_PCM'或'Intra_Chroma_PCM'),根据9.6.3.3定义的方法推导残差样点矩阵ResidueMatrix。
5.4.实施例#4
7.1.2.2序列标头定义
序列标头定义 描述符
ist_enable_flag u(1)
ists_enable_flag u(1)
ts_inter_enable_flag u(1)
pts_enable_flag u(1)
rts_enable_flag u(1)
srcc_enable_flag u(1)
7.1.3.2帧间预测标头定义
7.1.6编解码单元定义
7.1.7变换块定义
7.2.2.2序列标头
/>
7.2.3.2帧间预测标头定义
9.6.3逆向变换
如果帧内预测模式既不是'Intra_Luma_PCM'也不是'Intra_Chroma_PCM'或者当前块使用块复制帧内预测模式,则:
——若PhIstsEnableFlag为0且当前变换块为亮度帧内预测残差块,M1和M2的值均小于64且IstTuFlag的值等于1,则根据9.6.3.2定义的方法推导出残差样点矩阵ResidueMatrix;
——否则,如果PhIstsEnableFlag为1,且当前变换块为亮度帧内预测残差块或亮度块复制帧内预测残差块 ,M1和M2的值均小于64且IstTuFlag的值等于1,则根据9.6.3.4定义的方法推导残差样点矩阵ResidueMatrix;
——否则,根据9.6.3.1定义的方法推导残差样点矩阵ResidueMatrix。
否则(帧内预测模式为'Intra_Luma_PCM'或'Intra_Chroma_PCM'),根据9.6.3.3定义的方法推导残差样点矩阵ResidueMatrix。
9.6.3.4隐式选择性逆向变换跳过方法
隐式选择性逆向变换跳过方法如下:
a)计算移位移位,移位等于15–BitDepth–((logM1+logM2)>>1)
否则:
m=i,n=j
[[b)]]c)如果移位大于或等于0,则进位因子rnd_factor等于1<<(shift–1)。从变换系数矩阵中得到矩阵W:
wij=(CoeffMatrix[[ij)] mn +rnd_factor)>>移位
[[c)]]d)如果移位小于0,令移位=-移位。从变换矩阵中获取矩阵W:
wij=(CoeffMatrix[[ij)] mn +rnd_factor)<<移位
[[d)]]e)直接将矩阵W用作残差样点矩阵ResidueMatrix,并且结束隐式逆向变换跳过操作。
5.5.实施例#5
9.6.3.4隐式逆向变换跳过方法
隐式选择性逆向变换的跳过方法如下:
a)计算移位移位,移位等于15–BitDepth–((logM1+logM2)>>1)
b)计算位置索引m和n,计算过程如下:
如果当前变换块是普通亮度帧内预测残差块或者当前变换块SbtCuFlag的值大于0,且PhRtsEnableFlag为1,且m不等于(M1/2-1)且n不等于至(M2/2)或m不等于(M1/2)且n不等于(M2/2–1):
m=M1–i,N=M2–j
否则:
m=i,N=j
c)如果移位大于或等于0,则进位因子rnd_factor等于1<<(shift–1)。从变换系数矩阵中得到矩阵W:
wij=(CoeffMatrixijmn+rnd_factor)>>移位
d)如果移位小于0,令移位=-移位。从变换矩阵中获取矩阵W:
wij=(CoeffMatrixijmn+rnd_factor)<<转移
e)直接将矩阵W作为残差样点矩阵ResidueMatrix,并且结束隐式选择性逆向变换的跳过操作。
图17是可实现本文中所公开的各种技术的示例视频处理系统1700的框图。各种实现方式可以包括系统1700中的一些或全部组件。系统1700可以包括用于接收视频内容的输入1702。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1702可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统1700可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1704。编解码组件1704可以减少从输入1702到编解码组件1704的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1704的输出可以被存储或经由所连接的通信来发送,如组件1706所表示的。在输入1702处接收的视频的存储或通信的比特流(或编解码)表示可以由组件1708使用,以生成被发送到显示接口1710的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的设备。
图21是视频处理装置3600的框图。装置3600可以用于实现本文中所述的方法中的一个或多个。装置3600可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理电路3606。(多个)处理器3602可以配置为实现本文档中所述的一个或多个方法。(多个)存储器3604可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理电路3606可以用于在硬件电路中实现本文档中所描述的一些技术。
图18是示出可利用本公开的技术的示例视频编解码系统100的框图。
如图18所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,该目的地设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口116包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口116通过网络130a直接发送到目的地设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目的地设备120存取。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或可以在配置为与外置显示设备相接的目的地设备120外部。
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVM)标准和其他当前和/或其他标准)进行操作。
图19是示出视频编码器200的示例的框图,该视频编码器200可以是图18中示出的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或全部技术。在图19的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图19的示例中分开表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据而且提供到重建单元212来重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元204和运动补偿单元205可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以进行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元207可以不进行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以将逆量化和逆向变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
在重建单元212重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图20是示出视频解码器300的示例的框图,该视频解码器300可以是图18中示出的系统100中的视频解码器114。
视频解码器300可以被配置为进行本公开的任何或全部技术。在图20的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图20的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆向变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以进行与关于视频编码器200(图19)所描述的编码过程总体反演的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元304逆量化(例如,去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆向变换单元305应用逆向变换。
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
接下来提供了一些实施例优选的解决方案的列表。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1)。
1.一种视频处理方法(例如,图22中描绘的方法2200),包括:为视频的视频块和视频的编解码表示之间的转换,基于规则对水平或垂直恒等变换是否应用于视频块作出确定(2202);并且基于该确定执行(2204)转换,其中该规则规定了该确定与来自视频的一个或多个代表性块的解码系数的代表性系数之间的关系。
2.根据解决方案1所述的方法,其中一个或多个代表性块属于视频块所属的颜色分量。
3.根据解决方案1所述的方法,其中一个或多个代表性块属于与视频块的颜色分量不同的颜色分量。
4.根据解决方案1-3中任一项所述的方法,其中一个或多个代表性块对应于视频块。
5.根据解决方案1-3中任一项所述的方法,其中一个或多个代表性块不包括视频块。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1和2)。
6.根据解决方案1-5中任一项所述的方法,其中代表性系数包括具有非零值的解码系数。
7.根据解决方案1-6中任一项所述的方法,其中该关系规定基于通过修改代表性系数而确定的修改系数来使用代表性系数。
8.根据解决方案1-7中任一项所述的方法,其中代表性系数对应于解码系数的有效系数。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目3)。
9.一种视频处理方法,包括:为视频的视频块和视频的编解码表示之间的转换,基于规则对水平或垂直恒等变换是否应用于视频块作出确定;并且根据该确定执行转换,其中该规则规定该确定和视频的解码亮度系数之间的关系。
10.根据解决方案1所述的方法,其中执行转换包括应用视频块的水平或垂直恒等变换亮度分量以及将DCT2应用到视频块的色度分量。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1和4)。
11.一种视频处理方法,包括:为视频的视频块和视频的编解码表示之间的转换,基于规则对水平或垂直恒等变换是否应用于视频块作出确定;并且根据该确定执行转换,其中该规则规定确定和与解码系数或代表性块的代表性系数相关联的值V之间的关系。
12.根据解决方案11所述的方法,其中V等于多个代表性系数。
13.根据解决方案11所述的方法,其中V等于代表性系数的值之和。
14.根据解决方案11所述的方法,其中V是代表性系数的残差能量分布的函数。
15.根据解决方案11-14中任一项所述的方法,其中该关系是相对于值V的奇偶校验定义的。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目5)。
16.根据上述解决方案中任一项所述的方法,其中规则规定关系进一步取决于视频块的编解码信息。
17.根据解决方案16所述的方法,其中编解码信息是视频块的编解码模式。
18.根据解决方案16所述的方法,其中编解码信息包括覆盖视频块的所有有效系数的最小矩形区域。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目6)。
19.根据上述解决方案中任一项所述的方法,其中由于视频块具有模式或对系数的约束而执行确定。
20.根据解决方案19所述的方法,其中该类型对应于帧内块复制(IBC)模式。
21.根据解决方案19所述的方法,其中对系数的约束使得当前块的矩形内部之外的系数为零。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目7)。
22.根据解决方案1-21中任一项所述的方法,其中,在确定不使用水平和垂直恒等式变换的情况下,使用DCT-2或DST-7变换执行转换。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目9)。
23.根据解决方案1-22中任一项所述的方法,其中编解码表示中的一个或多个语法字段指示是否为视频块启用该方法。
24.根据解决方案23所述的方法,其中在序列级别或图片级别或条带级别或片组级别或片级别或子图片级别包括一个或多个语法字段。
25.根据解决方案23-24中任一项所述的方法,其中一个或多个语法字段被包括在条带标头或图片标头中。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1和8)。
26.一种视频处理方法,包括:确定一个或多个语法字段存在于视频的编解码表示中,其中视频包含一个或多个视频块;基于一个或多个语法字段,对是否为视频中的视频块启用了水平或垂直恒等变换作出确定。
27.根据解决方案1所述的方法,其中响应于一个或多个语法字段指示启用变换跳过模式的隐式确定,为视频的第一视频块和视频的编解码表示之间的转换,根据规则对是对视频块应用水平恒等变换还是垂直恒等变换做出确定;并且基于该确定执行转换,其中该规则规定该确定与来自视频的一个或多个代表性块的解码系数的代表性系数之间的关系。
28.根据解决方案27所述的方法,第一视频块以帧内块复制模式编解码。
29.根据解决方案27所述的方法,第一视频块以帧内模式编解码。
30.根据解决方案27所述的方法,第一视频块以帧内模式而非派生树(DT)模式编解码。
31.根据解决方案27所述的方法,确定是基于第一视频块中的非零系数的数量的奇偶性。
32.根据解决方案27所述的方法,当第一视频块中非零系数的数量的奇偶性为偶数时,对第一视频块应用水平和垂直恒等变换。
33.根据解决方案27所述的方法,当第一视频块中非零系数的数量的奇偶性是偶数时,水平和垂直恒等变换不应用于第一视频块。
34.根据解决方案33所述的方法,DCT-2应用于第一视频块。
35.根据解决方案32所述的方法,进一步包括响应于一个或多个语法字段指示变换跳过模式的隐式确定被禁用,水平和垂直恒等变换不应用于第一视频块。
36.根据解决方案32所述的方法,其中将DCT-2应用于第一视频块。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目9,10)。
37.一种视频处理方法,包括:作出关于是否为视频的视频块和视频的编解码表示之间的转换启用使用恒等变换的第一确定;作出关于转换过程期间是否启用置零操作的第二确定;并且根据第一确定与第二确定执行转换。
38.根据解决方案37所述的方法,其中编解码表示中的第一级别的一个或多个语法字段指示所述第一确定。
39.根据解决方案37-38中任一项所述的方法,其中编解码表示中的第二级别的一个或多个语法字段指示第二确定。
40.根据解决方案38-39中任一项所述的方法,其中第一级别和第二级别对应于序列或图片级别的标头字段或序列级别或图片级别的参数集或自适应参数集。
41.根据解决方案37-40中任一项所述的方法,其中转换使用恒等变换或置零操作,但不使用两者。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目12和13)。
42.一种视频处理方法,包括:执行视频的视频块和视频的编解码表示之间的转换;其中视频块在编解码表示中表示为编解码块,其中编解码块的非零系数被限制在一个或多个子区域内;以及其中应用恒等变换来生成编解码块。
43.根据解决方案1所述的方法,其中一个或多个子区域包括视频块的右上子区域,其维度为KxL,其中K和L是整数,并且K是min(T1,W)和L是min(T2,H),其中W和H分别是视频块的宽度和高度,并且T1和T2是阈值。
44.根据解决方案42-43中任一项所述的方法,其中编解码表示指示一个或多个子区域。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目16和17)。
45.根据解决方案1-44中任一项所述的方法,其中视频区域包括视频编解码单元。
46.根据解决方案1-45所述的方法,其中视频区域是预测单元或变换单元。
47.根据解决方案1-46中任一项所述的方法,其中视频块满足特定维度条件。
48.根据解决方案1-47中任一项所述的方法,其中使用预先规定的量化参数范围对视频块进行编解码。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目18-23)。
49.一种视频处理的方法,包括:执行包括一个或多个视频区域的视频与视频的编解码表示之间的转换,其中编解码表示符合格式规则;其中格式规则规定视频区域的系数在从编解码表示解析之后根据映射被重新排序。
50.根据解决方案49所述的方法,其中在去量化之前、在逆向变换之前或在重建之前对系数重新排序。
51.根据解决方案49-50中任一项所述的方法,其中格式规则规定视频区域对应于编解码单元或变换单元或预测单元。
52.根据解决方案49-51中任一项所述的方法,其中格式规则规定编解码表示的编解码信息确定如何在解析之后对系数重新排序。
53.根据解决方案49-52中任一项所述的方法,其中,格式规则规定映射由条带或图片中使用的变换类型或视频区域的片类型来确定。
54.根据解决方案49-52中任一项所述的方法,其中格式规则规定映射由编解码树单元中使用的变换类型、视频区域的编解码单元或块类型确定。
55.根据解决方案49-52中任一项所述的方法,其中格式规则规定映射由参数集中包括的语法字段或编解码表示中的标头字段确定。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目24-25)。
56.一种视频处理方法,包括:为视频的视频块和视频的编解码表示的转换,确定视频块是否满足在编解码表示中信令通知作为部分残差块的条件;并且根据确定执行转换;其中,部分残差块被分割为至少两部分,其中至少一部分没有在编解码表示中信令通知的非零残差。
57.根据解决方案56所述的方法,其中条件基于用于将视频块编解码成编解码表示的模式。
58.根据解决方案56-57所述的方法,其中根据格式规则在编解码表示中信令通知至少两个部分中的一个或多个。
59.根据解决方案1至58中任一项所述的方法,其中视频区域包括视频图片。
60.根据解决方案1至59中任一项所述的方法,其中转换包括将视频编码成编解码表示。
61.根据解决方案1至59中任一项所述的方法,其中转换包括解码编解码表示以生成视频的像素值。
62.一种视频解码装置,包括处理器,其被配置为实现解决方案1至61中的一个或多个所述的方法。
63.一种视频编码装置,包括处理器,其被配置为实现解决方案1至61中的一个或多个所述的方法。
64.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现解决方案1至61中的任一项所述的方法。
65.本文档中描述的方法、装置或系统。
图26是根据本技术的用于视频处理的方法2600的流程图表示。方法2600包括,在操作2610,执行视频的当前块和视频的比特流之间的转换。根据规则,响应于当前块的样点的位置,在当前块的样点用于当前块的重建之前,排列对应于比特流中的当前块的样点的系数。
在一些实施例中,规则规定,对于满足至少一个条件的样点子集,按相反的顺序重新排列当前块中的样点子集的系数。在一些实施例中,样点的位置表示为(i,j)并且样点的系数表示为C(i,j),其中i=0、1、...、M-1并且j=0、1、...、N-1。按相反的顺序的系数表示为C'(i,j)=C(M-1-I,N-1-j)。在一些实施例中,样点的位置表示为(i,j),其中i=0、1、...、M-1并且j=0、1、...、N-1。响应于样点满足条件(i,j)≠(M/2-1,N/2)和(i,j)≠(M/2,N/2-1),按相反的顺序重新排列样点(i,j)的系数。在一些实施例中,样点的位置表示为(i,j),其中i=0、1、...、M-1且j=0、1、...、N-1。响应于样点满足条件(i<M/2-S1||i>M/2+S2)&&(j<N/2-S3||j>N/2+S4),按相反的顺序重新排列样点(i,j)的系数,其中,S1、S2、S3和S4是整数。在一些实施例中,S1=S3=1且S2=S4=0。在一些实施例中,样点的位置表示为(i,j),其中i=0、1、...、M-1并且j=0、1、...、N-1。响应于样点满足条件((i,j)≠(M-1,0)and(i,j)≠(0,N-1),按相反的顺序重新排列样点(i,j)的系数。
在一些实施例中,规则还规定,对于不满足条件的样点,按照转换期间确定的原始顺序排列样点的系数。在一些实施例中,至少一个条件包括规定是否将变换跳过模式应用于当前块的条件。在一些实施例中,变换跳过模式应用于当前块是使用隐式选择来指示的。
在一些实施例中,转换包括将视频编码成比特流。在一些实施例中,转换包括解码比特流以生成视频。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用标头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,例如一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。

Claims (18)

1.一种处理视频数据的方法,包括:
执行视频的当前块和所述视频的比特流之间的转换,
其中,根据规则,响应于所述当前块的样点的位置,在所述当前块的样点用于所述当前块的重建之前,排列对应于所述比特流中的所述当前块的样点的系数。
2.根据权利要求1所述的方法,其中,所述规则规定,对于满足至少一个条件的样点子集,按相反的顺序重新排列所述当前块中的所述样点子集的系数。
3.根据权利要求2所述的方法,其中,所述样点的位置表示为(i,j)并且所述样点的系数表示为C(i,j),其中i=0、1、……、M-1并且j=0、1、……、N-1,并且其中按所述相反的顺序的系数表示为C'(i,j)=C(M-1-i,N-1-j)。
4.根据权利要求2或3所述的方法,其中,所述样点的位置表示为(i,j),其中i=0、1、……、M-1并且j=0、1、……、N-1,并且其中响应于所述样点满足条件(i,j)≠(M/2-1,N/2)和(i,j)≠(M/2,N/2-1),按所述相反的顺序重新排列所述样点(i,j)的系数。
5.根据权利要求2或3所述的方法,其中,所述样点的位置表示为(i,j),其中i=0、1、……、M-1且j=0、1、……、N-1,并且其中响应于所述样点满足条件(i<M/2-S1||i>M/2+S2)&&(j<N/2-S3||j>N/2+S4),按所述相反的顺序重新排列所述样点(i,j)的系数,其中,S1、S2、S3和S4是整数。
6.根据权利要求5所述的方法,其中,S1=S3=1且S2=S4=0。
7.根据权利要求2或3所述的方法,其中,所述样点的位置表示为(i,j),其中i=0、1、……、M-1并且j=0、1、……、N-1,并且其中响应于样点满足条件((i,j)≠(M-1,0)and(i,j)≠(0,N-1),按所述相反的顺序重新排列所述样点(i,j)的系数。
8.根据权利要求2至7中任一项所述的方法,其中,所述规则还规定,对于不满足所述条件的样点,按照所述转换期间确定的原始顺序排列所述样点的系数。
9.根据权利要求2至8中任一项所述的方法,其中,所述至少一个条件包括规定是否将变换跳过模式应用于所述当前块的条件。
10.根据权利要求9所述的方法,其中,所述变换跳过模式应用于所述当前块是使用隐式选择来指示的。
11.根据权利要求1至10中任一项所述的方法,其中,所述转换包括将所述视频编码成所述比特流。
12.根据权利要求1至10中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
13.一种用于存储视频的比特流的方法,包括:
从视频的当前块生成所述视频的比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,使用根据规则响应于所述当前块的样点的位置排列的系数在所述比特流中表示所述当前块的样点。
14.一种视频编码装置,包括配置为实现权利要求1至13中任一项所述的方法的处理器。
15.一种视频解码装置,包括配置为实现权利要求1至13中任一项所述的方法的处理器。
16.一种其上存储有计算机代码的计算机程序产品,所述计算机代码在由处理器执行时使所述处理器实现权利要求1至13中任一项所述的方法。
17.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中,所述方法包括:
从视频的当前块生成所述视频的比特流,
其中,根据规则,响应于所述当前块的样点的位置,在所述当前块的样点用于所述当前块的重建之前,排列对应于所述比特流中表示的所述当前块的样点的系数。
18.本文档中描述的方法、装置或系统。
CN202180079067.7A 2020-11-24 2021-11-24 编解码视频中的位置相关系数重新排序 Pending CN116601953A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020131205 2020-11-24
CNPCT/CN2020/131205 2020-11-24
PCT/CN2021/132697 WO2022111507A1 (en) 2020-11-24 2021-11-24 Position dependent coefficient reordering in coded video

Publications (1)

Publication Number Publication Date
CN116601953A true CN116601953A (zh) 2023-08-15

Family

ID=81755302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180079067.7A Pending CN116601953A (zh) 2020-11-24 2021-11-24 编解码视频中的位置相关系数重新排序

Country Status (3)

Country Link
US (1) US20230300334A1 (zh)
CN (1) CN116601953A (zh)
WO (1) WO2022111507A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
WO2018012830A1 (ko) * 2016-07-13 2018-01-18 한국전자통신연구원 영상 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
WO2022111507A1 (en) 2022-06-02
US20230300334A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
KR102630415B1 (ko) 코딩 된 비디오의 양자화된 잔차 차동 펄스 코드 변조 표현의 제약
CN113826383B (zh) 变换跳过模式的块维度设置
CN113785576B (zh) 编解码视频中的二次变换的使用
WO2020253861A1 (en) Adaptive in-loop color-space transform for video coding
US11671591B2 (en) Quantization properties of adaptive in-loop color-space transform for video coding
CN113853791B (zh) 数字视频中的变换旁路编解码残差块
CN114270838B (zh) 变换跳过模式的信令通知
CN115066899A (zh) 编解码视频的可分二次变换处理
CN113826405B (zh) 多个颜色分量的变换量化旁路模式的使用
WO2020233664A1 (en) Sub-block based use of transform skip mode
US20230199185A1 (en) Coefficient reordering in video coding
US20230017146A1 (en) Implicit multiple transform set signaling in video coding
WO2020253874A1 (en) Restriction on number of context coded bins
WO2022111507A1 (en) Position dependent coefficient reordering in coded video
WO2021190594A1 (en) Implicit determination of transform skip mode
JP7442673B2 (ja) ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化
CN113728631B (zh) 帧内子块分割和多变换选择

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination