CN112385214A - 熵编码和解码视频数据的方法和装置 - Google Patents

熵编码和解码视频数据的方法和装置 Download PDF

Info

Publication number
CN112385214A
CN112385214A CN201980044478.5A CN201980044478A CN112385214A CN 112385214 A CN112385214 A CN 112385214A CN 201980044478 A CN201980044478 A CN 201980044478A CN 112385214 A CN112385214 A CN 112385214A
Authority
CN
China
Prior art keywords
binary string
decoding
transform coefficients
coded
coded binary
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
CN201980044478.5A
Other languages
English (en)
Inventor
穆罕默德·葛兰·沙沃尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Singapore Pte Ltd
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 MediaTek Singapore Pte Ltd filed Critical MediaTek Singapore Pte Ltd
Priority to CN202310927439.8A priority Critical patent/CN116800963A/zh
Publication of CN112385214A publication Critical patent/CN112385214A/zh
Pending legal-status Critical Current

Links

Images

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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本文描述的技术涉及被配置为编码和/或解码视频数据的方法、装置和计算器可读介质。确定用于对当前数据单元进行帧内预测编码的预测模式,其中,所确定的预测模式是针对当前数据单元确定的多个最可能模式中的最可能模式。使用编码二进制字符串对所确定的预测模式的MPM信息进行编码,包括基于该编码二进制字符串是否是用于MPM信息的第一编码二进制字符串来对该编码二进制字符串进行上下文编码。

Description

