CN118266210A - 用于基于上下文的自适应二进制算术编码的概率计算的方法和设备 - Google Patents

用于基于上下文的自适应二进制算术编码的概率计算的方法和设备 Download PDF

Info

Publication number
CN118266210A
CN118266210A CN202280076677.6A CN202280076677A CN118266210A CN 118266210 A CN118266210 A CN 118266210A CN 202280076677 A CN202280076677 A CN 202280076677A CN 118266210 A CN118266210 A CN 118266210A
Authority
CN
China
Prior art keywords
stripe
slice
current
probability
weight
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
CN202280076677.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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN118266210A publication Critical patent/CN118266210A/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/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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/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/117Filters, e.g. for pre-processing or post-processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了用于视频解码和编码的方法、装置及其非暂态计算机可读存储介质。在一种视频解码方法中,二进制算术解码器可以根据自适应权重获得所述二进制算术解码器的给定的上下文模型的二进制符号的多假设概率,其中,所述多假设概率指示所述二进制符号等于某二进制值的概率,并且所述二进制符号来自与所述上下文模型相关联的多个二进制符号。此外,所述解码器可以根据所述多假设概率对所述二进制符号进行解码。

Description

用于基于上下文的自适应二进制算术编码的概率计算的方法 和设备
相关申请的交叉引用
本申请是根据于2021年12月29日提交的名称为“Methods and Devices onProbability Calculation for Context-Based Adaptive Binary Arithmetic Coding[用于基于上下文的自适应二进制算术编码的概率计算的方法和设备]”的美国临时申请号63/294,692提交的并要求其优先权,所述美国临时申请的全文通过引用并入。
技术领域
本公开涉及视频编解码和压缩,并且具体地但不限于,用于现代视频编解码器的熵编码方法中用于提高基于上下文的自适应二进制算术编码(CABAC)的概率估计模块的准确性的方法和装置。
背景技术
各种视频编解码技术可以被用来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,视频编解码标准包括通用视频编解码(VVC)、高效视频编解码(H.265/HEVC)、高级视频编解码(H.264/AVC)、运动图片专家组(MPEG)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等),这些方法利用存在于视频图像或序列中的冗余。视频编解码技术的一个重要目标在于,将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
VVC标准的第一版本于2020年7月完成,其与上一代视频编解码标准HEVC相比,提供了大约50%的比特率节省或同等的感知质量。尽管VVC标准提供了优于其前身的显著编解码改进,但有证据表明,可以使用额外的编解码工具实现优越的编解码效率。最近,在ITU-T VECG和ISO/IEC MPEG的合作下,联合视频探索小组(JVET)开始探索与VVC相比能够大幅提高编解码效率的先进技术。2021年4月,为未来的视频编解码探索工作建立了一个名为增强压缩模型(ECM)的软件代码库。ECM参考软件基于由JVET为VVC开发的VVC测试模型(VTM),并进一步扩展和/或改进了几个现有模块(例如,帧内/帧间预测、变换、环路滤波器等)。未来,超出VVC标准的任何新编解码工具都需要集成到ECM平台中,并使用JVET通用测试条件(CTC)进行测试。
发明内容
本公开提供了与提高CABAC的概率估计模块的准确性相关的技术的示例。
根据本公开的第一方面,提供了一种视频解码方法。所述方法包括:二进制算术解码器可以根据自适应权重获得所述二进制算术解码器的给定的上下文模型的二进制符号的多假设概率,其中,所述多假设概率可以确定所述二进制符号等于某二进制值的概率,并且所述二进制符号来自与所述上下文模型相关联的多个二进制符号。此外,所述解码器可以根据所述多假设概率对所述二进制符号进行编码。此外,所述解码器可以根据所述多假设概率对所述二进制符号进行解码。
根据本公开的第二方面,提供了一种视频编码方法。所述方法包括:二进制算术编码器可以根据自适应权重确定所述二进制算术编码器的给定的上下文模型的多个二进制符号中的二进制符号的多假设概率,其中,所述多假设概率指示所述二进制符号等于某二进制值的概率。此外,所述编码器可以根据所述多假设概率对所述二进制符号进行编码。
根据本公开的第三方面,提供了一种视频解码方法。所述方法包括:解码器可以选择在当前条带之前解码的一个或多个条带,通过继承在所述当前条带之前解码的条带的一个或多个上下文模型的上下文状态,获得所述当前条带的一个或多个上下文模型的初始上下文状态,以及根据所述初始上下文状态对与所述当前条带中的所述一个或多个上下文模型相关联的二进制符号进行解码。
根据本公开的第四方面,提供了一种视频编码方法。所述方法包括:编码器可以选择在当前条带之前编码的一个或多个条带,通过从在所述当前条带之前编码的条带继承一个或多个上下文模型的上下文状态,确定所述当前条带的所述一个或多个上下文模型的初始上下文状态,以及根据所述初始上下文状态对与所述当前条带的所述一个或多个上下文模型相关联的二进制符号进行编码。
根据本公开的第五方面,提供了一种用于视频解码的装置。所述装置包括一个或多个处理器和存储器,所述存储器耦接到所述一个或多个处理器并且被配置为存储可由所述一个或多个处理器执行的指令,其中,所述一个或多个处理器在执行所述指令时被配置为执行根据第一方面或第三方面的方法。
根据本公开的第六方面,提供了一种用于视频编码的装置。所述装置包括一个或多个处理器和存储器,所述存储器耦接到所述一个或多个处理器并且被配置为存储可由所述一个或多个处理器执行的指令,其中,所述一个或多个处理器在执行所述指令时被配置为执行根据第二方面或第四方面的方法。
根据本公开的第七方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器接收比特流,并基于比特流执行根据第一方面或第三方面的方法。
根据本公开的第八方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行根据第二方面或第四方面的方法,以将当前视频块编码成比特流,并传输所述比特流。
附图说明
本公开的示例的更具体的描述将通过参照在附图中图示的具体示例来呈现。鉴于这些附图仅描绘了一些示例并且因此不应被认为是对范围的限制,将通过使用所附附图更具体和详细地描述和解释这些示例。
图1A是图示了根据本公开的一些示例的用于对视频块进行编码和解码的系统的框图。
图1B是根据本公开的一些示例的编码器的框图。
图1C至图1F是图示了根据本公开的一些示例的如何将帧递归地分区成具有不同尺寸和形状的多个视频块的框图。
图2是根据本公开的一些示例的解码器的框图。
图3A是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3B是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3C是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3D是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3E是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图4是图示了根据本公开的一些示例的与用户界面耦接的计算环境的图。
图5是图示了根据本公开的一些示例的视频解码方法的流程图。
图6是图示了根据本公开的一些示例的对应于如图5所示的视频解码方法的视频编码方法的流程图。
图7是图示了根据本公开的一些示例的视频解码方法的流程图。
图8是图示了根据本公开的一些示例的对应于如图7所示的视频解码方法的视频编码方法的流程图。
具体实施方式
现在将详细参照具体实施方式,附图中图示了所述实施方式的示例。在以下详细描述中,阐述了许多非限制性的具体细节,以便帮助理解本文提出的主题。但是对于本领域普通技术人员将显而易见的是,可以使用各种替代方案。例如,对于本领域普通技术人员将显而易见的是,本文提出的主题可以在具有数字视频能力的许多类型的电子设备上实施。
本公开中使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。本公开和所附权利要求中的单数形式的“一个/一种(a/an)”、“所述”和“该”也旨在包括复数形式,除非在整个公开中明确指出其他含义。还应当理解,本公开中使用的术语“和/或”是指并且包括所列出的多个相关项之一或任一项或所有可能的组合。
贯穿本说明书对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”、或类似语言的提及意味着所描述的特定特征、结构、或特性包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、要素、或特性也适用于其他实施例。
贯穿本公开,术语“第一”、“第二”、“第三”等都用作命名法,仅用于提及相关要素,例如设备、部件、组分、步骤等,除非另有明确说明,否则不暗示任何空间或时间顺序。例如,“第一设备”和“第二设备”可以指两个单独形成的设备,或者同一设备的两个部分、部件或工作状态,并且可以任意命名。
术语“模块”、“子模块”、“电路(circuit)”、“子电路(sub-circuit)”、“电路(circuitry)”、“子电路(sub-circuitry)”、“单元”、或“子单元”可以包括存储器(共享、专用、或组),所述存储器存储可以由一个或多个处理器执行的代码或指令。模块可以包括具有或不具有存储的代码或指令的一个或多个电路。模块或电路可以包括直接或间接连接的一个或多个部件。这些部件可能会或可能不会物理地附接到彼此或彼此相邻。
如本文所使用的,取决于上下文,术语“如果”或“当……时”可以被理解为意指“在……时”或“响应于”。这些术语如果出现在权利要求中,可能并不指示相关限制或特征是有条件的或可选的。例如,一种方法可以包括以下步骤:i)当或如果条件X存在时,执行功能或动作X’,以及ii)当或如果条件Y存在时,执行功能或动作Y’。所述方法可以同时具备执行功能或动作X’的能力和执行功能或动作Y’的能力。因此,功能X’和Y’可以在不同的时间在所述方法的多次执行中被执行。
单元或模块可以纯软件实施,也可以纯硬件实施,也可以硬件与软件结合实施。例如,在纯软件实施方式中,单元或模块可以包括直接或间接链接在一起的功能相关的代码块或软件部件,以执行特定功能。
图1A是图示了根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1A所示,系统10包括源设备12,所述源设备生成并编码要由目标设备14在稍后时间解码的视频数据。源设备12和目标设备14可以包括多种电子设备中的任一种,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。
在一些实施方式中,目标设备14可以经由链路16接收要解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括用于使源设备12能够实时地将已编码视频数据直接传输到目标设备14的通信介质。已编码视频数据可以根据如无线通信协议等通信标准来调制并传输到目标设备14。通信介质可以包括任何无线或有线通信媒体,如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络(如局域网、广域网、或全球网(如互联网))的一部分。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备12到目标设备14的通信的任何其他设备。
在一些其他实施方式中,已编码视频数据可以从输出接口22传输到存储设备32。随后,目标设备14可以经由输入接口28来访问存储设备32中的已编码视频数据。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任一种,如硬盘驱动器、蓝光光盘、数字通用盘(DVD)、光碟只读存储器(CD-ROM)、闪速存储器、易失性存储器或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于可以保存由源设备12生成的已编码视频数据的文件服务器或另一个中间存储设备。目标设备14可以经由流式传输或下载来访问存储设备32中存储的视频数据。文件服务器可以是能够存储已编码视频数据并且将已编码视频数据传输到目标设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附加存储(NAS)设备、或本地磁盘驱动器。目标设备14可以通过任何标准数据连接来访问已编码视频数据,所述标准数据连接包括适于访问存储在文件服务器上的已编码视频数据的无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)、或两者的组合。从存储设备32传输已编码视频数据可以是流式传输、下载传输、或两者的组合。
如图1A所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括如视频捕获设备(例如摄像机)等源、包含先前捕获的视频的视频档案、用于从视频内容提供方接收视频的视频馈送接口和/或用于生成计算机图形数据作为源视频的计算机图形系统或这种源的组合。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目标设备14可以形成拍照电话或视频电话。然而,本申请中描述的实施方式通常可以适用于视频编解码并且可以应用于无线和/或有线应用。
捕获的、预先捕获的、或计算机生成的视频可以由视频编码器20进行编码。已编码视频数据可以经由源设备12的输出接口22直接传输到目标设备14。已编码视频数据也可以(或替代性地)存储到存储设备32上,以供目标设备14或其他设备以后访问,以进行解码和/或回放。输出接口22可以进一步包括调制解调器和/或发射器。
目标设备14包括输入接口28、视频解码器30、以及显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收已编码视频数据。通过链路16传送的或提供在存储设备32上的已编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30用于解码视频数据。这种语法元素可以被包括于在通信介质上传输的、存储在存储介质上的、或存储在文件服务器上的已编码视频数据内。
在一些实施方式中,目标设备14可以包括显示设备34,所述显示设备可以是集成显示设备和被配置为与目标设备14通信的外部显示设备。显示设备34向用户显示已解码视频数据并且可以包括各种显示设备中的任一种,如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(如VVC、HEVC、MPEG-4第10部分、AVC、或这种标准的扩展)进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常设想,源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行编码。类似地,通常还设想,目标设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行解码。
视频编码器20和视频解码器30各自可以实施为各种合适的编码器和/或解码器电路中的任一种,如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地在软件中实施时,电子设备可以将用于软件的指令存储在合适的非暂态计算机可读介质中并且使用一个或多个处理器在硬件中执行指令以执行本公开中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中任一者都可以集成为相应设备中的组合编码器/解码器(CODEC)的一部分。
与HEVC一样,VVC是在基于块的混合视频编解码框架上构建的。图1B是图示了根据本公开的一些实施方式的基于块的视频编码器的框图。在编码器100中,逐块(称为编码单元(CU))对输入视频信号进行处理。编码器100可以是如图1A所示的视频编码器20。在VTM-1.0中,CU可以高达128×128像素。然而,不同于仅仅基于四叉树来将块分区的HEVC,在VVC中,一个编码树单元(CTU)被拆分成多个CU,以适应基于四/二/三叉树而不同的局部特性。另外,HEVC中的多种分区单元类型的概念被移除了,即,VVC中不再存在CU、预测单元(PU)和变换单元(TU)的划分;相反,每个CU始终用作预测和变换两者的基本单元,而不进行进一步分区。在多类型树结构中,一个CTU首先按四叉树结构进行分区。然后,每个四叉树叶节点可以进一步按二叉树结构和三叉树结构进行分区。
图3A至图3E是图示了根据本公开的一些实施方式的多类型树划分模式的示意图。图3A至图3E分别示出了五个划分类型,包括四叉分区(图3A)、垂直二叉分区(图3B)、水平二叉分区(图3C)、垂直三叉分区(图3D)和水平三叉分区(图3E)。
对于每个给定的视频块,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已经编解码的邻近块的样点(被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“运动补偿预测”)使用来自已经编解码的视频图片的重建像素来预测当前视频块。时间预测减少了在视频信号中固有的时间冗余。给定CU的时间预测信号通常由一个或多个运动矢量(MV)来表示,这些运动矢量指示当前CU与其时间参考之间的运动量和运动方向。同样,如果支持多个参考图片,则另外发送一个参考图片索引,所述参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。
在空间预测和/或时间预测之后,编码器100中的帧内/帧间模式决策电路121例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去块预测值120;并且使用变换电路102和量化电路104对所产生的预测残差进行解相关。通过反量化电路116对所产生的量化残差系数进行反量化,并通过逆变换电路118对所述量化残差系数进行逆变换,以形成重建残差,然后将所述重建残差加回到预测块以形成CU的重建信号。进一步地,在将重建的CU置于图片缓冲器117的参考图片存储中并将其用于对未来的视频块进行编解码之前,可以对所述重建的CU应用环路滤波115,如去块滤波器、样点自适应偏移(SAO)和/或自适应环路滤波器(ALF)。为了形成输出视频比特流114,将编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元106,以进行进一步压缩和打包来形成比特流。
例如,去块滤波器在VVC的当前版本以及AVC、HEVC中是可用的。在HEVC中,定义了称为SAO的附加环路滤波器以进一步提高编解码效率。在VVC标准的当前版本中,正在积极研究称为ALF的又另一种环路滤波器,并且其很有可能包括在最终标准中。
这些环路滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。编码器100也可以决定关闭这些操作,以节省计算复杂度。
应该注意的是,如果这些滤波器选项被编码器100开启,则帧内预测通常基于未滤波的重建像素,而帧间预测基于滤波的重建像素。
图2是图示了可以与许多视频编解码标准结合使用的基于块的视频解码器200的框图。该解码器200与位于图1B的编码器100中的重建相关的部分类似。基于块的视频解码器200可以是如图1A所示的视频解码器30。在解码器200中,首先通过熵解码202对传入视频比特流201进行解码以得到量化系数等级和预测相关信息。然后,通过反量化204和逆变换206来处理量化系数等级,以获得重建预测残差。在帧内/帧间模式选择器212中实施的块预测值机制被配置为基于已解码的预测信息来执行帧内预测208或运动补偿210。通过使用加法器214对来自逆变换206的重建预测残差与由块预测值机制生成的预测输出进行求和来获得一组未滤波的重建像素。
在被存储在用作参考图片存储的图片缓冲器213中之前,重建块可以进一步通过环路滤波器209。可以发送图片缓冲器213中的重建视频以驱动显示设备,并用于预测未来的视频块。在环路滤波器209被开启的情况下,对这些重建像素执行滤波操作,从而得到最终的重建视频输出222。
在当前的VVC和AVS3标准中,当前编码块的运动信息或者是从由合并候选索引指定的空间或时间邻近块复制的,抑或是通过运动估计的显式信号获得的。本公开的重点是通过改进仿射合并候选的推导方法来提高仿射合并模式的运动矢量的准确性。为了便于描述本公开,使用VVC标准中的现有仿射合并模式设计作为示例来说明所提出的思想。请注意,虽然在整个公开中使用VVC标准中的现有仿射模式设计作为示例,但是对于现代视频编解码技术领域的技术人员来说,所提出的技术也可以应用于仿射运动预测模式的不同设计或具有相同或相似设计精神的其他编解码工具。
在典型的视频编解码过程中,视频序列典型地包括帧或图片的有序集合。每个帧可以包括三个样点阵列,分别表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他实例中,帧可以是单色的,并且因此仅包括亮度样点的一个二维阵列。
如图1C所示,视频编码器20(或更具体地,视频编码器20的预测处理单元中的分区单元)通过首先将帧分区为一组CTU来生成帧的已编码表示。视频帧可以包括从左到右以及从上到下以光栅扫描顺序连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20在序列参数集中用信号传输CTU的宽度和高度,使得视频序列中的所有CTU具有相同的尺寸,即128×128、64×64、32×32和16×16之一。但是应当注意,本申请不必限于特定的尺寸。如图1D所示,每个CTU可以包括一个亮度样点CTB、两个对应的色度样点编码树块、以及用于对编码树块的样点进行编解码的语法元素。语法元素描述了像素编码块的不同类型的单元的属性以及可以如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独的色彩平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编解码的语法元素。编码树块可以是N×N样点块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分区(如二叉树分区、三叉树分区、四叉树分区或其组合),并且将CTU划分为较小的CU。如图1E描绘的,首先将64×64CTU 400划分为四个较小的CU,每个CU的块尺寸为32×32。在四个较小的CU中,CU 410和CU 420按块尺寸各自划分为四个16×16的CU。两个16×16CU 430和440按块尺寸各自进一步划分为四个8×8的CU。图1F描绘了图示出如图1E中所描绘的CTU 400的分区过程的最终结果的四叉树数据结构,四叉树的每个叶节点对应于具有在32×32至8×8范围内的相应尺寸的一个CU。类似于图1D中描绘的CTU,每个CU可以包括具有相同尺寸的帧的亮度样点CB和两个对应的色度样点编码块,以及用于对编码块的样点进行编解码的语法元素。在单色图片或具有三个单独的色彩平面的图片中,CU可以包括单个编码块和用于对编码块的样点进行编解码的语法结构。应当注意,图1E至图1F中描绘的四叉树分区仅用于说明目的,并且可以将一个CTU分割成多个CU以适应基于四叉树/三叉树/二叉树分区的不同的局部特性。在多类型树结构中,一个CTU按四叉树结构进行分区,并且每个四叉树叶CU可以进一步按二叉树结构和三叉树结构进行分区。如图3A至图3E所示,具有宽度W和高度H的编码块存在五种可能的分区类型,即,四叉分区、水平二叉分区、垂直二叉分区、水平三叉分区和垂直三叉分区。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分区为一个或多个M×N PB。PB是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的PU可以包括一个亮度样点PB、两个对应的色度样点PB、以及用于对PB进行预测的语法元素。在单色图片或具有三个单独的色彩平面的图片中,PU可以包括单个PB和用于对PB进行预测的语法结构。视频编码器20可以为CU的每个PU的亮度、Cb和Cr PB生成预测的亮度、Cb和Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除与PU相关联的帧之外的一个或多个帧的已解码样点来生成PU的预测块。
在视频编码器20生成CU的一个或多个PU的预测亮度、Cb和Cr块之后,视频编码器20可以通过从其原始亮度编码块中减去CU的预测亮度块来生成CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编码块中的对应样点之间的差。类似地,视频编码器20可以分别生成CU的Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一中的Cb样点与CU的原始Cb编码块中的对应样点之间的差,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编码块中的对应样点之间的差。
此外,如图1E所图示的,视频编码器20可以使用四叉树分区来将CU的亮度、Cb和Cr残差块分别分解为一个或多个亮度、Cb和Cr变换块。变换块是被应用相同变换的样点矩形(正方形或非正方形)块。CU的TU可以包括一个亮度样点变换块、两个对应的色度样点变换块、以及用于对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独的色彩平面的图片中,TU可以包括单个变换块和用于对变换块的样点进行变换的语法结构。
视频编码器20可以将一个或多个变换应用于TU的亮度变换块以生成TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用于TU的Cb变换块以生成TU的Cb系数块。视频编码器20可以将一个或多个变换应用于TU的Cr变换块以生成TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指对变换系数进行量化以可能减少用于表示变换系数的数据量,从而提供进一步压缩的过程。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化变换系数的语法元素执行CABAC。最终,视频编码器20可以输出包括形成编码帧和相关联数据的表示的比特序列的比特流,所述比特流被保存在存储设备32中或被传输到目标设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析所述比特流以从所述比特流中获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的帧。重建视频数据的过程通常与由视频编码器20执行的编码过程是相反的。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换以重建与当前CU的TU相关联的残差块。视频解码器30还通过将当前CU的PU的预测块的样点添加到当前CU的TU的变换块的对应样点来重建当前CU的编码块。在重建帧的每个CU的编码块之后,视频解码器30可以重建帧。
如上所述,视频编解码主要使用两种模式,即,帧内预测(intra-frameprediction或intra-prediction)和帧间预测(inter-frame prediction或inter-prediction)来实现视频压缩。应注意的是,IBC可以被认为是帧内预测或第三模式。在这两种模式之间,帧间预测比帧内预测对编解码效率的贡献更大,因为其使用运动矢量来从参考视频块中预测当前视频块。
但是随着不断改进的视频数据捕获技术和用于保留视频数据中的细节的更精细的视频块尺寸,表示当前帧的运动矢量所需的数据量也大幅度增加。克服这个挑战的一种方式是受益于以下事实:不仅空间域和时间域中的一组邻近CU具有用于预测目的的相似视频数据,而且这些邻近CU之间的运动矢量也是相似的。因此,可以通过探索CU的空间和时间相关性,将空间上邻近的CU和/或时间上同位的CU的运动信息用作当前CU的运动信息(例如,运动矢量)的近似值,所述近似值也被称为当前CU的“运动矢量预测值”(MVP)。
代替将由如上文结合图1B描述的运动估计单元确定的当前CU的实际运动矢量编码为视频比特流,从当前CU的实际运动矢量中减去当前CU的运动矢量预测值,以产生当前CU的运动矢量差(MVD)。这样做,不需要将由运动估计单元针对帧的每个CU确定的运动矢量编码为视频比特流,并且可以显著减少用于表示视频比特流中的运动信息的数据量。
像在编码块的帧间预测期间在参考帧中选择预测块的过程一样,需要由视频编码器20和视频解码器30两者采用一组规则以用于使用与当前CU的在空间上邻近的CU和/或在时间上同位的CU相关联的那些潜在候选运动矢量来构建当前CU的运动矢量候选列表(也称为“合并列表”),并且然后从运动矢量候选列表中选择一个成员作为当前CU的运动矢量预测值。这样做,不需要将运动矢量候选列表本身从视频编码器20传输到视频解码器30,并且运动矢量候选列表内的所选运动矢量预测值的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内相同的运动矢量预测值来对当前CU进行编码和解码。
本公开的主要目标是提高在混合视频编解码框架中使用的CABAC技术的效率。具体地,提出了若干改进来提高对在压缩视频信号时生成的语法元素的一系列二进制符号(也简称为二进制位(bin))的概率估计的准确性。下文中首先对诸如AVC、HEVC、VVC等现代视频编解码标准中应用的现有CABAC技术进行深入分析。然后,讨论了现有CABAC设计中的一些缺陷/限制。之后,提出了通过提高概率估计的准确性来提高CABAC效率的方法。
AVC和HEVC中CABAC的概率估计技术
CABAC最初是在H.264/AVC标准中作为两种支持的熵编码方案之一引入的。在CABAC中,算术编码由两个模块构成:码字映射(也称为二值化)和概率估计。在码字映射过程中,语法元素被映射到二进制位的字符串中。该映射是通过所谓的二值化器来实现的,所述二值化器基于不同的二值化方案将语法元素转换为几组二进制位。实际上,可以应用各种二值化方案来进行这种转换,比如定长码、一元码、截断一元码和k阶指数哥伦布码等。概率估计模块的目的是确定一个二进制位的值为1或0的可能性。在AVC中,二进制位的概率是基于指数老化模型计算的,其中,一个当前二进制位等于1或0的概率取决于先前编解码的先前二进制位的值。另外,根据常见的数据统计,紧邻一个当前二进制位之前的二进制位的影响通常大于很久以前编解码的二进制位。考虑到这一点,在CABAC中引入了一个参数α,该参数控制用于估计当前二进制位的概率的先前编解码的二进制位的数量N,即,N=1/α。该参数转换为概率随着已编解码二进制位的增加而更新的自适应速度。具体地,利用自适应参数α,一个二进制位是最小概率符号(LPS)的概率被递归地计算为
p(t+1)=p(t)·(1-α)+x(t)·α (1)
其中,p(t)是在t时刻LPS符号的概率;p(t+1)是在t+1时刻LPS符号的更新的概率;x(t)在当前二进制位是LPS符号时等于1,并且在当前二进制位是最大概率符号(MPS)时等于0。在AVC和HEVC的CABAC引擎中,针对每个语法元素以α≈1/19.69(即,在估计一个当前二进制位的概率时,会考虑大约19.69个先前编解码的二进制位)的固定值,根据(1)独立更新所述概率。此外,为了避免在概率估计期间使用乘法,等式(1)中的概率p(t)(其是取值范围为0到1的实数)被量化为一组固定的概率状态。例如,在AVC和HEVC中,概率具有7位精度,对应于128个概率状态。
在AVC和HEVC中,视频比特流通常由一个或多个可独立解码的条带构成。在每个条带的开头,所有上下文的概率都被初始化为一些预定义的值。理论上,在已知一个给定上下文的统计性质的情况下,应当使用均匀分布(即,pinit=0.5)来初始化上下文概率。然而,为了能够使一个上下文的概率更快地达到其对应的统计分布,发现为每个上下文提供一些适当的初始概率值(其可能不是等概率的)是有益的。具体地,在AVC和HEVC中,给定一个条带SliceQPY的初始QP,一个上下文InitProbState的初始概率状态计算如下:
其中,SlopeIdx和OffsetIdx(均在0到15的范围内)是两个初始化参数,它们被预定义并存储为查找表(LUT),以用于计算一个上下文的初始概率。如等式(2)所示,通过条带QP的线性函数对初始概率状态进行建模,其中,斜率等于(m>>4)并且偏移量等于n。
VVC中CABAC的概率估计技术
除了以下关键区别之外,在VVC中应用的概率估计模块与在AVC和HEVC中应用的概率估计模块几乎相同:首先,VVC为每个上下文维护两个概率估计,其中每个上下文在等式(1)中都有其自己的概率自适应率α。实际用于算术编码的最终概率是这两个估计的平均值;其次,在VVC中,预定义了多个概率LUT并将其用于初始化一个条带的不同上下文的概率。同时,与AVC和HEVC类似,概率的初始估计是基于以条带QP作为输入的线性模型建立的。然而,在VVC中,所得到的值代表实际的概率值;而在AVC/HEVC中,它代表概率状态的索引。
多假设概率估计
显然,由于所有语法元素的统计特性不同,因此对所有语法元素使用一种固定的自适应参数可能不是最佳的。另一方面,多项科学研究已经证明,与单个估计器相比,使用多个概率估计器可以获得更好的估计准确性。因此,在VVC的CABAC设计中应用了一种多假设概率估计方案,其中,利用了两个不同的自适应参数α0和α1,分别对应于一个慢速和一个快速的概率自适应速度。通过这种方式,可以使用两个自适应参数为每个二进制位计算两个不同的概率,然后将其平均以生成二进制位的最终概率,即,
其中,α0和α1是与这两个概率假设相关联的两个自适应参数。在VVC中,使用一种被设计为对自适应参数以及初始概率进行联合优化的训练算法针对每个上下文独立选择α0和α1的值。具体地,根据目前的设计,对于每个上下文,都允许从一组预定义值{1/4,1/8,1/16,1/32}中选择α0,并从另一组预定义值{1/32,1/64,1/128,1/256,1/512}中选择α1
初始概率计算
与在AVC/HEVC中一样,VVC的CABAC过程也在每个条带的开头调用一个QP相关的概率初始化过程。然而,与AVC/HEVC对一个概率状态机的状态进行初始化不同,初始概率的实际值是直接得到的,如下所示
其中,SlopeIdx和OffsetIdx是用于计算线性模型的斜率和偏移量的两个初始化参数,它们分别以3位精度表示;是为两个概率估计器计算的两个初始概率。
问题陈述
与AVC/HEVC中的CABAC设计相比,VVC中的概率估计方案可以更精确地捕获每个上下文的二进制位的真实统计分布,从而提高CABAC效率。但其设计仍有待进一步改进。具体地,本公开中指出了当前VVC CABAC过程的概率估计中存在的以下缺陷:
首先,如上文所讨论的,在VVC中,应用基于多假设的概率估计方案,其中,两个概率估计器(一个使用快速自适应率,另一个使用慢速自适应率)用于估计每个上下文模型的二进制位的概率。另外,在现有设计中,一个二进制位的概率只是两个概率估计器的简单平均值。考虑到固定权重可能不够灵活,无法适应不同上下文的变化数据统计,因此这种设计是次优的。
另一方面,根据现有的VVC设计,一个条带中的所有上下文的概率是基于针对不同条带类型(即,I、B和P条带)预先确定的三组初始上下文值来初始化的。其中,I条带类型的该组上下文初始值仅允许用于I条带,而B条带类型和P条带类型的该组初始上下文值允许用于B条带或P条带。由于其特定的特征,每个视频比特流的二进制位通常呈现出彼此截然不同的统计特性。因此,仅使用三组固定的初始上下文值似乎远不能为概率估计器提供高效的起点来快速捕获每个上下文的真实概率失真。另一方面,由于一个视频序列内的强时间相关性,来自在当前条带之前编解码的条带的上下文的概率统计可以潜在地提供更准确的估计来初始化当前条带中的上下文的概率。
在本公开中,提出了解决VVC中的现有概率估计方案中的问题/缺陷的方法。具体地,为了在考虑对硬件编解码器实施方式的友好性的同时进一步提高概率估计准确性,提出了以下方法。
首先,为了提高概率估计的精度,提出了一种采用加权多假设概率更新的二进制算术编码。具体地,不是使用简单平均值,而是将用于对每个上下文的一个二进制位进行编解码的最终概率计算为与该上下文相关联的两个概率估计器p0和p1的一种加权组合。另外,提出了多种初始化方法来在一个条带开头指示上下文的初始权重参数。
其次,提出了一种改进的初始化方案来初始化帧间编码的条带的上下文的状态参数。具体地,除了使用现有的固定上下文初始化表之外,所提出的方案还允许将上下文的状态参数(例如,一个帧间编码的条带中的两个概率估计器、自适应率和两个概率估计器的组合的权重因子)初始化为从先前编解码的条带的对应状态参数中复制的参数。
采用自适应权重的多假设概率估计
在VVC中,应用基于多假设的概率估计,其中,对一个上下文的每个二进制位进行编解码时的最终概率被计算为两个概率估计器的平均值。考虑到不同视频比特流的特定统计特性,很明显,当组合一个上下文的两个概率估计器时,这种方案(即,使用相等权重(即0.5))可能并不总是足够灵活以捕获真实的符号统计。因此,本节提出了一种采用自适应权重的多假设概率估计(MHP-AW)来进一步提高VVC的概率估计准确性。具体地,与VVC CABAC设计相同,针对每个上下文维护两个单独的概率估计器p0和p1,并基于其自己的自适应率α0和α1进行更新。然而,不是使用固定平均值,而是在所提出的方案中引入了多个权重参数,其中,用于一个上下文的二进制算术编码的最终概率p是基于这两个概率估计器的加权组合而得到的。具体来说,所提出的概率估计可以表示为
其中,ω是用于两个概率估计的组合的权重,其值从范围[0,1]中获得。在等式(5)中,权重ω代表一个实数值,需要将其量化为整数以用于硬件/软件编解码器实施方式。在实践中,可以应用不同的方法来将ω的值转换为整数。例如,可以应用一个量化步长为qstep的均匀量化器,通过将一个整数与量化步长相乘来近似真实的权重值,如下所描述的
ω=ωint·qstep (6)
其中,ωint是整数权重值。进一步地,量化步长也是一个实数值,可以近似为一次M位右移操作
ω=ωint·qstep=ωint>>M (7)
如等式(7)所示,当在硬件/软件中实施所提出的MHP-AW方案时,需要额外的存储器来存储该组整数权重值ωint。同时,如等式(5)所示,整数权重(即,M)的精度还决定了这两个概率估计器的加权组合所需的乘法器的位宽。因此,在实践中,可以应用不同组的整数权重值和表示精度来实现编解码效率与硬件/软件实施复杂度之间的各种权衡。例如,假设表示精度M等于5,则可以应用不同组的整数值。在一个示例中,提出了从一个预定义集{0,3,6,10,13,16,19,22,26,29,32}中选择每个上下文的最佳权重。在另一示例中,提出了从一个预定义集{0,6,11,16,21,26,32}中设置权重。在又一示例中,提出了使用预定义的一组整数权重值{0,8,12,16,20,24,32}。
与概率和自适应率类似,在所提出的MHP-AW方案中,需要在一个条带的开头为每个上下文提供权重ωint的一个初始值。下文中提出了不同的MHP-AW权重初始化方案。在第一种方法中,提出定义多个不同的预定义表,每个预定义表包含用于一个条带中的所有上下文的一组权重初始化值。在对一个条带进行编码/解码之前,可以选择一个预定义表,并基于该表的对应权重值来初始化对应的MHP-AW权重。例如,在一个实施例中,可以导出多个取决于条带类型的初始权重表,例如专门为I、P和B条带设计的三组权重初始化表。通过这种方式,对于一个条带,视频编码器可以从三个预定义表中选择一个来初始化MHP-AW权重,以更好地适应该条带中的符号统计。当应用这种方案时,可以针对每个条带用信号传输一个附加语法元素sh_cabac_weight_init_idx,指示为条带选择哪个初始权重表,如下表1所示:
表1
其中,语法pps_cabac_weight_init_present_flag是在图片参数集(PPS)中用信号传输的一个控制标志,指示是否允许为每个条带选择不同的初始权重表。当启用该标志时,进一步在条带级用信号传输另一个语法sh_cabac_weight_init_idx以指示所选择的初始权重表。在另一实施例中,提出仅允许通过与I条带类型相关联的初始权重表来初始化I条带的MHP-AW权重,而允许根据预定义的权重初始化表之一来初始化P条带和B条带的MHP-AW权重。具体地,除了与当前条带的条带类型相关联的初始权重表之外,提出仅允许使用B(或P)条带类型的初始权重表来初始化一个P(或B)条带。相应地,在这种情况下,对于P/B条带的MHP-AW权重的初始表选择,每个条带只需要用信号传输一个标志,如下表2所示:
表2
当标志sh_cabac_weight_init_flag等于0时,意味着使用与当前条带的条带类型相对应的初始权重表来初始化该条带的MHP-AW权重的值;当该标志等于1时,意味着在当前条带为一个B条带时,使用与P条带类型相对应的初始权重表来初始化该条带中的MHP-AW权重的值,并且在当前条带为一个P条带时,使用与B条带类型相对应的初始权重表来初始化该条带中的MHP-AW权重的值。
进一步地,在本公开的另一实施例中,提出了扩展现有的CABAC初始化表以包括用于每个上下文的对应MHP-AW权重。具体地,在这样的改变之后,一个CABAC初始化表的每个元素包含三种不同类别的信息,包括1)初始概率值,2)用于初始化两个概率假设的概率和自适应速度的自适应率,以及3)用于在更新每个上下文的概率时组合这两个假设的MHP-AW权重。与现有的VVC设计类似,当应用这种方案时,可以预先确定多个CABAC初始化表,并且可以从编码器向解码器用信号传输语法元素,以通知将为每个条带选择哪个初始化表来初始化与每个条带相关联的两个概率、两个自适应率以及组合权重的对应值。在一个具体实施例中,提出重用现有的CABAC初始化语法元素(即,pps_cabac_init_present_flag和sh_cabac_init_flag),以指示条带处CABAC初始化表的选择。当应用这种方法时,仅允许由I条带类型的初始化表来初始化I条带的CABAC状态(即,概率、自适应率和组合权重),而允许使用B(或P)条带类型的初始化表来初始化P(或B)条带的CABAC状态。在另一实施例中,提出预先确定多个CABAC表(>3)并且允许从预定义表之一任意地初始化一个条带的CABAC状态。
在上述所有方法中,在对一个条带进行编解码时,使用固定值来初始化上下文的MHP-AW权重,这可能不准确,无法为算术编码提供可靠的概率估计。为了解决这个问题,提出了赋予编码器计算每个条带的最佳MHP-AW权重的灵活性,并将对应的最佳MHP-AW权重用信号传输到解码器。
在一个实施例中,提出了直接用信号传输每个上下文元素的权重值。例如,可以首先用信号传输一个标志来指示是否用一个固定的初始化表来初始化条带中的上下文的MHP-AW权重。当该标志等于一时,可以用信号传输另一个语法元素以通知解码器哪个权重初始化表被应用到当前条带;否则,即,该标志等于0,将通过从比特流解析的值来初始化条带中的上下文的MHP-AW权重。实际上,可以应用不同的二值化方法来生成MHP-AW权重值的码字,例如定长码、一元码、k阶指数哥伦布码等。
在另一实施例中,提出了一种自适应信号传输方法。具体地,在每个条带的开头,该方案首先从编码器向解码器传输二进制映射weightMap[],其中,每个元素指示对应的上下文是否使用来自所选择的默认初始化权重表的初始化权重值。当第i个weightMap[]映射条目等于0时,意味着将通过所选初始化权重表中的对应值来初始化当前条带的第i个上下文的MHP-AW权重。当第i个weightMap[]映射条目等于1时,意味着将通过比特流中指示的初始值来初始化当前条带的第i个上下文的MHP-AW权重。可以应用不同的方法来对映射weightMap[]进行编解码。在一个示例中,提出了使用游程长度编码来对映射的二进制值进行编解码,其中,发送一个“游程”值来指示在满足一个1(或0)之前连续的0(或1)的数量。
从先前编解码的条带继承初始CABAC状态
如上文所讨论的,不同视频比特流中相同上下文的符号通常呈现出完全不同的统计特性。由于概率状态在预定义CABAC表中是固定的,无法适应不同条带的特定特征。当预定义初始表偏离视频比特流的真实符号统计时,可能会导致编解码效率下降。为了提高CABAC效率,提出了改进的CABAC初始化方案,用于根据在对前一个条带进行编码/解码之后的上下文状态来初始化上下文。可以有不同的方式来识别用于CABAC初始化的先前条带。
在一个实施例中,提出了维护N个先前编解码的条带的输出上下文状态。当一个当前条带被编码时,视频编码器将从N个先前编解码的条带中选择最好的一个,并将一个索引用信号传输到解码器,以根据所选择的先前编解码的条带(如由用信号传输索引值所指示)的对应上下文状态来初始化当前条带的上下文。
在其他实施例中,不是直接在比特流中用信号传输所选择的先前编解码的条带,而是可以应用一些隐式解码器侧选择方案来选择对应的先前编解码的条带用于当前条带的上下文初始化,包括:
规则#1:提出按照编解码顺序直接选择在该条带之前编解码的条带。
规则#2:提出按照顺序选择与当前条带最接近且具有相同条带类型的先前编解码的条带。
规则#3:提出按照顺序选择与当前条带最接近且与当前条带具有最小QP差异的先前编解码的条带。
规则#4:提出按照顺序选择与当前条带最接近且与当前条带具有相同时间层的先前编解码的条带。
尽管上述隐式选择规则是单独提出的,但是也可以将其组合并一起应用于所提出的初始CABAC状态继承方案中。在一个具体示例中,提出将规则#2、#3和#4组合在一起。具体地,基于这样的组合,编码器/解码器可以按照编解码顺序选择与当前条带最接近且与当前条带具有最小QP差异的同一条带类型中的先前编解码的条带。如果这样的先前编解码的条带不存在,则可以应用现有的预定义CABAC初始化表之一来初始化当前条带的上下文状态。
另外,在所提出的基于继承的上下文初始化方案中,继承的上下文状态可以包括不同类别的状态信息,例如概率值、自适应率和组合权重(当应用所提出的MHP-AW方案时)。在本公开的一个实施例中,提出仅从所选择的先前编解码的条带继承一个状态信息,而使用现有的预定义CABAC初始化表来初始化当前条带的其他状态信息。在另一实施例中,提出仅从所选择的先前编解码的条带继承两个状态信息。在又一实施例中,提出从所选择的先前编解码的条带的对应上下文状态继承当前条带的所有状态信息。
虽然可以提高上下文初始化的效率,但是上述基于继承的CABAC初始化可能会引入不同条带之间的解析依赖性。这是因为一个当前条带的熵编码无法在其参考条带(即,所选择的先前编解码的条带)的熵编码完全完成之前调用。
为了更好地控制熵编码的效率和并行性,提出了一种自适应CABAC初始化方案,其中可以通过以下两种方式之一来初始化一个当前条带的上下文状态:1)使用预定义的CABAC初始化表之一进行初始化;或2)由一个先前编解码的条带的结果上下文状态进行初始化。具体地,在所提出的方案中,首先在一个条带的开头处用信号传输一个二进制标志。当该标志等于零时,意味着将通过现有的预定义CABAC初始化表之一来初始化当前条带的上下文,例如,如语法元素sh_cabac_init_flag所指示的。当该标志等于一时,意味着将应用基于继承的上下文初始化方法,其中,初始化上下文值将被设置为从在当前条带之前编解码的所选条带输出的上下文状态。
图4示出了与用户界面460耦接的计算环境(或计算设备)410。计算环境410可以是数据处理服务器的一部分。在一些实施例中,计算设备410可以执行如上文根据本公开的各种示例所述的各种方法或过程(如编码/解码方法或过程)中的任一种。计算环境410可以包括处理器420、存储器440以及I/O接口450。
处理器420通常控制计算环境410的整体操作,比如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器420可以包括一个或多个处理器以执行指令以执行上述方法中的所有或一些步骤。此外,处理器420可以包括促进处理器420与其他部件之间的交互的一个或多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、GPU等。
存储器440被配置为存储各种类型的数据以支持计算环境410的操作。存储器440可以包括预定软件442。这种数据的示例包括用于在计算环境410上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器440可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,比如静态随机存取存储器(SRAM)、电可擦可编程只读存储器(EEPROM)、可擦可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口450提供处理器420与外围接口模块(比如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口450可以与编码器和解码器耦接。
在一些实施例中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括多个程序,所述程序比如包括在存储器440中,可由计算环境410中的处理器420执行,用于执行上述方法。例如,所述非暂态计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光学数据存储设备等。
所述非暂态计算机可读存储介质中存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时,使所述计算设备执行上述运动预测方法。
在一些实施例中,计算环境410可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器、或其他电子部件来实施,用于执行上述方法。
图5是图示了根据本公开的示例的视频解码方法的流程图。
在步骤501中,在二进制算术解码器侧,处理器420可以根据自适应权重获得二进制算术解码器的给定的上下文模型的二进制符号的多假设概率,其中,所述多假设概率指示该二进制符号等于某二进制值的概率,并且该二进制符号来自与上下文模型相关联的多个二进制符号。
例如,自适应权重可以是等式(5)中用于两个概率估计的组合的权重ω,其值从范围[0,1]中获得。在等式(5)中,权重ω代表一个实数值,需要将其量化为整数以用于硬件/软件编解码器实施方式。在实践中,可以应用不同的方法来将该值转换为整数。因此,多假设概率是两个概率估计使用自适应权重ω的组合。
在一些示例中,处理器420可以根据第一自适应参数获得该二进制符号的第一概率并且根据第二自适应参数获得该二进制符号的第二概率。此外,处理器420可以根据自适应权重、第一概率和第二概率获得多假设概率。例如,第一概率可以是等式(5)中的p0(t+1),而第二概率可以是等式(5)中的p1(t+1)。
在一些示例中,处理器420可以根据上下文模型从权重初始化表中的预定整数权重值组中获得自适应权重。
正如“采用自适应权重的多假设概率估计”部分中所讨论的,提出了从预定义集合中选择每个上下文的最佳权重。例如,提出了使用预定义的一组整数权重值{0,3,6,10,13,16,19,22,26,29,32}、{0,6,11,16,21,26,32}或{0,8,12,16,20,24,32}。
在一些示例中,解码器可以获得每个条带类型的权重初始化表;响应于确定当前条带为第一条带类型,由解码器根据第一条带类型选择权重初始化表,其中,第一条带类型包括I型、P型或B型;以及根据所选择的权重初始化表获得自适应权重。
在一些示例中,响应于确定控制语法元素被启用,处理器420可以在条带级获得每个条带的自适应权重语法元素,所述自适应权重语法元素指示根据每个条带的条带类型为每个条带选择的权重初始化表。
在一些示例中,处理器420可以获得每个I条带的第一权重初始化表、每个P条带的第二权重初始化表、以及每个B条带的第三权重初始化表。此外,处理器420可以响应于确定当前条带为I条带,选择第一权重初始化表;以及响应于确定当前条带为P条带或B条带,选择第二权重初始化表或第三权重初始化表;以及根据所选择的权重初始化表(如表2所示)获得自适应权重。
在步骤502中,处理器420可以根据多假设概率对该二进制符号进行解码。
图6是图示了对应于如图5所示的视频解码方法的视频编码方法的流程图。
在步骤601中,在二进制算术解码器侧,处理器420可以根据自适应权重确定二进制算术解码器的给定的上下文模型的二进制符号的多假设概率,其中,所述多假设概率指示该二进制符号等于某二进制值的概率,并且该二进制符号来自与上下文模型相关联的多个二进制符号。例如,编码器可以根据自适应权重获得二进制算术解码器的给定的上下文模型的二进制符号的多假设概率。
例如,自适应权重可以是等式(5)中用于两个概率估计的组合的权重ω,其值从范围[0,1]中获得。在等式(5)中,权重ω代表一个实数值,需要将其量化为整数以用于硬件/软件编解码器实施方式。在实践中,可以应用不同的方法来将自适应权重的值转换为整数。因此,多假设概率是两个概率估计使用自适应权重ω的组合。
在一些示例中,处理器420可以根据第一自适应参数确定该二进制符号的第一概率并且根据第二自适应参数确定该二进制符号的第二概率。此外,处理器420可以根据自适应权重、第一概率和第二概率确定多假设概率。例如,第一概率可以是等式(5)中的p0(t+1),而第二概率可以是等式(5)中的p1(t+1)。
在一些示例中,处理器420可以根据上下文模型从权重初始化表中的预定整数权重值组中确定自适应权重。
正如“采用自适应权重的多假设概率估计”部分中所讨论的,提出了从预定义集合中选择每个上下文的最佳权重。例如,提出了使用预定义的一组整数权重值{0,3,6,10,13,16,19,22,26,29,32}、{0,6,11,16,21,26,32}或{0,8,12,16,20,24,32}。
在一些示例中,解码器可以确定每个条带类型的权重初始化表;响应于确定当前条带为第一条带类型,由解码器根据第一条带类型选择权重初始化表,其中,第一条带类型包括I型、P型或B型;以及根据所选择的权重初始化表获得自适应权重。
在一些示例中,响应于确定控制语法元素被启用,处理器420可以在条带级确定每个条带的自适应权重语法元素,所述自适应权重语法元素指示根据每个条带的条带类型为每个条带选择的权重初始化表。
在一些示例中,处理器420可以确定每个I条带的第一权重初始化表、每个P条带的第二权重初始化表、以及每个B条带的第三权重初始化表。此外,处理器420可以响应于确定当前条带为I条带,选择第一权重初始化表;以及响应于确定当前条带为P条带或B条带,选择第二权重初始化表或第三权重初始化表;以及根据所选择的权重初始化表(如表2所示)确定自适应权重。
在步骤602中,处理器420可以根据多假设概率对该二进制符号进行编码。例如,编码器可以根据多假设概率对该二进制符号进行编码。
图7是图示了根据本公开的示例的视频解码方法的流程图。
在步骤701中,在解码器侧,处理器420可以选择在当前条带之前解码的一个或多个条带。
例如,一个或多个条带可以是N个先前解码的条带,如“从先前解码的条带继承初始CABAC状态”部分中所讨论的。当当前条带被编码时,视频编码器将从N个先前解码的条带中选择最好的一个,并将索引用信号传输到解码器,以根据所选择的先前解码的条带(如由用信号传输索引值所指示)的对应上下文状态来初始化当前条带的上下文。
在一些示例中,一个或多个条带可以包括紧接在当前条带之前解码的条带。
在一些示例中,一个或多个条带可以包括不是紧接在当前条带之前解码的条带,并且所述条带满足以下条件中的至少一项:所述条带与当前条带具有相同的条带类型;所述条带与当前条带具有最小的量化参数(QP)差异;或者所述条带与当前条带具有相同的时间层。
例如,可以应用一些隐式解码器侧选择方案来根据规则#1、规则#2、规则#3、规则#4或这些规则的任意组合来选择对应的先前解码的条带用于当前条带的上下文初始化。
在步骤702中,处理器420可以通过继承在当前条带之前解码的条带的一个或多个上下文模型的上下文状态,获得当前条带的一个或多个上下文模型的初始上下文状态。
通过继承上下文状态,当前条带的一个或多个上下文模型将使用先前解码的条带(即,在当前条带之前解码的条带)的一个或多个上下文模型的上下文状态作为初始上下文状态。
在一些示例中,一个或多个初始上下文状态可以包括以下参数中的至少一项:概率值、自适应率或自适应权重。
例如,继承的上下文状态可以包括不同类别的状态信息,例如概率值、自适应率和组合权重(当应用所提出的MHP-AW方案时)。在本公开的一个实施例中,提出仅从所选择的先前解码的条带继承状态信息,而使用现有的预定义CABAC初始化表来初始化当前条带的其他状态信息。在另一实施例中,提出仅从所选择的先前解码的条带继承两个状态信息。在又一实施例中,提出从所选择的先前解码的条带的对应上下文状态继承当前条带的所有状态信息。
在一些示例中,处理器420可以根据一个或多个现有的基于上下文的自适应二进制算术编码(CABAC)初始化表获得当前条带的至少一个第二初始上下文状态,其中,当前条带包括初始上下文状态和至少一个第二初始上下文状态。此外,处理器420可以根据初始上下文状态和至少一个第二初始上下文状态对当前条带中的二进制符号进行解码。
在步骤703中,处理器420可以根据初始上下文状态对与当前条带中的一个或多个上下文模型相关联的二进制符号进行解码。
图8是图示了对应于如图7所示的视频解码方法的视频编码方法的流程图。
在步骤801中,在编码器侧,处理器420可以选择在当前条带之前编码的一个或多个条带。
例如,一个或多个条带可以是N个先前编码的条带,如“从先前编码的条带继承初始CABAC状态”部分中所讨论的。当当前条带被编码时,视频编码器将从N个先前编码的条带中选择最好的一个,并将索引用信号传输到解码器,以根据所选择的先前编码的条带(如由用信号传输索引值所指示)的对应上下文状态来初始化当前条带的上下文。
在一些示例中,一个或多个条带可以包括紧接在当前条带之前编码的条带。
在一些示例中,一个或多个条带可以包括不是紧接在当前条带之前编码的条带,并且所述条带满足以下条件中的至少一项:所述条带与当前条带具有相同的条带类型;所述条带与当前条带具有最小的量化参数(QP)差异;或者所述条带与当前条带具有相同的时间层。
例如,可以应用一些隐式选择方案来根据规则#1、规则#2、规则#3、规则#4或这些规则的任意组合来选择对应的先前编码的条带用于当前条带的上下文初始化。
在步骤802中,处理器420可以通过继承在当前条带之前编码的条带的一个或多个上下文模型的上下文状态,确定当前条带的一个或多个上下文模型的初始上下文状态。
通过继承上下文状态,当前条带的一个或多个上下文模型将使用先前编码的条带(即,在当前条带之前编码的条带)的一个或多个上下文模型的上下文状态作为初始上下文状态。
在一些示例中,一个或多个初始上下文状态可以包括以下参数中的至少一项:概率值、自适应率或自适应权重。
例如,继承的上下文状态可以包括不同类别的状态信息,例如概率值、自适应率和组合权重(当应用所提出的MHP-AW方案时)。在本公开的一个实施例中,提出仅从所选择的先前编码的条带继承状态信息,而使用现有的预定义CABAC初始化表来初始化当前条带的其他状态信息。在另一实施例中,提出仅从所选择的先前编码的条带继承两个状态信息。在又一实施例中,提出从所选择的先前编码的条带的对应上下文状态继承当前条带的所有状态信息。
在步骤803中,处理器420可以根据初始上下文状态对与当前条带中的一个或多个上下文模型相关联的二进制符号进行编码。
在一些示例中,处理器420可以根据一个或多个现有的基于上下文的自适应二进制算术编码(CABAC)初始化表确定当前条带的至少一个第二初始上下文状态,其中,当前条带包括初始上下文状态和至少一个第二初始上下文状态。此外,处理器420可以根据初始上下文状态和至少一个第二初始上下文状态对当前条带中的二进制符号进行编码。
在一些示例中,提供了一种用于视频编解码的装置。所述装置包括处理器420和存储器440,所述存储器被配置为存储可由所述处理器执行的指令;其中,处理器在执行所述指令时被配置为执行如上所示的任一种方法。
在一些其他示例中,提供了一种其中存储有指令的非暂态计算机可读存储介质。当所述指令由处理器420执行时,所述指令使所述处理器执行本公开中所示的任一种方法。在一个示例中,多个程序可以由处理器420在计算环境410中执行,以接收(例如,从图2中的视频编码器20)包括已编码视频信息(例如,表示已编码视频帧的视频块和/或相关联的一个或多个语法元素等)的比特流或数据流,并且还可以由处理器420在计算环境410中执行,以根据接收到的比特流或数据流来执行上述解码方法。在另一示例中,多个程序可以由处理器420在计算环境410中执行,以执行上述编码方法来将视频信息(例如,表示视频帧的视频块和/或相关联的一个或多个语法元素等)编码成比特流或数据流,并且还可以由处理器420在计算环境410中执行,以传输比特流或数据流(例如,传输到图3中的视频解码器30)。可替代地,非暂态计算机可读存储介质可以在其中存储有比特流或数据流,所述比特流或数据流包括由编码器(例如,图2中的视频编码器20)使用例如上述编码方法生成的已编码视频信息(例如,表示已编码视频帧的视频块和/或相关联的一个或多个语法元素等),以供解码器(例如,图3中的视频解码器30)对视频数据进行解码。非暂态计算机可读存储介质可以是例如ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
考虑在此公开的公开内容的说明书和实践,本公开的其他示例对于本领域技术人员而言将是显而易见的。本申请旨在涵盖遵循其一般原则对公开内容进行的任何改变、使用或改编,包括在本领域中已知或惯用实践内与本公开的偏离。旨在将说明书和示例仅视为示例性的。
应理解的是,本公开不限于上文描述和附图中所示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和变化。

Claims (30)

1.一种视频解码方法,包括:
由二进制算术解码器根据自适应权重获得所述二进制算术解码器的给定的上下文模型的二进制符号的多假设概率,其中,所述多假设概率指示所述二进制符号等于某二进制值的概率,并且所述二进制符号来自与所述上下文模型相关联的多个二进制符号;以及
由所述解码器根据所述多假设概率对所述二进制符号进行解码。
2.如权利要求1所述的方法,进一步包括:
由所述解码器根据第一自适应参数获得所述二进制符号的第一概率;
由所述解码器根据第二自适应参数获得所述二进制符号的第二概率;以及
由所述解码器根据所述自适应权重、所述第一概率和所述第二概率获得所述多假设概率。
3.如权利要求1所述的方法,进一步包括:
由所述解码器根据所述上下文模型从权重初始化表中的预定整数权重值组中获得所述自适应权重。
4.如权利要求1所述的方法,进一步包括:
由所述解码器获得每个条带类型的权重初始化表;以及
响应于确定当前条带为第一条带类型,由所述解码器根据所述第一条带类型选择所述权重初始化表,其中,所述第一条带类型包括I型、P型或B型;以及
由所述解码器根据所选择的权重初始化表获得所述自适应权重。
5.如权利要求4所述的方法,进一步包括:
由所述解码器获得图片参数集(PPS)中的控制语法元素,所述控制语法元素指示是否为每个条带选择权重初始化表。
6.如权利要求5所述的方法,进一步包括:
响应于确定所述控制语法元素被启用,由所述解码器在条带级获得每个条带的自适应权重语法元素,所述自适应权重语法元素指示根据每个条带的条带类型为每个条带选择的权重初始化表。
7.如权利要求1所述的方法,进一步包括:
由所述解码器获得每个I条带的第一权重初始化表、每个P条带的第二权重初始化表、以及每个B条带的第三权重初始化表;
响应于确定当前条带为I条带,由所述解码器选择所述第一权重初始化表;
响应于确定所述当前条带为P条带或B条带,由所述解码器选择所述第二权重初始化表或所述第三权重初始化表;以及
由所述解码器根据所选择的权重初始化表获得所述自适应权重。
8.如权利要求7所述的方法,进一步包括:
响应于确定所述当前条带不是I条带,由所述解码器获得图片参数集(PPS)中的控制语法元素,所述控制语法元素指示是否为每个条带选择权重初始化表;以及
响应于确定所述控制语法元素被启用,由所述解码器在条带级获得每个非I条带的自适应权重语法元素,所述自适应权重语法元素指示从所述第二权重初始化表和所述第三权重初始化表中选择的权重初始化表。
9.一种视频编码方法,包括:
由二进制算术编码器根据自适应权重确定所述二进制算术编码器的给定的上下文模型的多个二进制符号中的二进制符号的多假设概率,其中,所述多假设概率指示所述二进制符号等于某二进制值的概率;以及
由所述编码器根据所述多假设概率对所述二进制符号进行编码。
10.如权利要求9所述的方法,进一步包括:
由所述编码器根据第一自适应参数确定所述二进制符号的第一概率;
由所述编码器根据第二自适应参数确定所述二进制符号的第二概率;以及
由所述编码器根据所述自适应权重、所述第一概率和所述第二概率确定所述多假设概率。
11.如权利要求9所述的方法,进一步包括:
由所述编码器将所述自适应权重预先确定为根据权重初始化表中的预定整数权重值组的权重值。
12.如权利要求9所述的方法,进一步包括:
由所述编码器确定每个条带类型的权重初始化表;以及
响应于确定当前条带为第一条带类型,由所述编码器根据所述第一条带类型选择所述权重初始化表,其中,所述第一条带类型包括I型、P型或B型;以及
由所述编码器根据所选择的权重初始化表确定所述自适应权重。
13.如权利要求12所述的方法,进一步包括:
由所述编码器在图片参数集(PPS)中用信号传输控制语法元素,以指示是否为每个条带选择权重初始化表。
14.如权利要求13所述的方法,进一步包括:
响应于确定所述控制语法元素被启用,由所述编码器在条带级用信号传输每个条带的自适应权重语法元素,以指示为每个条带选择的权重初始化表。
15.如权利要求9所述的方法,进一步包括:
由所述编码器确定每个I条带的第一权重初始化表、每个P条带的第二权重初始化表、以及每个B条带的第三权重初始化表;
响应于确定当前条带为I条带,由所述编码器选择所述第一权重初始化表;
响应于确定所述当前条带为P条带或B条带,由所述编码器选择所述第二权重初始化表或所述第三权重初始化表;以及
由所述编码器根据所选择的权重初始化表确定所述自适应权重。
16.如权利要求15所述的方法,进一步包括:
响应于确定所述当前条带不是I条带,由所述编码器在图片参数集(PPS)中用信号传输控制语法元素,以指示是否为每个条带选择权重初始化表;以及
响应于确定所述控制语法元素被启用,由所述编码器在条带级用信号传输每个非I条带的自适应权重语法元素,以指示从所述第二权重初始化表和所述第三权重初始化表中选择的权重初始化表。
17.一种视频解码方法,包括:
由解码器选择在当前条带之前解码的一个或多个条带;
由所述解码器通过继承在所述当前条带之前解码的条带的一个或多个上下文模型的上下文状态,获得所述当前条带的一个或多个上下文模型的初始上下文状态;以及
由所述解码器根据所述初始上下文状态对与所述当前条带中的所述一个或多个上下文模型相关联的二进制符号进行解码。
18.如权利要求17所述的方法,其中,所述一个或多个条带包括紧接在所述当前条带之前解码的条带。
19.如权利要求7所述的方法,其中,所述一个或多个条带包括不是紧接在所述当前条带之前解码的条带,并且其中,所述条带满足以下条件中的至少一项:
所述条带与所述当前条带具有相同的条带类型;
所述条带与所述当前条带具有最小的量化参数(QP)差异;或者
所述条带与所述当前条带具有相同的时间层。
20.如权利要求17所述的方法,其中,所述一个或多个初始上下文状态包括以下参数中的至少一项:概率值、自适应率或自适应权重。
21.如权利要求17所述的方法,进一步包括:
由所述解码器根据一个或多个现有的基于上下文的自适应二进制算术编码(CABAC)初始化表获得所述当前条带的至少一个第二初始上下文状态,其中,所述当前条带包括所述初始上下文状态和所述至少一个第二初始上下文状态;以及
由所述解码器根据所述初始上下文状态和所述至少一个第二初始上下文状态对所述当前条带中的所述二进制符号进行解码。
22.一种视频编码方法,包括:
由编码器选择在当前条带之前编码的一个或多个条带;
由所述编码器通过从在所述当前条带之前编码的条带继承一个或多个上下文模型的上下文状态,确定所述当前条带的所述一个或多个上下文模型的初始上下文状态;以及
由所述编码器根据所述初始上下文状态对与所述当前条带的所述一个或多个上下文模型相关联的二进制符号进行编码。
23.如权利要求22所述的方法,其中,所述一个或多个条带包括紧接在所述当前条带之前编码的条带。
24.如权利要求22所述的方法,其中,所述一个或多个条带包括不是紧接在所述当前条带之前编码的条带,并且其中,所述条带满足以下条件中的至少一项:
所述条带与所述当前条带具有相同的条带类型;
所述条带与所述当前条带具有最小的量化参数(QP)差异;或者
所述条带与所述当前条带具有相同的时间层。
25.如权利要求22所述的方法,其中,所述一个或多个初始上下文状态包括以下参数中的至少一项:概率值、自适应率或自适应权重。
26.如权利要求22所述的方法,进一步包括:
由所述编码器根据一个或多个现有的基于上下文的自适应二进制算术编码(CABAC)初始化表确定所述当前条带的至少一个第二初始上下文状态,其中,所述当前条带包括所述初始上下文状态和所述至少一个第二初始上下文状态;以及
由所述编码器根据所述初始上下文状态和所述至少一个第二初始上下文状态对所述当前条带中的所述二进制符号进行编码。
27.一种用于视频解码的装置,包括:
一个或多个处理器;以及
存储器,所述存储器耦接到所述一个或多个处理器并且被配置为存储可由所述一个或多个处理器执行的指令,
其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求1至8和17至21中任一项所述的方法。
28.一种用于视频编码的装置,包括:
一个或多个处理器;以及
存储器,所述存储器耦接到所述一个或多个处理器并且被配置为存储可由所述一个或多个处理器执行的指令,
其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求9至16和22至26中任一项所述的方法。
29.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器接收比特流,并基于所述比特流执行如权利要求1至8和17至21中任一项所述的方法。
30.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行如权利要求9至16和22至26中任一项所述的方法,以将所述当前视频块编码成比特流,并传输所述比特流。
CN202280076677.6A 2021-12-29 2022-12-29 用于基于上下文的自适应二进制算术编码的概率计算的方法和设备 Pending CN118266210A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163294692P 2021-12-29 2021-12-29
US63/294,692 2021-12-29
PCT/US2022/054291 WO2023129680A1 (en) 2021-12-29 2022-12-29 Methods and devices on probability calculation for context-based adaptive binary arithmetic coding

Publications (1)

Publication Number Publication Date
CN118266210A true CN118266210A (zh) 2024-06-28

Family

ID=87000286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280076677.6A Pending CN118266210A (zh) 2021-12-29 2022-12-29 用于基于上下文的自适应二进制算术编码的概率计算的方法和设备

Country Status (5)

Country Link
US (1) US20240348785A1 (zh)
KR (1) KR20240131401A (zh)
CN (1) CN118266210A (zh)
MX (1) MX2024007718A (zh)
WO (1) WO2023129680A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664936B1 (ko) * 2005-04-13 2007-01-04 삼성전자주식회사 코딩 효율이 향상된 컨텍스트 기반 적응적 산술 코딩 및디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오 코딩및 디코딩 방법과 이를 위한 장치
US10148961B2 (en) * 2015-05-29 2018-12-04 Qualcomm Incorporated Arithmetic coder with multiple window sizes
TWI765164B (zh) * 2018-07-06 2022-05-21 弗勞恩霍夫爾協會 算術編碼器、算術解碼器、視訊編碼器、視訊解碼器、編碼方法、解碼方法及電腦程式
US11405649B2 (en) * 2020-02-18 2022-08-02 Mediatek Inc. Specifying slice chunks of a slice within a tile

Also Published As

Publication number Publication date
US20240348785A1 (en) 2024-10-17
WO2023129680A1 (en) 2023-07-06
KR20240131401A (ko) 2024-08-30
MX2024007718A (es) 2024-07-01

Similar Documents

Publication Publication Date Title
US12058365B2 (en) Image prediction method and apparatus
KR102288109B1 (ko) 비디오 압축에서의 양방향 예측
US12069294B2 (en) Picture prediction method and apparatus, and codec
US11700398B2 (en) Method and apparatus for entropy-encoding and entropy-decoding video signal
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
US9462275B2 (en) Residual quad tree (RQT) coding for video coding
US9167269B2 (en) Determining boundary strength values for deblocking filtering for video coding
EP3603062B1 (en) Binary arithmetic coding with parameterized probability estimation finite state machines
CA3075491A1 (en) Binary arithmetic coding with progressive modification of adaptation parameters
US20240137546A1 (en) Coding enhancement in cross-component sample adaptive offset
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
US11601667B2 (en) Inter prediction method and related apparatus
KR20240019408A (ko) 팔레트 모드를 사용한 비디오 코딩 방법 및 장치
CN112136327B (zh) 用于边界分割的方法和装置
US20240348785A1 (en) Methods and devices on probability calculation for context-based adaptive binary arithmetic coding
WO2023177752A1 (en) Methods and devices on probability calculation for context-based adaptive binary arithmetic coding
RU2772813C1 (ru) Видеокодер, видеодекодер и соответствующие способы кодирования и декодирования
CN116982312A (zh) 视频编解码方法与系统、及视频编解码器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication