CN116998150A - 视频编解码中网格量化的状态转换 - Google Patents

视频编解码中网格量化的状态转换 Download PDF

Info

Publication number
CN116998150A
CN116998150A CN202280019630.6A CN202280019630A CN116998150A CN 116998150 A CN116998150 A CN 116998150A CN 202280019630 A CN202280019630 A CN 202280019630A CN 116998150 A CN116998150 A CN 116998150A
Authority
CN
China
Prior art keywords
state transition
quantized
transition diagram
block
elements
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
CN202280019630.6A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Innopeak Technology 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 Innopeak Technology Inc filed Critical Innopeak Technology Inc
Publication of CN116998150A publication Critical patent/CN116998150A/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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

Landscapes

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

Abstract

在一些实施例中,视频编码器或解码器通过相关量化重建视频的块。视频编码器或解码器访问块内的量化的元素,并根据与块相对应的顺序处理量化的元素,以生成相应的去量化的元素。该处理包括从块的量化元素中获得当前量化的元素,并基于当前量化的元素之前的元素的用于量化的先前状态和从两个状态转换图中选择的状态转换图确定用于量化的当前状态。该处理还包括基于当前量化的元素的当前状态确定当前量化的元素的量化器,以及基于量化器去量化当前量化的元素以生成去量化的元素。视频编码器或解码器基于去量化的元素来重建块。

Description