熵编码和解码视频数据的方法和装置
技术领域
本文描述的技术通常涉及视频数据的熵编码和解码方面,并且具体地涉及对变换系数和帧内模式预测模式进行编码。
背景技术
各种视频编码技术可以用于编码视频,例如用于存储和/或传输。视频编码技术还可提供对编码视频进行解码以进行回放的功能。视频编解码器可以包括压缩和/或解压缩数字视频的电子电路和/或软件。存在各种视频编码标准,并且视频编解码器通常符合一种或多种视频编码标准。例如,高效视频编码(HEVC)是由视频编码联合协作团队(JCT-VC)开发的国际视频编码标准。作为另一个示例,通用视频编码(VVC)视频编码标准是联合视频专家团队(JVET)正在开发的另一种国际视频编码标准。许多视频编码标准,包括HEVC和VVC,都使用空间和时间压缩。压缩过程可以通过生成残差数据来对视频数据进行编码,该残差数据可以进行变换、量化和熵编解码以生成结果比特流,并且同样可以通过对比特流进行熵解码,逆量化和逆变换数据来重构残差数据来进行解码,并最终生成图像。
发明内容
根据所公开的主题,提供了用于沉浸式媒体内容覆盖的装置、系统和方法。
一些实施例涉及用于编码视频数据的编码方法。该方法包括确定用于对当前数据单元进行帧内预测编码的预测模式,其中,所确定的预测模式是针对当前数据单元确定的多个最可能模式中的最可能模式(MPM);以及使用编码二进制字符串对所确定的预测模式的MPM信息进行编码,包括基于编码二进制字符串是否为MPM信息的第一编码二进制字符串对编码二进制字符串进行上下文编解码。
在一些示例中,如果编码二进制字符串是第一编码二进制字符串,则使用编码二进制字符串对MPM信息进行编码包括:上下文编解码该编码二进制字符串。
在一些示例中,如果编码二进制字符串是第二编码二进制字符串或更大编码二进制字符串,则使用编码二进制字符串对MPM信息进行编码包括:旁路编码该编码二进制字符串。
在一些示例中,MPM信息包括指示与多个MPM相关联的MPM列表中的位置的索引,并且该索引通过使用截断的一元二值化来编码。
在一些示例中,该方法包括确定用于对第二数据单元进行帧内预测编码的预测模式,其中所确定的预测模式不是多个最可能模式的当前列表中的最可能模式,以及使用固定长度代码对所确定的预测模式进行编解码。
一些实施例涉及用于编码视频数据的编码方法。该方法包括:针对变换系数的当前系数组,基于多个相邻变换系数组从多个上下文模型中确定上下文模型;以及使用确定的上下文模型对变换系数的当前系数组进行编码。
在一些示例中,基于多个相邻变换系数组来确定上下文模型包括:基于变换系数的当前系数组是否被变换跳过编解码来确定变换系数的多个相邻组。
在一些示例中,该方法包括基于变换系数的当前系数组是否是变换跳过编解码来确定变换系数的多个相邻组的数量、变换系数的多个相邻组中的每一个的位置或两者。
在一些示例中,该方法包括基于变换系数的三个相邻系数组来确定上下文模型。
在一些示例中,该方法包括基于变换系数的五个相邻系数组来确定上下文模型。
在一些示例中,该方法包括从多个上下文模型确定上下文模型,包括从四个上下文模型确定上下文模型,从六个上下文模型确定上下文模型,或其某种组合。
在一些示例中,使用所确定的上下文模型对变换系数的当前系数组进行编码包括对以下一项或多项进行编码:第一标志,其指示是否至少变换系数的当前系数组中的变换系数具有非零值;以及第二标志,指示变换系数的当前系数组中的变换系数是否具有零值;第三标志,指示变换系数的当前系数组中的变换系数的绝对值是否大于一;第四标志,指示变换系数的当前系数组中的变换系数的奇偶性;第五标志,指示变换系数的当前系数组的变换系数的绝对值是否大于三。
一些方面涉及用于解码视频数据的解码方法。该方法包括通过解码编码二进制字符串来解码与当前数据单元的预测模式相关联的最可能模式(MPM)信息,包括基于编码二进制字符串是否是用于MPM信息的第一编码二进制字符串来对编码二进制字符串进行上下文解码,以及基于解码的MPM信息确定对当前数据单元进行帧内预测解码的预测模式。
在一些示例中,通过解码编码二进制字符串来解码MPM信息包括:如果编码二进制字符串是第一编码二进制字符串,则上下文解码编码二进制字符串。
在一些示例中,通过解码编码二进制字符串来对MPM信息进行解码包括:如果编码二进制字符串是第二或更大编码二进制字符串,则旁路解码编码二进制字符串。
在一些示例中,MPM信息包括指示在MPM列表中位置的索引,该位置与为当前数据单元确定的多个MPM相关联,并且该索引通过使用截断的一元去二值化(truncated unaryde-binarization)来解码。
一些实施例涉及用于解码视频数据的解码方法。该方法包括对与使用上下文模型编解码的变换系数的当前系数组相关联的数据进行解码,其中上下文模型是基于多个相邻变换系数组从多个上下文模型中确定的。
在一些示例中,该方法包括基于变换系数的当前系数组是否被变换跳过编解码来确定变换系数的多个相邻组。
一些方面涉及被配置为解码视频数据的装置。该装置包括与内存通信的处理器,该处理器被配置为执行存储在内存中的指令,该指令使处理器解码指示多个最可能模式的列表中的位置的索引,包括通过解码编码二进制字符串解码与当前数据单元的预测模式相关联的最可能模式信息,其中基于该编码二进制字符串是否为MPM信息的第一编码二进制字符串来对编码二进制字符串进行上下文解码,以及基于解码后的MPM信息确定帧内预测解码当前数据单元的预测模式。
一些方面涉及被配置为解码视频数据的装置。所述装置包括与内存通信的处理器,所述处理器被配置为执行存储在所述内存中的指令,所述指令使所述处理器对与变换系数的当前系数组相关联的数据进行解码,其中变换系数使用上下文模型编解码,其中,所述上下文模型是基于多个相邻变换系数组从多个上下文模型中确定的。
因此,已经相当广泛地概述了所公开主题的特征,以便可以更好地理解其随后的详细描述,并且可以更好地理解对本领域的当前贡献。当然,在下文中将描述所公开的主题的附加特征,这些附加特征将构成所附申请专利范围的主题。应当理解,本文采用的措词和术语是出于描述的目的,而不应被认为是限制性的。
附图说明
在附图中,在各个图示中示出的每个相同或几乎相同的组件由相同的附图标记表示。为了清楚起见,并非每个组件都可以在每个附图中标记。附图不一定按比例绘制,而是着重于说明本文描述的技术和设备的各个方面。
图1示出了根据一些实施例的示例性视频编解码配置。
图2示出了根据一些实施例的示例性视频编码器的各方面。
图3示出了根据一些实施例的示例性视频解码器的各方面。
图4示出了根据一些示例的被划分为编解码树单元(CTU)的图像。
图5是示出根据一些示例的基准检验集的帧内预测方向的总数的示意图。
图6示出了根据一些示例的五个相邻模式的位置的图。
图7A-7C示出了根据一些实施例的可用于六个最可能模式索引的二值化表。
图7D示出了根据一些实施例的可用于五个最可能模式索引的二值化表。
图8A示出了根据一些实施例的用于编码视频数据的示例性计算器化方法。
图8B示出了根据一些实施例的用于解码视频数据的示例性计算器化方法。
图9A示出了根据一些实施例的划分为系数组的变换量化编解码单元。
图9B是示出根据一些实施例的用于特定系数组的上下文模型如何可以取决于右系数组和下部系数组的图。
图9C是示出根据一些实施例的用于当前子块的标志的上下文模型如何取决于右子块、下部子块和右下部子块的图。
图10示出了根据一些实施例的被划分为三个区域的变换单元的示例,其中每个区域具有不同的上下文模型组。
图11A是示出根据一些实施例的当前系数组的五个相邻系数组可以用来确定上下文模型的图。
图11B是示出根据一些实施例的当前系数组的三个相邻系数组可以用来确定上下文模型的图。
图12A示出了根据一些实施例的用于编码视频数据的示例性计算器化方法。
图12B示出了根据一些实施例的用于解码视频数据的示例性计算器化方法。
具体实施方式
存在各种技术可以用于帧内预测,包括许多帧内预测方向。通常,视频编码器发信帧内预测模式。例如,为了发信MPM列表中的最可能模式(most probable mode,简写为MPM),视频编码器会旁路(bypass)编码包含指示MPM列表位置的索引的MPM信息,以使MPM信息的任何编码二进制字符串都不进行上下文编解码。发明人已经发现幷意识到用于编码帧内预测模式的现有技术的各种缺陷。例如,不使用任何上下文编解码来发信MPM信息会导致编码效率低下,尤其是对于索引中最经常使用的第一索引而言。发明人已经开发了用于发信帧内预测模式的MPM信息的技术,该技术解决了这些和其他缺陷。本文描述的技术提供了将截断的一元二值化(truncated unary binarization)用于MPM索引。MPM信息的第一个编码二进制字符串可以被上下文编解码,而其余编码二进制字符串可以旁路编解码。这样的上下文编解码设计可以提高帧内预测模式发信的编码效率。在一些实施例中,可以使用固定长度代码(fixed length code)来发信非MPM模式。
可以使用各种技术来进行系数编码,以发信残差变换/量化的资料。例如,编码器可以例如基于每个预编解码组(per-coding group,简写为CG)发信系数的各种标志。然而,发明人已经意识到,通常仅使用两个上下文模型来对一些标志进行编解码,这可能导致编码效率低下。此外,发明人已经意识到,基于设定数量的相邻系数组(例如五个相邻系数组)对一些标志进行编解码。发明人已经开发出用于发信残差变换/量化数据的技术,以解决这些和其他缺陷。在一些实施例中,该技术可以包括确定用于编解码特定系数组的相邻系数组的数量和/或位置。在一些实施例中,该技术基于是否使用变换跳过或变换对相关联的编解码单元进行编码来确定要使用哪些相邻系数组。例如,五个相邻的CG可以用于经过变换编解码(transform coded)的CU,而三个相邻的CG可以用于未经变换编解码的CU。该技术可以允许根据需要使用不同数量和/或位置的相邻编码组,这可以灵活地增加编码并提高编码效率。
在以下描述中,阐述了关于所公开主题的系统和方法以及此类系统和方法可以在其中操作的环境等的许多具体细节,以便提供对所公开主题的透彻理解。另外,将理解的是,下面提供的示例是示例性的,并且可以想到,在所公开的主题的范围内,还有其他系统和方法。
图1示出了根据一些实施例的示例性视频编解码配置100。视频编解码配置100包括一个或多个相机102A-102N(统称为相机102),它们生成视频数据106。相机102可以是任何类型的相机,例如包括音频记录功能和/或分离相机和录音功能的相机。编码设备104包括编码器108。编码器108编码和/或压缩二维视频数据。解码设备110接收编码数据。解码设备110可以通过广播网络、通过移动网络(例如,蜂窝网络)和/或通过互联网接收作为视频产品的视频(例如,数字视频碟或其他计算器可读介质)。解码设备110可以是例如计算器、头戴式显示器的一部分或具有解码能力的任何其他装置。解码设备110包括解码器112,其被配置为对编码的视频进行解码以生成视频数据114。显示器116显示视频数据114。
图2示出了根据一些实施例的示例性视频编码器200的各方面。视频编码器200接收输入视频202,并且包括帧内预测204和运动估计运动补偿206(用于帧间预测)、变换和量化单元208、熵编解码单元210、逆量化逆变换单元212、环路滤波器214以及解码图像缓冲器216。在其他实施例中,视频编码器200可包括比图2所示的组件更多、更少和/或不同的组件。
对于基于块的运动补偿,如图4所示,图像400可以被分成128×128编解码树单元(CTU),如CTU 402和404所示。CTU被进一步分为编解码单元(CU),其可以是2N×2N的正方形块,但是,CU的大小和形状不限于此。例如,图4示出了CTU 404被划分为几个CU,包括CU406。视频编码器200可以对CU进行编码。
编码器可以使用运动估计和补偿单元206执行帧间预测。帧间预测处理可以包括通过对每个CU执行帧间预测来生成预测数据。取决于帧间预测的类型,运动估计和补偿单元206可以从解码图像缓冲器216中搜索参考采样。运动估计和补偿单元206可以为解码图像缓冲器216中的位置生成参考图像索引,并且可以产生运动向量以指示参考位置和CU的采样块之间的位移(displacement)。运动估计和补偿单元206可以至少部分地基于由CU的运动向量指示的参考区域处的实际或内插采样来生成CU的预测采样块。
编码器200可以使用帧内预测单元204来执行帧内预测。帧内预测处理可以包括通过执行帧内预测来生成用于CU的预测资料。用于CU的预测数据可以包括用于CU的预测块和各种语法元素。帧内预测单元204可以从通过帧间预测处理生成的预测数据或通过帧内预测处理生成的预测数据之中选择用于CU的预测数据。
变换和量化单元208可以通过应用变换模式(例如,DCT、DST或任何其他类型的变换)来为CU的每个变换单元(TU)生成变换系数,并且可以对变换系数进行量化。熵编解码单元210例如通过对量化的变换系数和/或任何其他辅助信息(side information)执行上下文自适应二进制算术编码(CABAC)来对量化的变换系数进行熵编解码,以生成比特流。编码器200可以在比特流中输出熵编码的变换系数。
逆变换和量化单元212可以应用逆量化和逆变换模式变换(例如,逆DCT、DST或任何其他类型的逆变换)以从系数块重建残差块。环路滤波器214可以执行环路滤波技术。例如,环路滤波器可以包括采样自适应偏移(SAO)过程,该过程将重构采样分类为不同的类别,获得每个类别的偏移,然后将该偏移添加到该类别的每个采样。可以将每个类别的偏移量发送给解码器,以减少采样失真。
解码图像缓冲器216可以存储经SAO处理的重构块。如本文所述,运动估计和补偿单元206可以使用重构的块来执行帧内预测。
图3示出了根据一些实施例的示例性解码器300的方面。解码器300包括熵解码单元302、预测单元304、逆量化和逆变换单元306、重构单元308、环路滤波器310以及参考图像缓冲器312中的至少一些。在其他实施例中,视频解码器300可以包括比图3所示的更多、更少和/或不同的组件。
熵解码单元302解析比特流以解码语法元素。预测单元304可以使用在比特流中发信的语法元素来构造一个或多个参考图像列表。预测单元304可以执行运动补偿和/或帧内预测。例如,如果使用帧间预测来编码CU,则预测单元304可以提取用于CU的运动信息,该运动信息可以用于确定用于CU的一个或多个参考区域。预测单元304可基于一个或多个参考块处的采样块而产生用于CU的预测块。作为另一示例,如果使用帧内预测对CU进行编码,则预测单元304可以执行帧内预测以基于相邻CU来生成用于CU的预测块。
逆量化和逆变换单元306可以对系数块进行逆量化,并且可以应用逆变换来生成残差块。重构单元308可以重构编解码块。
重构单元308可以使用与CU的TU相关联的变换块(例如,亮度和色度变换块)和预测块(例如,亮度和色度预测块),例如适用的帧内预测资料和/或帧间预测数据,以重建编解码块(例如亮度、Cb和Cr编解码块)。例如,重构单元308可以将诸如亮度、Cb和Cr变换块的变换块的采样(残差分量)添加到预测块的相应采样(预测子(predictor)分量)以重构CU。
环路滤波器310可以使用每个SAO类别的偏移(例如,可以通过发信给解码器300)来减少采样失真。参考图像缓冲器312可以存储所得的去块的,经SAO处理的编解码块。缓冲器可以提供参考图像,用于随后的运动补偿、帧内预测和图像的呈现,如通过图像314所示。
帧内预测可以是一种重要的编解码技术,可以减少图像相邻像素之间的空间冗余。即将面世的视频编解码标准VVC包括两个测试模型,即多功能视频编解码测试模型(VTM)和基准检验集(Bench-Mark Test Set,简写为BMS)。这些测试模型例如在JVET-M1001-v7(“Versatile Video Coding(草案4)”,第13次会议:马拉喀什,马萨诸塞州,2019年1月9日至18日)中进行了描述,其全部内容通过引用合并于此。总共67种帧内预测模式可用于BMS测试模型,而总共35种帧内预测模式可用于VTM测试模型。由于大量的帧内预测模式,期望使用有效的帧内模式编解码方法。
图5是示出用于BMS的帧内预测方向的总数的示意图500。对于VTM,仅每隔一个的模式方向(every other mode direction)如502A、502B、502C至502N可用。换句话说,其余模式方向对于VTM测试模型无效。对于BMS测试模型,对MPM模式和非MPM模式进行了编解码。可以通过从相邻模式中生成六(6)个最可能模式(MPM)的列表来对MPM模式进行编解码。如果预测模式是MPM列表中的模式之一,则可以使用截断的一进制编解码。对于非MPM模式,如果最佳预测模式不在MPM列表中,则使用固定长度代码或截断的二值化方法对模式进行编解码。
在一些示例中,为了生成用于BMS测试模型的MPM列表,包含在MPM列表中的模式分为三组:(1)相邻帧内模式,(2)推导帧内模式和(3)默认帧内模式。五个相邻的帧内预测模式可用于形成MPM列表。五个相邻模式的位置,可以是左(L)、上(A)、左下(BL)、右上(AR)和左上(AL),如图6中的示意图600所示。可以通过将五(5)个相邻帧内模式以及平面模式和DC模式插入MPM列表来形成初始MPM列表。修剪过程可用于删除重复的模式,因此MPM列表中只能包含唯一的模式。包括初始模式的顺序可以是:左、上、平面、DC、左下、右上,然后左上。
如果MPM列表不满(例如,列表中的MPM候选对象少于六个),则可以添加推导模式。通过将-1或+1添加到MPM列表中已包含的角度模式中,可以获得这些帧间模式。这样的附加推导模式通常不从非角模式(non-angular mode)(例如,DC或平面的)产生。
最后,如果MPM列表仍不完整,则可以按以下顺序添加默认模式:垂直、水平、模式2和对角线模式。作为此过程的结果,将生成六个MPM模式的列表。
其余六十一(61)个非MPM的选择的编解码如下进行。六十一个非MPM中首先被分为两组:选定的模式集以及未选定的模式集。选定的模式集包含十六(16)个模式,其余(其余的四十五(45)个模式)分配给未选定的模式集。当前模式所属的模式集可以在比特流中用标志指示。如果要指示的模式在选定的模式集内,则可以用4位固定长度代码发信选择模式,并且如果要指示的模式来自未选择的集,则所选模式可以伴随截断的二进制代码发信。可以通过如下对61个非MPM模式进行子采样(sub-sampling)来生成选定的模式集:
选定的模式集={0,4,8,12,16,20…60}
未选定的模式集={1,2,3,5,6,7,9,10…59}
根据本文描述的技术,这些模式可以分为两类,例如MPM和非MPM。例如,假定N代表帧内模式的总数,并且M代表MPM列表中的模式数。因此,N-M等于非MPM列表中的模式数。
在一些实施例中,模式的总数(N)等于67,而MPM的数量(M)等于6。因此,非MPM模式的数量等于N-M,即61。
在某些实施例中,模式的总数(N)等于67,MPM的数量(M)为5。因此,非MPM模式的数量等于N-M,即62。
在一些实施例中,为了生成MPM列表,该技术可以包括使用五个相邻的帧内预测模式来生成MPM列表。MPM列表中的元素数可以为M。可以根据优先级顺序将相邻模式插入MPM列表。例如,可以先按以下顺序添加初始模式:左模式(L)、上模式(A)、平面模式、DC模式、左下模式(BL)、右上(AR)模式以及左上模式(AL)。接下来,当模式总数为67时,可以通过向相邻模式添加-1/+1来添加相邻模式。如果MPM列表不完整,则可以按以下优先级顺序插入默认模式:平面、DC、垂直、水平、模式2和对角线模式。
生成MPM列表后,这些技术可以基于加权因子对整个MPM列表进行重新排序。权重最高的模式可以放置在MPM列表的索引0处。权重最低的模式可以放在MPM列表的索引(M-1)中,其中M是MPM列表中的元素数。
在一些实施例中,可以指定加权因子。例如,根据一些实施例,对于左模式(L),如果(左模式≤30),则权重等于4,否则权重等于3。对于上模式(A),如果(上模式≤1或上模式≥40),则权重等于4,否则权重等于3。对于平面模式,如果MPM列表中已经存在平面模式,则权重等于1,否则权重等于3。对于DC模式,如果DC模式已在MPM列表中,则权重等于1,否则权重等于2。对于左下模式(BL),如果左下模式<HOR模式,则权重等于2,否则权重等于1。对于右上(AR)模式,如果右上模式≤1或右上模式≥60,则权重等于3,否则权重等于2。对于左上模式(AL),如果左上模式≥30且左上模式≤38或左上模式≤1,则权重等于3,否则权重等于2。对于相邻模式,权重等于1。
作为另一示例,在一些实施例中,加权因子可以包括:左模式(L),权重=4;上模式,权重=4;对于“平面模式”,如果“平面模式”已在MPM列表中,则权重等于1,否则权重等于3;否则,权重等于3;对于DC模式,如果DC模式已在MPM列表中,则权重等于1,否则权重等于2;否则,权重等于2;左下模式(BL),权重=2;右上(AR)模式,权重=2,左上模式(AL),权重=2;相邻模式,权重=1。
在一些实施例中,最初,所有模式的权重可以被初始化为零。在检查每个临近(adjacent)的和相邻(neighbor)模式之后,可以累积相应模式的权重。在生成N个MPM模式之后,可以基于累积的权重对整个MPM列表进行重新排序。权重最高的模式可以放在MPM列表的最低索引处。在一些实施例中,不对MPM进行重新排序。
在一些实施例中,该技术可以包括访问MPM生成(MPM generation)中上、左上和右上模式的编解码树单元(CTU)限制。如本文所述,所述技术可访问五个相邻(例如,左、上、左下、右上和左上)块以获得相邻模式。这可能需要将整行的相邻模式存储在内存缓冲区中。为了减少行缓冲器(line buffer),在一些实施例中,如果块落在编解码树单元(CTU)的外部,则该技术可以限于访问上、右上和左上块。例如,对于左模式(L),如果“左”块属于同一切片,则允许访问该块,否则将跳过该块。对于上模式(A),如果“上”块属于同一CTU,则允许访问该块,否则将跳过该块。对于左下模式(BL),如果“左下”块属于同一切片,则允许访问该块,否则将跳过该块。对于右上(AR)模式,如果“右上”块属于同一CTU,则允许访问该块,否则将跳过该块。对于左上模式(AL),如果“左上”块属于同一CTU,则允许访问该块,否则将跳过该块。
在一些实施例中,这些技术解决了发信MPM和非MPM模式。如本文所述,视频编码器发信当前数据单元的帧内预测模式,诸如支持的帧内预测模式之一(例如,结合图5描述的六十七个方向/角度模式和/或一些非角帧内模式,例如平面或DC模式)。可以基于相邻数据单元的帧内预测模式和预定的MPM建立过程将支持的帧内预测模式分组为MPM或非MPM模式。当为当前数据单元选择的帧内预测模式是MPM之一时,为了发信当前数据单元的MPM信息,视频编码器会绕过对MPM索引进行编码,以使与MPM信息关联的编码二进制字符串中没有一个被上下文编解码。发明人已经发现并意识到,不使用任何上下文编解码来发信MPM信息会导致编解码效率低下,尤其是对于第一编码二进制字符串。
在一些实施例中,标记可以用于指示当前数据单元的帧内预测模式是MPM模式还是非MPM模式。在一些实施例中,该位可以被上下文编解码。在一些实施例中,用于MPM信息的第一编码二进制字符串是上下文编解码的,而其余编码二进制字符串被旁路编解码。在一些实施例中,MPM信息包括索引并且可以通过使用截断的一元二值化处理来二值化(例如,当MPM模式的数量是五、六和/或某个数量时)。图7A-7C分别示出了根据一些实施例的可用于六个MPM模式的二值化表700、720和740。图7D示出了根据一些实施例的可用于五个MPM模式的二值化表760。在一些实施例中,本文描述的技术可以被配置为对五个或六个MPM模式的第一编码二进制字符串和/或其他编码二进制字符串进行上下文编解码。例如,在一些实施例中,对于六个MPM模式,仅第一编码二进制字符串被上下文编解码(例如,仅表700、720和/或740中的第一编码二进制字符串被上下文编解码,而其余编码二进制字符串未被上下文编解码)。
可以使用不同的信令来发信非MPM模式。在一些实施例中,截断的一进制编码用于发信非MPM模式(例如,六十一非MPM模式)。在一些实施例中,固定长度代码用于发信非MPM模式。例如,六编码二进制字符串固定长度代码可用于发信非MPM模式。
图8A示出了根据一些实施例的用于对视频数据进行编码的示例性计算器化方法800。例如,图2中所示的编码设备200,包括熵编解码单元210,可以实现计算器化方法800以对用于编码视频数据的确定的帧内预测模式进行熵编解码。在步骤802,编码设备访问(例如,接收、访问、处理)包括多个数据单元(例如,CU)的视频数据。在步骤804,编码设备确定用于对当前数据单元进行帧内预测编码的预测模式,该预测模式是为当前数据单元确定的多个MPM中的一个MPM。如本文所述,建立与用于当前数据单元的多个MPM相关联的MPM列表,并且该MPM列表中的每个预测模式具有关联的MPM索引,该MPM索引指示MPM列表中该预测模式的位置。在步骤806,编码设备使用编码二进制字符串(coding bin)对MPM列表中所确定的预测模式的MPM信息进行编码,包括基于该编码二进制字符串是否是用于MPM信息的第一编码二进制字符串对编码二进制字符串进行上下文编码。在一些实施例中,MPM信息包括如本文所述的MPM索引以及附加信息。例如,MPM信息可以包括一个或多个标志和/或位。附加的一个或多个标志/位可以例如通过使用上下文编解码被编解码。
如本文所述,参考步骤806,在一些实施例中,如果编码二进制字符串是MPM信息的第一编码二进制字符串,则编码设备对编码二进制字符串进行上下文编码。如果编码二进制字符串不是第一编码二进制字符串,则编码二进制字符串是MPM信息的第二编码二进制字符串或更大编码二进制字符串,则编码设备旁路对编码二进制字符串进行编码。因此,通过使用上下文编解码和旁路编码来对MPM信息进行编码,并且可以提高编解码效率。在一些实施例中,编码设备可以被配置为使用截断的一元二值化来对MPM索引进行二值化。
在一些实施例中,如本文所述,编码设备可以被配置为使用固定长度代码来编码非MPM模式。例如,编码设备可以被配置为使用六个位代码,使得编码设备通过使用相关联的六个位固定长度代码来编码非MPM模式。
在一些实施例中,如本文所述,所述技术可用于解码视频数据。图8B示出了根据一些实施例的用于解码视频数据的示例性计算器化方法850。在步骤852,解码设备访问与多个数据单元相关联的编码视频数据(例如,比特流)。在步骤854,解码设备(例如,图3所示的解码设备300)解码与当前数据单元的预测模式相关联的最可能模式(MPM)信息。对MPM信息进行解码可以包括对编码二进制字符串进行解码,该编码二进制字符串基于该编码二进制字符串是否是用于MPM信息的第一编码二进制字符串而被上下文解码。即,解码设备基于该编码二进制字符串是否是用于MPM信息的第一编码二进制字符串对编码二进制字符串进行解码。在一些实施例中,如果编码二进制字符串是MPM信息的第一编码二进制字符串,则解码设备可以对编码二进制字符串进行上下文解码。在一些实施例中,如果编码二进制字符串是MPM信息的第二或更大编码二进制字符串,则解码设备可以旁路解码编码二进制字符串。因此,通过使用上下文解码和旁路解码来解码MPM信息。在一些实施例中,与MPM信息的MPM索引相关联的编码二进制字符串是由编码设备通过使用截断的一元二值化处理的,并且解码设备可以执行截断的一元去二值化以对MPM索引进行解码。在步骤856,解码设备可以基于解码的MPM信息来确定用于对当前数据单元进行帧内预测解码的预测模式。
如结合图2所描述的,对于每个CU,编码器执行变换/量化,然后进行熵编解码。在VVC中(例如,如B.Bross,J.Chen,S.Liu,“Versatile Video Coding(Draft 2)”(ITU-TVCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)的联合视频专家组(JVET),JVET-K1001号文件,第11次会议:卢布尔雅那,SI,2018年7月10日至18日,在此全文引入作为参考)所述),每个TU的系数熵编解码可以逐个子块地进行处理。例如,如图9A所示,对于系数编解码,可以将经变换的量化CU 900划分为系数组。如图所示,CU 900是16x8 CU,其被分为八(8)个4x4系数组,包括CG 902和904。可以为每个CG生成单独的比特流。系数组可以对应于NxM个子块,其中N和M例如可以是{2、4、8、16或32}的任意组合。对于每个子块(例如4×4子块),可以首先发信被称为“coded_sub_block_flag”的标志。coded_sub_block_flag的值为0意味着该子块的所有系数均为零,并且可以跳过该子块的其余过程。coded_sub_block_flag的值为1意味着子块内的系数中至少一个为非零。
在一些示例中,如果标志“significant_coeffgroup_flag”等于1,则可以对特定子块的所有系数进行编解码。过程1(Pass 1)可以按编解码顺序包括重要性(sig_coeff_flag)、奇偶校验(par_level_flag)和更大1标志(greater 1flag)(rem_abs_gt1_flag)的编解码。仅当sig_coeff_flag等于1时,才出现奇偶校验和更大1标志。更大1标志的上下文不依赖于直接在前的奇偶校验标志,并且sig_coeff_flag的上下文不依赖于直接在前的rem_abs_gt1_flag的值(当先前的sig_coeff_flag等于1时)。过程2(Pass 2)可以为rem_abs_gt1_flag等于1的所有扫描位置包括更大2标志(rem_abs_gt2_flag)编解码。上下文模型不依赖于在第二个过程(pass)中编解码的任何数据。过程3(Pass 3)可以包括rem_abs_gt2_flag等于1的所有扫描位置的语法元素abs_remainder的编解码。非二进制语法元素被二值化,并且所得到的编码二进制字符串被以算术编解码引擎的旁路模式编解码。过程4可以包括sig_coeff_flag等于1的所有扫描位置的符号(sign)(sign_flag)的编解码。
根据本文描述的技术,使用不同的技术在逐子块的基础上处理每个TU的系数熵编解码。对于每个子块,首先发信coded_sub_block_flag。coded_sub_block_flag的值为零可以意味着该子块的所有系数均为零,并且可以跳过此子块的其余过程。coded_sub_block_flag的值为1意味着该子块内的系数中至少有一个非零。
在一些实施例中,如果coded_sub_block_flag等于1,则该特定子块的所有系数被以四个过程编解码(coded in four passes)。对于过程1,对于每个系数,可以执行以下顺序以进行编解码。首先,发信sig_coeff_flag。sig_coeff_flag的值等于零可能意味着系数值为零,并且不再发信标志。如果sig_coeff_flag的值等于1,则发信rem_abs_gt1_flag标志。接下来,如果rem_abs_gt1_flag等于零,则可能意味着系数的绝对值为1,并且不发信其他标志。如果rem_abs_gt1_flag等于1,则可能意味着系数值大于1,并且使用了附加的par_level_flag进行信令发送。最后,值par_level_flag等于1可以表示系数的绝对值为奇数,否则为偶数。对于过程2,对于rem_abs_gt1_flag等于1的所有扫描位置,使用算术编解码引擎的常规模式对rem_abs_gt2_flag进行编解码。对于过程3,对于rem_abs_gt2_flag等于1的所有扫描位置,非二进制语法元素abs_remainder以算术编解码引擎的旁路模式进行编解码。对于过程4,对于sig_coeff_flag等于1的所有扫描位置,sign_flag以算术编解码引擎的旁路模式进行编解码。
本文描述的技术可以包括针对coded_sub_block_flag的上下文建模(contextmodeling)。在一些实施例中,可以使用两个上下文模型。如图9B所示,根据一些实施例,用于特定系数组(某些情况下称为子块或者编解码单元(CG))950的上下文模型可以取决于右系数组952和下系数组954的coded_sub_block_flag。例如,右系数组952和下系数组954的两个coded_sub_block_flags的值的位或操作(bitwise-or operation)(例如,coded_sub_block_flaglower|coded_sub_block_flagright)可用于确定当前上下文模型,其中值为0导致一个上下文模型,而值为1则导致使用其他上下文模型。
发明人认识到,通常仅使用两个上下文模型来对系数组的一些标志进行编解码(例如,如结合图9B所描述的),这可能导致编解码效率低下。在一些实施例中,本文描述的技术提供了使用两个以上的上下文模型来编解码信息,例如,编解码sub_block_flag。例如,可以使用四个上下文模型。如图9C所示,当前子块950的coded_sub_block_flag的上下文模型可以取决于右子块952、下子块954和右下子块956。例如,上下文模型可以是通过将右、下和右下子块952、954和956的coded_sub_block_flag相加来确定(例如,coded_sub_block_flaglower+coded_sub_block_flagright+coded_sub_block_flagright-lower)。作为另一个示例,可以使用六个上下文模型。在一些实施例中,变换单元(TU)可以被划分为多个区域,并且不同的上下文模型或上下文集合可以用于不同的区域。图10示出了将TU 1000划分成3个区域1002、1004和1006的示例,并且每个区域具有不同组上下文模型(different setcontext models)。如本示例所示,区域1002可以使用上下文模型0或1,区域1004可以使用上下文模型2或3,区域1006可以使用上下文模型4或5。可以基于下和右CG的coded_sub_block_flag的位或操作加上偏移量确定区域的上下文模型。例如,上下文模型可以确定为:偏移量+coded_sub_block_flaglower|coded_sub_block_flagright。例如,上下文模型可以确定为:偏移量+coded_sub_block_flaglower+coded_sub_block_flagright。在一些实施例中,偏移量是整数,例如0、1或2。
在一些实施例中,该技术可以包括用于标志的上下文建模(context modeling),该上下文建模涉及确定用于确定上下文模型的相邻系数组的数量和/或位置。该技术可用于编解码各种标志,例如,用于对sig_coeff_flag、rem_abs_gt1_flag、abs_level_gt1_flag、par_level_flag和/或abs_level_gt3_flag进行上下文编解码。在一些实施例中,上下文建模和二值化可以取决于本地邻域的一种或多种度量。例如,可以对本地邻域使用以下一种或多种度量:numSig,其是本地邻域(local neighborhood)中非零级别(non-zerolevel)的数量;sumAbs1,其是本地邻域中第一过程之后部分重构的绝对级别(absolutelevel,简写为absLevel1)的总和;和sumAbs,其是本地邻域中重构的绝对级别的总和。
对于给定位置(x,y),可以将absLevel1指定为absLevel1[x][y]=sig_coeff_flag[x][y]+par_level_flag[x][y]+rem_abs_gt1_flag[x][y]。上下文模型的数量及其方法的推导可以如Heiko Schwarz,Tung Nguyen,Detlev Marpe,Thomas Wiegand的“Alternative Entropy Coding for Dependent Quantization”(JVET-K0072,第十一次会议:卢布尔雅那,SI,2018年7月10日至18日,通过引用将其全部内容合并于此)所描述的。
在一些实施例中,该技术可以提供用于一个或多个标志的上下文建模的相邻的选择,例如用于sig_coeff_flag、rem_abs_gt1_flag、abs_level_gt1_flag、par_level_flag和/或abs_level_gt3_flag。在一些实施例中,如图11A所示,当前系数组1100的五个相邻系数组1102-1110可以用于确定系数(例如,使用numSig、AbsLevel1和sumAbs)。在一些实施例中,用于选择用于编解码的上下文的相邻系数组的数量可以取决于CU类型。例如,如果CU使用变换,则可以使用一组相邻系数组(例如,如图11A所示的五个相邻系数组),而如果CU使用变换跳过(transform skip),则可以使用不同组的相邻系数组(例如,三个相邻系数组)。例如,图11B展示针对当前CU 1100使用三个相邻系数组1102、1106和1108。
在一些实施例中,图11B展示来自图11A中所展示的五个CU的相邻系数组CU 1102、1106和1108的某个子集,其仅出于示例性目的。在一些实施例中,图11A中的更多或更少的相邻系数组1102-1110的不同子集可以用于上下文建模。可以基于一个或多个约束来选择相邻系数组的数量和/或要使用的相邻系数组的子集。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组的哪个子集取决于视频的颜色分量。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组的子集取决于视频的图像切片。例如,不同的切片可以具有不同数量的相邻系数组和相邻系数组的子集。在一些实施例中,编码器可以向解码器发信相邻系数组的哪个子集用于上下文选择。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组的子集取决于编解码单元(CU)。例如,不同的CU可以具有不同数量的相邻系数组。在一些示例中,CU电平附加信号可以用于从多个子集中选择特定子集。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组的子集可以取决于预测模式。例如,不同的预测模式可以具有不同的相邻系数组集合。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组子集取决于CU大小。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组的子集取决于变换类型。在一些实施例中,用于上下文选择的相邻系数组的数量和/或相邻系数组的子集取决于是否使用变换跳过对CU进行编码。
图12A示出了根据一些实施例的用于对视频数据进行编码的示例性计算器化方法1200。例如,图2中所示的编码设备200,包括熵编解码单元210,可以实现计算器化方法1200以对用于系数组的一个或多个标志进行熵编解码。在步骤1202,编码设备访问(例如,接收、访问、处理)视频数据,该视频数据报括多个系数组,诸如划分为多个变换系数(例如,CG)组的经变换的量化CU。在步骤1204,编码设备针对变换系数的当前系数组,基于变换系数的多个相邻组,从多个上下文模型中确定上下文模型。在步骤1206,编码设备诸如通过对与当前系数组相关联的一个或多个标志进行编码来对变换系数的当前系数组进行编码。编码设备可以针对视频数据的多组变换系数执行该处理。
在一些实施例中,编码设备基于变换系数的当前系数组是否被变换跳过编解码来确定变换系数的多个相邻组。在一些实施例中,编码设备可以基于变换系数的当前系数组是否被变换跳过编解码来确定变换系数的多个相邻组的数量、变换系数的多个相邻组中的每一个的位置或两者。例如,如图11B所示,编码设备可以基于变换系数1102、1106和1108的三个相邻组来确定变换系数1100的当前系数组的上下文模型(例如,如果变换系数1100的当前系数组被变换跳过编码)。作为另一示例,如图11A所示,编码设备可以被配置成基于五个相邻的变换系数组1102、1104、1106、1108和1110来确定用于变换系数的当前系数组1100的上下文模型(例如,如果变换系数的当前系数组1100被变换编解码)。
在一些实施例中,编码设备可以从四个上下文模型中确定上下文模型(例如,如结合图9C所讨论的),从六个上下文模型中确定上下文模型(例如,如结合图9D所讨论的),或其某种组合。
参照步骤1206,所确定的上下文模型可以用于编码一个或多个标志。例如,上下文模型可以用于编码以下一个或多个:第一标志(例如,coded_sub_block_flag),其指示变换系数的当前系数组的变换系数中的至少一个是否具有非零值;以及第二标记(例如,sig_coeff_flag),指示变换系数的当前系数组的变换系数是否具有零值;第三标志(例如,abs_level_gt1_flag),指示变换系数的当前系数组的变换系数的绝对值是否大于一;第四标志(例如,par_level_flag),指示变换系数的当前系数组的变换系数的奇偶性;和/或第五标记(例如abs_level_gt3_flag),其指示变换系数的当前系数组的变换系数的绝对值是否大于三。
在一些实施例中,如本文所述,所述技术可包含解码视频数据。图12B示出了根据一些实施例的用于对视频数据进行解码的示例性计算器化方法1250。例如,图3中所示的解码设备300,包括熵解码单元302,可以实现计算器化的方法1250以对系数组的一个或多个标志进行熵解码。在步骤1252,解码设备访问视频数据。在步骤1254,解码设备基于多个相邻变换系数组,从多个上下文模型中确定上下文模型。在一些实施例中,解码设备可以基于变换系数的当前系数组是否被变换跳过编解码来确定变换系数的多个相邻组。在步骤1256,解码设备可以对与使用所确定的上下文模型编解码的变换系数的当前系数组相关联的数据进行解码。
根据本文描述的原理操作的技术可以以任何合适的方式实现。上面的流程图的处理和决策块表示可以包括在执行这些各种过程的算法中的步骤和动作。从这些过程推导的算法可以实现为与一个或多个单用途或多用途处理器的操作集成并指导其操作的软件,可以实现为功能等效电路,例如数字信号处理(DSP)电路或应用-特定集成电路(ASIC),或者可以以任何其他合适的方式实现。应当理解,这里包括的流程图不描绘任何特定电路或任何特定程序语言或程序语言类型的语法或操作。相反,流程图示出了所属领域具有通常知识者可以用来制造电路或实现计算器软件算法以执行本文所述技术类型的特定装置的处理的功能信息。还应当理解,除非本文另有指示,否则每个流程图中描述的特定步骤和/或动作序列仅仅是对可以实现的算法的说明,并且可以在本文描述的原理的实现和实施例中变化。
因此,在一些实施例中,本文描述的技术可以体现为实现为软件的计算器可执行指令,包括作为应用软件、系统软件、韧体、中间件、嵌入代码或任何其他合适类型的计算器代码。这样的计算器可执行指令可以使用许多合适的程序语言和/或程序或脚本工具中的任何一种来编写,并且还可以被编译为在帧或虚拟机上执行的可执行机器语言代码或中间代码。
当本文描述的技术体现为计算器可执行指令时,这些计算器可执行指令可以以任何合适的方式实现,包括作为多个功能设施,每个功能设施提供一个或多个操作以完成根据这些技术操作的算法的执行。然而,实例化的“功能设施”是计算器系统的结构组件,当与一个或多个计算器集成并由一个或多个计算器执行时,使得一个或多个计算器执行特定的操作角色。功能设施可以是软件元素的一部分或整个软件元素。例如,功能设施可以根据过程,或作为离散过程,或作为任何其他合适的处理单元来实现。如果这里描述的技术被实现为多功能设施,则每个功能设施可以以其自己的方式实现;所有这些都不需要以同样的方式实现。另外,这些功能设施可以适当地并行和/或串行地执行,并且可以使用它们正在执行的计算器上的共享内存,使用消息传递协议,或者其他合适的方式在任何一个之间在彼此之间传递信息。
通常,功能设施包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,功能设施的功能可以根据需要在它们运行的系统中组合或分布。在一些实现中,执行本文技术的一个或多个功能设施可以一起形成完整的软件包。在备选实施例中,这些功能设施可以适于与其他不相关的功能设施和/或过程交互,以实现软件程序应用。
这里已经描述了用于执行一个或多个任务的一些示例性功能设施。然而,应当理解,所描述的功能设施和任务划分仅仅是可以实现本文描述的示例性技术的功能设施的类型的说明,并且实施例不限于以任何特定数量、划分,或功能设施的类型。在一些实现中,所有功能可以在单个功能设施中实现。还应当理解,在一些实施方式中,本文描述的一些功能设施可以与其他功能设施一起实施或与其他功能设施分开实施(即,作为单个单元或单独的单元),或者可以不实现这些功能设施中的一些。
在一些实施例中,实现本文描述的技术的计算器可执行指令(当实现为一个或多个功能设施或以任何其他方式实施时)可以在一个或多个计算器可读介质上编码以向媒体提供功能。计算器可读介质包括诸如硬盘驱动器之类的磁介质,诸如光盘(CD)或数字通用碟(DVD)之类的光学介质,持久或非持久固态内存(例如,闪存,磁性RAM等)或任何其他合适的存储介质。这种计算器可读介质可以以任何合适的方式实现。如这里所使用的,“计算器可读介质”(也称为“计算器可读存储介质”)指的是有形存储介质。有形存储介质是非暂时性的并且具有至少一个实体结构组件。在如本文所使用的“计算器可读介质”中,至少一个实体结构组件具有至少一个实体特性,该特性可在创建具有嵌入信息的介质的过程期间以某种方式改变,在其上记录信息的过程,或用信息编码媒体的任何其他过程。例如,可以在记录过程期间改变计算器可读介质的实体结构的一部分的磁化状态。
此外,上述一些技术包括以某些方式存储信息(例如,数据和/或指令)以供这些技术使用的动作。在这些技术的一些实现中-诸如将技术实现为计算器可执行指令的实现-该信息可以在计算器可读存储介质上编码。在本文中将特定架构为存储该信息的有利格式的情况下,这些结构可用于在编码在存储介质上时赋予信息的实体组织。然后,这些有利结构可以通过影响与信息交互的一个或多个处理器的操作来向存储介质提供功能;例如,通过提高处理器执行的计算器操作的效率。
在其中技术可以体现为计算器可执行指令的一些但非全部实现中,这些指令可以在任何合适的计算器系统中一个或多个计算设备中操作的一个或多个合适的计算设备上执行,或者,一个或多个计算设备(或一个或多个计算设备的一个或多个处理器)可以被程序化为执行计算器可执行指令。计算设备或处理器可以被程序化为当指令以计算设备或处理器可访问的方式存储时执行指令,例如在数据存储器中(例如,片上高速缓存或指令寄存器、可通过总线访问的计算器可读存储介质、可通过一个或多个网络访问并可由设备/处理器访问的计算器可读存储介质等)。包括这些计算器可执行指令的功能设施可以与以下设备的操作集成并指导其操作:单个多用途可程序化数字计算设备、共享处理能力并且联合执行本文描述的技术的两个或更多个多用途计算设备的协调系统、专用于执行本文所述技术的单个计算设备或计算设备的协调系统(共址或地理分布)、用于执行本文所述技术的一个或多个现场可程序化门数组(FPGA),或任何其他合适的系统。
计算设备可以包括至少一个处理器、网络适配器和计算器可读存储介质。计算设备可以是例如台式或膝上型个人计算器、个人数字助理(PDA)、智能移动电话、服务器或任何其他合适的计算设备。网络适配器可以是任何合适的硬件和/或软件,以使计算设备能够通过任何合适的计算网络与任何其他合适的计算设备进行有线和/或无线通信。计算网络可以包括无线接入点、交换机、路由器、网关和/或其他网络设备以及用于在两个或更多个计算器(包括因特网)之间交换数据的任何合适的有线和/或无线通信介质或介质。计算器可读介质可以适于存储要处理的数据和/或要由处理器执行的指令。处理器能够处理数据和执行指令。数据和指令可以存储在计算器可读存储介质上。
计算设备可以另外具有一个或多个组件和外围设备,包括输入和输出设备。除其他之外,这些设备可用于呈现用户界面。可用于提供用户界面的输出设备的示例包括用于输出和扬声器或其他声音生成设备的视觉呈现的打印机或显示屏,用于输出的可听呈现。可以用于用户界面的输入设备的示例包括键盘和指示设备,诸如鼠标、触摸板和数字化平板计算机。作为另一示例,计算设备可以通过语音识别或其他可听格式接收输入信息。
已经描述了以电路和/或计算器可执行指令实现这些技术的实施例。应当理解,一些实施例可以是方法的形式,其中已经提供了至少一个示例。作为方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造这样的实施例,其中以不同于所示的顺序执行动作,其可以包括同时执行一些动作,即使在示例性实施例中示出为顺序动作。
上述实施例的各个方面可以单独使用、组合使用,或者在前面描述的实施例中没有具体讨论的各种布置中使用,因此不限于其应用于前面的描述或附图中示出的上述实施例中阐述的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面组合。
在申请专利范围中使用诸如“第一”、“第二”、“第三”等的序数术语来修改申请专利范围元素本身并不意味着一个申请专利范围要素相对于另一个的任何优先权、优先级或顺序,或者执行方法时的行为时间上的顺序,而仅用作标签以将具有特定名称的一个申请专利范围元素与具有相同名称的另一个元素区分(进用于使用序数术语),以区分申请专利范围元素。
此外,这里使用的措辞和术语是出于描述的目的,而不应被视为限制。本文中“包括”、“包含”、“具有”、“含有”、“涉及”及其变化形式的使用旨在涵盖其后列出的项及其等同物以及附加项。
本文使用的“示例性”一词意味着用作示例、实例或说明。因此,在此描述为示例性的任何实施例、实现、过程、特征等应当被理解为说明性示例,并且除非另有指示,否则不应被理解为优选或有利示例。
已经如此描述了至少一个实施例的若干方面,应当理解,所属领域具有通常知识者将容易想到各种改变、修改和改进。这些改变、修改和改进旨在成为本公开的一部分,并且旨在落入本文描述的原理的精神和范围内。因此,前面的描述和附图仅是示例性的。

