CN113853791B - 数字视频中的变换旁路编解码残差块 - Google Patents

数字视频中的变换旁路编解码残差块 Download PDF

Info

Publication number
CN113853791B
CN113853791B CN202080037001.7A CN202080037001A CN113853791B CN 113853791 B CN113853791 B CN 113853791B CN 202080037001 A CN202080037001 A CN 202080037001A CN 113853791 B CN113853791 B CN 113853791B
Authority
CN
China
Prior art keywords
block
transform
video
residual block
syntax element
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.)
Active
Application number
CN202080037001.7A
Other languages
English (en)
Other versions
CN113853791A (zh
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.)
ByteDance Inc
Original Assignee
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 ByteDance Inc filed Critical ByteDance Inc
Priority to CN202311358194.8A priority Critical patent/CN117221544A/zh
Publication of CN113853791A publication Critical patent/CN113853791A/zh
Application granted granted Critical
Publication of CN113853791B publication Critical patent/CN113853791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

描述了用于视频编解码中大块的变换设计的设备、系统和方法。一种用于视频处理的示例性方法包括:确定视频的残差块的大小大于变换跳过模式所允许的最大块大小,在该变换跳过模式下,在解码操作期间,在不执行逆变换操作的情况下解码残差系数;基于残差块的大小,将残差块划分为多个区域,其中每个区域表示当前视频块的一部分和与当前视频块的该一部分相对应的预测块之间的差的残差块的一部分;以及基于根据指示变换跳过模式的指示符选择性地执行逆变换操作,从该残差块确定重构的当前视频块。

Description