视频编解码中网格量化的状态转换
相关申请的交叉引用
本申请要求于2021年4月2日提交的标题为“Improved State Transition Methodfor Trellis Quantization in Video Coding”的美国临时申请第63/170,040号的优先权权益,该申请通过引用整体并入本文中。
技术领域
本公开总体上涉及用于视频处理的计算机实现的方法和***。具体地,本公开涉及用于视频编解码的网格量化。
背景技术
无处不在的具备摄像功能的设备,如智能手机、平板电脑和电脑,使得捕捉视频或图像比以往任何时候都更容易。然而,即使是短视频的数据量也可能相当大。视频编解码技术(包括视频编码和解码)能够将视频数据压缩成更小的数据量,从而允许更多类型视频的存储和传输。视频编解码已经在广泛的应用中使用,例如数字电视广播、通过互联网和移动网络的视频传输、实时应用(例如,视频聊天、视频会议)、DVD和蓝光光盘等等。为了减少用于存储视频的存储空间和/或用于传输视频的网络带宽消耗,需要提高视频编解码方案的效率。
发明内容
一些实施例涉及用于视频编解码的相关量化。在一个示例中,一种用于重建视频的块的方法包括依据顺序处理块内的多个量化的元素,以生成对应于多个量化的元素的各个去量化的元素。该处理包括从多个量化的元素中获得块内的一个量化的元素;基于所获得的量化的元素之前的量化的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所获得的量化的元素的用于量化的状态,其中,第一状态转换图不同于第二状态转换图;基于所获得的量化的元素的状态确定所获得的量化的元素的量化器;以及使用此量化器去量化所获得的量化的元素,以生成对应于所获得的量化的元素的去量化的元素。该方法还包括基于对应于多个量化的元素的各个去量化的元素来重建块。
在另一个示例中,一种非暂时性计算机可读介质,其中存储有程序代码,并且该程序代码可由一个或多个处理设备执行,以执行以下操作:依据顺序处理视频的块内的多个量化的元素,以生成对应于多个量化的元素的各个去量化的元素,该处理包括:从多个量化的元素中获得块内的一个量化的元素;基于所获得的量化的元素之前的量化的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所获得的量化的元素的用于量化的状态,其中,第一状态转换图不同于第二状态转换图;基于所获得的量化的元素的状态确定所获得的量化的元素的量化器;以及使用此量化器去量化所获得的量化的元素,以生成对应于所获得的量化的元素的去量化的元素。该操作还包括基于对应于多个量化的元素的各个去量化的元素来重建块。
在又一示例中,一个包括处理设备和能与处理设备数据传输的非暂时性计算机可读介质的***。处理设备被配置为执行存储在非暂时性计算机可读介质中的程序代码,以执行以下操作:依据顺序处理视频块内的多个量化的元素以生成对应于多个量化的元素的各个去量化的元素,该处理包括:从多个量化的元素中获得块内的一个量化的元素;基于所获得的量化的元素之前的量化的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所获得的量化的元素的用于量化的状态,其中,第一状态转换图不同于第二状态转换图;基于所获得的量化的元素的当前状态确定所获得的量化的元素的量化器;以及使用此量化器去量化所获得的量化的元素,以生成对应于所获得的量化的元素的去量化的元素。该操作还包括基于对应于多个量化的元素的各个去量化的元素来重建块。
在另一示例中,用于对视频的块进行编码的方法包括依据顺序处理视频的块内多个元素,以生成对应于多个元素的各个量化的元素。该处理包括:从多个元素中获得块内的一个元素;基于所获得的元素之前的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所获得的元素的用于量化的状态,其中,第一状态转换图不同于第二状态转换图;基于所获得的元素的当前状态确定所获得的元素的量化器;以及使用此量化器量化所获得的元素,以生成对应于所获得的元素的量化的元素。该方法还包括将对应于多个元素的各个量化的元素编码到视频的比特流中。
在又一示例中,一种非暂时性计算机可读介质,其中存储有程序代码,并且该程序代码可由一个或多个处理设备执行,以执行以下操作:依据顺序处理视频的块的多个元素,以生成对应于多个元素的各个量化的元素,该处理包括:从多个元素中获得块内的一个元素;基于所获得的元素之前的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所获得的元素的用于量化的状态,其中,第一状态转换图不同于第二状态转换图;基于所获得的元素的当前状态确定所获得的元素的量化器;以及使用此量化器量化所获得的元素,以生成对应于所获得的元素的量化的元素。该操作还包括将对应于多个元素的各个量化的元素编码到视频的比特流中。
一个***包括处理设备和能与处理设备数据传输的非暂时性计算机可读介质。处理设备被配置为执行存储在非暂时性计算机可读介质中的程序代码,以执行以下操作:依据顺序处理视频块的多个元素,以生成对应于多个元素的各个量化的元素,该处理包括:从多个元素中获得块内的一个元素;基于所获得的元素之前的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所获得的元素的用于量化的状态,其中,第一状态转换图不同于第二状态转换图;基于所获得的元素的当前状态确定所获得的元素的量化器;以及使用此量化器量化所获得的元素,以生成对应于所获得的元素的量化的元素。该操作还包括将对应于多个元素的各个量化的元素编码到视频的比特流中。
提及这些说明性实施例不是为了限制或定义本公开,而是为了提供示例以帮助理解本公开。在具体实施方式中讨论了附加的实施例,并且提供了进一步的描述。
附图说明
参考附图阅读下面的具体实施方式能够更好地理解本公开的特征、实施例和优点。
图1示出被配置为实现本公开呈现的实施例的视频编码器的示例的框图。
图2示出被配置为实现本公开呈现的实施例的视频解码器的示例的框图。
图3描绘了根据本公开的一些实施例的视频中的图像的编码树单元划分的示例。
图4描绘了根据本公开的一些实施例的编码树单元的编码单元划分的示例。
图5描绘了用于处理编码块内元素的预定顺序的示例。
图6描绘了在现有的视频编解码技术中用于相关量化的两个量化器的示例。
图7描绘了根据本公开的一些实施例的用于相关量化的状态转换图和相关联的状态转换表的示例。
图8描绘了根据本公开的一些实施例中采用网格量化来量化块中的多个连续系数的可能网格路径的示例。
图9A和9B描绘了根据本公开的一些实施例中采用网格量化来量化块中的多个连续系数的可能网格路径的另一个示例。
图10描绘了根据本公开的一些实施例的用于网格量化的状态转换图和相关联的状态转换表的另一个示例。
图11描绘了根据本公开的一些实施例中使用双状态转换图来量化块中的多个连续系数的可能网格路径的示例。
图12描绘了根据本公开的一些实施例中使用双状态转换图来量化块中的多个连续系数的可能网格路径的另一个示例。
图13描绘了根据本公开的一些实施例中使用具有双状态转换图的网格量化来编码视频的块的过程的示例。
图14描绘了根据本公开的一些实施例中重建通过使用具有双状态转换图的网格量化进行量化的视频的块的过程的示例。
图15描绘了可用于实现本公开的一些实施例的计算***的示例。
具体实施方式
各种实施例均可以提供用于视频编解码的网格量化。如上所述,越来越多的视频数据正在被生成、存储和传输,所以提高视频编解码技术的编解码效率是有益的,这有利于使用较少的数据来呈现视频,同时不损害解码的视频的视觉质量。提高编解码效率的一个方面是改进视频编解码的量化方案。最新的视频编解码标准,例如通用视频编解码(versatile video coding,VVC),已经采用了诸如相关量化的网格量化技术。
在网格量化中,当量化编码块(或“块”)内的元素(例如,残差像素值或残差的变换系数)时,超过一个量化器是可用的。用于量化当前元素的量化器取决于编码块中前一个元素的值。在一些示例中,先前量化的元素的值用于确定用于量化当前元素的量化状态,该量化状态又用于确定当前元素的量化器(在下文中,“用于量化元素的量化状态”也称为“元素的状态”)。由于现有的网格量化方法仅使用一个状态转换图,所以沿着块中的连续元素的量化路径可能遵循具有简单模式的量化路径。例如,量化路径可以指示多个连续元素使用同一标量量化器,或者两个量化器被交替用于连续元素。这些简单的模式量化路径没有充分利用网格量化,大大削弱了网格量化相对于标量量化的优势,从而降低了编码效率。
本公开描述的各种实施例通过引入第二状态转换图并在确定编码块的元素的状态和为该元素选择量化器时使用两个状态转换图来解决这些问题。编码块的元素可以是编码块的帧间或帧内预测之后的残差。该元素可以是频域中残差的变换系数或像素域中残差的值。当确定用于选择用于量化当前元素的量化器的量化状态时,可以使用两个状态转换图中的一个。例如,这两个状态转换图可以在交替模式中使用,使得第一状态转换图用于N个连续元素,第二状态转换图用于接下来的M个连续元素,依此类推。M和N是整数值,M可以等于或小于N。
提供以下非限制性示例来介绍一些实施例。在一个示例中,根据用于量化当前元素的量化状态确定编码块的当前元素的量化器。基于前一个元素的量化状态以及前一个元素的量化的值是否属于量化值的一个子集而非另一个子集来确定用于量化当前元素的量化状态。在一些实现中,如果元素是频域中的变换系数,则根据预定的顺序,例如从最高频率到最低频率,来处理编码块中的元素。在这些示例中,视频编码器或解码器根据预定顺序并基于状态转换图,基于当前元素之前的元素及其对应的量化状态来确定用于量化当前元素的量化状态。
该状态转换图是通过遵循N+M的重复模式在主要状态转换图和次要状态转换图之间交替所确定的。换句话说,主要状态转换图可以用于N个连续元素,然后次要状态转换图用于接下来的M个连续元素。可以重复这种模式,直到处理完块中的所有元素。N和M是整数,N可以等于M或大于M。编码器和解码器都使用相同的N、M和重复模式N+M。与仅使用一个状态转移图来确定当前元素的状态的现有的网格量化方法相比,所提出的方法避免了量化的网格路径被限制于有限数量的简单路径中,从而能够充分利用网格量化相对于标量量化的优势来提高编码效率。
视频编码器可以使用所选择的量化器来量化当前元素,然后可以将用于编码块的量化的元素编码到视频的比特流中。在解码器侧或编码器侧,当为了预测目的重建块时,去量化处理可以使用上述方法确定块中每个量化的元素的量化状态,并且随后确定量化器。所确定的量化器可以用于对元素进行去量化,然后,这些去量化的块的元素可以用于重建视频的块,从而用于显示(在解码器处)或预测其他块或图像(在编码器和解码器处)。本公开提出的技术可以是各种视频编解码标准中的有效编解码工具。
现在参考附图,图1示出了被配置为实现本公开呈现的实施例的视频编码器100的示例的框图。在图1所示的示例中,视频编码器100包括划分模块112、变换模块114、量化模块115、逆量化模块118、逆变换模块119、环内滤波器模块120、帧内预测模块126、帧间预测模块124、运动估计模块122、解码的图像缓冲器130和熵编码模块116。
视频编码器100的输入是包含图像(也称为帧或图片)序列的输入视频102。在基于块的视频编码器中,对于每个图像,视频编码器100采用划分模块112将图像划分为块104,并且每个块包含多个像素。块可以是宏块、编码树单元、编码单元、预测单元和/或预测块。一个图像可以包括不同大小的块,并且视频的不同图像的块划分也可以不同。不同图像可以使用不同的预测(例如帧内预测或帧间预测或帧内和帧间混合预测)来编码每个块。
通常,视频信号的第一图像是帧内编码的图像,其仅使用帧内预测进行编码。帧内预测模式仅使用从同一图像编码的数据来预测图像的块。解码帧内编码的图像可以在没有来自其他图像的信息的情况下完成。为了执行帧内预测,图1所示的视频编码器100可以采用帧内预测模块126。帧内预测模块126被配置为使用同一图像中重建的相邻块136中的重建的样本来生成帧内预测块(预测块134)。帧内预测是根据为块选择的帧内预测模式来执行的。然后,视频编码器100计算原始图像块104和帧内预测块134之间的差。这种差被称为残差块106。
为了进一步从块中去除冗余,通过对块中的样本应用变换,残差块106被变换模块114变换到变换域中。变换的示例可以包括但不限于离散余弦变换(discrete cosinetransform,DCT)或离散正弦变换(discrete sine transform,DST)。变换后的值可称为表示变换域中的残差块的变换系数。在一些示例中,残差块可以被直接量化而不被变换模块114变换。这被称为变换跳过模式。
视频编码器100可以进一步使用量化模块115来量化变换系数,以获得量化的系数。量化包括将样本除以量化步长,随后进行四舍五入,而逆量化涉及将量化的值乘以量化步长。这种量化过程称为标量量化。量化用于减小视频样本(变换的或未变换的)的动态范围,以便使用更少的比特来呈现视频样本。
块内系数/样本的量化可以独立完成,并且这种量化方法被用于一些现有的视频压缩标准,例如H.264和HEVC。对于一个N×M块,可以使用一些扫描顺序将块的2D系数转换成用于系数量化和编解码的1-D阵列。块内系数的量化可以利用扫描顺序信息。例如,块中给定系数的量化可以取决于沿着扫描顺序的先前量化的值的状态。为了进一步提高编解码效率,可以使用超过一个量化器。哪个量化器用于量化当前系数取决于沿着扫描顺序在当前系数之前的编码解码信息。这种量化方法被称为相关量化。
可以使用量化步长来调整量化程度。例如,对于标量量化,可以应用不同的量化步长来实现更精细或更粗糙的量化。较小的量化步长对应于更精细的量化,而较大的量化步长对应于更粗糙的量化。量化步长可以由量化参数(quantization parameter,QP)指示。在视频的编码的比特流中提供量化参数,使得视频解码器可以访问并应用量化参数进行解码。
量化的样本然后由熵编码模块116进行编码,以进一步减小视频信号的大小。熵编码模块116被配置为对量化的样本应用熵编码算法。在一些示例中,量化的样本被二值化为二进制码(bin),并且编码算法进一步将二进制码压缩到比特中。二值化方法的示例包括但不限于,组合的截断莱斯(truncated rice,TR)和有限k阶指数哥伦布(k-th order Exp-Golomb,EGk)二值化,以及k阶指数哥伦布二值化。熵编码算法的示例包括但不限于,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC方案(context adaptiveVLC scheme,CAVLC)、算术编码方案、二值化、上下文自适应二进制算术编码(contextadaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间划分熵(probability interval partitioning entropy,PIPE)编码或其他熵编码技术。熵编码的数据然后被添加到已编码的视频132输出比特流中。
如上所述,在图像的块的帧内预测中使用来自相邻块的重建的块136。生成块的重建的块136的过程涉及计算该块的重建的残差。可以通过对块的量化的残差应用逆量化和逆变换来确定重建的残差。逆量化模块118被配置为对量化的样本应用逆量化以获得去量化的系数。逆量化模块118通过使用与量化模块115相同的量化步长来应用与量化模块115所应用的量化方案相逆的方案。逆变换模块119被配置为将由变换模块114应用的变换的逆变换应用于去量化的样本,例如逆DCT或逆DST。逆变换模块119的输出是像素域中块的重建的残差。可将重建的残差添加到块的预测块134以获得像素域中的重建的块136。对于跳过变换的块,逆变换模块119不应用于那些块。去量化的样本是块的重建的残差。
第一帧内预测图像的后续图像中的块可以使用帧间预测或帧内预测进行编码。在帧间预测中,图像中的块的预测来自一个或多个先前已编码的视频图像。视频编码器100使用帧间预测模块124来执行帧间预测。帧间预测模块124被配置为基于由运动估计模块122提供的运动估计对块执行运动补偿。
运动估计模块122将当前图像的当前块104与解码的参考图像108进行比较,以进行运动估计。解码的参考图像108被存储在解码的图像缓冲器130中。运动估计模块122从解码的参考图像108中选择与当前块最佳匹配的参考块。运动估计模块122进一步识别参考块的位置(例如,x,y坐标)和当前块的位置之间的偏移。该偏移被称为运动矢量(motionvector,MV),并且与所选择的参考块一起被提供给帧间预测模块124。在一些情况下,在多个解码的参考图像108中为当前块识别多个参考块。因此,多个运动矢量被生成并与相应的参考块一起被提供给帧间预测模块124。
帧间预测模块124使用运动矢量以及其他帧间预测参数来执行运动补偿,以生成当前块(即帧间预测块134)的预测。例如,基于运动矢量,帧间预测模块124可以在相应的参考图像中定位由运动矢量指向的预测块。如果存在超过一个预测块,则将这些预测块与一些权重组合以生成用于当前块的预测块134。
对于帧间预测的块,视频编码器100可以从块104减去帧间预测块134以生成残差块106。残差块106可以以与上面讨论的帧内预测的块的残差相同的方式被执行变换、量化和熵编码。同样,可以通过逆量化、逆变换残差并随后与相应的预测块134组合来获得帧间预测的块的重建块136。
为了获得用于运动估计的解码的图像108,重建的块136由环内滤波器模块120处理。环内滤波器模块120被配置为平滑像素过渡,从而改善视频质量。环内滤波器模块120可以被配置为实现一个或多个环内滤波器,诸如去块滤波器、或采样自适应偏移(sample-adaptive offset,SAO)滤波器、或自适应环路滤波器(adaptive loop filter,ALF)等。
图2描绘了被配置为实现本公开呈现的实施例的视频解码器200的示例。视频解码器200处理比特流中的已编码的视频202并生成解码的图像208。在图2所示的示例中,视频解码器200包括熵解码模块216、逆量化模块218、逆变换模块219、环内滤波器模块220、帧内预测模块226、帧间预测模块224和解码的图像缓冲器230。
熵解码模块216被配置为对已编码的视频202进行熵解码。熵解码模块216对量化的系数、包括帧内预测参数和帧间预测参数的编码参数以及其他信息进行解码。在一些示例中,熵解码模块216将已编码的视频202的比特流解码为二进制表示,然后将二进制表示转换为系数的量化级。然后由逆量化模块218对熵解码的系数级进行逆量化,并且随后由逆变换模块219将逆量化的系数逆变换到像素域。逆量化模块218和逆变换模块219的功能分别与如上面图1所述的逆量化模块118和逆变换模块119类似。逆变换后的残差块可以被添加到相应的预测块234以生成重建的块236。对于跳过变换的块,逆变换模块219不应用于那些块。由逆量化模块118生成的去量化的样本用于生成重建的块236。
基于块的预测模式生成特定块的预测块234。如果该块的编码参数指示该块是帧内预测的,则可以将同一图像中的参考块的重建的块236馈送到帧内预测模块226中,以生成该块的预测块234。如果该块的编码参数指示该块是帧间预测的,则由帧间预测模块224生成预测块234。帧内预测模块226和帧间预测模块224的功能分别与图1的帧内预测模块126和帧间预测模块124类似。
如上面图1所讨论的,帧间预测涉及一个或多个参考图像。视频解码器200通过将环内滤波器模块220应用于参考图像的重建的块来生成参考图像的解码的图像208。解码的图像208被存储在解码的图像缓冲器230中,以供帧间预测模块224使用并且还用于输出。
现在参考图3,图3描绘了根据本公开的一些实施例的视频中图像的编码树单元划分的示例。如上面图1和图2所讨论的,为了对视频的图像进行编码,图像被分成块,例如,如图3所示的VVC中的编码树单元(Coding Tree Unit,CTU)302。例如,CTU 302可以是128×128像素的块。根据诸如图3中所示的顺序的顺序来处理CTU。在一些示例中,如图4所示,图像中的每个CTU 302可以被划分为一个或多个编码单元(Coding Unit,CU)402,一个或多个CU可用于预测和变换。根据编码方案,CTU 302可以以不同的方式划分为CU 402。例如,在VVC中,CU 402可以是矩形或正方形,并且可以在不进一步划分为预测单元或变换单元的情况下进行编码。每个CU 402可以与它的根CTU 302一样大,或者也可以小到与CTU 302根块细分成的4×4块一样小。如图4所示,在VVC中将CTU 302划分为CU 402可以是四叉树分割或二叉树分割或三叉树分割。在图4中,实线表示四叉树分割,虚线表示二叉树分割。
相关量化
如上面图1和图2所讨论的,量化用于减小块(包括视频信号中的变换块和变换跳过块)的元素的动态范围,从而使用更少的比特来呈现视频信号。在一些示例中,在量化之前,块的位置处的元素被称为系数。在量化之后,系数的量化的值被称为量化级或级。量化通常由除以量化步长和随后的四舍五入的步骤组成,而逆量化由乘以量化步长的步骤组成。这种量化过程也称为标量量化。块内系数的量化可以独立地执行,并且这种独立量化方法被用于一些现有的视频压缩标准,例如H.264、HEVC等。在其他示例中,相关量化被采用,例如在VVC中。
对于N×M块,可以采用一些扫描顺序将块的2-D系数转换成用于系数量化和编解码的1-D阵列,并且编码和解码使用相同的扫描顺序。图5示出了用于处理编码块的系数的具有预定扫描顺序的编码块的示例。在该示例中,编码块500具有8×8的大小,并且处理从位置的右下角L0开始,并在左上角L63结束。如果块500是变换后的块,则图5所示的预定顺序从最高频率开始到最低频率结束。在一些示例中,根据预定的扫描顺序,块的处理(例如,量化)从块的第一个非零元素开始。例如,如果位置L0-L17处的系数都为零,并且L18处的系数非零,则量化从L18处的系数开始,并按照扫描顺序对L18之后的每个系数进行量化。在相关量化中,块内系数的量化可能要利用扫描顺序信息。例如,它可能取决于沿着扫描顺序的先前量化级的状态。
此外,为了进一步提高编码效率,在相关量化中使用超过一个量化器(例如,两个量化器)。例如,已经开发了使用两个量化器和网格结构的量化方法,例如网格编码量化(trellis coded quantization,TCQ)和VVC中的相关量化(dependent quantization,DQ)。通常,当使用基于网格的量化时,输入信号可以通过不同的量化器进行量化。针对当前信号的特定量化器的使用取决于当前信号之前的量化结果,并且通过构成网格结构的路径来控制,并因此由这些路径来编码。当当前信号的量化结果满足预定条件时,网格量化中的路径分配用于量化下一信号的量化器。在量化下一个信号时,通常有多条路径通向不同的量化器。可以使用类似维特比(Viterbi-like)算法来选择在整个序列的输入和量化输出之间提供最小率失真测量的特定网格路径。与仅使用一个标量量化器相比,网格量化的集体作用通常会导致信号序列的更好的整体性能。
图6示出了相关量化的示例,其中使用了两个量化器,即Q0和Q1。由嵌入在比特流中的量化因子确定量化步长Δ。理想情况下,可以明确指定用于量化当前系数的量化器。然而,用于指定量化器的信号开销会降低编解码效率。可能的替代方式是使用网格结构代替显式信令,即可以通过先前系数的量化级的信息确定和导出当前系数的量化器。例如,可以使用具有四状态模型的网格结构,并且可以使用先前系数的量化级的奇偶性来指导网格路径并控制状态转换,来最终决定哪个量化器将用于量化当前系数。
表1相关量化的状态转移图
两个标量量化器(Q0和Q1)之间的切换是通过具有四个状态的状态机来实现。表1示出了状态转换图的示例。系数的状态可以是如下四个不同值中的一个:0、1、2和3。当前系数的状态可以由编码/解码扫描顺序中紧接在当前系数之前的量化级的奇偶性唯一地确定。在块的编码侧的量化或解码侧的逆量化开始时,状态被设置为默认值,例如0。这些系数按照预定的扫描顺序(即,按照它们被熵解码的相同顺序)被量化或去量化。在一个系数被量化或去量化后,该过程根据扫描顺序移动到下一个系数。下一个系数成为新的当前系数,并且刚刚处理过的系数成为前一个系数。根据表1确定新的当前系数的状态状态i,其中ki-1表示先前系数的量化级的值。索引i表示沿着扫描顺序的系数或量化级的位置。需要注意的是,在本示例中,状态仅取决于前一个系数的状态状态i-1,以及位置i-1处的前一个系数的级ki-1的奇偶性(ki-1&1)。该状态更新过程可以公式化为
状态i=stateTransTable[状态i-1][ki-1&1] (1)
其中,stateTransTable表示表1中所示的表,运算符&指定二进制补码算法中的按位“与”运算符。可选地,也可以在没有查找表的情况下指定状态转换,如下所示:
状态i=(32040>>((状态i-1<<2)+((ki-1&1)<<1)))&3 (2)
其中,16位值32040指定状态转换图。状态唯一地决定所使用的标量量化器。在一个示例中,如果当前系数的状态等于0或1,则使用图6所示的标量量化器Q0。否则(状态等于2或3),使用图6所示的标量量化器Q1。
由图6和表1描绘的相关量化可以扩展到如图7所示的更一般的形式,其中子集A和子集B是不相交的子集并且包括使用量化器Q0生成的所有级,并且子集C和子集D是不相交的子集并且包括使用量化器Q1生成的所有级。使用量化器Q0生成的级可以属于子集A或子集B,但不能两者都属于。类似地,使用量化器Q1生成的级可以属于子集C或子集D,但不能两者都属于。例如,子集A可以包括使用量化器Q0生成的所有奇数量化值,子集B可以包括使用量化器Q0生成的所有偶数量化值。类似地,子集C可以包括使用量化器Q1生成的所有奇数量化值,子集B可以包括使用量化器Q1生成的所有偶数量化值。也可以利用其他方式将使用量化器Q0或Q1生成的量化值划分成两个子集。
在基于网格的量化中,量化级控制状态转换,并且用于当前系数的量化器由先前系数的量化级来调节。通常,在Q0或Q1有两个量化级的子集。如果落入一个子集的量化级的概率强于另一个子集,则信号序列的整体量化质量可能不是最佳的。例如,当使用Q0时,序列中任何输入信号的两个连续量化级可以总是具有来自子集A的一个级和来自子集B的另一个级,或者当使用Q1时,序列中任何输入信号的两个连续量化级来自子集C的一个级和来自子集D的另一个级。在这种情况下,***有最好的机会选择网格路径,该路径可以为整个序列提供比仅使用一个标量量化器更好的整体量化质量。这在图8中示出,其中Cn到Cn+8之间的任何输入系数总是具有从Q0和Q1向前到下一个系数的8个可能路径。在所有可能的网格路径中选择代表预定义成本测量的最小值的网格路径,其在图8中示出为路径802。这样的路径可以通过计算每个级的量化之后的成本测量以及识别将成本测量最小化到当前级所确定的成本测量的下一路径来识别。
根据子集的定义,有时即使来自Q0或Q1的一个子集的最佳量化级也可能仍然大大低于来自同一量化器的另一个子集的级。例如,如果子集B和子集D各自被定义为仅具有一个特定级(例如,等于1的级),则Q0或Q1中的其余级分别被放入子集A或子集C中。当输入信号具有小值时,这种配置在网格量化中可以较好地工作。然而,当输入信号很大并且其对应的量化级远大于1时,与使用来自另一个子集(即子集A或子集C)的级相比,子集B或子集D中的唯一级1通常会生成大的量化失真,并因此生成明显更大的率失真(RD)成本测量。因此,在这种情况下,Q0的子集B或Q1的子集D不太可能将网格路径段贡献给为输入信号的序列选择的最终的最佳网格路径。换句话说,由落在子集B或子集D中的前一级引起的状态转换是罕见的,并且状态转换主要由落在子集A或子集C中的前一级主导。图9A示出了网格量化示例,其中,对于Cn+2到Cn+8之间的输入信号,来自子集A或子集C的最佳级生成比来自Q0的子集B或D1的子集D中的任何级的RD成本测量小得多的RD成本测量。因此,最佳网格路径将从四条路径(路径902-908)中选择。图9A中的虚线表示由子集B或子集D生成的路径,其具有相对于路径902-908的RD成本测量明显更大的RD成本测量。作为简化和加速选择具有最小RD成本测量的网格路径的过程的方法,图9A中的虚线路径可以如图9B中所示被省略。
与图8相比,图9A和9B具有更少的用于以最小的RD成本测量选择Cn+2到Cn+8之间的最佳路径的可能的Q0和Q1组合。此外,图9A和9B中保留的四个路径是简单路径:一个仅使用标量量化器Q0,一个使用标量量化器Q1,以及其它两个简单地在Q0和Q1之间交替。因此,在该示例中,网格量化相对于标量量化的优势被明显削弱。
为了避免在网格量化中总是使用相同的模式来选择连续信号的量化器,可以利用使用双状态转换图的方法。首先,通过交换原始状态转换图中每个状态的控制信号来创建第二状态转换图。作为示例,可以针对图7所示的原始状态转换图来创建图10所示的第二状态转换图。在图7中,当先前的量化级ki-1分别来自子集A或子集B时,状态S0将进行到状态S0或状态S2。然而,在图10中,当先前量化级ki-1分别来自子集A或子集B时,状态S0将进行到状态S2或状态S0。图7和图10中的其他状态具有类似的关系。在对输入信号的序列进行网格量化的过程中,第二图可以用于替换第一图。例如,两个图的使用可以用N+M的重复模式来描述。其中,N表示用第一状态转换图量化的连续信号的数量,跟随其后的是用第二状态转换图量化的M个连续信号。改变状态转换图的方案不局限于上述N+M模式。注意,与量化过程中使用的模式相同的模式也要用于逆量化过程,这可以通过对使用的实际的N和M进行编码并将编码后的N和M加到比特流中来实现。这样,解码器可以从比特流中提取N和M的值,以使用相同的N+M模式来执行逆量化。
在一个实施例中,图10所示的第二状态转换图被用作图7所示的第一状态转换图的补充。换句话说,大多数状态转换仍然通过遵循第一图来执行,并且第二图用于“中断”长量化路径,其中相同的量化器用于多个连续信号。图11示出了当两个图在Cn+1之后以固定模式N=2和M=1交替时图9A的新状态转换。如图所示,图10所示的第二图仅在Cn+3和Cn+6的状态转换中使用,其余的状态转换仍然遵循图7所示的原始图。从图11可以看出,图9A和9B中的两条长路径在图11中不再存在。
在另一个实施例中,图10所示的第二状态转换图与图7所示的第一状态转换图交替,使得这两个图被平均地使用。图12示出了当两个图在Cn之后以N=2和M=2交替时图9的新状态转换。在本示例中,每个图每次仅用于两个连续的信号。如图12所示,状态转换图的切换发生在Cn+2、Cn+4和Cn+6处。在Cn、Cn+1、Cn+4、Cn+5和Cn+8处的状态转换中使用图7所示的原始图,并且在Cn+2、Cn+3、Cn+6和Cn+7处的状态转换中使用图10所示的第二图。图9中的两条长路径在图12中不再存在。
需要注意的是,虽然上面描述的第一状态转换图是图7中所示的图,并且第二状态转换图是图10中所示的图,但是也可以采用其他设置。例如,图10所示的图或其他图可用作第一状态转换图,图7所示的图或其他图可用作第二状态转换图。可以从块的任何元素开始双状态转换图的重复交替N+M模式。在使用双状态转换图之前,可以如上所述地使用状态转换图中的一个,以用于相关量化。例如,重复交替的N+M模式可以应用于块内的某一组元素(从开始元素到结束元素)或块中需要量化的所有元素。可以通过在视频的比特流中条带级、图像级或序列级编入标志信号来指示交替模式是应用于所有元素还是一组元素。如果交替模式应用于一组元素,则还可以使用在条带级、图像级或序列级的视频的比特流中的标志指示起始元素和结束元素。以这种方式,条带、图像或序列中的块可以以相同的方式应用交替模式。类似地,重复交替的N+M模式也可以通过从特定图像之后开始并在另一特定图像处结束的方式来应用于特定图像。可以使用视频的比特流中的标志信号来指示开始图像和结束图像。在其他示例中,交替模式应用于一组图像(group of picture,GOP)中的整个序列。可以使用比特流中的一个或多个标志信号来指示交替模式是应用于GOP中的整个序列还是序列的一部分。
图13描绘了根据本公开的一些实施例的经由具有双状态转换图的网格量化来编码视频的块的过程1300的示例。一个或多个计算设备(例如,实现视频编码器100的计算设备)通过执行合适的程序代码(例如,实现量化模块115的程序代码)来实现图13中描绘的操作。出于说明的目的,参考附图中描绘的一些示例来描述过程1300。然而,其他实现是可能的。
在框1302处,过程1300涉及访问视频信号的编码块(或块)。该块可以是输入视频的图像的一部分,例如图4中讨论的编码单元402,或者在执行量化时由视频编码器作为一个单元进行处理的任何类型的块。
在包括过程1306-1312的框1304,过程1300涉及根据块的预定扫描顺序(例如,图5所示的扫描顺序)来处理块中的每个元素,以生成量化的元素。编码块的元素可以是帧间或帧内预测之后的残差。该元素可以是频域中残差的变换系数或像素域中残差的值。
在框1306处,过程1300涉及根据扫描顺序检索当前元素。如果对于当前块还没有元素被量化,则根据扫描顺序,当前元素将是块中的第一个元素。如上面图5所讨论的,在一些情况下,视频编码器根据扫描顺序从块中的第一个非零元素开始执行量化。在这些情况下,当前元素将是块中的第一个非零元素。如果块中已经有量化的元素,则当前元素将是扫描顺序中最后处理的元素之后的元素。
在框1308处,过程1300涉及基于当前元素之前的元素的状态和状态转换图来确定当前元素的当前状态。如对图10-12的详细描述,可以从两个可选状态转换图中选择状态转换图。在一些示例中,两个状态转换图包括图7所示的状态转换图和图10所示的状态转换图。当前的状态转换图可以从第一状态转换图开始,然后从这两个状态转换图中选择,使得在切换到第二状态转换图之前,第一状态转换图用于N个连续元素,并且在切换回到第一状态转换图之前,第二状态转换图用于M个连续元素。其中,M和N是整数值,并且M可以等于N或小于N。
在一个实施方式中,图7所示的状态转换图是第一状态转换图,图10所示的状态转换图是第二状态转换图。如果当前元素是块中的第一个元素,则可以设置默认状态(例如,状态0)。如果当前元素是块中的第二个元素,则第一状态转换图可以与第一个元素的量化的值一起用于确定状态。例如,根据图7所示的状态转换图,如果第一个元素的量化的值属于子集A,并且第一个元素的状态是S0,则当前元素的当前状态是状态S0。除了在将第一状态转换图用于N个连续元素之后将状态转换图切换到第二状态转换图以及在将第二状态转换图用于M个连续元素之后将状态转换图切换回第一状态转换图之外,可以以类似的方式通过状态转换图确定块的任何后续元素的状态。
在框1310处,过程1300涉及根据状态与量化器之间的映射,基于当前元素的状态确定当前元素的量化器。例如,如果图7和10中的状态转换图被用于确定当前元素的当前状态,则如果当前状态是S0或S1,则量化器可以被确定为Q0,如果当前状态是S2或S3,则量化器可以被确定为Q1。在框1312处,过程1300涉及使用所确定的量化器量化当前元素以生成量化的元素。在框1314处,过程1300涉及对块的量化的元素(量化级)进行编码以包括在视频的比特流中。编码可以包括如上面图1所讨论的熵编码。
图14描绘了根据本公开的一些实施例的用于经由具有双状态转换图的网格去量化来重建视频的块的过程1400的示例。一个或多个计算设备通过执行合适的程序代码来实现图14中描绘的操作。例如,实现视频编码器100的计算设备可以通过执行逆量化模块118的程序代码来实现图14中描绘的操作。实现视频解码器200的计算设备可以通过执行逆量化模块218的程序代码来实现图14中描绘的操作。出于说明的目的,参考附图中描绘的一些示例来描述过程1400。然而,其他实现是可能的。
在框1402处,过程1400涉及访问视频信号的编码块的量化的元素(量化级)。该块可以是输入视频的图像的一部分,例如图4中讨论的编码单元402,或者在执行去量化时由视频编码器或解码器作为单元处理的任何类型的块。对于编码器,可以通过量化块的元素来获得量化的元素。对于解码器,可以通过对从视频的已编码的比特流解析的二进制串执行熵解码来获得量化的元素。
在框1404(包括1406-1412)处,过程1400涉及根据块的预定扫描顺序(例如,图5所示的扫描顺序)处理块的每个量化的元素,以生成去量化的元素。在框1406处,过程1400涉及根据扫描顺序检索当前量化的元素。如果当前块中还没有量化的元素被去量化,则当前量化的元素将是根据扫描顺序的块的第一个量化的元素。如上面图5所讨论的,在一些情况下,视频编码器根据扫描顺序从块中的第一个非零元素开始执行量化。在这些情况下,第一个量化的元素将是块中的第一非零量化级。如果块中存在已经被去量化的元素,则当前量化的元素将是扫描顺序中最后一个去量化的元素之后的量化级。
在框1408处,过程1400涉及基于状态转换图和当前元素之前的量化的元素的状态来确定当前量化的元素的当前状态。如图10-12详细描述的,可以从两个可选状态转换图中选择状态转换图。在一些示例中,两个状态转换图包括图7所示的状态转换图和图10所示的状态转换图。状态转换图可以从第一状态转换图开始,然后从这两个状态转换图中选择,使得在切换到第二状态转换图之前,第一状态转换图用于N个连续元素,并且在切换到第一状态转换图之前,第二状态转换图用于M个连续元素。其中,M和N是整数值,并且M可以等于N或小于N。在一些示例中,M和N的值可以被编解码在视频的比特流中并被传输到解码器侧。
在一个实施方式中,图7所示的状态转换图是第一状态转换图,图10所示的状态转换图是第二状态转换图。如果当前量化的元素是块中的第一个元素,则可以设置默认状态(例如,状态0)。如果当前量化的元素是块中的第二个元素,则第一状态转换图可以与第一个元素的量化的值一起用于确定状态。例如,根据图7所示的状态转换图,如果第一个元素的量化的值属于子集A,并且第一个元素的状态是S0,则当前元素的当前状态是状态S0。除了在将第一状态转换图用于N个连续量化的元素之后将状态转换图切换到第二状态转换图以及在将第二状态转换图用于M个连续量化的元素之后将状态转换图切换回第一状态转换图之外,可以类似地确定块的任何后续量化的元素的状态。
在框1410处,过程1400涉及根据状态与量化器之间的映射,基于当前元素的当前状态确定当前量化的元素的量化器。例如,如果图7和10中的状态转换图被用于确定当前量化的元素的当前状态,则如果当前状态是S0或S1,则量化器可以被确定为Q0,如果当前状态是S2或S3,则量化器可以被确定为Q1。在框1412处,过程1400涉及使用所确定的量化器去量化当前量化的元素以生成去量化的元素。在框1414处,过程1400涉及基于去量化的块的元素在像素域中重建块。重建可以包括如上面图1和图2所讨论的逆变换。如上文图1和图2所述的,重建的块还可用于由编码器或解码器对视频中的其他块或图像执行帧内或帧间预测。还可以进一步处理重建的块以生成解码的块,解码的块用于在解码器侧与图像中的其他解码的块一起显示。
应当注意,可以在视频的编码和解码期间使用除了图7和图10中所示的状态转换图之外的状态转换图。此外,虽然在上述描述中,相关量化被应用于视频编解码,但是相同的技术也可以应用于图像编解码。例如,如上所述,当压缩图像时,图像可以被划分成块,并且每个块的元素(变换或没有变换)可以被量化。如上所述,可以通过对每个块中的元素进行去量化来执行图像的去压缩。
用于实现视频编解码的相关量化的计算***示例
任何合适的计算***都可以用于执行本公开描述的操作。例如,图15描绘了可实现图1的视频编码器100或图2的视频解码器200的计算设备1500的示例。在一些实施例中,计算设备1500可以包括处理器1512,与处理器1512数据通信连接在一起的存储器1514,并且执行计算机可执行程序代码和/或访问存储在存储器1514中的信息。处理器1512可以包括微处理器、专用集成电路(application-specific integrated circuit,“ASIC”)、状态机或其他处理设备。处理器1512可以包括任何数量的处理设备(包括一个处理设备)。这样的处理器可以包括存储指令的计算机可读介质,或者可以与存储指令的计算机可读介质数据通信,当由处理器1512执行指令时,使得处理器执行本公开描述的操作。
存储器1514可以包括任何合适的非暂时性计算机可读介质。计算机可读介质可以包括能够向处理器提供计算机可读指令或其他程序代码的任何电子、光学、磁性或其他存储设备。计算机可读介质的非限制性示例包括磁盘、存储器芯片、ROM、RAM、ASIC、配置的处理器、光学存储器、磁带或其他磁存储器、或计算机处理器可以从中读取指令的任何其他介质。指令可以包括由编译器和/或解释器从用任何合适的计算机编程语言编写的代码生成的处理器特定指令,计算机编程语言包括例如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript和ActionScript。
计算设备1500还可以包括总线1516。总线1516可以在计算设备1500的一个或多个组件之间实现数据通信连接。计算设备1500还可以包括多个外部或内部设备,例如输入或输出设备。例如,计算设备1500被示出具有输入/输出(“I/O”)接口1518,该接口1518可以从一个或多个输入设备1520接收输入或者向一个或多个输出设备1522提供输出。一个或多个输入设备1520和一个或多个输出设备1522可以通过数据通信的方式耦合到I/O接口1518。数据通信耦合可以通过任何合适的方式(例如,通过印刷电路板的连接、通过电缆的连接、通过无线传输的通信等)实现。输入设备1520的非限制性示例包括触摸屏(例如,用于对触摸区域成像的一个或多个相机或用于检测由触摸引起的压力变化的压力传感器)、鼠标、键盘或可用于响应于计算设备的用户的物理动作生成输入事件的任何其他设备。输出设备1522的非限制性示例包括LCD屏幕、外部监视器、扬声器或可用于显示或以其他方式呈现由计算设备生成的输出的任何其他设备。
计算设备1500可以执行将处理器1512配置为执行上面图1-14描述的一个或多个操作的程序代码。程序代码可以包括视频编码器100或视频解码器200。程序代码可以驻留在存储器1514或任何合适的计算机可读介质中,并且可以由处理器1512或任何其他合适的处理器执行。
计算设备1500还可以包括至少一个网络接口设备1524。网络接口设备1524可以包括适合于建立一个或多个数据网络1528的有线或无线数据连接的任何设备或设备组。网络接口设备1524的非限制性示例包括以太网网络适配器、调制解调器等。计算设备1500可以经由网络接口设备1524以电子信号或光信号的形式传输消息。
一般注意事项
本文阐述了许多细节,以提供对所要求保护的主题的透彻理解。然而,本领域技术人员将理解,所要求保护的主题可以在没有这些细节的情况下实施。在其他情况下,没有详细描述普通技术人员已知的方法、装置或***,以便不模糊要求保护的主题。
除非特别说明,否则应当理解,在整个说明书中,利用诸如“过程”、“计算”、“核算”、“确定”和“识别”等类似术语的讨论是指计算设备的动作或过程,例如操纵或转换在计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内表示为实际的电磁数据的一个或多个计算机或一个或多个类似的电子计算设备。
本公开讨论的一个或多个***不限于任何特定的硬件架构或配置。一个计算设备可以包括任何合适设置下的组件,从而在一个或多个输入的情况下生成一个输出结果。合适的计算设备包括访问存储的软件的基于多用途微处理器的计算机***,该存储的软件对从通用计算装置到实现本主题的一个或多个实施例的专用计算装置的计算***进行编程或配置。任何合适的编程、脚本或其他类型的语言或语言的组合都可以用于在编程或配置计算设备时使用的软件中实现本公开包含的教导。
本公开公开的方法的实施例可以在这种计算设备的操作中执行。以上示例中呈现的块的顺序可以变化——例如,块可以被重新排序、组合和/或分解成子块。一些框或过程可以并行执行。
此处使用“适于”或“配置为”意味着开放和包容性的语言,其不排除适于或配置为执行附加任务或步骤的设备。此外,“基于”的使用意味着开放和包容,因为“基于”一个或多个所列举的条件或值的过程、步骤、计算或其他动作在实践中可以基于所列举的条件或值之外的附加条件或值。本公开包含的标题、列表和编号只是为了便于解释,并不意味着限制。
尽管已经关于其具体实施例详细描述了本主题,但是应当理解,本领域技术人员在获得对前述内容的理解后,可以容易地获得对这些实施例的变更、变化和等同物。因此,应该理解,本公开是出于示例而非限制的目的而呈现的,并且不排除包括对本领域普通技术人员显而易见的对本主题的这种修改、变化和/或添加。

Claims (40)

1.一种用于重建视频的块的方法,所述方法包括:
依据顺序处理所述块内的多个量化的元素,以生成对应于所述多个量化的元素的各个去量化的元素,所述处理包括:
从所述多个量化的元素中获得所述块内的量化的元素;
基于所述获得的量化的元素之前的量化的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所述获得的量化的元素的用于量化的状态,其中,所述第一状态转换图不同于所述第二状态转换图;
基于所述获得的量化的元素的所述状态确定所述获得的量化的元素的量化器;以及
使用所述量化器去量化所述获得的量化的元素,以生成对应于所述获得的量化的元素的去量化的元素;以及
基于对应于所述多个量化的元素的所述各个去量化的元素来重建所述块。
2.根据权利要求1所述的方法,其中,所述块内的所述多个量化的元素包括所述块的量化的像素或所述块的量化的变换系数。
3.根据权利要求1所述的方法,其中,根据交替模式从所述第一状态转换图和所述第二状态转换图中选择所述状态转换图,在所述交替模式中,在切换到所述第二状态转换图之前,所述第一状态转换图用于N个连续量化的元素,并且在切换到所述第一状态转换图之前,所述第二状态转换图用于M个连续量化的元素,其中,M和N是整数值。
4.根据权利要求3所述的方法,其中,M和N的值被编码在所述视频的比特流中。
5.根据权利要求3所述的方法,其中,所述交替模式被应用于包括图像的所述视频的图像序列或者包括所述图像的所述图像序列的一部分,所述图像包括所述块。
6.根据权利要求3所述的方法,其中M<N或M=N。
7.根据权利要求3所述的方法,其中,所述第一状态转换图包括:
并且所述第二状态转换图包括:
其中Si,i=0、…、3表示在当前量化的元素之前的元素和所述当前量化的元素的可能状态,并且ki-1表示在所述当前量化的元素之前的元素的值;子集A和子集B是由第一量化器生成的量化的值的子集;子集C和子集D是由第二量化器生成的量化的值的子集。
8.一种非暂时性计算机可读介质,其中存储有程序代码,所述程序代码可由一个或多个处理设备执行,以执行以下操作:
依据顺序处理视频的块内的多个量化的元素,以生成对应于所述多个量化的元素的各个去量化的元素,所述处理包括:
从所述多个量化的元素中获得所述块内的量化的元素;
基于所述获得的量化的元素之前的量化的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所述获得的量化的元素的用于量化的状态,其中,所述第一状态转换图不同于所述第二状态转换图;
基于所述获得的量化的元素的所述当前状态确定所述获得的量化的元素的量化器;以及
使用所述量化器去量化所述获得的量化的元素,以生成对应于所述获得的量化的元素的去量化的元素;以及
基于对应于所述多个量化的元素的所述各个去量化的元素来重建所述块。
9.根据权利要求8所述的非暂时性计算机可读介质,其中,所述块内的所述多个量化的元素包括所述块的量化的像素或所述块的量化的变换系数。
10.根据权利要求8所述的非暂时性计算机可读介质,其中,根据交替模式从所述第一状态转换图和所述第二状态转换图中选择所述状态转换图,在所述交替模式中,在切换到所述第二状态转换图之前,所述第一状态转换图用于N个连续量化的元素,并且在切换到所述第一状态转换图之前,所述第二状态转换图用于M个连续量化的元素,其中,M和N是整数值。
11.根据权利要求10所述的非暂时性计算机可读介质,其中,M和N的值被编码在所述视频的比特流中。
12.根据权利要求10所述的非暂时性计算机可读介质,其中,所述交替模式被应用于包括图像的所述视频的图像序列或者包括所述图像的所述图像序列的一部分,所述图像包括所述块。
13.根据权利要求10所述的非暂时性计算机可读介质,其中M<N或M=N。
14.根据权利要求10所述的非暂时性计算机可读介质,其中,所述第一状态转换图包括:
并且所述第二状态转换图包括:
其中Si,i=0、…、3表示在当前量化的元素之前的元素和所述当前量化的元素的可能状态,并且ki-1表示在所述当前量化的元素之前的元素的值;子集A和子集B是由第一量化器生成的量化的值的子集;子集C和子集D是由第二量化器生成的量化的值的子集。
15.一种***,包括:
处理设备;以及
以数据通信及交换的方式连接到所述处理设备的非暂时性计算机可读介质,其中,所述处理设备被配置为执行存储在所述非暂时性计算机可读介质中的程序代码,以执行以下操作:
依据顺序处理视频的块内的多个量化的元素,以生成对应于所述多个量化的元素的各个去量化的元素,所述处理包括:
从所述多个量化的元素中获得所述块内的量化的元素;
基于所述获得的量化的元素之前的量化的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所述获得的量化的元素的用于量化的状态,其中,所述第一状态转换图不同于所述第二状态转换图;
基于所述获得的量化的元素的所述当前状态确定所述获得的量化的元素的量化器;以及
使用所述量化器去量化所述获得的量化的元素,以生成对应于所述获得的量化的元素的去量化的元素;以及
基于对应于所述多个量化的元素的所述各个去量化的元素来重建所述块。
16.根据权利要求15所述的***,其中,所述块内的所述多个量化的元素包括所述块的量化的像素或所述块的量化的变换系数。
17.根据权利要求15所述的***,其中,根据交替模式从所述第一状态转换图和所述第二状态转换图中选择所述状态转换图,其中,在所述交替模式中,在切换到所述第二状态转换图之前,所述第一状态转换图用于N个连续量化的元素,并且在切换到所述第一状态转换图之前,所述第二状态转换图用于M个连续量化的元素,其中M和N是整数值,且M<N或M=N。
18.根据权利要求17所述的***,其中,M和N的值被编码在所述视频的比特流中。
19.根据权利要求17所述的***,其中,所述交替模式被应用于包括图像的所述视频的图像序列或者包括所述图像的所述图像序列的一部分,所述图像包括所述块。
20.根据权利要求17所述的***,其中,所述第一状态转换图包括:
并且所述第二状态转换图包括:
其中Si,i=0、…、3表示在当前量化的元素之前的元素和所述当前量化的元素的可能状态,并且ki-1表示在所述当前量化的元素之前的元素的值;子集A和子集B是由第一量化器生成的量化的值的子集;子集C和子集D是由第二量化器生成的量化的值的子集。
21.一种用于对视频的块进行编码的方法,所述方法包括:
依据顺序处理所述视频的块的多个元素,以生成对应于所述多个元素的各个量化的元素,所述处理包括:
从所述多个元素中获得所述块的元素;
基于所述获得的元素之前的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所述获得的元素的用于量化的状态,其中,所述第一状态转换图不同于所述第二状态转换图;
基于所述获得的元素的当前状态确定所述获得的元素的量化器;以及
使用所述量化器量化所述获得的元素,以生成对应于所述获得的元素的量化的元素;以及
将对应于所述多个元素的所述各个量化的元素编码到所述视频的比特流中。
22.根据权利要求21所述的方法,其中,所述块的所述多个元素包括所述块的像素或所述块的变换系数。
23.根据权利要求21所述的方法,其中,根据交替模式从所述第一状态转换图和所述第二状态转换图中选择所述状态转换图,在所述交替模式中,在切换到所述第二状态转换图之前,所述第一状态转换图用于N个连续元素,并且在切换到所述第一状态转换图之前,所述第二状态转换图用于M个连续元素,其中M和N是整数值。
24.根据权利要求23所述的方法,还包括:
将M和N的值编码到所述视频的比特流中。
25.根据权利要求23所述的方法,其中,所述交替模式被应用于包括图像的所述视频的图像序列或者包括所述图像的所述图像序列的一部分,所述图像包括所述块。
26.根据权利要求23所述的方法,其中M≤N。
27.根据权利要求23所述的方法,其中,所述第一状态转换图包括:
并且所述第二状态转换图包括:
其中Si,i=0、…、3表示在当前元素之前的元素和所述当前元素的可能状态,并且ki-1表示所述在所述当前元素之前的元素的量化的值;子集A和子集B是由第一量化器生成的量化的值的子集;子集C和子集D是由第二量化器生成的量化的值的子集。
28.一种非暂时性计算机可读介质,其中存储有程序代码,所述程序代码可由一个或多个处理设备执行,以执行以下操作:
依据顺序处理视频的块的多个元素,以生成对应于所述多个元素的各个量化的元素,所述处理包括:
从所述多个元素中获得所述块的元素;
基于所述获得的元素之前的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所述获得的元素的用于量化的状态,其中,所述第一状态转换图不同于所述第二状态转换图;
基于所述获得的元素的当前状态确定所述获得的元素的量化器;以及
使用所述量化器量化所述获得的元素,以生成对应于所述获得的元素的量化的元素;以及
将对应于所述多个元素的所述各个量化的元素编码到所述视频的比特流中。
29.根据权利要求28所述的非暂时性计算机可读介质,其中,与所述块相关联的元素包括所述块的像素或所述块的变换系数。
30.根据权利要求28所述的非暂时性计算机可读介质,其中,根据交替模式从所述第一状态转换图和所述第二状态转换图中选择所述状态转换图,在所述交替模式中,在切换到所述第二状态转换图之前,所述第一状态转换图用于N个连续元素,并且在切换到所述第一状态转换图之前,所述第二状态转换图用于M个连续元素,其中M和N是整数值。
31.根据权利要求30所述的非暂时性计算机可读介质,其中,所述操作还包括:
将M和N的值编码到所述视频的比特流中。
32.根据权利要求30所述的非暂时性计算机可读介质,其中M<N或M=N。
33.根据权利要求30所述的非暂时性计算机可读介质,其中,所述交替模式被应用于包括图像的所述视频的图像序列或者包括所述图像的所述图像序列的一部分,所述图像包括所述块。
34.根据权利要求30所述的非暂时性计算机可读介质,其中,所述第一状态转换图包括:
并且所述第二状态转换图包括:
其中Si,i=0、...、3表示在当前元素之前的元素和所述当前元素的可能状态,并且ki-1表示所述在所述当前元素之前的元素的量化的值;子集A和子集B是由第一量化器生成的量化的值的子集;子集C和子集D是由第二量化器生成的量化的值的子集。
35.一种***,包括:
处理设备;以及
以数据通信及交换的方式连接到所述处理设备的非暂时性计算机可读介质,其中,所述处理设备被配置为执行存储在所述非暂时性计算机可读介质中的程序代码,以执行以下操作:
依据顺序处理视频的块的多个元素,以生成对应于所述多个元素的各个量化的元素,所述处理包括:
从所述多个元素中获得所述块的元素;
基于所述获得的元素之前的元素的用于量化的状态和从第一状态转换图和第二状态转换图中选择的状态转换图,确定所述获得的元素的用于量化的状态,其中,所述第一状态转换图不同于所述第二状态转换图;
基于所述获得的元素的当前状态确定所述获得的元素的量化器;以及
使用所述量化器量化所述获得的元素,以生成对应于所述获得的元素的量化的元素;以及
将对应于所述多个元素的所述各个量化的元素编码到所述视频的比特流中。
36.根据权利要求35所述的***,其中,所述块的所述多个元素包括所述块的像素或所述块的变换系数。
37.根据权利要求35所述的***,其中,根据交替模式从所述第一状态转换图和所述第二状态转换图中选择所述状态转换图,在所述交替模式中,在切换到所述第二状态转换图之前,所述第一状态转换图用于N个连续元素,并且在切换到所述第一状态转换图之前,所述第二状态转换图用于M个连续元素,其中M和N是整数值,且M≤N。
38.根据权利要求37所述的***,其中所述操作还包括:
将M和N的值编码到所述视频的比特流中。
39.根据权利要求37所述的***,其中,所述交替模式被应用于包括图像的所述视频的图像序列或者包括所述图像的所述图像序列的一部分,所述图像包括所述块。
40.根据权利要求37所述的***,其中,所述第一状态转换图包括:
并且所述第二状态转换图包括:
其中Si,i=0、…、3表示在当前元素之前的元素和所述当前元素的可能状态,并且ki-1表示所述在所述当前元素之前的元素的量化的值;子集A和子集B是由第一量化器生成的量化的值的子集;子集C和子集D是由第二量化器生成的量化的值的子集。
CN202280019630.6A 2021-04-02 2022-04-01 视频编解码中网格量化的状态转换 Pending CN116998150A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163170040P 2021-04-02 2021-04-02
US63/170,040 2021-04-02
PCT/US2022/071502 WO2022213122A1 (en) 2021-04-02 2022-04-01 State transition for trellis quantization in video coding

Publications (1)

Publication Number Publication Date
CN116998150A true CN116998150A (zh) 2023-11-03

Family

ID=83459941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280019630.6A Pending CN116998150A (zh) 2021-04-02 2022-04-01 视频编解码中网格量化的状态转换

Country Status (2)

Country Link
CN (1) CN116998150A (zh)
WO (1) WO2022213122A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
CN101107862B (zh) * 2005-03-14 2010-05-26 松下电器产业株式会社 编码装置及具备编码装置的动态图像记录***
US9571849B2 (en) * 2011-01-04 2017-02-14 Blackberry Limited Coding of residual data in predictive compression
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding

Also Published As

Publication number Publication date
WO2022213122A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
US9888249B2 (en) Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters
KR101947658B1 (ko) 영상 복호화 방법 및 장치
WO2012134204A2 (ko) 인 루프 필터링 방법 및 그 장치
KR20160101925A (ko) 데이터 인코딩 및 디코딩
EP3402200A1 (en) Image decoding apparatus
JP7351908B2 (ja) エンコーダ、デコーダ、および対応するブロック解除フィルタ適応の方法
JP7439841B2 (ja) ループ内フィルタリングの方法及びループ内フィルタリングの装置
JP2020537468A (ja) ビデオコーディングのための空間変動変換
KR20130045151A (ko) 복원 블록을 생성하는 방법 및 장치
EP4246975A1 (en) Video decoding method and apparatus, video coding method and apparatus, and device
WO2023028555A1 (en) Independent history-based rice parameter derivations for video coding
CN116982262A (zh) 视频编码中依赖性量化的状态转换
CN115086664A (zh) 未匹配像素的解码方法、编码方法、解码器以及编码器
CN116998150A (zh) 视频编解码中网格量化的状态转换
CN116965028A (zh) 用于视频编码的剩余等级二值化
WO2022217245A1 (en) Remaining level binarization for video coding
CN117981323A (zh) 使用可选的基于神经网络的编码工具的视频编码
KR20240089011A (ko) 선택 가능한 뉴럴 네트워크 기반 코딩 도구를 사용하는 비디오 코딩
CN117981306A (zh) 用于视频编码的独立基于历史的莱斯参数推导
CN118216153A (zh) 用于视频编码的初始化处理
JP2022548685A (ja) 画像データの符号化及び復号化
CN118020294A (zh) 用于视频编码的基于历史的rice参数推导
CN117837148A (zh) 用于视频编解码的基于历史的莱斯编码参数推导
CN117837144A (zh) 用于多功能视频编码的操作范围扩展
WO2023212684A1 (en) Subblock coding inference in video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20240410

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Country or region after: China

Address before: 2479 Bay East Road, Palo Alto, California, USA, Room 110

Applicant before: Chuangfeng Technology

Country or region before: U.S.A.

TA01 Transfer of patent application right