Claims (20)

1.一种编码方法,用于对视频数据进行编码,该方法包括:
确定用于对当前数据单元进行帧内预测的预测模式,其中:
所确定的该预测模式是为该当前数据单元确定的多个最可能模式中的一个最可能模式;以及
使用编码二进制字符串对所确定的该预测模式的最可能模式信息进行编码,包括基于该编码二进制字符串是否是用于该最可能模式信息的第一编码二进制字符串来对该编码二进制字符串进行上下文编码。
2.根据权利要求1所述的方法,其特征在于,使用该编码二进制字符串对该最可能模式信息进行编码包括:如果该编码二进制字符串是第一编码二进制字符串,则对该编码二进制字符串进行上下文编码。
3.根据权利要求1所述的方法,其特征在于,使用该编码二进制字符串对该最可能模式信息进行编码包括:如果该编码二进制字符串是第二编码二进制字符串或更大编码二进制字符串,则对该编码二进制字符串进行旁路编码。
4.根据权利要求1所述的方法,其特征在于,该最可能模式信息包括指示与该多个最可能模式相关联的最可能模式列表中的位置的索引,并且该索引通过使用截断的一元二值化来编码。
5.根据权利要求1所述的方法,其特征在于,还包括:
确定用于对第二数据单元进行帧内预测编解码的预测模式,其中:
在多个最可能模式的当前列表中,所确定的该预测模式不是最可能模式;以及
使用固定长度代码对所确定的该预测模式进行编码。
6.一种编码方法,用于对视频数据进行编码,该方法包括:
对于变换系数的当前系数组,基于变换系数的多个相邻系数组,从多个上下文模型中确定上下文模型;以及
使用所确定的该上下文模型对变换系数的当前系数组进行编码。
7.根据权利要求6所述的编码方法,其特征在于,基于变换系数的该多个相邻系数组来确定该上下文模型包括:基于是否对变换系数的该当前系数组进行变换跳过编解码来确定变换系数的该多个相邻系数组。
8.根据权利要求7所述的编码方法,其特征在于,还包括:基于变换系数的该当前系数组是否变换跳过编解码,来确定变换系数的该多个相邻系数组的数量,变换系数的该多个相邻系数组中的每一个的位置,或两者。
9.根据权利要求6所述的编码方法,其特征在于,还包括:
基于变换系数的三个相邻系数组确定该上下文模型。
10.根据权利要求6所述的编码方法,其特征在于,还包括:
基于变换系数的五个相邻系数组确定该上下文模型。
11.根据权利要求6所述的编码方法,其特征在于,从多个上下文模型确定该上下文模型包括从四个上下文模型确定该上下文模型,从六个上下文模型确定该上下文模型或其某种组合。
12.根据权利要求6所述的编码方法,其特征在于,使用所确定的该上下文模型来对变换系数的该当前系数组进行编码包括:对以下中的一个或多个进行编码:
第一标志,指示至少变换系数的该当前系数组中的变换系数是否具有非零值;
第二标志,指示变换系数的该当前系数组中的变换系数是否具有零值;
第三标志,指示变换系数的该当前系数组中的变换系数的绝对值是否大于一;
第四标志,指示变换系数的该当前系数组中的变换系数的奇偶性;以及
第五标志,指示变换系数的该当前系数组的变换系数的该绝对值是否大于三。
13.一种解码方法,用于解码视频数据,该方法包括:
通过解码编码二进制字符串来解码与当前数据单元的预测模式相关联的最可能模式信息,包括:基于该编码二进制字符串是否是用于该最可能模式信息的第一编码二进制字符串,对该编码二进制字符串进行上下文解码;以及
基于解码的该最可能模式信息确定用于帧内预测解码该当前数据单元的该预测模式。
14.根据权利要求13所述的方法,其特征在于,通过对该编码二进制字符串进行解码来解码该最可能模式信息包括:如果该编码二进制字符串是第一编码二进制字符串,则对该编码二进制字符串进行上下文解码。
15.根据权利要求13所述的方法,其特征在于,通过对该编码二进制字符串进行解码来解码该最可能模式信息包括:如果该编码二进制字符串是第二编码二进制字符串或更大编码二进制字符串,则对该编码二进制字符串进行旁路解码。
16.根据权利要求13所述的方法,其特征在于,该最可能模式信息包括索引,该索引指示与为该当前数据单元确定的多个最可能模式相关联的最可能模式列表中的位置,并且该索引通过使用截断的一元去二值化来解码。
17.一种解码方法,用于解码视频数据,该方法包括:
解码与使用上下文模型编码的变换系数的当前系数组相关联的资料,其中该上下文模型是基于变换系数的多个相邻系数组,从多个上下文模型中确定的。
18.根据权利要求17所述的方法,其特征在于,还包括基于变换系数的该当前系数组是否被变换跳过编码来确定变换系数的该多个相邻系数组。
19.一种解码装置,被配置为对视频数据进行解码,该解码装置包括与内存通信的处理器,该处理器被配置为执行存储在该内存中的指令,该指令使该处理器:
通过解码编码二进制字符串来解码与当前数据单元的预测模式相关联的最可能模式信息,包括:基于该编码二进制字符串是否是用于该最可能模式信息的第一编码二进制字符串,对该编码二进制字符串进行上下文解码;以及
基于解码的该最可能模式信息确定用于帧内预测解码该当前数据单元的该预测模式。
20.一种解码装置,被配置为对视频数据进行解码,该解码装置包括与内存通信的处理器,该处理器被配置为执行存储在该内存中的指令,该指令使该处理器:
解码与使用上下文模型编码的变换系数的当前系数组相关联的资料,其中该上下文模型是基于变换系数的多个相邻系数组,从多个上下文模型中确定的。
CN201980044478.5A 2018-07-24 2019-07-24 熵编码和解码视频数据的方法和装置 Pending CN112385214A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310927439.8A CN116800963A (zh) 2018-07-24 2019-07-24 熵编码和解码视频数据的方法和装置

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862702435P 2018-07-24 2018-07-24
US62/702,435 2018-07-24
US201862733099P 2018-09-19 2018-09-19
US62/733,099 2018-09-19
US16/516,957 2019-07-19
US16/516,957 US11509890B2 (en) 2018-07-24 2019-07-19 Methods and apparatus for entropy coding and decoding aspects of video data
PCT/CN2019/097483 WO2020020221A1 (en) 2018-07-24 2019-07-24 Methods and apparatus for entropy coding and decoding aspects of video data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310927439.8A Division CN116800963A (zh) 2018-07-24 2019-07-24 熵编码和解码视频数据的方法和装置