数字视频中的变换旁路编解码残差块
相关申请的交叉引用
根据适用的专利法和/或巴黎公约的规则,本申请旨在及时要求2019年5月19日提交的国际专利申请No.PCT/CN2019/087509的优先权。出于该法律的所有目的,前述申请的全部公开内容通过引用而并入,作为本专利公开内容的一部分。
技术领域
本文档涉及视频以及图像编解码技术。
背景技术
数字视频占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连网用户设备数量的增加,预计对数字视频使用的带宽需求将继续增长。
发明内容
描述了与数字视频编解码相关的设备、系统和方法,并且具体地,描述了视频编解码中大块的变换设计。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(High Efficiency Video Coding,HEVC))和未来的视频编解码标准(例如,多功能视频编解码(Versatile Video Coding,VVC))或编解码器。
在一个示例方面,公开了一种视频处理的方法。该方法包括:为大小小于或等于最大块大小的视频的当前视频块,确定编解码模式的使用适用于当前视频块;以及基于该确定,执行当前视频块和当前视频块的比特流表示之间的转换,其中,在编码操作期间执行该转换包括使用在其中在不执行正向变换操作的情况下对当前视频块进行编解码的编解码模式,或者其中,在解码操作期间执行该转换包括使用在其中在不执行逆变换操作的情况下从比特流表示生成当前视频块的编解码模式。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:确定视频的当前视频块的宽度和/或高度大于32;以及基于该确定,执行当前视频块和当前视频块的比特流表示之间的转换,其中,在编码操作期间执行该转换包括在不执行正向变换操作的情况下对当前视频块进行编解码,或者其中,在解码操作期间执行转换包括在不执行逆变换操作的情况下从比特流表示生成当前视频块。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:执行视频的当前视频块和视频的比特流表示之间的转换,其中,当前视频块被划分为多个区域,并且其中,多个区域中的第一区域使用在其中在不应用正向变换的情况下第一区域被编码在编解码表示中或者在不应用逆变换的情况下从编解码表示中重构第一区域的编解码模式。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:做出对于视频的当前视频块和视频的比特流表示之间的转换,在转换期间禁用变换操作的确定;以及由于该确定,使用重采样操作来执行该转换,该重采样操作包括:将当前视频块的残差块的下采样版本编码到比特流表示中,或者通过对残差块的下采样版本进行上采样从比特流表示重构当前视频块。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:执行视频的当前视频块和视频的比特流表示之间的转换;其中该转换使用在其中当前视频块被划分为多个水平或垂直分割的子块变换模式;并且其中,在编码操作期间,正向变换被应用于当前视频块的分割区中的一些分割区的残差值,以用于编码到比特流表示中,其中,正向变换包括垂直变换和水平变换,其中至少一个是恒等变换,或者其中,在解码操作期间,逆变换被应用于从比特流表示解码的当前视频块的残差值,以生成当前视频块,其中,逆变换包括逆垂直变换和逆水平变换,其中至少一个是恒等变换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:为大小为K*L像素的视频的当前视频块,通过从当前视频块中减去预测块,确定大小为K*L的残差块,其中K和L是整数;将残差块划分为多个区域;以及通过以扫描顺序扫描每个区域中的残差系数,将每个区域作为变换单元编码到视频的比特流表示中,其中,多个区域中的区域根据变换跳过(transform skip,TS)模式被编码,在该TS模式下,在编码操作期间,在不执行正向变换操作的情况下对当前视频块进行编解码。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:基于残差块的大小,确定大小为K*L像素的视频的残差块作为多个区域被编码在视频的比特流表示中,其中K和L是整数,其中,每个区域表示当前视频块的一部分和与当前视频块的该一部分相对应的预测块之间的差的残差块的一部分;通过以反向扫描顺序将残差系数放置在每个区域中,从视频的比特流表示确定每个区域的残差系数作为变换单元,其中,每个区域的残差系数是基于根据编解码模式指示符的逆变换操作的选择性使用来确定的;基于残差系数来生成残差块;以及从残差块和预测块确定重构的当前视频块。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:确定视频的残差块的大小大于变换跳过模式所允许的最大块大小,在该变换跳过模式下,在解码操作期间,在不执行逆变换操作的情况下对残差系数进行解码;基于残差块的大小,将残差块划分成多个区域,其中,每个区域表示当前视频块的一部分和与当前视频块的该一部分相对应的预测块之间的差的残差块的一部分;以及基于根据指示变换跳过模式的指示符选择性地执行逆变换操作,从残差块确定重构的当前视频块。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:为高度大于32且宽度大于32的当前视频块,做出关于对当前视频块选择性应用基于变换的编解码模式的决定;以及基于该决定来执行当前视频块和当前视频块的比特流表示之间的转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:确定当前视频块是变换旁路(TransBypass)编解码的残差块;基于该确定,将当前视频块划分成多个区域;以及在将多个区域中的每一个视为变换单元时,执行当前视频块和当前视频块的比特流表示之间的转换。
在又一个示例方面,公开了一种视频处理的方法。该方法包括:将当前视频块划分成两个或更多个区域,其中在不应用变换的情况下对两个或更多个区域中的第一区域进行编解码;以及基于该划分,执行当前视频块和当前视频块的比特流表示之间的转换。
在又一个示例方面,公开了一种视频处理的方法。该方法包括:确定当前视频块是变换旁路(TransBypass)编解码的残差块;以及基于该确定并且在当前视频块和当前视频块的比特流表示之间的转换期间,在对当前视频块应用编解码模式之前,对当前视频块执行下采样处理。
在又一个示例方面,公开了一种视频处理的方法。该方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,对当前视频块执行子块变换(sub-blocktransform,SBT),包括将恒等变换应用于至少一个维度。
在又一示例方面,上述方法可以由包括处理器的视频编码器装置来实施。
在又一示例方面,这些方法可以以处理器可执行指令的形式来实现,并存储在计算机可读程序介质上。
本文档中还描述了这些和其他方面。
附图说明
图1示出了帧内块复制的示例。
图2示出了五个空域临近候选的示例。
图3示出了以调色板模式(palette mode)编解码的块的示例。
图4示出了使用调色板预测值(predictor)来用信令通知调色板条目的示例。
图5示出了水平和垂直遍历扫描的示例。
图6示出了调色板索引的编解码的示例。
图7示出了JEM中二次变换的示例。
图8示出了缩减的二次变换(reduced secondary transform,RST)的示例。
图9示出了正向和逆缩减变换的示例。
图10示出了一个具有16×48矩阵的正向8×8RST过程的示例。
图11示出了在非零元素的8×8块中扫描位置17至64的示例。
图12示出了子块变换模式SBT-V和SBT-H的示例
图13示出了4×4编解码组的对角线右上方扫描顺序的示例。
图14示出了非均匀下采样的示例。
图15A-图15E是视频处理方法的示例流程图。
图16是用于实施本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
图17是示出可以利用本公开的技术的示例视频编解码系统的框图。
图18是示出视频编码器的示例的框图。
图19是示出视频解码器的示例的框图。
图20是示出其中可以实施本文公开的各种技术的示例视频处理系统的框图。
图21-图28是视频处理方法的示例流程图。
具体实施方式
本文档提供了图像或视频比特流的解码器可以使用的各种技术,以改进解压缩或解码的数字视频或图像的质量。为简洁起见,本文使用的术语“视频”包括图片序列(传统上称为视频)和单个图像。此外,视频编码器还可以在编码过程中实施这些技术,以便重构用于进一步编码的解码帧。
为了便于理解,在本文档中使用了章节标题,但是不将实施例和技术限制到相应的章节。这样,来自一个章节的实施例可以与来自其他章节的实施例相结合。
1.概述
本文档通常涉及视频编解码技术。具体地,它涉及视频编解码中大块的变换设计。它可以应用于现有的视频编解码标准(如HEVC)、或即将要定案的标准(例如,多功能视频编码(VCC))。它也可以应用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要是通过熟知的ITU-T和ISO/IEC标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4可视化,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准[1,2]。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,以致力于VVC标准,目标是与HEVC相比比特率降低50%。
VVC草案的最新版本,即通用视频编解码(Versatile Video Coding)(草案4),可在以下网址找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755
VVC最新的参考软件名为VTM,可在以下网址找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-4.0
2.1帧内块复制
在HEVC屏幕内容编码扩展(HEVC-SCC)[1]和当前VVC测试模型(VTM-4.0)中采用了帧内块复制(intra block copy,IBC),也称为当前图片参考。IBC将运动补偿的概念从帧间编解码扩展到帧内编解码。如图1所示,当应用IBC时,当前块由同一图片中的参考块预测。在当前块被编解码或解码之前,参考块中的样点必须已经被重构。尽管IBC对于大多数相机拍摄的序列来说效率不高,但它显示了屏幕内容的显著编解码增益。原因是屏幕内容图片中有许多重复图案,诸如图标和文本字符。IBC可以有效地消除这些重复图案之间的冗余。在HEVC-SCC中,如果帧间编解码单元(coding unit,CU)选择当前图像作为其参考图片,则它可以应用IBC。在这种情况下,MV被重命名为块矢量(block vector,BV),并且BV始终具有整数像素精度。为了与主配置文件(profile)HEVC兼容,当前图像在解码图像缓冲器(Decoded Picture Buffer,DPB)中被标记为“长期”参考图片。应当注意,类似地,在多视图/3D视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。
在BV之后找到其参考块,可以通过复制参考块来生成预测。残差可以通过从原始信号中减去参考像素来获得。然后,可以像在其他编解码模式中一样应用变换和量化。
然而,当参考块在图片之外,或与当前块重叠,或在重构区域之外,或在受某些约束限制的有效区域之外时,部分或全部像素值未被定义。基本上,有两种方法可以解决这个问题。一种是不允许这种情况,例如,在比特流一致性中。另一种是为那些未定义的像素值应用填充(padding)。以下子章节详细描述了解决方案。
2.2 HEVC屏幕内容编解码扩展中的IBC
在HEVC的屏幕内容编解码扩展中,当块使用当前图片作为参考时,它应该保证整个参考块在可用的重构区域内,如以下规范文本所指示的:
变量offsetX和offsetY如下推导:
offsetX=(ChromaArrayType==0)?0:(mvCLX[0]&0x7?2:0) (0-1)
offsetY=(ChromaArrayType==0)?0:(mvCLX[1]&0x7?2:0) (0-2)
比特流一致性的一个要求是,当参考图片是当前图片时,亮度运动矢量mvLX应遵守以下约束:
–当条款6.4.1中规定的z扫描顺序块可用性的推导过程以设置为等于(xCb,yCb)的(xCurr,yCurr)和设置为等于(xPb+(mvLX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offsetY)的邻近亮度位置(xNbY,yNbY)作为输入而被调用时,其中,输出应当等于TRUE(真)。
–当条款6.4.1中规定的z扫描顺序块可用性的推导过程以设置为等于(xCb,yCb)的(xCurr,yCurr)和设置为等于(xPb+(mvLX[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)+nPbH-1+offsetY)的邻近亮度位置(xNbY,yNbY)作为输入而被调用时,输出应当等于TRUE。
–一个或两个以下条件应当为真:
–(mvLX[0]>>2)+nPbW+xB1+offsetX的值小于或等于0。
–(mvLX[1]>>2)+nPbH+yB1+offsetY的值小于或等于0。
–以下条件应当为真:
(xPb+(mvLX[0]>>2)+nPbSw-1+offsetX)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1+offsetY)/CtbSizeY (0-3)
因此,参考块与当前块重叠或者参考块在图片之外的情况将不会发生。不需要填充参考或预测块。
2.3 VVC测试模型中的IBC
在当前的VVC测试模型中,即VTM-4.0设计中,整个参考块应该与当前的编解码树单元(coding tree unit,CTU)一致,并且不与当前块重叠。因此,不需要填充参考或预测块。IBC标志被编解码为当前CU的预测模式。因此,对于每个CU,总共有三种预测模式,MODE_INTRA、MODE_INTER和MODE_IBC。
2.3.1 IBC Merge模式
在IBC Merge模式中,从比特流中解析指向IBC Merge候选列表中的条目的索引。IBC Merge列表的构造可以根据以下步骤序列进行总结:
步骤1:推导空域候选
步骤2:插入HMVP候选
步骤3:插入成对平均候选
在空域Merge候选的推导中,在位于位置A1、B1、B0、A0和B2中的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带(slice)或片(tile))或者不用IBC模式被编解码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而改进编解码效率。
在插入空域候选之后,如果IBC Merge列表大小仍然小于最大IBC Merge列表大小,则可以插入来自HMVP表的IBC候选。当插入HMVP候选时,执行冗余检查。
最后,成对平均候选被插入到IBC Merge列表中。
当由Merge候选对象标识的参考块在图片之外,或者与当前块重叠,或者在重建区域之外,或者在受某些约束限制的有效区域之外时,该Merge候选对象被称为无效Merge候选对象。
请注意,无效的Merge候选可能会被插入到IBC Merge列表中。
VVC采用JVET-N0843。在JVET-N0843中。IBC中的Merge模式和AMVP模式的BV预测值将共享共同的预测值列表,该列表由以下元素构成:
ο2个空域临近位置(如图2中的A1、B1)
ο5个HMVP条目
ο默认为零矢量
对于Merge模式,将使用该列表的最多前6个条目;对于AMVP模式,将使用该列表的前2个条目。并且该列表符合共享Merge列表区域要求(在SMR内共享相同的列表)。
除了上面提到的BV预测候选列表,JVET-N0843还提出简化HMVP候选和现有Merge候选(A1,B1)之间的修剪(pruning)操作。在简化过程中,将会有最多2个修剪操作,因为它只比较第一个候选HMVP和(多个)空域Merge候选。
在最新的VVC和VTM5中,建议在先前的VTM和VVC版本的当前比特流约束的基础上,明确使用语法约束来禁用128x128 IBC模式,这使得IBC标志的存在依赖于CU大小<128x128。
2.3.2 IBC AMVP模式
在IBC AMVP模式下,从比特流中解析指向IBC AMVP列表中的条目的AMVP索引。IBCAMVP列表的构造可以根据以下步骤序列进行总结:
步骤1:推导空域候选
ο检查A0、A1,直到找到可用的候选。
ο检查B0、B1、B2,直到找到可用的候选。
步骤2:插入HMVP候选
步骤3:插入零候选
在插入空域候选之后,如果IBC AMVP列表大小仍然小于IBC AMVP列表的最大大小,则可以插入来自HMVP表的IBC候选。
最后,零候选被插入IBC AMVP列表。
2.3.3色度IBC模式
在当前VVC中,色度IBC模式中的运动补偿是在子块级执行的。色度块将被分割成几个子块。每个子块确定对应的亮度块是否具有块矢量,以及如果它存在则确定有效性。当前VTM中存在编码器约束,其中如果当前色度CU中的所有子块具有有效的亮度块矢量,则将测试色度IBC模式。例如,在YUV 420视频中,色度块是NxM,然后并置亮度区域是2Nx2M。色度块的子块大小是2x2。执行色度mv推导和块复制过程有几个步骤。
1)色度块将首先被分割成(N>>1)*(M>>1)个子块。
2)左上采样坐标为(x,y)的每个子块提取覆盖相同左上采样坐标为(2x,2y)的对应亮度块。
3)编码器检查提取的亮度块的块矢量(block vector,bv)。如果满足下列条件之一,bv将被视为无效。
a.相应亮度块的bv不存在。
b.由bv标识的预测块还没有被重建。
c.由bv标识的预测块与当前块部分或完全重叠。
4)子块的色度运动矢量被设置为对应亮度子块的运动矢量。
当所有子块都找到有效bv时,在编码器处允许IBC模式。
下面列出了IBC块的解码过程。与IBC模式下色度mv推导相关的部分突出显示为 下划线的斜体文本
8.6.1在IBC预测中编码的编解码单元的一般解码过程
这个过程的输入是:
–指定当前编解码块的左上样点相对于当前图片的左上亮度样点的亮度位置(xCb,yCb),
–指定以亮度样点的当前编解码块的宽度的变量cbWidth,
–指定以亮度样点的当前编解码块的高度的变量cbHeight,
–指定是使用单树还是双树的变量treeType,如果使用双树,则其指定当前树是否对应于亮度或色度分量。
这个过程的输出是在环路滤波之前修改的重构的图片。
条款8.7.1中指定的量化参数的推导过程以亮度位置(xCb,yCb)、以亮度样点的当前编解码块的宽度cbWidth和以亮度样点的当前编解码块的高度cbHeight以及变量treeType作为输入而调用。
以ibc预测模式编解码的编解码单元的解码过程包括以下有序步骤:
1.当前编解码单元的运动矢量分量推导如下:
1.如果treeType等于SINGLE_TREE或DUAL_TREE_LUMA,则以下情况适用:
–条款8.6.2.1中指定的运动矢量分量的推导过程以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,并且亮度运动矢量mvL[0][0]作为输出而被调用。
–当treeType等于SINGLE_TREE时,条款8.6.2.9中色度运动矢量的推导过程以亮度运动矢量mvL[0][0]作为输入,并且色度运动矢量mvC[0][0]作为输出而被调用。
–水平方向上的亮度编解码子块的数量numSbX和垂直方向上的亮度编解码子块的数量numSbY都设置为1。
1.否则,如果treeType等于DUAL_TREE_CHROMA,则以下情况适用:
–水平方向的亮度编解码子块的数量和垂直方向的亮度编解码子块的数量推导如下:
numSbX=(cbWidth>>2) (8-886)
numSbY=(cbHeight>>2) (8-887)
对于xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1,色度运动矢量mvC[xSbIdx] [ySbIdx]推导如下:
亮度运动矢量mvL[xSbIdx][ySbIdx]推导如下:
并置亮度编解码单元的位置(xCuY,yCuY)推导如下:
xCuY=xCb+xSbIdx*4 (8-888)
yCuY=yCb+ySbIdx*4 (8-889)
如果CuPredMode[xCuY][yCuY]等于MODE_INTRA,则以下等式适用。
mvL[xSbIdx][ySbIdx][0]=0 (8-890)
mvL[xSbIdx][ySbIdx][1]=0 (8-891)
predFlagL0[xSbIdx][ySbIdx]=0 (8-892)
predFlagL1[xSbIdx][ySbIdx]=0 (8-893)
否则(CuPredMode[xCuY][yCuY]等于MODE_IBC),以下等式适用:
mvL[xSbIdx][ySbIdx][0]=MvL0[xCuY][yCuY][0](8-894)
mvL[xSbIdx][ySbIdx][1]=MvL0[xCuY][yCuY][1](8-895)
predFlagL0[xSbIdx][ySbIdx]=1(8-896)
predFlagL1[xSbIdx][ySbIdx]=0(8-897)
–条款8.6.2.9中色度运动矢量的推导过程以mvL[xSbIdx][ySbIdx]作为输入,并且mvC[xSbIdx][ySbIdx]作为输出而被调用。
–比特流一致性的要求是色度运动矢量mvC[xSbIdx][ySbIdx]应遵守以下约束:
–当条款6.4.X[Ed.(BB):Neighbouring blocks availability checkingprocess tbd]中规定的块可用性的推导过程以设置为等于(xCb/SubWidthC,yCb/SubHeightC)的当前色度位置(xCurr,yCurr)和临近色度位置(xCb/SubWidthC+(mvC[xSbIdx][ySbIdx][0]>>5),yCb/SubHeightC+(mvC[xSbIdx][ySbIdx][1]>>5))作为输入而被调用时,输出应等于TRUE。
–当条款6.4.X[Ed.(BB):Neighbouring blocks availability checkingprocess tbd]中规定的块可用性的推导过程以设置为等于(xCb/SubWidthC,yCb/SubHeightC)的当前色度位置(xCurr,yCurr)和临近色度位置(xCb/SubWidthC+(mvC[xSbIdx][ySbIdx][0]>>5)+cbWidth/SubWidthC-1,yCb/SubHeightC+(mvC[xSbIdx][ySbIdx][1]>>5)+cbHeight/SubHeightC-1)作为输入而被调用时,输出应等于TRUE。
–下列条件中的一个或两个应为真:
–(mvC[xSbIdx][ySbIdx][0]>>5)+xSbIdx*2+2小于或等于0。
(mvC[xSbIdx][ySbIdx][1]>>5)+ySbIdx*2+2小于或等于0。
2.当前编解码单元的预测样点推导如下:
–如果treeType等于SINGLE_TREE或DUAL_TREE_LUMA,则当前编解码单元的预测样点推导如下:
·条款8.6.3.1中规定的ibc块的解码过程以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、水平方向的亮度编解码子块的数量numSbX和垂直方向的亮度编解码子块的数量numSbY、亮度运动矢量mvL[xSbIdx][ySbIdx](其中xSbIdx=0..numSbX-1,并且ySbIdx=0..numSbY-1)、设置为等于0的变量cIdx作为输入,并且作为预测亮度样点的(cbWidth)x(cbHeight)数组predSamplesL的ibc预测样点(predSamples)作为输出而被调用。
–否则,如果treeType等于SINGLE_TREE或DUAL_TREE_CHROMA,则当前编解码单元的预测样点推导如下:
·条款8.6.3.1中规定的ibc块的解码过程以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、水平方向上的亮度编解码子块的数量numSbX和垂直方向上的亮度编解码子块的数量numSbY、色度运动矢量mvC[xSbIdx][ySbIdx](其中xSbIdx=0..numSbX-1,并且ySbIdx=0..numSbY-1)、以及设置为等于1的变量cIdx作为输入,并且作为色度分量Cb的预测色度样点的(cbWidth/2)x(cbHeight/2)数组predSamplesCb的ibc预测样点(predSamples)作为输出而被调用。
·条款8.6.3.1中规定的ibc块的解码过程以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight、水平方向上的亮度编解码子块的数量numSbX和垂直方向上的亮度编解码子块的数量numSbY、色度运动矢量mvC[xSbIdx][ySbIdx](其中xSbIdx=0..numSbX-1,并且ySbIdx=0..numSbY-1)、以及设置为等于2的变量cIdx作为输入,并且作为色度分量Cr的预测色度样点的(cbWidth/2)x(cbHeight/2)数组predSamplesCr的ibc预测样点(predSamples)作为输出而被调用。
3.变量NumSbX[xCb][yCb]和NumSbY[xCb][yCb]分别设置为等于NumSbX和NumSbY。
4.当前编解码单元的残差样点推导如下:
–当treeType等于SINGLE_TREE或treeType等于DUAL_TREE_LUMA时,条款8.5.8中规定的以帧间预测模式编解码的编解码块的残差信号的解码过程以设置为等于亮度位置(xCb,yCb)的位置(xTb0,yTb0)、设置为等于亮度编解码块宽度cbWidth的宽度nTbW、设置为等于亮度编解码块高度cbHeight的高度nTbH、等于0的变量cIdxset作为输入,并且数组resSamplesL作为输出而被调用。
–当treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,条款8.5.8中规定的以帧间预测模式编解码的编解码块的残差信号的解码过程以设置为等于色度位置(xCb/2,yCb/2)的位置(xTb0,yTb0)、设置为等于色度编解码块宽度cbWidth/2的宽度nTbW、设置为等于色度编解码块高度cbHeight/2的高度nTbH、设置为1的变量cIdxset作为输入,并且数组resSamplesCbresSamplesCb作为输出而被调用。
–当treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,条款8.5.8中规定的以帧间预测模式编解码的编解码块的残差信号的解码过程以设置为等于色度位置(xCb/2,yCb/2)的位置(xTb0,yTb0)、设置为等于色度编解码块宽度cbWidth/2的宽度nTbW、设置为等于色度编解码块高度cbHeight/2的高度nTbH、设置为2的变量cIdxset作为输入,并且数组resSamplesCr作为输出而被调用。
5.当前编解码单元的重构样点推导如下:
–当treeType等于SINGLE_TREE或treeType等于DUAL_TREE_LUMA时,条款8.7.5中规定的颜色分量的图片重构过程以设置为等于(xCb,yCb)的块位置(xB,yB)、设置为等于cbWidth的块宽度bWidth、设置为等于cbHeight的块高度bHeight、设置为等于0的变量cIdx、设置为等于resSamplesL的(cbWidth)x(cbHeight)数组resSamples作为输入而被调用,并且输出为环路滤波之前的修改的重构图片。
–当treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,条款8.7.5中规定的颜色分量的图片重构过程以设置为等于(xCb/2,yCb/2)的块位置(xB,yB)、设置为等于cbWidth/2的块宽度bWidth、设置为等于cbHeight/2的块高度bHeight、设置为等于1的变量cIdx、设置为等于predSamplesCb的(cbWidth/2)x(cbHeight/2)数组predSamples、以及设置为等于resSamplesCb的(cbWidth/2)x(cbHeight/2)数组resSamples作为输入而被调用,并且输出是环路滤波之前的修改的重构图片。
–当treeType等于SINGLE_TREE或treeType等于DUAL_TREE_CHROMA时,条款8.7.5中规定的颜色分量的图片重构过程以设置为等于(xCb/2,yCb/2)的块位置(xB,yB)、设置为等于cbWidth/2的块宽度bWidth、设置为等于cbHeight/2的块高度bHeight、设置为等于2的变量cIdx、设置为等于predSamplesCr的(cbWidth/2)x(cbHeight/2)数组predSamples、以及设置为等于resSamplesCr的(cbWidth/2)x(cbHeight/2)数组resSamples作为输入而被调用,并且输出是环路滤波之前修改的重构图片。
2.4自适应运动矢量分辨率(adaptive motion vector resolution,AMVR)
在HEVC中,当在条带头中的use_integer_mv_flag等于0时,以四分之一(quarter)亮度样点为单位用信令通知(CU的运动矢量和预测运动矢量之间的)运动矢量差(MotionVector Difference,MVD)。在VVC中,引入了CU级别自适应运动矢量分辨率(AMVR)。AMVR允许以不同的精度对CU的MVD进行编解码。根据当前控制CU的模式(正常AMVP模式或仿射AVMP模式),当前CU的MVD可以自适应选择如下:
-正常AMVP模式:四分之一亮度样点、整数亮度样点或四亮度样点。
-仿射AMVP模式:四分之一亮度样点、整数亮度样点或1/16亮度样点。
如果当前CU具有至少一个非零MVD分量,则有条件地用信令通知CU级别MVD分辨率指示。如果所有MVD分量(即,参考列表L0和参考列表L1的水平MVD和垂直MVD两者)为零,则推断四分之一亮度样点MVD分辨率。
对于具有至少一个非零MVD分量的CU,用信令通知第一标志以指示是否四分之一亮度样点MVD精度用于CU。如果第一标志为0,则不需要进一步的信令,并且四分之一亮度样点MVD精度用于当前CU。否则,用信令通知第二标志以指示整数亮度样点还是四亮度样点MVD精度用于正常AMVP CU。相同的第二标志用于指示是整数亮度样点还是1/16亮度样点MVD精度用于仿射AMVP CU。为了确保重构的MV具有预期的精度(四分之一亮度样点、整数亮度样点或四亮度样点),CU的运动矢量预测值在与MVD相加之前将被舍入(rounded)到与MVD相同的精度。运动矢量预测值被向零舍入(即,负运动矢量预测值被向正无穷大舍入,并且正运动矢量预测值被向负无穷大舍入)。
编码器使用RD检查确定当前CU的运动矢量分辨率。为了避免对于每个MVD分辨率总是执行CU级别RD检查三次,在VTM4中,除了四分之一亮度样点之外,MVD精度的RD检查只是有条件地调用。对于正常的AVMP模式,首先计算四分之一亮度样点MVD精度和整数亮度样点MV精度的RD代价。然后,将整数亮度样点MVD精度的RD代价与四分之一亮度样点MVD精度的RD代价进行比较,以决定是否有必要进一步检查四亮度样点MVD精度的RD代价。当四分之一亮度样点MVD精度的RD代价远小于整数亮度样点MVD精度的RD代价时,将跳过四亮度样点MVD精度的RD检查。对于仿射AMVP模式,如果在检查仿射Merge/跳过模式、Merge/跳过模式、四分之一亮度样点MVD精度正常AMVP模式和四分之一亮度样点MVD精度仿射AMVP模式的率失真代价之后未选择仿射帧间模式,则不检查1/16亮度样点MV精度和1像素MV精度仿射帧间模式。此外,在1/4亮度样点MV精度仿射帧间模式中获得的仿射参数被用作1/16亮度样点和1/4亮度样点MV精度仿射帧间模式中的起始搜索点。
2.5HEVC屏幕内容编解码扩展(HEVC-SCC)中的调色板模式
调色板模式背后的基本思想是CU中的样点由小的代表性颜色值集合来表示。该集合被称为调色板。还可以通过用信令通知后面跟着(可能量化的)分量值的逸出符号(escape symbol)来指示调色板之外的样点。这如图3所示。
在HEVC-SCC的调色板模式中,使用预测方式对调色板和索引映射进行编解码。
2.5.1调色板条目的编解码
对于调色板条目的编解码,保持调色板预测值。调色板的最大大小以及调色板预测值在SPS中用信令通知。在HEVC-SCC中,在PPS中引入了palette_predictor_initializer_present_flag。当该标志为1时,用于初始化调色板预测值的条目在比特流中被用信令通知。调色板预测值在每个CTU行、每个条带和每个片的开头被初始化。根据palette_predictor_initializer_present_flag的值,调色板预测值被重置为0,或者使用在PPS中用信令通知的调色板预测值初始化器条目来被初始化。在HEVC-SCC中,大小为0的调色板预测值初始化器被启用,以允许在PPS级别显式禁用调色板预测值初始化。
对于调色板预测值中的每个条目,重用标志被用信令通知以指示它是否是当前调色板的一部分。这如图4所示。使用为零的游程长度(run-length)编解码来发送重用标志。在此之后,新调色板条目的数量使用0阶的指数哥伦布(Golomb)码来用信令通知。最后,新调色板条目的分量值被用信令通知。
2.5.2调色板索引的编解码
调色板索引使用水平和垂直遍历扫描进行编解码,如图5所示。使用palette_transpose_flag在比特流中显式地用信令通知扫描顺序。对于子章节的其余部分,假设扫描是水平的。
调色板索引使用两种主要调色板样点模式进行编解码:“INDEX”和“COPY_ABOVE”。如前所解释的,逸出符号也被用信令通知作为“INDEX”模式,并被分配有等于最大调色板大小的索引。除了顶行或在先前模式为“COPY_ABOVE”时,使用标志来用信令通知模式。在“COPY_ABOVE”模式下,上面一行中样点的调色板索引被复制。在“INDEX”模式下,调色板索引是显式地用信令通知的。对于“INDEX”和“COPY_ABOVE”两种模式,都会用信令通知游程值,其指定使用相同模式来编解码的后续样点的数量。当逸出符号是“INDEX”或“COPY_ABOVE”模式下的游程的一部分时,将针对每个逸出符号用信令通知逸出分量值。调色板索引的编解码如图6所示。
这种语法顺序按如下方式完成。首先,用信令通知CU的索引值的数量。接下来是使用截短的二进制编解码来用信令通知整个CU的实际索引值。索引数量和索引值都以旁路模式来编解码。这将索引相关的旁路二进制位分组在一起。然后以交错方式用信令通知调色板样点模式(如果有必要)和游程。最后,对应于整个CU的逸出样点的分量逸出值被分组在一起,并以旁路模式进行编解码。
在用信令通知索引值之后用信令通知额外的语法元素last_run_type_flag。这个语法元素与索引的数量相结合,消除了用信令通知与块中最后的游程相对应的游程值的需要。
在HEVC-SCC中,对于4:2:2、4:2:0和单色色度格式,也可以启用调色板模式。对于所有色度格式,调色板条目和调色板索引的信令几乎是相同的。在非单色格式的情况下,每个调色板条目包括3个分量。对于单色格式,每个调色板条目包括单个分量。对于下采样色度方向,色度样点与可被2整除的亮度样点索引相关联。在为CU重构调色板索引之后,如果样点只有与之相关联的单个分量,则只使用调色板条目的第一分量。信令通知的唯一区别是逸出分量值。对于每个逸出样点,用信令通知的逸出分量值的数量可能根据与该样点相关联的分量的数量而不同。
2.6变换跳过模式下的系数编解码
在JVET-M0464和JVET-N0280中,为了使残差编解码适应变换跳过级别的统计和信号特征,对变换跳过(transform skip,TS)模式中的系数编解码提出了几种修改。
提出的修改如下。
没有最末有效(significant)扫描位置:由于残差信号反映预测之后的空域残差,并且没有对TS执行通过变换的能量集中(compaction),所以不再给出在变换块的右下角的尾部零或无效级别的较高概率。因此,在这种情况下,最末有效扫描位置信令被省略。
子块CBF:最末有效扫描位置信令的缺失要求具有TS的coded_sub_block_flag的子块CBF信令修改如下:
ο由于量化,上述无效序列仍可能局部出现在变换块内。因此,如前所述,最末有效扫描位置被去除,并且coded_sub_block_flag针对所有子块被编解码。
ο覆盖DC频率位置(左上子块)的子块的coded_sub_block_flag存在一种特殊情况。在VVC草案3中,这个子块的coded_sub_block_flag从不用信令通知,并且总是被推断为等于1。当最末有效扫描位置位于另一个子块中时,这意味着在DC子块之外至少有一个有效级别。因此,尽管该子块的coded_sub_block_flag被推断为等于1,但是DC子块可以仅包含零/非有效级别。在TS中没有最末扫描位置信息的情况下,每个子块的coded_sub_block_flag被用信令通知。这还包括DC子块的coded_sub_block_flag,除了所有其他coded_sub_block_flag语法元素已经等于0时。在这种情况下,DC coded_sub_block_flag被推断为等于1(inferDcSbCbf=1)。由于在这个DC子块中必须至少有一个有效级别,所以如果在这个DC子块中的所有其他sig_coeff_flag语法元素都等于0,则在(0,0)处的第一位置的sig_coeff_flag语法元素不被用信令通知并且被推导为等于1(inferSbDcSigCoeffFlag=1)。
ο改变coded_sub_block_flag的上下文建模。上下文模型索引被计算为当前子块左侧的coded_sub_block_flag和当前子块上方的coded_sub_block_flag之和,而不是两者的逻辑或(logical disjunction)。
sig_coeff_flag上下文建模:sig_coeff_flag上下文建模中的本地模板被修改为仅包括当前扫描位置左侧的邻居(NB0)和当前扫描位置上方的邻居(NB1)。上下文模型偏移量只是有效临近位置的数量sig_coeff_flag[NB0]+sig_coeff_flag[NB1]。因此,根据当前变换块内的对角线d对不同的上下文集合的选择被移除。这产生了三个上下文模型和用于对sig_coeff_flag flag标志进行编解码的单个上下文模型集合。
abs_level_gt1_flag和par_level_flag上下文建模:对abs_level_gt1_flag和par_level_flag采用单个上下文模型。
abs_remainder编解码:尽管变换跳过残差绝对级别的经验分布通常仍然符合拉普拉斯或几何分布,但是存在比变换系数绝对级别更大的不稳定性(instationarities)。特别是,对于残差绝对级别,连续实现窗内的方差更高。这激发了对abs_remainder语法二值化和上下文建模的以下修改:
ο在二值化中使用较高的截止值,即,从利用sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的编码到abs_remainder的Rice码的转移点,以及用于每个二进制位位置的专用上下文模型产生较高的压缩效率。增大截止值将导致更多的“大于X”标志,例如,引入abs_level_gt5_flag、abs_level_gt7_flag等,直到达到截止值。截止值本身固定为5(numGtFlags=5)。
ο修改rice参数推导的模板,即,只有当前扫描位置左侧的邻居和当前扫描位置上方的邻居被认为与sig_coeff_flag上下文建模的本地模板类似。
coeff_sign_flag上下文建模:由于符号(sign)序列内部的不稳定性以及预测残差经常有偏差的事实,即使当全局经验分布几乎均匀分布时,也可以使用上下文模型对符号进行编解码。单个专用上下文模型用于符号的编解码,并且在sig_coeff_flag之后对符号进行解析,以将所有上下文编解码的二进制位保持在一起。
2.7量化残差块差分脉码调制(QR-BDPCM)
在JVET-M0413中,提出了一种量化残差块差分脉码调制(quantized residualblock differential pulse-code modulation,QR-BDPCM)来有效编解码屏幕内容。
QR-BDPCM中使用的预测方向可以是垂直和水平预测模式。类似于帧内预测,通过在预测方向(水平或垂直预测)上的样点复制对整个块进行帧内预测。残差被量化,并且量化残差与其预测值(水平或垂直)量化值之间的差值被编解码。这可以用以下内容来描述:对于大小为M(行)×N(列)的块,令ri,j,0≤i≤M-1,0≤j≤N-1,为使用来自上方或左侧块边界样点的未滤波样点水平地(跨预测块逐行复制左临近像素值)或垂直地(将顶部临近行复制到预测块中的每一行)执行帧内预测之后的预测残差。令Q(ri,j),0≤i≤M-1,0≤j≤N-1,表示残差ri,j的量化版本,其中残差是原始块和预测块值之间的差。然后块DPCM被应用于量化残差样点,得到具有元素的修改后的M×N阵列当用信令通知垂直BDPCM时:
对于水平预测,应用类似的规则,并且通过以下方式获得残差量化样点
残差量化样点被发送到解码器。
在解码器端,上述计算是相反的,以产生:Q(ri,j),0≤i≤M-1,0≤j≤N-1。对于垂直预测情况,
对于水平情况,
逆量化残差Q-1(Q(ri,j))被添加到帧内块预测值,以产生重构的样点值。
这种方案的主要好处是,在系数解析期间可以动态地进行DPCM,只要系数被解析时添加预测值,或者可以在解析之后执行逆DPCM。
QR-BDPCM的草案文本更改如下所示。
7.3.6.5编解码单元语法
bdpcm_flag[x0][y0]等于1指定bdpcm_dir_flag存在于包括位置(x0,y0)处的亮度编解码块的编解码单元中
bdpcm_dir_flag[x0][y0]等于0指定要在bdpcm块中使用的预测方向是水平的,否则是垂直的。
2.8VVC中的多重变换集
2.8.1显式多重变换集
在VTM4中,支持多达64×64的大块大小变换,这主要适用于更高分辨率的视频,例如,1080p和4K序列。对于大小(宽度或高度,或宽度和高度两者)等于64的变换块,高频变换系数被清零,从而仅保留低频系数。例如,对于M×N变换块,M为块宽,N为块高,当M等于64时,只保留变换系数的左32列。类似地,当N等于64时,仅保留变换系数的顶32行。当变换跳过模式被用于大块时,整个块被使用,而不会将任何值清零。
除了已经在HEVC使用的DCT-II,多重变换选择(MTS)方案被用于帧间和帧内编解码块的残差编解码。它使用来自DCT8/DST7的多个选择的变换。新引入的变换矩阵是DST-VII和DCT-VIII。下表4示出了所选择的DST/DCT的基函数。
表4:VVC中使用的变换矩阵的基函数
为了保持变换矩阵的正交性,变换矩阵比HEVC中的变换矩阵被更精确地量化。为了将变换系数的中间值保持在16位范围内,在水平和垂直变换之后,所有系数是10比特的。
为了控制MTS方案,在SPS级别分别为帧内和帧间指定了单独的使能标志。当在SPS启用MTS时,将用信令通知CU级别标志,以指示MTS是否被应用。这里,MTS仅适用于亮度。当满足以下条件时,将用信令通知MTS CU级别标志。
ο宽度和高度都小于或等于32
οCBF标志等于一
如果MTS CU标志等于零,则在两个方向上应用DCT2。然而,如果MTS CU标志等于1,则另外用信令通知两个其它标志,以分别指示水平和垂直方向的变换类型。变换和信令映射表如表5所示。当涉及到变换矩阵精度,使用8比特初级(primary)变换核心(core)。因此,HEVC中使用的所有变换核心保持相同,包括4点DCT-2和DST-7、8点、16点和32点DCT-2。并且,包括64点DCT-2、4点DCT-8、8点、16点、32点DCT-7和DCT-8的其他变换核心使用8比特初级变换核心。
表5:tu_mts_idx的解码值与水平和垂直方向的对应变换矩阵的映射。
为了降低大的大小的DST-7和DCT-8的复杂性,对于大小(宽度或高度,或宽度和高度两者)等于32的DST-7和DCT-8块,高频变换系数被清零。仅保留16×16低频区域内的系数。
除了应用不同变换的情况之外,VVC还支持一种称为变换跳过(TS)的模式,这类似于HEVC中的TS概念。TS被视为MTS的特殊情况。
2.8.1.1变换跳过(TS)模式
作为名称,变换跳过模式是直接量化残差块而不进行变换处理。在HEVC版本1中,它仅适用于4×4TU。在当前的VVC,它可以在块大小限制下应用于TU。此外,它被统一到MTS的模式候选。当MTS索引等于1时,应用变换跳过。以下是与TS模式相关的草案文本。TS部分突出显示为带下划线的斜体文本
7.3.2.4图片参数集RBSP语法
7.3.7.10变换单元语法
transform_skip_enabled_flag等于1指定transform_skip_flag可以存在于变换单元语法中。transform_skip_enabled_flag等于0指定transform_skip_flag不存在于变换单元语法中。
log2_transform_skip_max_size_minus2指定用于变换跳过的最大块大小,并且应该在0到3的范围内。
transform_skip_flag[x0][y0]指定是否对亮度变换块应用变换。阵列索引x0、y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。transform_skip_flag[x0][y0]等于1指定不将任何变换应用于亮度变换块。transform_skip_flag[x0][y0]等于0指定是否将变换应用于亮度变换块的决定取决于其他语法元素。当transform_skip_flag[x0][y0]不存在时,它被推断为等于0。
8.7.2缩放和变换过程
这个过程的输入是:
–指定当前亮度变换块的左上样点相对于当前图片的左上亮度样点的亮度位置(xTbY,yTbY),
–指定当前块的颜色分量的变量cIdx,
–指定变换块宽度的变量nTbW,
–指定变换块高度的变量nTbH。
这个过程的输出是残差样点resSamples[x][y]的(nTbW)x(nTbH)阵列,其中x=0..nTbW-1,y=0..nTbH-1。
变量bitDepth、bdShift和tsShift被推导如下:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC (8-945)
bdShift=Max(20-bitDepth,0) (8-946)
tsShift=5+((Log2(nTbW)+Log2(nTbH))/2) (8-947)
残差样点resSamples的(nTbW)x(nTbH)数组被推导如下:
1.条款8.7.3中指定的变换系数的缩放过程以变换块位置(xTbY,yTbY)、变换块宽度nTbW和变换块高度nTbH、颜色分量变量cIdx和当前颜色分量的比特深度bitDepth作为输入而被调用,并且输出是缩放的变换系数d的(nTbW)x(nTbH)阵列。
2.残差样点r的(nTbW)x(nTbH)阵列被推导如下:
如果transform_skip_flag[xTbY][yTbY]等于1且cIdx等于0,则残差样点阵列 r[x][y](其中,x=0..nTbW-1,y=0..nTbH-1)被推导如下:
r[x][y]=d[x][y]<<tsShift (8-948)
–否则(transform_skip_flag[xTbY][yTbY]等于0或且cIdx不等于0),条款8.7.4.1中指定的经缩放的变换系数的变换过程以变换块位置(Xtby,Ytby)、变换块宽度nTbW和变换块高度nTbH、颜色分量变量cIdx和经缩放的变换系数d的(nTbW)x(nTbH)阵列作为输入而被调用,并且输出是残差样点r的(nTbW)x(nTbH)阵列。
3.残差样点resSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:
resSamples[x][y]=(r[x][y]+(1<<(bdShift-1)))>>bdShift (8-949)
2.8.2 JVET-N0193中提出的缩减的二次变换(Reduced Secondary Transform,RST)
2.8.2.1 JEM中的不可分离二次变换(Non-Separable Secondary Transform,NSST)
在JEM中,二次变换应用于正向初级变换和量化之间(在编码器端)、以及去量化和逆初级变换之间(在解码器端)。如图7所示,根据块大小执行4x4(或8x8)的二次变换。例如,对于每一8x8块,4x4的二次变换被应用于小块(即,min(width,height)<8),并且8x8的二次变换被应用于大块(即,min(width,height)>4)。
下面以输入为例描述不可分离变换的应用。为了应用不可分离变换,4x4输入块X
首先表示为矢量
不可分离变换被计算为其中表示变换系数矢量,并且T是16x16变换矩阵。16x1系数矢量随后使用该块的扫描顺序(水平、垂直或对角线)被重新组织为4x4块。具有较小索引的系数将以较小扫描索引放置在4x4系数块中。总共有35个变换集,使用每一变换集3个不可分离变换矩阵(内核(kernel))。从帧内预测模式到变换集的映射是预先定义的。对于每个变换集,所选择的不可分离二次变换(NSST)候选进一步由显式地用信令通知的二次变换索引来指定。在变换系数之后,该索引在每一帧内CU在比特流中被用信令通知一次。
2.8.2.2 JVET-N0193中的缩减的二次变换(Reduced Secondary Transform,RST)
JVET-K0099中引入了RST(也称为低频不可分离变换(Low Frequency Non-Separable Transform,LFNST)),并且JVET-L0133中引入了4个变换集(而不是35个变换集)映射。在JVET-N0193中,使用16x64(进一步缩减到16x48)和16x16矩阵。为了便于标注,16x64(缩减到16x48)变换表示为RST8x8,并且16x16变换表示为RST4x4。图8示出了RST的示例。
2.8.2.2.1 RST计算
缩减变换(Reduced Transform,RT)的主要思想是将N维矢量映射到不同空间中的一个R维矢量,其中R/N(R<N)是缩减因子。
RT矩阵是R×N矩阵,如下所示:
其中变换的R行是N维空间的R个基。RT的逆变换矩阵是其正向变换的转置。图9描述了正向和逆RT。
在这该文稿中,应用缩减因子为4(1/4大小)的RST8x8。因此,使用16x64直接矩阵代替64x64,其是传统的8×8不可分离变换矩阵大小。换句话说,在解码器端使用64×16的逆RST矩阵来生成8×8左上区域中的核心(主要)变换系数。正向RST8x8使用16×64(或对于8x8块为8x64)矩阵,因此它仅在给定的8×8区域内的左上4×4区域中产生非零系数。换句话说,如果应用RST,则除了左上4×4区域之外的8×8区域将只有零系数。对于RST4x4,应用16x16(或对于4x4块为8x16)直接矩阵乘法。
当满足以下两个条件时,有条件地应用逆RST:
ο块大小大于或等于给定阈值(W>=4&&H>=4)
ο变换跳过模式标志等于零
如果变换系数块的宽度(W)和高度(H)大于4,则RST8x8被应用于变换系数块的左上8×8区域。否则,RST4x4被应用于变换系数块的左上min(8,W)×min(8,H)区域。
如果RST索引等于0,则不应用RST。否则,应用RST,用RST索引选择其内核。RST索引的RST选择方法和编解码将在后面解释。
此外,RST被应用于帧内和帧间条带中的帧内CU,并且应用于亮度和色度。如果双树被启用,则亮度和色度的RST索引被分别用信令通知。对于帧间条带(双树被禁用),单个RST索引被用信令通知并被用于亮度和色度。
2.8.2.2.2 RST的限制
当选择ISP模式时,将禁用RST,并且不信令通知RST索引,因为即使将RST应用于每个可行的分割块,性能改进也是微乎其微的。此外,对ISP预测的残差禁用RST可以降低编码复杂度。
2.8.2.2.3 RST选择
从四个变换集中选择RST矩阵,每个变换集由两个变换构成。从帧内预测模式确定应用哪个变换集,如下:
(1)如果指示三种CCLM模式之一,则选择变换集0。
(2)否则,根据下表来执行变换集选择:
变换集选择表
访问上表的索引(表示为IntraPredMode)具有[-14,83]的范围,这是用于广角帧内预测的变换模式索引。
2.8.2.2.4降维的RST矩阵
作为进一步的简化,应用16x48矩阵代替16x64矩阵,其具有相同的变换集配置,每个矩阵从不包括右下4x4块的左上8×8块中的三个4x4块获得48个输入数据(如图10所示)。
2.8.2.2.5 RST信令
R=16的正向RST8x8使用16×64矩阵,以便它仅在给定8×8区域内的左上4×4区域产生非零系数。换句话说,如果应用RST,则除了左上4×4区域之外的8×8区域仅生成零系数。结果,当在除左上4×4(如图11所示)之外的8x8块区域内检测到任何非零元素时,不对RST索引进行编解码,因为这意味着没有应用RST。在这种情况下,RST索引被推断为零。
2.8.2.2.6一个CG内的清零(zero-out)区域
通常,在对4×4子块应用逆RST之前,4×4子块中的任何系数都可以是非零的。然而,受到限制的是,在某些情况下,在对4×4子块应用逆RST之前,该子块中的某些系数必须为零。
令nonZeroSize为变量。要求在逆RST变换之前,具有不小于nonZeroSize的索引的任何系数当被重新排列成1-D数组时必须为零。
当nonZeroSize等于16时,对左上4×4子块中的系数没有清零约束。
在JVET-N0193中,当当前块大小为4×4或8×8时,nonZeroSize被设置为等于8(即,扫描索引在[8,15]范围内的系数应为0,如图11所示)。对于其他块维度,nonZeroSize被设置为16。
2.8.2.2.7工作草案中对RST的描述
7.3.2.3序列参数集RBSP语法
7.3.7.11残差编解码语法
7.3.7.5编解码单元语法
sps_st_enabled_flag等于1指定st_idx可以存在于帧内编解码单元的残差编解码语法中。sps_st_enabled_flag等于0指定st_idx不存在于帧内编解码单元的残差编解码语法中。
st_idx[x0][y0]指定在所选择的变换集中的两个候选内核之间应用哪个二次变换内核。st_idx[x0][y0]等于0指定不应用二次变换。数组索引x0、y0指定所考虑的变换块的左上样点相对于图片的左上样点的位置(x0,y0)。
当st_idx[x0][y0]不存在时,st_idx[x0][y0]被推断为等于0。
st_idx的二进制位是上下文编解码的。更具体地,以下适用:
表9-9语法元素和相关联的二值化
表9-15将ctxInc分配给具有上下文编解码的二进制位的语法元素
9.5.4.2.8语法元素st_idx的ctxInc的推导过程
该过程的输入是颜色分量索引cIdx、取决于cIdx而指定当前亮度或色度编解码块的左上样点相对于当前图片的左上样点的亮度或色度位置(x0,y0)、树类型treeType、如条款8.4.2中指定的亮度帧内预测模式IntraPredModeY[x0][y0]、指定如条款7.4.7.5中指定的色度样点的帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0]、以及多重变换选择索引tu_mts_idx[x0][y0]。
这个过程的输出是变量ctxInc。
变量intraModeCtx被推导如下:
如果cIdx等于0,则intraModeCtx被推导如下:
intraModeCtx=(IntraPredModeY[x0][y0]<=1)?1:0
否则(cIdx大于0),intraModeCtx被推导如下:
intraModeCtx=(intra_chroma_pred_mode[x0][y0]>=4)?1:0
变量mtsCtx被推导如下:
mtsCtx=(tu_mts_idx[x0][y0]==0&&treeType!=SINGLE_TREE)?1:0
变量ctxInc被推导如下:
ctxInc=(binIdx<<1)+intraModeCtx+(mtsCtx<<2)
2.8.2.2 RST使用的概述
只有当一个块中的非零系数的数量对于单个树或单独的树分别大于2和1时,才能启用RST。另外,当启用RST时,还需要对应用编解码组(coding group,CG)的RST的非零系数的位置进行以下限制。
表1:RST的使用
2.8.3子块变换
对于cu_cbf等于1的帧间预测CU,可以用信令通知cu_sbt_flag来指示是解码整个残差块还是残差块的子部分。在前一种情况下,帧间MTS信息被进一步解析以确定CU的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换来编解码,并且残差块的另一部分被清零。SBT不应用于组合帧内模式。
在子块变换中,位置相关变换被应用于SBT-V和SBT-H中的亮度变换块(色度TB总是使用DCT-2)。SBT-H和SBT-V的两个位置与不同的核心变换相关联。更具体地,每个SBT位置的水平和垂直变换如图12所指定的。例如,SBT-V位置0的水平和垂直变换分别是DCT-8和DST-7。当残差TU的一侧大于32时,对应的变换被设置为DCT-2。因此,子块变换联合指定残差块的TU片化(tiling)、cbf以及水平和垂直变换,这可以被认为是块的主要残差在块的一侧的情况下的语法快捷方式(shortcut)。
2.8.3.1语法元素
7.3.7.5编解码单元语法
cu_sbt_flag等于1指定对于当前编解码单元,使用子块变换。cu_sbt_flag等于0指定对于当前编解码单元,不使用子块变换。
当cu_sbt_flag不存在时,其值被推断为等于0。
注意–:当使用子块变换时,编解码单元被划分位两个变换单元;一个变换单元有残差数据,另一个没有残差数据。
cu_sbt_quad_flag等于1指定对于当前编解码单元,子块变换包括大小为当前编解码单元的1/4的变换单元。cu_sbt_quad_flag等于0指定对于当前编解码单元,子块变换包括大小为当前编解码单元1/2的变换单元。
当cu_sbt_quad_flag不存在时,其值被推断为等于0。
cu_sbt_horizontal_flag等于1指定当前编解码单元被水平划分为2个变换单元。cu_sbt_horizontal_flag[x0][y0]等于0指定将当前编解码单元垂直划分为2个变换单元。
当cu_sbt_horizontal_flag不存在时,其值被推导如下:
–如果cu_sbt_quad_flag等于1,则cu_sbt_horizontal_flag被设置为等于allowSbtHorQ。
–否则(cu_sbt_quad_flag等于0),cu_sbt_horizontal_flag被设置为等于allowSbtHorH。
cu_sbt_pos_flag等于1指定当前编解码单元中第一个变换单元的tu_cbf_luma、tu_cbf_cb和tu_cbf_cr不存在于比特流中。cu_sbt_pos_flag等于0指定当前编码单元中第二个变换单元的tu_cbf_luma、tu_cbf_cb和tu_cbf_cr不存在于比特流中。
变量SbtNumFourthsTb0被推导如下:
sbtMinNumFourths=cu_sbt_quad_flag?1:2 (7-117)
SbtNumFourthsTb0=cu_sbt_pos_flag?(4-sbtMinNumFourths):sbtMinNumFourths (7-118)
sps_sbt_max_size_64_flag等于0指定允许子块变换的最大CU宽度和高度为32个亮度样点。sps_sbt_max_size_64_flag等于1指定允许子块变换的最大CU宽度和高度为64个亮度样点。
MaxSbtSize=sps_sbt_max_size_64_flag?64:32 (7-33)
3由实施例解决的问题的示例
在VVC中,甚至对于大小大于32×32的编解码单元,也可以对多达32×32的系数进行编解码,以节省由于变换而导致的计算复杂度。大块通常在残差上有很多能量,特别是对于屏幕内容。需要研究如何在不引入进一步复杂度的情况下支持大块编解码。另外,当前设计中还有其他问题:
(1)用IBC模式编解码的大块只能采用DCT2变换,可能需要支持更多的变换类型,包括TS。
(2)用IBC模式编解码的小块仅支持DCT2和TS变换,可能需要支持更多的变换类型。
(3)子块级变换跳过可以提高IBC模式的编解码效率。
(4)用IBC模式编解码的块不支持RDPCM。
(5)如何在编解码大块时选择上下文需要进一步研究。
4大块的变换设计的示例性方法
以下详细的发明应被认为是用以解释一般概念的示例。这些发明不应狭义地解释。此外,这些发明可以以任何方式组合。
介绍解决上述问题的以下方法。术语“大块”可以表示宽度和高度都大于32的块,或者块的宽度和高度之间的最大值大于32。
1.提出了对大块启用变换跳过(TS)模式。
a.在一个示例中,用于变换跳过的最大块大小从32增加到64或128。
b.在一个示例中,log2_transform_skip_max_size_minus2的范围应该在0至4的范围内。
c.限制用于变换跳过的最大块大小不应大于最大变换块大小。
d.在一个示例中,用于变换跳过的最大块大小是从最大变换块大小推导出的。
i.在一个示例中,用于变换跳过的最大块大小等于最大变换块大小。
ii.可替代地,用于变换跳过的最大块大小是最大变换块大小的四分之一(例如,用于变换跳过的最大块的宽度被设置为最大变换块的宽度的一半)。
iii.可替代地,此外,可以用信令通知最大变换块大小的指示,同时移除用于变换跳过的最大块大小的信令。
1)可替代地,可以用信令通知两个最大块大小之间的比率的指示。
iv.可替代地,可以利用最大块大小的预测编解码来编解码相对于最大变换块大小的用于变换跳过的最大块大小。
v.在一个示例中,QR-BDPCM被视为特殊的TS模式。因此,上述项目符号也可以适用于QR-BDPCM模式。
e.在一个示例中,上述方法只能应用于用IBC模式来编解码的块。
i.在一个示例中,可以用信令通知TS模式在用IBC模式来编解码的大块上的使用的指示,而不是被推断为假。
ii.在一个示例中,可以用信令通知DCT2变换在用IBC模式来编解码的大块上的使用的指示,而不是被推断为真。
iii.在一个示例中,可以在DPS/SPS/VPS/PPS/APS/图片头/条带头/片组头/最大编解码单元(Largest coding unit,LCU)/编码单元(CU)/LCU行/LCU组处用信令通知新语法,例如,log2_ibc_transform_skip_max_size_minus2,以指示要应用TS的最大IBC块大小。
2.提出了避免大块的变换过程。
a.在一个示例中,对于大块,MTS索引/RST索引不被编解码。
i.可替代地,此外,可以跳过与MTS/RST相关的边信息的信令。
b.在一个示例中,对于大块,仅允许在残差编解码方法方面的TS模式。
i.可替代地,此外,TS模式标志(例如,transform_skip_flag)可以被推断为真。
ii.可替代地,此外,MTS索引(例如,tu_mts_idx)可以被推断为1。
c.在一个示例中,对于大块,仅允许在残差编解码方法方面的TS模式和QR-BDPCM。
3.对于经变换旁路(TransBypass)编解码的残差块,残差块可以被分割成多个区域,并且每个区域被视为变换单元。
a.在一个示例中,假设残差块大小是K*L,并且第i区域大小是Ki*Li,当对第i区域进行编解码时,它遵循对Ki*Li个经TS编解码的块进行编解码的过程,而不是遵循对K*L个经TS编解码的块进行编解码的过程。
b.在一个示例中,不同区域中的残差信息可以被禁止用于对当前区域进行编解码(例如,被禁止用于上下文建模)。
i.可替代地,不同区域中的残差信息可以被允许用于对当前区域进行编解码(例如,被禁止用于上下文建模)。
c.如何将残差块划分为多个区域可以取决于残差块大小。
d.如何将残差块划分为多个区域可以取决于编解码信息(诸如模式信息、帧内预测方向等)。
e.如何将残差块划分为多个区域可以取决于要应用TS的最大块大小。
f.在一个示例中,每个区域的上下文推导可以是依赖的或独立的。
i.在一个示例中,一个区域中的系数编解码可以不采用另一个区域中的任何系数来推导上下文。
ii.在一个示例中,一个区域中的系数编解码可以采用另一个区域中的系数来推导上下文。
4.对于要编解码的块,它可以被划分为N(N>1)个区域,其中一个区域在没有应用变换(或应用恒等变换(identity transform))的情况下被编解码。
a.在一个示例中,一个区域在未应用变换的情况下被编解码,并且其他区域未被编解码。
i.在一个示例中,其他区域的系数被强制为零系数。
b.在一个示例中,至少一个区域在没有应用变换的情况下被编解码,其余区域在应用变换的情况下被编解码。
c.在一个示例中,至少一个区域在没有应用变换的情况下被编解码,至少一个区域在应用变换的情况下被编解码,并且其余区域不被编解码,例如,被强制为零系数。
d.将块划分成多个区域可以遵循SBT设计中使用的方式。
i.在一个示例中,划分可以沿着水平或垂直方向。
ii.在一个示例中,可以在不应用变换的情况下对右区域进行编解码,并且左区域可以被强制为零系数,反之亦然。
iii.在一个示例中,可以在不应用变换的情况下对底部区域进行编解码,并且顶部区域可以被强制为零系数,反之亦然。
5.对于变换旁路(TransBypass)编解码的残差块,可以首先对残差块进行下采样,并且可以对经下采样的残差块进行编解码。
a.在一个示例中,下采样方法可以是非均匀下采样
i.在一个示例中,如图14所示,在向下采样过程之后,可以只保留左上WxH样点。不在WxH区域的其他样点可以被设置为零。
b.在一个示例中,上述方法中的W和/或H可以基于块大小来确定。
c.在一个示例中,下采样方法可以是均匀下采样
6.SBT可以被扩展以对于至少一个维度应用恒等变换。
a.在一个示例中,对于一个维度(例如,水平或垂直变换),可以应用恒等变换,而对于另一个维度,可以应用DST-7。
b.在一个示例中,对于一个维度(例如,水平或垂直变换),可以应用恒等变换,而对于另一个维度,可以应用DCT-2。
c.在一个示例中,对于两个维度(例如,水平和垂直变换),可以应用恒等变换,
7.是否和/或如何应用上述方法可以基于:
a.视频内容(例如,屏幕内容或自然内容)
i.在一个示例中,上述方法可以仅应用于屏幕内容。
b.在DPS/SPS/VPS/PPS/APS/图片头/条带头/片组头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中用信令通知的消息
c.CU/PU/TU/块/视频编解码单元的位置
d.当前块和/或其临近块的块维度
e.当前块和/或其临近块的块形状
f.当前块的预测模式
i.在一个示例中,上述方法可以仅应用于用IBC模式来编解码的块。
g.当前块和/或其临近块的帧内模式
h.当前块和/或其临近块的运动/块矢量
i.颜色格式的指示(诸如4:2:0、4:4:4)
j.编解码树结构
k.条带/片组类型和/或图片类型
l.颜色分量(例如,可以仅应用于色度分量或亮度分量)
m.时域层ID
n.配置文件/级别(Level)/层级(Tier)
5所公开技术的示例性实施例
上面描述的示例可以结合在下面描述的方法(例如,方法1500至1540和2100至2800)的上下文中,其中该方法可以在视频解码器或视频编码器处实施。
图15A示出了视频处理的示例方法的流程图。方法1500包括,在步骤1502,为高度大于32且宽度大于32的当前视频块,做出关于在当前视频块上选择性应用基于变换的编解码模式的决定。
方法1500包括,在步骤1504,基于该决定,执行当前视频块和当前视频块的比特流表示之间的转换。
在一些实施例中,基于变换的编解码模式是变换跳过(TS)模式或量化残差块差分脉码调制(QR-BDPCM)模式,并且其中当前视频块的大小是32×32、32×64、64×32、32×128、128×32、64×64、64×128、128×64或128×128。在一个示例中,在变换跳过模式下使用的最大块大小不大于最大变换块大小。在另一示例中,在变换跳过模式下使用的最大块大小基于最大变换块大小。在又一示例中,在变换跳过模式下使用的最大块大小等于最大变换块大小。在又一示例中,在变换跳过模式下使用的最大块大小等于最大变换块大小的四分之一。在又一示例中,最大变换块大小的指示在比特流表示中用信令通知,并且其中比特流表示不包括在变换跳过模式下使用的最大块大小的指示。
在一些实施例中,基于变换的编解码模式不包括多重变换选择(MTS)模式和缩减的二次变换(RST)模式。在一个示例中,比特流表示不包括与MTS模式和RST模式相关的边信息。
图15B示出了视频处理的示例方法的流程图。方法1510包括,在步骤1512,确定当前视频块是经变换旁路(TransBypass)编解码的残差块。
方法1510包括,在步骤1514,基于该确定,将当前视频块划分为多个区域。
方法1510包括,在步骤1516,在将多个区域中的每一个视为变换单元时,执行当前视频块和当前视频块的比特流表示之间的转换。
在一些实施例中,该划分基于当前视频块的大小、帧内预测方向或编解码模式中的至少一个。
在一些实施例中,该划分基于最大块大小,其中对于该最大块大小,变换跳过模式可以应用于当前视频块。
在一些实施例中,用于针对多个区域中的第一区域推导出上下文的系数编解码过程基于多个区域中的第二区域的一个或多个系数。
在一些实施例中,用于针对多个区域中的每一个推导出上下文的系数编解码过程独立于另一个区域的系数。
图15C示出了视频处理的示例性方法的流程图。方法1520包括,在步骤1522,将当前视频块划分为两个或更多个区域,其中两个或更多个区域中的第一区域在不应用变换的情况下被编解码。
方法1520包括:在步骤1524,基于该划分,执行当前视频块和当前视频块的比特流表示之间的转换。
在一些实施例中,两个或更多个区域中不同于第一区域的每个区域不被编解码。在其他实施例中,在应用变换之后,对两个或更多个区域中不同于第一区域的每个区域进行编解码。在一个示例中,划分是在水平方向上(例如,第一区域是顶部区域或者第一区域是底部区域)。在另一示例中,划分是在垂直方向上(例如,第一区域是左区域或者第一区域是右区域)。
图15D示出了视频处理的示例性方法的流程图。方法1530包括,在步骤1532,确定当前视频块是经变换旁路(TransBypass)编解码的残差块。
方法1530包括:在步骤1534,基于该确定并在当前视频块和当前视频块的比特流表示之间的转换期间,在对当前视频块应用编解码模式之前,对当前视频块执行下采样过程。
在一些实施例中,下采样过程包括均匀下采样过程。在其他实施例中,下采样过程包括非均匀下采样过程。
图15E示出了视频处理的示例性方法的流程图。方法1540包括,在步骤1542,在当前视频块和当前视频块的比特流表示之间的转换期间,对当前视频块执行子块变换(SBT),其包括将恒等变换应用于至少一个维度。
在一些实施例中,恒等变换被应用于第一维度,并且其中类型VII的离散正弦变换(DST-7)被应用于第二维度。
在一些实施例中,恒等变换被应用于第一维度,并且其中类型II的离散余弦变换(DCT-2)被应用于第二维度。
在一些实施例中,恒等变换被应用于第一维度和第二维度。在一个示例中,在方法1540的上下文中,第一维度是水平维度,并且第二维度是垂直维度。在另一示例中,第一维度是垂直维度,并且第二维度是水平维度。
在一些实施例中,在方法1500、1510、1520、1530和1540的上下文中,执行转换基于以下中的至少一个:(a)当前视频块的视频内容,(b)在解码器参数集(decoder parameterset,DPS)、序列参数集(sequence parameter set,SPS)、视频参数集(video parameterset,VPS)、图片参数集(picture parameter set,PPS)、自适应参数集(adaptationparameter set,APS)、图片头、条带头、片组头、最大编解码单元(LCU)、编解码单元(CU)、LCU行、LCU组、变换单元(transform unit,TU)或预测单元(prediction unit,PU)中用信令通知的消息,(c)CU、PU或TU的位置,(d)当前视频块或临近块的高度或宽度,(e)当前视频块或临近块的形状,(f)当前视频块的预测模式,(g)当前视频块或临近块的帧内模式,(h)当前视频块或临近块的运动矢量或块矢量,(i)比特流表示中的颜色格式的指示,(j)当前视频块的编解码树结构,(k)条带类型、片组类型、或分别包括当前视频块的条带、片组或图片的图片类型,(l)当前视频块的颜色分量,(m)当前视频块的时域层标识(ID),或(n)与当前视频块相关联的标准的配置文件、级别或层级。
图16是视频处理装置1600的框图。装置1600可以用于实施本文描述的方法中的一个或多个。装置1600可以体现在智能电话、平板电脑、计算机、物联网(Internet ofThings,IoT)接收器等中。装置1600可以包括一个或多个处理器1602、一个或多个存储器1604和视频处理硬件1606。(多个)处理器1602可以被配置为实施本文档中描述的一个或多个方法(包括但不限于方法1500至1540和2100至2800)。存储器(多个存储器)1604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1606可以用于以硬件电路实施本文档中描述的一些技术。
在一些实施例中,视频编解码方法可以使用如参考图16所述的在硬件平台上实施的装置来实施。
所公开技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但是不一定基于工具或模式的使用来修改得到的比特流。也就是说,当基于该决定或确定而启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,从视频的比特流表示到视频块的转换将使用基于该决定或确定而启用的视频处理工具或模式来执行。
所公开技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被禁用时,编码器将不在视频块到视频的比特流表示的转换中使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道比特流没有使用基于该决定或确定被禁用的视频处理工具或模式被修改的情况下处理比特流。
图17是示出可以利用本公开的技术的示例视频编解码系统100的框图。如图17所示,视频编解码系统100可以包括源设备110和目的设备120。源设备110生成经编码的视频数据,该源设备110可以被称为视频编码设备。目的设备120可以解码由源设备110生成的经编码的视频数据,该目的设备120可以被称为视频解码设备。源设备110可以包括视频源112、视频编码器114和输入/输出(input/output,I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供商接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括经编解码的图片和相关联的数据。经编解码的图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。经编码的视频数据可以通过网络130a经由I/O接口116直接发送到目的设备120。经编解码的视频数据也可以存储在存储介质/服务器130b上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,其中目的设备120被配置为与外部显示设备接口。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(High Efficiency Video Coding,HEVC)标准、通用视频编解码(Versatile VideoCoding,VVM)标准和其他当前和/或进一步的标准。
图18是示出视频编码器200的示例的框图,该视频编码器200可以是图17所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图18的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214,预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,在该IBC模式下,至少一个参考图片是当前视频块所在的图片。
此外,一些组件(诸如运动估计单元204和运动补偿单元205)可以高度集成,但是为了解释的目的,在图18的示例中单独表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于误差结果选择编解码模式(帧内或帧间)之一,并将所得的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,并提供给重构单元212以重构编码块用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(intra and inter predication,CIIP)模式的组合,在CIIP模式下,预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的除了与当前视频块相关联的图片之外的图片的运动信息和经解码的样点来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带或B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1中包含参考视频块的参考图片的参考索引和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成指示列表0和列表1中包含参考视频块的参考图片的参考索引和指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的运动矢量和参考索引作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完全的运动信息集以用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的完全的运动信息集。相反,运动估计单元204可以参考另一视频块的运动信息来用信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与临近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(motion vector difference,MVD)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器200可以预测性地用信令通知运动矢量。可以由视频编码器200实施的预测信令技术的两个示例包括高级运动矢量预测(advanced motion vectorpredication,AMVP)和Merge模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的经解码的样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,对于当前视频块,可能没有当前视频块的残差数据,例如,在跳过模式下,并且残差生成单元207可能不执行减法操作。
变换处理单元208可以通过对与当前视频块相关联的残差视频块应用一个或多个变换来生成对于当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(uantization parameter,QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,以用于存储在缓冲器213中。
在重构单元212重构视频块之后,可以执行环路滤波操作来减少视频块中的视频块伪像(artifact)。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
图19是示出视频解码器300的示例的框图,该视频解码器300可以是图17所示的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图19的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图19的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200描述的编码过程相反的解码过程(图18)。
熵解码单元301可以检索经编码的比特流。经编码的比特流可以包括经熵编码的视频数据(例如,视频数据的编码块)。熵解码单元301可以解码经熵编码的视频数据,并且从经熵解码的视频数据,运动补偿单元302可以确定运动信息,该运动信息包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。语法元素中可以包括要以子像素精度使用的插值滤波器的标识符。
运动补偿单元302可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的大小、描述如何对编码视频序列的图片的每个宏块进行分割的分割信息、指示如何对每个分割区进行编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及解码编码视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303逆量化(即,去量化)比特流中提供的并由熵解码单元301解码的经量化的视频块系数。逆变换单元303应用逆变换。
重构单元306可以将残差块与运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成经解码的块。如果需要,还可以应用去块滤波器来对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块然后被存储在缓冲器307中,缓冲器307为后续的运动补偿/帧内预测提供参考块,并且还产生经解码的视频以用于呈现在显示设备上。
图20是示出其中可以实施本文公开的各种技术的示例视频处理系统2000的框图。各种实施方式可以包括系统2000的一些或全部组件。系统2000可以包括用于接收视频内容的输入2002。视频内容可以以原始或未压缩格式接收,例如,8或10比特多分量像素值,或者可以以压缩或编码格式接收。输入2002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(passive optical network,PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统2000可以包括编解码组件2004,其可以实施本文档中描述的各种编码方法。编解码组件2004可以降低从输入2002到编解码组件2004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件2004的输出可以被存储,或者经由连接的通信来发送,如组件2006所示。组件2008可以使用在输入2002处接收的视频的所存储或通信的比特流(或编解码的)表示以用于生成发送到显示接口2010的像素值或可显示视频。从比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编码”操作或工具,但是应当理解,编码工具或操作是在编码器处使用的,并且将由解码器来执行反转编码结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(universal serialbus,USB)或高清多媒体接口(high definition multimedia interface,HDMI)或显示端口等。存储接口的示例包括SATA(serial advanced technology attachmen,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图21示出了视频处理的示例性方法的流程图。方法2100包括:为大小小于或等于最大块大小的视频的当前视频块,确定2102编解码模式的使用适用于当前视频块;以及基于该确定,执行2104当前视频块和当前视频块的比特流表示之间的转换,其中,在编码操作期间执行该转换包括使用在其中在不执行正向变换操作的情况下对当前视频块进行编解码的编解码模式,或者其中,在解码操作期间执行该转换包括使用在其中在不执行逆变换操作的情况下从比特流表示生成当前视频块的编解码模式。
在方法2100的一些实施例中,编解码模式是变换跳过(TS)模式。在方法2100的一些实施例中,编解码模式是量化残差块差分脉码调制(QR-BDPCM)模式,在该BDPCM模式下,使用差分脉码调制(DPCM)表示在当前视频块的比特流表示中表示当前视频块的帧内预测的量化残差和量化残差的预测之间的差。在方法2100的一些实施例中,最大块大小大于32。在方法2100的一些实施例中,最大块大小是64或128。在方法2100的一些实施例中,比特流表示包括指示用于TS模式的最大块大小的语法元素log2_transform_skip_max_size_minus2,并且语法元素被配置为在从0到4的范围内。
在方法2100的一些实施例中,在TS模式或QR-BDPCM模式下使用的当前视频块的最大块大小不大于最大变换块大小。在方法2100的一些实施例中,在TS模式或QR-BDPCM模式下使用的当前视频块的最大块大小基于最大变换块大小。在方法2100的一些实施例中,在TS模式或QR-BDPCM模式下使用的当前视频块的最大块大小等于最大变换块大小。在方法2100的一些实施例中,在TS模式或QR-BDPCM模式下使用的当前视频块的最大块大小等于最大变换块大小的四分之一。在方法2100的一些实施例中,最大变换块大小的指示在比特流表示中用信令通知,并且其中,比特流表示不包括在TS模式或QR-BDPCM模式下使用的最大块大小的指示。在方法2100的一些实施例中,最大变换块大小和最大块大小之间的比率的指示在比特流表示中用信令通知。
在方法2100的一些实施例中,比特流表示包括指示用于TS模式或QR-BDPCM模式的最大块大小的语法元素,并且语法元素使用相对于最大变换块大小的最大块大小对被预测编解码。在方法2100的一些实施例中,当使用帧内块复制(IBC)模式对当前视频块进行编解码时,编解码模式适用于当前视频块。在方法2100的一些实施例中,比特流表示包括指示变换跳过(TS)模式是否应用于使用IBC模式编解码的当前视频块的语法元素。在方法2100的一些实施例中,比特流表示包括指示离散余弦变换类型II(DCT2)变换是否应用于使用IBC模式编解码的当前视频块的语法元素。在方法2100的一些实施例中,比特流表示包括指示IBC模式的最大块大小的语法元素log2_ibc_transform_skip_max_size_minus。在方法2100的一些实施例中,语法元素在解码器参数集(DPS)、序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、自适应参数集(APS)、图片头、条带头、片组头、最大编解码单元(LCU)、编解码单元(CU)、LCU行或当前视频块的LCU组中用信令通知。
图22示出了视频处理的示例性方法的流程图。方法2200包括:确定2202视频的当前视频块的宽度和/或高度大于32(例如,32像素);以及基于该确定,执行2204当前视频块和当前视频块的比特流表示之间的转换,其中,在编码操作期间执行该转换包括在不执行正向变换操作的情况下对当前视频块进行编解码,或者其中,在解码操作期间执行转换包括在不执行逆变换操作的情况下从比特流表示生成当前视频块。
在方法2200的一些实施例中,比特流表示不包括与多重变换选择(MTS)模式或缩减的二次变换(RST)模式相关的边信息。在方法2200的一些实施例中,只有变换跳过模式适用于当前视频块。在方法2200的一些实施例中,指示TS模式是否适用于当前视频块的多重变换集(MST)索引被推断为1。在方法2200的一些实施例中,量化残差块差分脉码调制(QR-BDPCM)模式适用于当前视频块,其中,在QR-BDPCM模式下,使用差分脉码调制(differential pulse coding modulation,DPCM)表示在当前视频块的比特流表示中表示当前视频块的帧内预测的量化残差和量化残差的预测之间的差。
图23示出了视频处理的示例性方法的流程图。方法2300包括:执行2302视频的当前视频块和视频的比特流表示之间的转换,其中,当前视频块被划分为多个区域,并且其中,多个区域中的第一区域使用在其中在不应用正向变换的情况下第一区域被编解码在编解码表示中或者在不应用逆变换的情况下从编码表示重构第一区域的编解码模式。
在方法2300的一些实施例中,多个区域中除了第一区域之外的一个或多个剩余区域不被编解码。在方法2300的一些实施例中,一个或多个剩余区域的一个或多个变换系数被设置为零。在方法2300的一些实施例中,用编解码模式对多个区域中的至少一个区域进行编解码,并且用第二编解码模式对多个区域中除了至少一个区域之外的一个或多个剩余区域进行编解码,在第二编解码模式下,通过应用正变换一个或多个剩余区域被编解码在编解码表示中,或者通过应用逆变换从编码表示重构一个或多个剩余区域。在方法2300的一些实施例中,用编解码模式对多个区域中的至少一个区域进行编解码,用第二编解码模式对多个区域中的至少一个其他区域进行编解码,在第二编解码模式下,通过应用正变换至少一个其他区域被编解码在编码表示中,或者通过应用反变换从编码表示重构至少一个其他区域,并且多个区域中除了至少一个区域和至少一个其他区域之外的一个或多个剩余区域不被编解码。在方法2300的一些实施例中,一个或多个剩余区域的一个或多个变换系数被设置为零。在方法2300的一些实施例中,基于应用于当前视频块的子块变换(SBT)过程,当前视频块被划分为多个区域。
在方法2300的一些实施例中,当前视频块沿着水平方向或垂直方向被划分。在方法2300的一些实施例中,多个区域的第一区域位于当前视频块的右侧,并且多个区域中位于当前视频块的左侧的第二区域具有被设置为零的变换系数。在方法2300的一些实施例中,多个区域的第一区域位于当前视频块的左侧,并且多个区域中位于当前视频块的右侧的第二区域具有被设置为零的变换系数。在方法2300的一些实施例中,多个区域的第一区域位于当前视频块的底部,并且多个区域中位于当前视频块的顶部的第二区域具有被设置为零的变换系数。在方法2300的一些实施例中,多个区域的第一区域位于当前视频块的顶部,并且多个区域中位于当前视频块的底部的第二区域具有被设置为零的变换系数。
图24示出了视频处理的示例性方法的流程图。方法2400包括做出2402对于视频的当前视频块和视频的比特流表示之间的转换,在转换期间禁用变换操作的确定;以及由于该确定,使用重采样操作来执行该转换,该重采样操作包括:将当前视频块的残差块的下采样版本编解码到比特流表示中,或者通过对残差块的下采样版本进行上采样从比特流表示重构当前视频块。
在方法2400的一些实施例中,使用非均匀下采样过程对残差块进行下采样,在非均匀下采样过程中,残差块的区域内的第一下采样样点集合用于执行转换,并且该区域外的第二下采样样点集合被设置为零。在方法2400的一些实施例中,残差块的区域是残差块的左上区域。在方法2400的一些实施例中,残差块的区域的宽度和/或高度基于残差块的大小。在方法2400的一些实施例中,使用均匀下采样过程对残差块进行下采样,在均匀下采样过程中,残差块内的下采样样点用于执行转换。
图25示出了视频处理的示例性方法的流程图。方法2500包括:执行2502视频的当前视频块和视频的比特流表示之间的转换;其中,该转换使用在其中当前视频块被划分为多个水平或垂直分割区的子块变换模式;并且其中,在编码操作期间,正变换被应用于当前视频块的分割区中的一些分割区的残差值,以用于编解码到比特流表示中,其中,正变换包括垂直变换和水平变换,其中至少一个是恒等变换,或者其中,在解码操作期间,逆变换被应用于从比特流表示解码的当前视频块的残差值,以生成当前视频块,其中,逆变换包括逆垂直变换和逆水平变换,其中至少一个是恒等变换。
在方法2500的一些实施例中,恒等变换被应用于分割区的第一维度,并且其中,类型VII的离散正弦变换(DST-7)被应用于分割区的第二维度。在方法2500的一些实施例中,恒等变换被应用于分割区的第一维度,并且其中,类型II的离散余弦变换(DCT-2)被应用于分割区的第二维度。在方法2500的一些实施例中,恒等变换被应用于分割区的第一维度和第二维度。在方法2500的一些实施例中,响应于SBT应用垂直变换,分割区位于当前视频块的左侧或右侧,或者响应于SBT应用水平变换,分割区位于当前视频块的顶部或底部。
在方法2100至2500的一些实施例中,是否执行转换基于以下中的至少一个:(a)当前视频块的视频内容,(b)在解码器参数集(decoder parameter set,DPS)、序列参数集(SPS)、视频参数集VPS)、图片参数集(PPS)、自适应参数集(APS)、图片头、条带头、片组头、最大编解码单元(LCU)、编解码单元(CU)、LCU行、LCU组、变换单元(TU)或预测单元(PU)中用信令通知的消息,(c)CU、PU或TU的位置,(d)当前视频块或临近块的高度或宽度,(e)当前视频块或临近块的形状,(f)当前视频块的预测模式,(g)当前视频块或临近块的帧内模式,(h)当前视频块或临近块的运动矢量或块矢量,(i)比特流表示中的颜色格式的指示,(j)当前视频块的编解码树结构,(k)条带类型、片组类型、或分别包括当前视频块的条带、片组或图片的图片类型,(l)当前视频块的颜色分量,(m)当前视频块的时域层标识(ID),或(n)与当前视频块相关联的标准的配置文件、级别或层级。在方法2100至2500的一些实施例中,视频内容包括屏幕内容或自然内容。在方法2100至2500的一些实施例中,当前视频块的预测模式是帧内块复制(IBC)模式。
图26示出了视频处理的示例性方法的流程图。方法2600包括:为大小为K*L像素的视频的当前视频块,通过从当前视频块中减去预测块,确定2602大小为K*L的残差块,其中K和L是整数;将残差块划分2604为多个区域;以及通过以扫描顺序扫描每个区域中的残差系数,将每个区域作为变换单元编码2606到视频的比特流表示中,其中,多个区域中的区域根据变换跳过(TS)模式被编码,在该变换跳过模式下,在编码操作期间,在不执行正变换操作的情况下对当前视频块进行编码。
在方法2600的一些实施例中,来自多个区域中的第一区域根据不允许使用来自多个区域中的第二区域的残差信息的编解码模式被编码。在方法2600的一些实施例中,来自多个区域中的第一区域根据允许使用来自多个区域中的第二区域的残差信息的编解码模式被编码。在方法2600的一些实施例中,划分基于残差块的大小。在方法2600的一些实施例中,划分基于当前视频块的编解码信息。在方法2600的一些实施例中,编解码信息包括当前视频块的帧内预测方向或编解码模式。在方法2600的一些实施例中,划分基于变换跳过(TS)模式所用于的最大块大小。在方法2600的一些实施例中,划分基于变换过程所允许的最大块大小。在方法2600的一些实施例中,变换跳过模式所允许的最大块大小等于变换过程所允许的最大块大小。在方法2600的一些实施例中,残差块的大小大于变换跳过模式所允许的最大块大小。
在方法2600的一些实施例中,其中,针对多个区域的每个区域推导出上下文,其中,针对多个区域的第一区域的第一变换系数集合推导出上下文,并且其中,第一变换系数集合的上下文不依赖于针对多个区域的第二区域而获得的第二变换系数集合。在方法2600的一些实施例中,第一变换系数集合不包括来自第二变换系数集合的变换系数。在方法2600的一些实施例中,其中,针对多个区域中的每个区域推导出上下文,其中,针对多个区域中的第一区域的第一变换系数推导出上下文,并且其中,针对第一变换系数集合的上下文取决于多个区域中的第二区域中的第二变换系数集合。在方法2600的一些实施例中,第一变换系数集合包括来自第二变换系数集合的变换系数。
图27示出了视频处理的示例性方法的流程图。方法2700包括:基于残差块的大小,确定2702大小为K*L像素的视频的残差块作为多个区域被编解码在视频的比特流表示中,其中,K和L是整数,其中,每个区域表示当前视频块的一部分和与当前视频块的该一部分相对应的预测块之间的差的残差块的一部分;通过以反向扫描顺序将残差系数放置在每个区域中,从视频的比特流表示确定2704每个区域的残差系数作为变换单元,其中,每个区域的残差系数是基于根据编解码模式指示符对逆变换操作的选择性使用来确定的;基于残差系数生成2706残差块;以及从残差块和预测块确定2708重构的当前视频块。
在方法2700的一些实施例中,来自多个区域的第一区域的残差系数根据不允许使用来自多个区域的第二区域的残差系数的编解码模式来确定。在方法2700的一些实施例中,来自多个区域的第一区域的残差系数根据允许使用来自多个区域的第二区域的残差系数的编解码模式来确定。
在方法2700的一些实施例中,基于当前视频块的编解码信息,多个区域从残差块中划分。在方法2700的一些实施例中,编解码信息包括当前视频块的帧内预测方向或编解码模式。在方法2700的一些实施例中,还基于变换跳过(TS)模式所允许的最大块大小,多个区域从残差块中划分,在该TS模式下,在解码操作期间,在不执行逆变换操作的情况下对该区域进行编解码。在方法2700的一些实施例中,其中,该划分基于变换过程所允许的最大块大小。在方法2700的一些实施例中,变换跳过模式所允许的最大块大小等于变换过程所允许的最大块大小。在方法2700的一些实施例中,残差块的大小大于变换跳过模式所允许的最大块大小。在方法2700的一些实施例中,其中,针对多个区域的每个区域推导出上下文,其中,针对多个区域的第一区域的第一变换系数集合推导出上下文,并且其中,针对第一变换系数集合的上下文不依赖于针对多个区域的第二区域而获得的第二变换系数集合。
在方法2700的一些实施例中,第一变换系数集合不包括来自第二变换系数集合的变换系数。在方法2700的一些实施例中,其中,针对多个区域中的每个区域推导出上下文,其中,针对多个区域的第一区域的第一变换系数集合推导出上下文,并且其中,针对第一变换系数集合的上下文取决于针对多个区域的第二区域而获得的第二变换系数集合。在方法2700的一些实施例中,第一变换系数集合包括来自第二变换系数集合的变换系数。在方法2600和2700的一些实施例中,当前视频块包括包含与颜色分量相对应的一个样点的像素。在方法2600和2700的一些实施例中,当前视频块包括包含与两个颜色分量相对应的两个样点的像素。在方法2600和2700的一些实施例中,当前视频块包括包含与三个颜色分量的三个样点的像素。
图28示出了视频处理的示例性方法的流程图。方法2800包括:确定2802视频的残差块的大小大于变换跳过模式所允许的最大块大小,在该变换跳过模式下,在解码操作期间,在不执行逆变换操作的情况下解码残差系数;基于残差块的大小,将残差块划分2804为多个区域,其中,每个区域表示当前视频块的一部分和与当前视频块的该一部分相对应的预测块之间的差的残差块的一部分;以及基于根据指示变换跳过模式的指示符选择性地执行逆变换操作,从残差块确定2806重构的当前视频块。在方法2800的一些实施例中,变换跳过模式所允许的最大块大小等于变换过程所允许的最大块大小。
根据前述内容,可以理解,本文已经出于说明的目的描述了本公开的技术的具体实施例,但是可以在不脱离本发明的范围的情况下做出各种修改。因此,除了由所附权利要求之外,本公开的技术不受限制。
本专利文档中描述的主题和功能操作的实施方式能够被实施在各种系统、数字电子电路中,或者实施在包括本说明书中公开的结构及其等同物的计算机软件、固件或硬件中,或者实施在它们中的一个或多个的组合中。本说明书中描述的主题的实施方式能够被实施为一个或多个计算机程序产品,即,编码在有形的非瞬时性计算机可读存储介质上的计算机程序指令的一个或多个模块,以便被数据处理装置运行或者用来控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文档系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标志语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器运行,该处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application specificintegrated circuit,专用集成电路)。
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不必须具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,可编程只读存储器(EPROM)、可编程只读存储器(EEPROM)和闪存设备。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
意图是说明书连同附图仅被认为是示例性的,其中示例性意味着示例。如这里所使用的,单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文清楚地另外指示。此外,“或”的使用旨在包括“和/或”,除非上下文中清楚地指示。
虽然本专利文档包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。
仅描述了几个实施方式和示例,并且可以基于本专利文档中描述和图示的内容进行其它实施方式、增强和变化。

Claims (19)

1.一种处理视频数据的方法,包括:
为视频的当前视频块和所述视频的比特流之间的转换,确定变换跳过模式应用于所述当前视频块的残差块,其中,所述残差块的样点表示所述当前视频块的样点和与所述当前视频块的样点相对应的预测样点之间的预测残差,并且在所述变换跳过模式下,针对所述预测残差,变换操作或逆变换操作被跳过;以及
基于所述确定执行所述转换,
其中,所述残差块在所述比特流中被编解码为多个区域,每个区域表示所述残差块的一部分,并且其中,所述残差块具有大小K*L,K和L是整数,并且所述多个区域的第i区域的大小Ki*Li基于所述残差块的大小确定,
其中,第四语法元素的上下文模型索引基于左临近样点的第四语法元素的值和上临近样点的第四语法元素的值来计算,其中,包括在所述比特流中的第四语法元素指示所述残差块的样点的变换系数级别是否非零。
2.根据权利要求1所述的方法,其中,来自所述多个区域的第一区域的样点的残差信息被允许用于来自所述多个区域的第二区域的样点的上下文推导。
3.根据权利要求1所述的方法,其中,在所述残差块的大小小于或等于由包括在所述比特流中的第一语法元素所指示的用于所述变换跳过模式的允许的最大块大小的情况下,所述变换跳过模式应用于所述残差块。
4.根据权利要求3所述的方法,其中,所述允许的最大块大小在4至32的范围内,包括端值在内。
5.根据权利要求1所述的方法,其中,指示最末有效扫描位置的第二语法元素不包括在用于在所述变换跳过模式下编解码的系数的所述比特流中。
6.根据权利要求1所述的方法,其中,指示所述多个区域的最后一个区域的变换系数级别的第三语法元素不包括在所述比特流中。
7.根据权利要求6所述的方法,其中,所述第三语法元素的上下文模型索引基于所述左临近样点的第三语法元素和所述上临近样点的第三语法元素之和来计算。
8.根据权利要求1所述的方法,其中,用于使用所述变换跳过模式的残差块的第五语法元素的上下文模型与不使用所述变换跳过模式的块的第五语法元素的上下文模型不同,其中,包括在所述比特流中的第五语法元素表示所述残差块的样点的变换系数级别的符号。
9.根据权利要求1所述的方法,其中,所述转换包括将所述当前视频块编码为所述比特流。
10.根据权利要求1所述的方法,其中,所述转换包括从所述比特流解码所述当前视频块。
11.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使得所述处理器:
为视频的当前视频块和所述视频的比特流之间的转换,确定变换跳过模式应用于所述当前视频块的残差块,其中,所述残差块的样点表示所述当前视频块的样点和与所述当前视频块的样点相对应的预测样点之间的预测残差,并且在所述变换跳过模式下,针对所述预测残差,变换操作或逆变换操作被跳过;以及
基于所述确定执行所述转换,
其中,所述残差块在所述比特流中被编解码为多个区域,每个区域表示所述残差块的一部分,并且其中,所述残差块具有大小K*L,K和L是整数,并且所述多个区域的第i区域的大小Ki*Li基于所述残差块的大小确定,
其中,第四语法元素的上下文模型索引基于左临近样点的第四语法元素的值和上临近样点的第四语法元素的值来计算,其中,包括在所述比特流中的第四语法元素指示所述残差块的样点的变换系数级别是否非零。
12.根据权利要求11所述的装置,其中,来自所述多个区域的第一区域的样点的残差信息被允许用于来自所述多个区域的第二区域的样点的上下文推导。
13.根据权利要求11所述的装置,其中,在所述残差块的大小小于或等于由包括在所述比特流中的第一语法元素所指示的用于所述变换跳过模式的允许的最大块大小的情况下,所述变换跳过模式应用于所述残差块,并且其中,所述允许的最大块大小在4至32的范围内,包括端值在内。
14.根据权利要求11所述的装置,其中,指示所述多个区域的最后一个区域的变换系数级别的第三语法元素不包括在所述比特流中,并且其中,所述第三语法元素的上下文模型索引基于所述左临近样点的第三语法元素和所述上临近样点的第三语法元素之和来计算。
15.根据权利要求11所述的装置,其中,用于使用所述变换跳过模式的残差块的第五语法元素的上下文模型与不使用所述变换跳过模式的块的第五语法元素的上下文模型不同,其中,包括在所述比特流中的第五语法元素表示所述残差块的样点的变换系数级别的符号。
16.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器:
为视频的当前视频块和所述视频的比特流之间的转换,确定变换跳过模式应用于所述当前视频块的残差块,其中,所述残差块的样点表示所述当前视频块的样点和与所述当前视频块的样点相对应的预测样点之间的预测残差,并且在所述变换跳过模式下,针对所述预测残差,变换操作或逆变换操作被跳过;以及
基于所述确定执行所述转换,
其中,所述残差块在所述比特流中被编解码为多个区域,每个区域表示所述残差块的一部分,并且其中,所述残差块具有大小K*L,K和L是整数,并且所述多个区域的第i区域的大小Ki*Li基于所述残差块的大小确定,
其中,第四语法元素的上下文模型索引基于左临近样点的第四语法元素的值和上临近样点的第四语法元素的值来计算,其中,包括在所述比特流中的第四语法元素指示所述残差块的样点的变换系数级别是否非零。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,来自所述多个区域的第一区域的样点的残差信息被允许用于来自所述多个区域的第二区域的样点的上下文推导。
18.一种用于存储视频的比特流的方法,包括:
确定变换跳过模式应用于当前视频块的残差块,其中,所述残差块的样点表示所述当前视频块的样点和与所述当前视频块的样点相对应的预测样点之间的预测残差,并且在所述变换跳过模式下,针对所述预测残差,变换操作或逆变换操作被跳过;
基于所述确定生成所述视频的比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,所述残差块在所述比特流中被编解码为多个区域,每个区域表示所述残差块的一部分,并且其中,所述残差块具有大小K*L,K和L是整数,并且多个区域的第i区域的大小Ki*Li基于所述残差块的大小确定,
其中,第四语法元素的上下文模型索引基于左临近样点的第四语法元素的值和上临近样点的第四语法元素的值来计算,其中,包括在所述比特流中的第四语法元素指示所述残差块的样点的变换系数级别是否非零。
19.根据权利要求18所述的用于存储视频的比特流的方法,其中,来自所述多个区域的第一区域的样点的残差信息被允许用于来自所述多个区域的第二区域的样点的上下文推导。
CN202080037001.7A 2019-05-19 2020-05-18 数字视频中的变换旁路编解码残差块 Active CN113853791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311358194.8A CN117221544A (zh) 2019-05-19 2020-05-18 数字视频中的变换旁路编解码残差块

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019087509 2019-05-19
CNPCT/CN2019/087509 2019-05-19
PCT/US2020/033416 WO2020236723A1 (en) 2019-05-19 2020-05-18 Transform bypass coded residual blocks in digital video

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311358194.8A Division CN117221544A (zh) 2019-05-19 2020-05-18 数字视频中的变换旁路编解码残差块

Publications (2)

Publication Number Publication Date
CN113853791A CN113853791A (zh) 2021-12-28
CN113853791B true CN113853791B (zh) 2023-11-14

Family

ID=73458128

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202311358194.8A Pending CN117221544A (zh) 2019-05-19 2020-05-18 数字视频中的变换旁路编解码残差块
CN202080036997.XA Active CN113841402B (zh) 2019-05-19 2020-05-18 视频编解码中大块的变换设计
CN202080037001.7A Active CN113853791B (zh) 2019-05-19 2020-05-18 数字视频中的变换旁路编解码残差块

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202311358194.8A Pending CN117221544A (zh) 2019-05-19 2020-05-18 数字视频中的变换旁路编解码残差块
CN202080036997.XA Active CN113841402B (zh) 2019-05-19 2020-05-18 视频编解码中大块的变换设计

Country Status (3)

Country Link
US (2) US11490089B2 (zh)
CN (3) CN117221544A (zh)
WO (2) WO2020236719A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020235961A1 (ko) * 2019-05-22 2020-11-26 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2020244662A1 (en) * 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Simplified transform coding tools
CN113994666A (zh) 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 隐式选择变换候选
JP2022534238A (ja) * 2019-06-18 2022-07-28 エルジー エレクトロニクス インコーポレイティド ブロックサイズに基づいてbdpcmを行う画像デコード方法及びその装置
US11863787B2 (en) * 2019-06-19 2024-01-02 Qualcomm Incorporated Maximum allowed block size for BDPCM mode
US20230132329A1 (en) * 2021-10-21 2023-04-27 Tencent America LLC Interdependence Between Adaptive Resolution of Motion Vector Difference and Signaling/Derivation of Motion Vector-Related Parameters

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150011787A (ko) * 2013-07-23 2015-02-02 성균관대학교산학협력단 영상 부호화/복호화 방법 및 장치
CN104471935A (zh) * 2012-07-11 2015-03-25 高通股份有限公司 具有变换跳过的视频译码中的预测残余块的旋转
CN105165012A (zh) * 2013-04-23 2015-12-16 高通股份有限公司 视频译码中的预测残余块的再定位
CN105264891A (zh) * 2013-06-05 2016-01-20 高通股份有限公司 具有变换跳过、旋转和扫描的残余差分脉码调制(dpcm)扩展和协调
CN107005717A (zh) * 2014-11-12 2017-08-01 寰发股份有限公司 索引映射编解码中的跳出像素编解码方法
CN107211144A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于预测残差的增强型多重变换
CN108632611A (zh) * 2012-06-29 2018-10-09 韩国电子通信研究院 视频解码方法、视频编码方法和计算机可读介质
WO2019076290A1 (en) * 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. VARIANT TRANSFORMERS IN SPACE FOR VIDEO CODING

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076392B1 (en) * 2000-10-06 2006-07-11 Arm Limited Test bit-stream generator and method for decoders
US20100086031A1 (en) * 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
WO2013003819A1 (en) * 2011-06-30 2013-01-03 Huawei Technologies Co., Ltd. Encoding of prediction residuals for lossless video coding
EP2732628A2 (en) * 2011-07-15 2014-05-21 Motorola Mobility LLC Context modeling techniques for transform coefficient level coding
GB2561487B (en) * 2011-10-18 2019-01-02 Kt Corp Method for encoding image, method for decoding image, image encoder, and image decoder
WO2013057877A1 (ja) * 2011-10-19 2013-04-25 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
EP2800368B1 (en) * 2011-12-28 2021-07-28 Sharp Kabushiki Kaisha Arithmetic decoding device, arithmetic decoding method, and arithmetic coding device
US9860527B2 (en) * 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
US9426463B2 (en) * 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9185405B2 (en) * 2012-03-23 2015-11-10 Qualcomm Incorporated Coded block flag inference in video coding
US20130294524A1 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US20140056347A1 (en) * 2012-08-23 2014-02-27 Microsoft Corporation Non-Transform Coding
US9407915B2 (en) * 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US20140169452A1 (en) * 2012-12-14 2014-06-19 Electronics And Telecommunications Research Institute Video encoding method and apparatus using the same
KR102088801B1 (ko) * 2013-03-07 2020-03-13 삼성전자주식회사 가변블록 사이즈 코딩 정보를 이용한 관심영역 코딩 방법 및 장치
US20140286413A1 (en) * 2013-03-25 2014-09-25 Qualcomm Incorporated Disabling sign data hiding in video coding
WO2014190468A1 (en) * 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US9473778B2 (en) * 2013-09-27 2016-10-18 Apple Inc. Skip thresholding in pipelined video encoders
WO2015078304A1 (en) * 2013-11-27 2015-06-04 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
US9948933B2 (en) * 2014-03-14 2018-04-17 Qualcomm Incorporated Block adaptive color-space conversion coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016072745A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 정규화를 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US10382768B2 (en) 2015-06-23 2019-08-13 Mediatek Singapore Pte. Ltd. Method and apparatus for transform coefficient coding of non-square blocks
WO2017019818A1 (en) 2015-07-28 2017-02-02 Vid Scale, Inc. High dynamic range video coding architectures with multiple operating modes
US9807423B1 (en) * 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US10827186B2 (en) 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
EP3782361B1 (en) * 2018-05-31 2023-09-20 Huawei Technologies Co., Ltd. Spatially varying transform with adaptive transform type
TW202029755A (zh) 2018-09-26 2020-08-01 美商Vid衡器股份有限公司 視訊編碼雙預測
US11102513B2 (en) * 2018-12-06 2021-08-24 Tencent America LLC One-level transform split and adaptive sub-block transform
JP2021513755A (ja) * 2019-01-15 2021-05-27 エルジー エレクトロニクス インコーポレイティド 変換スキップフラグを利用した映像コーディング方法及び装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632611A (zh) * 2012-06-29 2018-10-09 韩国电子通信研究院 视频解码方法、视频编码方法和计算机可读介质
CN104471935A (zh) * 2012-07-11 2015-03-25 高通股份有限公司 具有变换跳过的视频译码中的预测残余块的旋转
CN105165012A (zh) * 2013-04-23 2015-12-16 高通股份有限公司 视频译码中的预测残余块的再定位
CN105264891A (zh) * 2013-06-05 2016-01-20 高通股份有限公司 具有变换跳过、旋转和扫描的残余差分脉码调制(dpcm)扩展和协调
KR20150011787A (ko) * 2013-07-23 2015-02-02 성균관대학교산학협력단 영상 부호화/복호화 방법 및 장치
CN107005717A (zh) * 2014-11-12 2017-08-01 寰发股份有限公司 索引映射编解码中的跳出像素编解码方法
CN107211144A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于预测残差的增强型多重变换
WO2019076290A1 (en) * 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. VARIANT TRANSFORMERS IN SPACE FOR VIDEO CODING

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CE8-4.1 : Rearrangement of the residual block for transform skip;Sunmi Yoo等;Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19–27 March 2019 Document: JVET-N0428_v2;全文 *
CE8-4.2 : Residual Coding for Transform Skip, with various maximum context coded bins;Sunmi Yoo等;Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19–27 March 2019 Document: JVET-N0429_v2;全文 *

Also Published As

Publication number Publication date
CN113841402A (zh) 2021-12-24
US20220385915A1 (en) 2022-12-01
US11870996B2 (en) 2024-01-09
US11490089B2 (en) 2022-11-01
CN113841402B (zh) 2024-03-26
CN113853791A (zh) 2021-12-28
WO2020236719A3 (en) 2020-12-24
WO2020236723A1 (en) 2020-11-26
US20220070465A1 (en) 2022-03-03
CN117221544A (zh) 2023-12-12
WO2020236719A2 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
KR102630415B1 (ko) 코딩 된 비디오의 양자화된 잔차 차동 펄스 코드 변조 표현의 제약
CN113711611B (zh) 用于变换跳过模式中的系数编解码的方法、装置和介质
CN113853791B (zh) 数字视频中的变换旁路编解码残差块
KR20210150387A (ko) 행렬 기반 인트라 예측에 기초한 크로마 코딩 모드 결정
CN113785568B (zh) 变换跳过模式下的信令通知
JP7288083B2 (ja) 符号化ツリー構造タイプに基づく符号化モード
JP2023169300A (ja) イントラコーディングモードにおけるマトリクスの導出
CN113796069B (zh) 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
CN117241018A (zh) 使用滤波的基于矩阵的帧内预测
CN113728647A (zh) 基于矩阵的帧内预测的上下文编码
CN113812160B (zh) 用于屏幕内容编解码的最大可能模式列表构建
CN113892267A (zh) 使用编解码树结构类型控制编解码模式
JPWO2020211807A5 (zh)
RU2815738C2 (ru) Определение режима кодирования цветности на основе внутрикадрового предсказания на основе матрицы
RU2815175C2 (ru) Составление списка наиболее вероятных режимов для матричного внутрикадрового предсказания

Legal Events

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