Publications (1)

Publication Number Publication Date
CN112385214A true CN112385214A (zh) 2021-02-19

Family

ID=69178992

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980044478.5A Pending CN112385214A (zh) 2018-07-24 2019-07-24 熵编码和解码视频数据的方法和装置
CN202310927439.8A Pending CN116800963A (zh) 2018-07-24 2019-07-24 熵编码和解码视频数据的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310927439.8A Pending CN116800963A (zh) 2018-07-24 2019-07-24 熵编码和解码视频数据的方法和装置

Country Status (6)

Country Link
US (1) US11509890B2 (zh)
EP (1) EP3827587A4 (zh)
KR (2) KR20210029276A (zh)
CN (2) CN112385214A (zh)
TW (1) TWI722498B (zh)
WO (1) WO2020020221A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022193390A1 (zh) * 2021-03-13 2022-09-22 Oppo广东移动通信有限公司 视频编解码方法与系统、及视频编解码器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ774476A (en) * 2018-09-21 2023-05-26 Huawei Tech Co Ltd Intra prediction mode derivation based on neighboring blocks
KR20240064730A (ko) 2018-10-05 2024-05-13 티씨엘 킹 일렉트리컬 어플라이언시스 (후이저우) 컴퍼니 리미티드 영상 디코딩 및 인코딩 방법과 저장 매체
US11516506B2 (en) * 2018-10-05 2022-11-29 Lg Electronics Inc. Method and apparatus for processing image service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126629A1 (en) * 2011-06-17 2014-05-08 Lg Electronics Inc. Method and apparatus for encoding/decoding video in intra prediction mode
CN104081773A (zh) * 2012-01-28 2014-10-01 黑莓有限公司 实现模块化处理的上下文建模方法和装置
CN107736022A (zh) * 2015-06-18 2018-02-23 高通股份有限公司 帧内预测及帧内模式译码

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10123053B2 (en) 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US9088796B2 (en) * 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US9621894B2 (en) 2012-01-13 2017-04-11 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
EP2618573B1 (en) 2012-01-20 2017-12-13 BlackBerry Limited Methods and devices for context modeling to enable modular processing
US20160373742A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10547854B2 (en) 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
US10368107B2 (en) * 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
KR20210025537A (ko) * 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
TWI723446B (zh) * 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
KR20210010631A (ko) * 2018-07-13 2021-01-27 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 정보를 사용하는 영상 디코딩 방법 및 그 장치
CN112514379A (zh) * 2018-07-14 2021-03-16 Lg电子株式会社 图像编码系统中基于包括帧内预测信息的图像信息解码图像的方法及其设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126629A1 (en) * 2011-06-17 2014-05-08 Lg Electronics Inc. Method and apparatus for encoding/decoding video in intra prediction mode
CN104081773A (zh) * 2012-01-28 2014-10-01 黑莓有限公司 实现模块化处理的上下文建模方法和装置
CN107736022A (zh) * 2015-06-18 2018-02-23 高通股份有限公司 帧内预测及帧内模式译码

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022193390A1 (zh) * 2021-03-13 2022-09-22 Oppo广东移动通信有限公司 视频编解码方法与系统、及视频编解码器

Also Published As

Publication number Publication date
EP3827587A4 (en) 2022-04-20
KR20240033178A (ko) 2024-03-12
US11509890B2 (en) 2022-11-22
TW202021342A (zh) 2020-06-01
EP3827587A1 (en) 2021-06-02
KR20210029276A (ko) 2021-03-15
WO2020020221A1 (en) 2020-01-30
CN116800963A (zh) 2023-09-22
TWI722498B (zh) 2021-03-21
US20200036969A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
TWI753356B (zh) 用於編碼或解碼轉換塊的方法與裝置
KR102006237B1 (ko) 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR101937213B1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
US11509890B2 (en) Methods and apparatus for entropy coding and decoding aspects of video data
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
CN104067624B (zh) 编码和解码变换单位的残差系数的有效性映射的方法、设备和系统
CN112425164B (zh) 多个可分离变换选择的变换变体
TWI789668B (zh) 脈絡適應性二進制算術寫碼用參數化體系決定技術
AU2011236109A1 (en) Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
WO2019152131A1 (en) Methods and devices for picture encoding and decoding using multiple transforms
CN114175653B (zh) 用于视频编解码中的无损编解码模式的方法和装置
EP3518542A1 (en) Methods and devices for picture encoding and decoding using multiple transforms
KR20200025171A (ko) 다중 변환 선택을 사용하는 비디오 신호 처리 방법 및 장치

Legal Events

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

Effective date of registration: 20220429

Address after: Hsinchu County, Taiwan, China

Applicant after: MEDIATEK Inc.

Address before: Singapore City Huicheng Avenue Soras one of the third floor of the building

Applicant before: MediaTek (Singapore) Pte. Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20210219

RJ01 Rejection of invention patent application after publication