用于对系数等级进行熵编码的方法和装置以及用于对系数等级进行熵解码的方法和装置与流程

文档序号:25543584发布日期:2021-06-18 20:40阅读:140来源:国知局
用于对系数等级进行熵编码的方法和装置以及用于对系数等级进行熵解码的方法和装置与流程

本公开涉及对视频进行编码和解码,并且更具体地,涉及一种用于对包括在图像数据中的系数的等级信息进行编码和解码的方法和装置。



背景技术:

在h.264、mpeg-4等中,视频信号被分层地划分为序列、帧、条带、宏块和块,并且块是最小处理单元。在编码方面,通过帧内或帧间预测获得块的残差数据。通过变换、量化、扫描、行程长度编码和熵编码来压缩残差数据。在熵编码中,语法元素(例如,变换系数或运动矢量信息)被熵编码以输出比特流。在解码器方面,从比特流提取语法元素,并且基于所提取的语法元素进行解码。



技术实现要素:

技术问题

本公开旨在提供一种用于确定rice参数以对指示系数的大小的系数等级信息进行熵编码/熵解码的改进的方法和装置。

问题的解决方案

根据本公开的实施例,一种对包括在图像数据中的系数进行解码的方法包括:基于当前系数的基本等级,确定针对当前系数的rice参数;通过使用所确定的rice参数从比特流对指示当前系数的大小的系数等级信息进行解析;并且通过使用所确定的rice参数对所述系数等级信息进行反二值化来识别当前系数的大小。

根据本公开的另一实施例,一种用于对包括在图像数据中的系数进行解码的设备包括:至少一个处理器以及存储器,其中,存储器存储被配置为可由所述至少一个处理器执行的至少一个指令,并且所述至少一个指令被配置为在被执行时使所述至少一个处理器进行以下操作:基于当前系数的基本等级确定针对当前系数的rice参数;通过使用所确定的rice参数从比特流对指示当前系数的大小的系数等级信息进行解析;并且通过使用所确定的rice参数对所述系数等级信息进行反二值化来识别当前系数的大小。

根据本公开的另一实施例,一种对包括在图像数据中的系数进行编码的方法包括:获得指示当前系数的大小的系数等级信息;基于当前系数的基本等级,确定针对当前系数的rice参数;通过使用所确定的rice参数对所述系数等级信息进行二值化;并且生成包括二值化的系数等级信息的比特流。

根据本公开的另一实施例,一种用于对包括在图像数据中的系数进行编码的设备包括:至少一个处理器以及存储器,其中,存储器存储被配置为可由所述至少一个处理器执行的至少一个指令,并且所述至少一个指令被配置为在被执行时使所述至少一个处理器进行以下操作:获得指示当前系数的大小的系数等级信息;基于当前系数的基本等级,确定针对当前系数的rice参数;通过使用所确定的rice参数对所述系数等级信息进行二值化;并且生成包括二值化的系数等级信息的比特流。

附图说明

图1a是根据本公开的实施例的图像解码设备的框图。

图1b是根据本公开的实施例的图像解码器的框图。

图1c是根据本公开的实施例的图像解码设备的框图。

图2a是根据本公开的实施例的图像编码设备的框图。

图2b是根据本公开的实施例的图像解码器的框图。

图2c是根据本公开的实施例的图像编码设备的框图。

图3示出根据本公开的实施例的由图像解码设备执行的通过对当前编码单元进行划分来确定至少一个编码单元的处理。

图4示出根据本公开的实施例的由图像解码设备执行的通过对非正方形编码单元进行划分来确定至少一个编码单元的处理。

图5示出根据本公开的实施例的由图像解码设备执行的基于块形状信息和划分形状模式信息中的至少一个对编码单元进行划分的处理。

图6示出根据本公开的实施例的由图像解码设备执行的从奇数个编码单元中确定特定编码单元的方法。

图7示出根据本公开的实施例的当图像解码设备通过对当前编码单元进行划分来确定多个编码单元时对所述多个编码单元进行处理的顺序。

图8示出根据本公开的实施例的当编码单元不能按照特定顺序进行处理时由图像解码设备执行的确定当前编码单元将被划分为奇数个编码单元的处理。

图9示出根据本公开的实施例的由图像解码设备执行的通过对第一编码单元进行划分来确定至少一个编码单元的处理。

图10示出根据本公开的实施例的当图像解码设备对第一编码单元进行划分而确定的具有非正方形形状的第二编码单元满足特定条件时第二编码单元可被划分为的形状受到限制。

图11示出根据本公开的实施例的当划分形状模式信息不能指示正方形编码单元被划分为四个正方形编码单元时由图像解码设备执行的对正方形编码单元进行划分的处理。

图12示出根据本公开的实施例的可根据对编码单元进行划分的处理来改变多个编码单元之间的处理顺序。

图13示出根据实施例的当编码单元被递归地划分使得多个编码单元被确定时,随着编码单元的形状和尺寸改变而确定编码单元的深度的处理。

图14示出根据本公开的实施例的可基于编码单元的形状和尺寸确定的深度以及用于将编码单元区分开的部分索引(pid)。

图15示出根据本公开的实施例的基于画面中包括的多个特定数据单元来确定多个编码单元。

图16示出根据本公开的实施例的用作用于对确定包括在画面中的参考编码单元的顺序进行确定的基础的处理块。

图17是示出根据本公开的实施例的将被熵编码的变换块的示图。

图18是根据本公开的实施例的对系数等级信息进行熵编码和熵解码的处理的流程图。

图19是示出根据本公开的实施例的熵编码设备的配置的框图。

图20是示出根据本公开的实施例的包括在变换块中的系数的等级信息的示图。

图21是示出根据本公开的另一实施例的包括在变换块中的系数的等级信息的示图。

图22示出用于对系数等级信息进行编码的伪码的示例。

图23示出用于对系数等级信息进行编码的伪码的另一示例。

图24是用于描述根据本公开的实施例的确定rice参数的方法的示图。

图25是根据本公开的实施例的对系数等级信息进行熵编码的方法的流程图。

图26是示出根据本公开的实施例的熵解码设备的配置的框图。

图27是根据本公开的实施例的对系数等级信息进行熵解码的方法的流程图。

具体实施方式

从以下结合附图的对本公开的实施例的描述,这里阐述的本公开的实施例的优点和特征以及实现它们的方法将是显而易见的。然而,本公开不限于这里阐述的本公开的实施例,并且可以以许多不同的形式被实施。提供本公开的实施例仅是为了使得本公开将是彻底和完整的,并且将向本领域普通技术人员充分传达本公开的范围。

将简要描述这里使用的术语,并且然后将详细描述这里阐述的本公开的实施例。

在本说明书中,考虑本公开的功能,在可能的情况下选择目前广泛使用的通用术语,但是可根据本领域技术人员的意图、先例或新技术等来选择非通用术语。一些术语可由本申请人任意选择。在这种情况下,将在本公开的对应部分中详细解释这些术语的含义。因此,不应基于术语的名称而是应基于术语的含义和本公开的整个上下文来定义这里使用的术语。

如这里所使用的,单数形式也旨在包括复数形式,除非上下文另有明确指示。

应理解,当一元件被称为“包括”另一元件时,除非另有说明,否则该元件还可包括其他元件。

这里使用的术语“单元”应被理解为执行特定功能的软件或硬件组件。然而,术语“单元”不限于软件或硬件。术语“单元”可被配置为被存储在可寻址存储介质中或再现一个或更多个处理器。因此,术语“单元”可包括例如组件(诸如软件组件、面向对象的软件组件、类组件和任务组件)、进程、函数、属性、过程、子例程、程序代码片段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、数组和参数。在组件和“单元”中提供的功能可被组合为少量组件和“单元”,或者可被划分为子组件和“子单元”。

根据本公开的实施例,可利用处理器和存储器来实现“单元”。术语“处理器”应被广义地解释为包括通用处理器、中央处理器(cpu)、微处理器、数字信号处理器(dsp)、控制器、微控制器、状态机等。在一些情况下,“处理器”可指专用集成电路(asic)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)等。术语“处理器”可指处理装置的组合,例如,dsp和微处理器的组合、多个微处理器的组合、与dsp核心结合的一个或更多个微处理器的组合、或者任意其它配置的组合。

术语“存储器”应被广义地解释为包括能够存储电子信息的任意电子组件。术语“存储器”可指各种类型的处理器可读介质,诸如随机存取存储器(ram)、只读存储器(rom)、非易失性ram(nvram)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除prom(eeprom)、闪存、磁或光学数据存储装置、寄存器等。当处理器能够从存储器读取信息和/或向存储器写入信息时,存储器可被称为与处理器进行电子通信。集成在处理器中的存储器与处理器进行电子通信。

术语“图像”在这里被使用时应被理解为包括诸如视频的静止图像的静态图像以及作为视频的运动画面(即,动态图像)。

术语“样点”在这里被使用时是指分配给图像的采样位置的数据,即,将被处理的数据。例如,样点可以是空间域中的像素值以及变换域中的变换系数。包括至少一个样点的单元可被定义为块。

在下文中,将参照附图详细描述本公开的实施例,使得本领域普通技术人员可容易地实现本公开的实施例。为了清楚起见,在附图中省略了与本公开的描述无关的部分。

在下文中,将参照图1至图26详细描述本公开的实施例。

图1a是根据本公开的实施例的图像解码设备的框图。

图像解码设备100可包括接收器110和解码器120。接收器110和解码器120可包括至少一个处理器。此外,接收器110和解码器120可包括存储将由所述至少一个处理器执行的指令的存储器。

接收器110可接收比特流。比特流包括由稍后描述的图像编码设备2200编码的图像的信息。此外,可从图像编码设备150发送比特流。图像编码设备150和图像解码设备100可通过有线方式或无线方式连接,并且接收器110可通过有线方式或无线方式接收比特流。接收器110可从诸如光学介质或硬盘的存储介质接收比特流。

解码器120可基于从接收到的比特流获得的信息来重建图像。解码器120可从比特流获得用于重建图像的语法元素。解码器120可基于所述语法元素来重建图像。

解码器120可对作为从比特流获得的编码信息的语法元素进行熵解码。编码信息包括关于作为对图像的残差数据进行编码的结果的量化系数的信息。根据本公开的实施例,解码器120可通过使用rice参数从比特流对指示系数的大小的系数等级信息进行解析。解码器120可通过使用rice参数对系数等级信息进行熵解码来识别系数的大小。

将参照图1b更详细地描述图像解码设备100的操作。

图1b是根据本公开的实施例的图像解码器6000的框图。

根据本公开的实施例的图像解码器6000执行图像解码设备100的解码器120对图像数据进行解码所需的操作。

参照图1b,熵解码器6150从比特流6050对将被解码的经过编码的图像数据和解码所需的编码信息进行解析。经过编码的图像数据是量化的变换系数,并且反量化器6200和逆变换器6250从量化的变换系数重建残差数据。

如下面将描述的,在本公开的实施例中,熵解码器6150可基于当前系数的基本等级来确定针对当前系数的rice参数。熵解码器6150可通过使用所确定的rice参数从比特流6050对指示当前系数的大小的系数等级信息进行解析。熵解码器6150可通过使用所确定的rice参数对经过解析的系数等级信息进行反二值化来识别当前系数的大小。

帧内预测器6400针对每个块执行帧内预测。帧间预测器6350通过使用由重建画面缓冲器6300获得的参考图像来针对每个块执行帧间预测。可通过将残差数据与由帧内预测器6400或帧间预测器6350生成的每个块的预测数据相加来重建当前图像的块的空间域的数据,并且去块单元6450和sao执行器6500可对空间域的重建数据执行环路滤波并输出经过滤波的重建图像6600。存储在重建画面缓冲器6300中的重建图像可被输出为参考图像。

根据本公开的实施例,可由图像解码器6000针对每个块顺序地执行所述操作,使得图像解码设备100的解码器120可对图像数据进行解码。

图1c是根据本公开的实施例的图像解码设备100的框图。

根据本公开的实施例的图像解码设备100可包括存储器130和连接到存储器130的至少一个处理器125。在本公开的实施例中,图像解码设备100的操作可由单个处理器执行或者在中央处理器的控制下执行。图像解码设备100的存储器130可存储从外部接收到的数据以及由所述至少一个处理器125生成的数据。

在本公开的实施例中,图像解码设备100的存储器130可存储被配置为可由所述至少一个处理器125执行的至少一个指令。所述至少一个指令可被配置为在被执行时使所述至少一个处理器125进行以下操作:基于当前系数的基本等级确定针对当前系数的rice参数,通过使用所确定的rice参数从比特流对指示当前系数的大小的系数等级信息进行解析,并且通过使用所确定的rice参数对系数等级信息进行反二值化,从而识别当前系数的大小。

图2a是根据本公开的实施例的图像编码设备的框图。

根据本公开的实施例的图像编码设备150可包括编码器155和输出器160。

编码器155和输出器160可包括至少一个处理器。编码器155和输出器160还可包括存储将由所述至少一个处理器执行的指令的存储器。编码器155和输出器160可被实施为单独的硬件组件或被包括在一个硬件组件中。

编码器155可根据当前块的预测模式获得当前块的预测块,并且对作为当前块与预测块之间的差值的残差进行变换、量化和编码。输出器160可生成包括关于当前块的预测模式的信息和用于确定分层划分形式的数据单元的配置信息的比特流,并输出该比特流。

编码器155可对语法元素进行熵编码,其中,所述语法元素是在编码处理期间生成的编码信息。在本公开的实施例中,编码器155可获得指示图像数据中包括的系数的大小的系数等级信息。编码器155可通过使用rice参数对系数等级信息进行熵编码,并生成包括经过编码的系数等级信息的比特流。

图2a是根据本公开的实施例的图像编码器的框图。

根据本公开的实施例的图像编码器7000执行图像编码设备150的编码器120对图像数据进行编码所需的操作。

也就是说,帧内预测器7200对当前图像7050的每个块执行帧内预测,并且帧间预测器7150通过使用当前图像7050和由重建画面缓冲器7100获得的参考图像对每个块执行帧间预测。

可通过从将被编码的当前图像7050的块的数据减去从帧内预测器7200或帧间预测器7150输出的每个块的预测数据来生成残差数据,并且变换器7250和量化器7300可对残差数据执行变换和量化,并输出针对每个块的量化的变换系数。

反量化器7450和逆变换器7500可通过对量化的变换系数执行反量化和逆变换来重建空间域的残差数据。可将空间域的重建的残差数据与从帧内预测器7200或帧间预测器7150输出的每个块的预测数据相加,以重建当前图像7050的块的空间域的数据。去块单元7550和sao执行器7600对空间域的重建数据执行环内滤波以生成经过滤波的重建图像。所生成的重建图像被存储在重建画面缓冲器7100中。存储在重建画面缓冲器7100中的重建画面可被用作用于其他图像的帧间预测的参考图像。熵编码器7350可对量化的变换系数进行熵编码,并在比特流7400中输出经过熵编码的系数。

如下所述,在本公开的实施例中,熵编码器7350可获得指示当前系数的大小的系数等级信息。熵编码器7350可基于当前系数的基本等级确定针对当前系数的rice参数。熵编码器7350可通过使用所确定的rice参数来对系数等级信息进行二值化。熵编码器7350可生成包括二值化的系数等级信息的比特流。

为了将根据本公开的实施例的图像编码器7000应用于图像编码设备150,可针对每个块执行根据本公开的实施例的图像编码器7000的操作。

图2c是根据本公开的实施例的图像编码设备150的框图。

根据本公开的实施例的图像编码设备150可包括存储器165和连接到存储器165的至少一个处理器170。在本公开的实施例中,图像编码设备150的操作可由单个处理器执行或在中央处理器的控制下执行。图像编码设备150的存储器165可存储从外部接收到的数据和由所述至少一个处理器170生成的数据。

在本公开的实施例中,图像编码设备150的存储器165可存储被配置为可由所述至少一个处理器170执行的至少一个指令。所述至少一个指令在被执行时使所述至少一个处理器170进行以下操作:获得指示当前系数的大小的系数等级信息,基于当前系数的基本等级确定针对当前系数的rice参数,通过使用所确定的rice参数来对系数等级信息进行二值化,并且生成包括二值化的系数等级信息的比特流。

在下文中,将根据本公开的实施例详细描述对编码单元的划分。

首先,一个画面可被划分为一个或更多个条带或者一个或更多个并行块。一个条带或一个并行块可以是一个或更多个最大编码单元(编码树单元(ctu))的序列。存在在概念上与最大编码单元(ctu)相比的最大编码块(编码树块(ctb))。

最大编码单元(ctb)表示包括n×n个样点(n为整数)的n×n的块。每个颜色分量可被划分为一个或更多个最大编码块。

当画面具有三个样点阵列(针对y、cr和cb分量的样点阵列)时,最大编码单元(ctu)包括亮度样点的最大编码块、色度样点的两个对应最大编码块以及用于对亮度样点和色度样点进行编码的语法元素。当画面为单色画面时,最大编码单元包括单色样点的最大编码块以及用于对单色样点进行编码的语法元素。当画面是在根据颜色分量而分离的颜色平面中编码的画面时,最大编码单元包括用于对画面和画面的样点进行编码的语法元素。

一个最大编码块(ctb)可被划分为包括m×n个样点(m和n为整数)的m×n的编码块。

当画面具有针对y分量、cr分量和cb分量的样点阵列时,编码单元(cu)包括亮度样点的编码块、色度样点的两个对应编码块以及用于对亮度样点和色度样点进行编码的语法元素。当画面为单色画面时,编码单元包括单色样点的编码块以及用于对单色样点进行编码的语法元素。当画面是在根据颜色分量而分离的颜色平面中编码的画面时,编码单元包括用于对画面和画面的样点进行编码的语法元素。

如上所述,最大编码块和最大编码单元在概念上彼此区分开,并且编码块和编码单元在概念上彼此区分开。也就是说,(最大)编码单元是指包括包含对应样点的(最大)编码块和与(最大)编码块对应的语法元素的数据结构。然而,因为本领域普通技术人员理解(最大)编码单元或(最大)编码块是指包括特定数量的样点的特定尺寸的块,所以除非另有描述,否则在以下说明书中在不进行区分的情况下提及最大编码块和最大编码单元或者编码块和编码单元。

图像可被划分为最大编码单元(ctu)。可基于从比特流获得的信息来确定每个最大编码单元的尺寸。每个最大编码单元的形状可以是相同尺寸的正方形形状。然而,实施例不限于此。

例如,可从比特流获得关于亮度编码块的最大尺寸的信息。例如,由关于亮度编码块的最大尺寸的信息指示的亮度编码块的最大尺寸可以是16×16、32×32、64×64、128×128和256×256中的一个。

例如,可从比特流获得关于亮度块尺寸差和可被一分为二的亮度编码块的最大尺寸的信息。关于亮度块尺寸差的信息可指亮度最大编码单元与可被一分为二的最大亮度编码块之间的尺寸差。因此,当从比特流获得的关于可被一分为二的亮度编码块的最大尺寸的信息和关于亮度块尺寸差的信息被彼此组合时,可确定亮度最大编码单元的尺寸。可通过使用亮度最大编码单元的尺寸来确定色度最大编码单元的尺寸。例如,当y:cb:cr比率根据颜色格式为4:2:0时,色度块的尺寸可以是亮度块的尺寸的一半,并且色度最大编码单元的尺寸可以是亮度最大编码单元的尺寸的一半。

根据实施例,因为关于可被二划分的亮度编码块的最大尺寸的信息是从比特流获得的,所以可以可变地确定可被二划分的亮度编码块的最大尺寸。相反,可被三划分的亮度编码块的最大尺寸可以是固定的。例如,i画面中的可被三划分的亮度编码块的最大尺寸可以是32×32,并且p画面或b画面中的可被三划分的亮度编码块的最大尺寸可以是64×64。

此外,可基于从比特流获得的划分形状模式信息将最大编码单元分层地划分为编码单元。可从比特流获得指示是否执行四划分的信息、指示是否执行多划分的信息、划分方向信息和划分类型信息中的至少一个作为划分形状模式信息。

例如,指示是否执行四划分的信息可指示当前编码单元是将被四划分(quad_split)还是不被四划分。

当当前编码单元不被四划分时,指示是否执行多划分的信息可指示当前编码单元是不再被划分(no_split)还是被二划分/三划分。

当当前编码单元被二划分或三划分时,划分方向信息指示当前编码单元在水平方向和垂直方向中的一个方向上被划分。

当当前编码单元在水平方向或垂直方向上被划分时,划分类型信息指示当前编码单元被二划分或三划分。

可根据划分方向信息和划分类型信息来确定当前编码单元的划分模式。当前编码单元在水平方向上被二划分时的划分模式可被确定为水平二划分模式(split_bt_hor),当前编码单元在水平方向上被三划分时的划分模式可被确定为水平三划分模式(split_tt_hor),当前编码单元在垂直方向上被二划分时的划分模式可被确定为垂直二划分模式(split_bt_ver),并且当前编码单元在垂直方向上被三划分时的划分模式可被确定为垂直三划分模式(split_tt_ver)。

图像解码设备100可从比特流从一个二进制位串获得划分形状模式信息。由图像解码设备100接收到的比特流的形式可包括固定长度二进制码、一元码、截断一元码、预定二进制码等。二进制位串是二进制数的信息。二进制位串可包括至少一个比特。图像解码设备100可基于划分规则获得与二进制位串对应的划分形状模式信息。图像解码设备100可基于一个二进制位串确定是否对编码单元进行四划分、是否不对编码单元进行划分、划分方向和划分类型。

编码单元可小于或等于最大编码单元。例如,因为最大编码单元是具有最大尺寸的编码单元,所以最大编码单元是编码单元之一。当关于最大编码单元的划分形状模式信息指示不执行划分时,在最大编码单元中确定的编码单元与该最大编码单元具有相同的尺寸。当关于最大编码单元的划分形状模式信息指示执行划分时,可将最大编码单元划分为编码单元。此外,当关于编码单元的划分形状模式信息指示执行划分时,可将编码单元划分为更小的编码单元。然而,图像的划分不限于此,并且最大编码单元和编码单元可不被区分开。将参照图3至图16详细描述编码单元的划分。

此外,可从编码单元确定用于预测的一个或更多个预测块。预测块可等于或小于编码单元。此外,可从编码单元确定用于变换的一个或更多个变换块。变换块可等于或小于编码单元。

变换块和预测块的形状和尺寸可彼此不相关。

在另一实施例中,可通过将编码单元用作预测单元来执行预测。此外,可通过将编码单元用作变换块来执行变换。

将参照图3至图16详细描述编码单元的划分。本公开的当前块和邻近块可指示最大编码单元、编码单元、预测块和变换块中的一个。此外,当前编码单元的当前块是当前正被解码或编码的块或者当前被划分的块。邻近块可以是在当前块之前重建的块。邻近块可在空间上或时间上与当前块相邻。邻近块可位于当前块的左下方、左侧、左上方、上方、右上方、右侧、右下方中的一个。

图3示出根据实施例的由图像解码设备100执行的通过对当前编码单元进行划分来确定至少一个编码单元的处理。

块形状可包括4n×4n、4n×2n、2n×4n、4n×n、n×4n、32n×n、n×32n、16n×n、n×16n、8n×n或n×8n。这里,n可以是正整数。块形状信息是指示形状、方向、宽高比以及宽度和高度的尺寸中的至少一个的信息。

编码单元的形状可包括正方形和非正方形。当编码单元的宽度长度和高度长度相同时(即,当编码单元的块形状为4n×4n时),图像解码设备100可将编码单元的块形状信息确定为正方形。图像解码设备100可将编码单元的形状确定为非正方形。

当编码单元的宽度和高度彼此不同时(即,当编码单元的块形状为4n×2n、2n×4n、4n×n、n×4n、32n×n、n×32n、16n×n、n×16n、8n×n或n×8n时),图像解码设备100可将编码单元的块形状信息确定为非正方形形状。当编码单元的形状是非正方形时,图像解码设备100可将编码单元的块形状信息中的宽高比确定为1:2、2:1、1:4、4:1、1:8、8:1、1:16、16:1、1:32和32:1中的至少一个。此外,图像解码设备100可基于编码单元的宽度长度和高度长度来确定编码单元是沿水平方向还是沿垂直方向。此外,图像解码设备100可基于编码单元的宽度长度、高度长度或面积中的至少一个来确定编码单元的尺寸。

根据实施例,图像解码设备100可通过使用块形状信息来确定编码单元的形状,并且可通过使用划分形状模式信息来确定编码单元的划分方法。也就是说,可基于由图像解码设备100使用的块形状信息所指示的块形状来确定由划分形状模式信息指示的编码单元划分方法。

图像解码设备100可从比特流获得划分形状模式信息。然而,实施例不限于此,并且图像解码设备100和图像编码设备150可基于块形状信息确定预先约定的划分形状模式信息。图像解码设备100可确定针对最大编码单元或最小编码单元的预先约定的划分形状模式信息。例如,图像解码设备100可将针对最大编码单元的划分形状模式信息确定为四划分。此外,图像解码设备100可将关于最小编码单元的划分形状模式信息确定为“不执行划分”。具体地,图像解码设备100可确定最大编码单元的尺寸为256×256。图像解码设备100可将预先约定的划分形状模式信息确定为四划分。四划分是编码单元的宽度和高度均被二等分的划分形状模式。图像解码设备100可基于划分形状模式信息从256×256尺寸的最大编码单元获得128×128尺寸的编码单元。此外,图像解码设备100可确定最小编码单元的尺寸为4×4。图像解码设备100可获得针对最小编码单元的指示“不执行划分”的划分形状模式信息。

根据实施例,图像解码设备100可使用指示当前编码单元具有正方形形状的块形状信息。例如,图像解码设备100可基于划分形状模式信息来确定是否不对正方形编码单元进行划分、是否对正方形编码单元进行垂直划分、是否对正方形编码单元进行水平划分、或者是否将正方形编码单元划分为四个编码单元。参照图3,当当前编码单元300的块形状信息指示正方形形状时,解码器120可基于指示不执行划分的划分形状模式信息确定与当前编码单元300具有相同尺寸的编码单元310a,或者可确定基于指示特定划分方法的划分形状模式信息而划分出的编码单元310b、310c、310d、310e或310f。

参照图3,根据实施例,图像解码设备100可基于指示在垂直方向上执行划分的划分形状模式信息来确定通过在垂直方向上划分当前编码单元300而获得的两个编码单元310b。图像解码设备100可基于指示在水平方向上执行划分的划分形状模式信息来确定通过在水平方向上划分当前编码单元300而获得的两个编码单元310c。图像解码设备100可基于指示在垂直方向和水平方向上执行划分的划分形状模式信息来确定通过在垂直方向和水平方向上划分当前编码单元300而获得的四个编码单元310d。根据实施例,图像解码设备100可基于指示在垂直方向上执行三划分的划分形状模式信息来确定通过在垂直方向上划分当前编码单元300而获得的三个编码单元310e。图像解码设备100可基于指示在水平方向上执行三划分的划分形状模式信息来确定通过在水平方向上划分当前编码单元300而获得的三个编码单元310f。然而,正方形编码单元的划分方法不限于上述方法,并且划分形状模式信息可指示各种方法。下面将关于各种实施例详细描述对正方形编码单元进行划分的特定划分方法。

图4示出根据实施例的由图像解码设备100执行的通过对非正方形编码单元进行划分来确定至少一个编码单元的处理。

根据实施例,图像解码设备100可使用指示当前编码单元具有非正方形形状的块形状信息。图像解码设备100可基于划分形状模式信息来确定是否不对非正方形当前编码单元进行划分或者是否通过使用特定划分方法来对非正方形当前编码单元进行划分。参照图4,当当前编码单元400或450的块形状信息指示非正方形形状时,图像解码设备100可基于指示不执行划分的划分形状模式信息来确定与当前编码单元400或450具有相同的尺寸的编码单元410或460,或者可确定基于指示特定划分方法的划分形状模式信息而划分出的编码单元420a和420b、430a至430c、470a和470b或者480a至480c。下面将关于各种实施例详细描述对非正方形编码单元进行划分的特定划分方法。

根据实施例,图像解码设备100可通过使用划分形状模式信息来确定编码单元的划分方法,并且在这种情况下,划分形状模式信息可指示通过划分编码单元而生成的一个或更多个编码单元的数量。参照图4,当划分形状模式信息指示将当前编码单元400或450划分为两个编码单元时,图像解码设备100可通过基于划分形状模式信息对当前编码单元400或450进行划分来确定当前编码单元400或450中包括的两个编码单元420a和420b或者470a和470b。

根据实施例,当图像解码设备100基于划分形状模式信息来对非正方形当前编码单元400或450进行划分时,图像解码设备100可考虑非正方形当前编码单元400或450的长边的位置以对当前编码单元进行划分。例如,图像解码设备100可考虑到当前编码单元400或450的形状,通过对当前编码单元400或450的长边进行划分来确定多个编码单元。

根据实施例,当划分形状模式信息指示将编码单元划分(三划分)为奇数个块时,图像解码设备100可确定当前编码单元400或450中包括的奇数个编码单元。例如,当划分形状模式信息指示将当前编码单元400或450划分为三个编码单元时,图像解码设备100可将当前编码单元400或450划分为三个编码单元430a、430b和430c或者480a、480b和480c。

根据实施例,当前编码单元400或450的宽高比可以是4:1或1:4。当宽高比为4:1时,因为宽度长度长于高度长度,所以块形状信息可以是水平方向。当宽高比为1:4时,因为宽度长度短于高度长度,所以块形状信息可以是垂直方向。图像解码设备100可基于划分形状模式信息来确定将当前编码单元划分为奇数个块。此外,图像解码设备100可基于当前编码单元400或450的块形状信息来确定当前编码单元400或450的划分方向。例如,当当前编码单元400对应于垂直方向时,因为当前编码单元400的高度大于当前编码单元400的宽度,所以图像解码设备100可通过在水平方向上划分当前编码单元400来确定编码单元430a、430b和430c。此外,当当前编码单元450对应于水平方向时,因为当前编码单元450的宽度大于当前编码单元450的高度,所以图像解码设备100可通过在垂直方向上划分当前编码单元450来确定编码单元480a、480b和480c。

根据实施例,图像解码设备100可确定当前编码单元400或450中包括的奇数个编码单元,并且不是所有确定的编码单元可具有相同的尺寸。例如,所确定的奇数个编码单元430a、430b和430c或者480a、480b和480c中的特定编码单元430b或480b可具有与其他编码单元430a和430c或者480a和480c的尺寸不同的尺寸。也就是说,可通过划分当前编码单元400或450而确定的编码单元可具有多个尺寸,并且在一些情况下,全部奇数个编码单元430a、430b和430c或者480a、480b和480c可具有不同的尺寸。

根据实施例,当划分形状模式信息指示将编码单元划分为奇数个块时,图像解码设备100可确定当前编码单元400或450中包括的奇数个编码单元,并且此外,可对通过划分当前编码单元400或450而生成的奇数个编码单元中的至少一个编码单元施加特定限制。参照图4,图像解码设备100可将关于编码单元430b或480b的解码处理设置为与其他编码单元430a和430c或者480a或480c的解码处理不同,其中,编码单元430b或480b位于对当前编码单元400或450进行划分而生成的三个编码单元430a、430b和430c或者480a、480b和480c中的中心。例如,与其他编码单元430a和430c或者480a和480c不同,图像解码设备100可限制中心位置处的编码单元430b或480b不再被划分或仅被划分特定次数。

图5示出根据实施例的由图像解码设备100执行的基于块形状信息和划分形状模式信息中的至少一个对编码单元进行划分的处理。

根据实施例,图像解码设备100可基于块形状信息和划分形状模式信息中的至少一个,确定将正方形的第一编码单元500划分为编码单元或不对正方形的第一编码单元500进行划分。根据实施例,当划分形状模式信息指示在水平方向上划分第一编码单元500时,图像解码设备100可通过在水平方向上划分第一编码单元500来确定第二编码单元510。根据实施例使用的第一编码单元、第二编码单元和第三编码单元是用于理解在划分编码单元之前和在划分编码单元之后的关系的术语。例如,可通过划分第一编码单元来确定第二编码单元,并且可通过划分第二编码单元来确定第三编码单元。将理解,第一编码单元、第二编码单元和第三编码单元的结构遵循以上描述。

根据实施例,图像解码设备100可基于划分形状模式信息确定将所确定的第二编码单元510划分为编码单元或不对所确定的第二编码单元510进行划分。参照图5,图像解码设备100可基于划分形状模式信息将通过划分第一编码单元500而确定的非正方形的第二编码单元510划分为一个或更多个第三编码单元520a、或者520b、520c和520d,或者可不对通过划分第一编码单元500而确定的非正方形的第二编码单元510进行划分。图像解码设备100可获得划分形状模式信息,并且可基于获得的划分形状模式信息通过划分第一编码单元500来确定多个各种形状的第二编码单元(例如,510),并且可基于划分形状模式信息通过使用第一编码单元500的划分方法来划分第二编码单元510。根据实施例,当基于第一编码单元500的划分形状模式信息将第一编码单元500划分为第二编码单元510时,也可基于第二编码单元510的划分形状模式信息将第二编码单元510划分为第三编码单元520a、或者520b、520c和520d。也就是说,可基于每个编码单元的划分形状模式信息来递归地划分编码单元。因此,可通过划分非正方形编码单元来确定正方形编码单元,并且可通过递归地划分正方形编码单元来确定非正方形编码单元。

参照图5,可递归地划分通过划分非正方形的第二编码单元510而确定的奇数个第三编码单元520b、520c和520d中的特定编码单元(例如,中心位置处的编码单元或正方形编码单元)。根据实施例,奇数个第三编码单元520b、520c和520d中的正方形的第三编码单元520c可在水平方向上被划分为多个第四编码单元。多个第四编码单元530a、530b、530c和530d中的非正方形的第四编码单元530b或530d可再次被划分为多个编码单元。例如,非正方形的第四编码单元530b或530d可再次被划分为奇数个编码单元。下面将关于各种实施例描述可用于递归地划分编码单元的方法。

根据实施例,图像解码设备100可基于划分形状模式信息将第三编码单元520a、或者520b、520c和520d中的每一个划分为编码单元。此外,图像解码设备100可基于划分形状模式信息确定不对第二编码单元510进行划分。根据实施例,图像解码设备100可将非正方形的第二编码单元510划分为奇数个第三编码单元520b、520c和520d。图像解码设备100可对奇数个第三编码单元520b、520c和520d中的特定第三编码单元施加特定限制。例如,图像解码设备100可限制奇数个第三编码单元520b、520c和520d中的中心位置处的第三编码单元520c不再被划分或被划分可设置的次数。

参照图5,图像解码设备100可将非正方形的第二编码单元510中所包括的奇数个第三编码单元520b、520c和520d中的中心位置处的第三编码单元520c限制为不再被划分、限制为通过使用特定划分方法被划分(例如,仅被划分为四个编码单元或通过使用第二编码单元510的划分方法被划分)或者限制为仅被划分特定次数(例如,仅被划分n次(其中,n>0))。然而,对中心位置处的第三编码单元520c的限制不限于上述示例,并且可包括用于与其他第三编码单元520b和520d不同地对中心位置处的第三编码单元520c进行解码的各种限制。

根据实施例,图像解码设备100可从当前编码单元中的特定位置获得用于对当前编码单元进行划分的划分形状模式信息。

图6示出根据实施例的由图像解码设备100执行的从奇数个编码单元中确定特定编码单元的方法。

参照图6,可从当前编码单元600或650中包括的多个样点中的特定位置的样点(例如,中心位置的样点640或690)获得当前编码单元600或650的划分形状模式信息。然而,当前编码单元600中的可获得划分形状模式信息中的至少一条的特定位置不限于图6中的中心位置,并且可包括当前编码单元600中包括的各种位置(例如,上方、下方、左侧、右侧、左上方、左下方、右上方和右下方位置)。图像解码设备100可从特定位置获得划分形状模式信息,并且可确定将当前编码单元划分为各种形状和各种尺寸的编码单元或者不对当前编码单元进行划分。

根据实施例,在当前编码单元被划分为特定数量的编码单元时,图像解码设备100可选择编码单元中的一个编码单元。如下面将关于各种实施例描述的,各种方法可被用于选择多个编码单元中的一个编码单元。

根据实施例,图像解码设备100可将当前编码单元划分为多个编码单元,并且可确定特定位置处的编码单元。

根据实施例,图像解码设备100可使用指示奇数个编码单元的位置的信息来确定奇数个编码单元中的中心位置处的编码单元。参照图6,图像解码设备100可通过划分当前编码单元600或当前编码单元650来确定奇数个编码单元620a、620b和620c或奇数个编码单元660a、660b和660c。图像解码设备100可通过使用关于奇数个编码单元620a、620b和620c或奇数个编码单元660a、660b和660c的位置的信息来确定中间编码单元620b或中间编码单元660b。例如,图像解码设备100可通过基于指示编码单元620a、620b和620c中包括的特定样点的位置的信息确定编码单元620a、620b和620c的位置来确定中心位置的编码单元620b。详细地,图像解码设备100可通过基于指示编码单元620a、620b和620c的左上样点630a、630b和630c的位置的信息确定编码单元620a、620b和620c的位置来确定中心位置处的编码单元620b。

根据实施例,指示分别包括在编码单元620a、620b和620c中的左上样点630a、630b和630c的位置的信息可包括关于编码单元620a、620b和620c在画面中的位置或坐标的信息。根据实施例,指示分别包括在编码单元620a、620b和620c中的左上样点630a、630b和630c的位置的信息可包括指示当前编码单元600中包括的编码单元620a、620b和620c的宽度或高度的信息,并且所述宽度或高度可与指示编码单元620a、620b和620c在画面中的坐标之间的差的信息对应。也就是说,图像解码设备100可通过直接使用关于编码单元620a、620b和620c在画面中的位置或坐标的信息或者通过使用关于编码单元的与坐标之间的差值对应的宽度或高度的信息来确定中心位置处的编码单元620b。

根据实施例,指示上方编码单元620a的左上样点630a的位置的信息可包括坐标(xa,ya),指示中间编码单元620b的左上样点630b的位置的信息可包括坐标(xb,yb),并且指示下方编码单元620c的左上样点630c的位置的信息可包括坐标(xc,yc)。图像解码设备100可通过使用分别包括在编码单元620a、620b和620c中的左上样点630a、630b和630c的坐标来确定中间编码单元620b。例如,当左上样点630a、630b和630c的坐标按照升序或降序被排序时,可将包括中心位置处的样点630b的坐标(xb,yb)的编码单元620b确定为通过划分当前编码单元600确定的编码单元620a、620b和620c中的中心位置处的编码单元。然而,指示左上样点630a、630b和630c的位置的坐标可包括指示画面中的绝对位置的坐标,或者可使用指示中间编码单元620b的左上样点630b相对于上方编码单元620a的左上样点630a的位置的相对位置的坐标(dxb,dyb)和指示下方编码单元620c的左上样点630c相对于上方编码单元620a的左上样点630a的位置的相对位置的坐标(dxc,dyc)。通过将包括在编码单元中的样点的坐标用作指示样点的位置的信息来确定特定位置处的编码单元的方法不限于上述方法,并且可包括能够使用样点的坐标的各种算术方法。

根据实施例,图像解码设备100可将当前编码单元600划分为多个编码单元620a、620b和620c,并且可基于特定标准选择编码单元620a、620b和620c中的一个编码单元。例如,图像解码设备100可从编码单元620a、620b和620c中选择尺寸与其他编码单元的尺寸不同的编码单元620b。

根据实施例,图像解码设备100可通过使用作为指示上方编码单元620a的左上样点630a的位置的信息的坐标(xa,ya)、作为指示中间编码单元620b的左上样点630b的位置的信息的坐标(xb,yb)以及作为指示下方编码单元620c的左上样点630c的位置的信息的坐标(xc,yc)来确定编码单元620a、620b和620c中的每一个的宽度或高度。图像解码设备100可通过使用指示编码单元620a、620b和620c的位置的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元620a、620b和620c各自的尺寸。根据实施例,图像解码设备100可将上方编码单元620a的宽度确定为当前编码单元600的宽度。图像解码设备100可将上方编码单元620a的高度确定为yb-ya。根据实施例,图像解码设备100可将中间编码单元620b的宽度确定为当前编码单元600的宽度。图像解码设备100可将中间编码单元620b的高度确定为yc-yb。根据实施例,图像解码设备100可通过使用当前编码单元600的宽度或高度或者上方编码单元620a和中间编码单元620b的宽度或高度来确定下方编码单元620c的宽度或高度。图像解码设备100可基于所确定的编码单元620a、620b和620c的宽度和高度来确定具有与其他编码单元的尺寸不同的尺寸的编码单元。参照图6,图像解码设备100可将具有与上方编码单元620a和下方编码单元620c的尺寸不同的尺寸的中间编码单元620b确定为特定位置的编码单元。然而,由图像解码设备100执行的确定具有与其他编码单元的尺寸不同的尺寸的编码单元的上述方法仅与通过使用基于样点的坐标确定的编码单元的尺寸来确定特定位置处的编码单元的示例对应,并且因此,可使用通过对基于特定样点的坐标确定的编码单元的尺寸进行比较来确定特定位置处的编码单元的各种方法。

图像解码设备100可通过使用作为指示左侧编码单元660a的左上样点670a的位置的信息的坐标(xd,yd)、作为指示中间编码单元660b的左上样点670b的位置的信息的坐标(xe,ye)以及作为指示右侧编码单元660c的左上样点670c的位置的信息的坐标(xf,yf)来确定编码单元660a、660b和660c中的每一个的宽度或高度。图像解码设备100可通过使用指示编码单元660a、660b和660c的位置的坐标(xd,yd)、(xe,ye)和(xf,yf)来确定编码单元660a、660b和660c的相应尺寸。

根据实施例,图像解码设备100可将左侧编码单元660a的宽度确定为xe-xd。图像解码设备100可将左侧编码单元660a的高度确定为当前编码单元650的高度。根据实施例,图像解码设备100可将中间编码单元660b的宽度确定为xf-xe。图像解码设备100可将中间编码单元660b的高度确定为当前编码单元650的高度。根据实施例,图像解码设备100可通过使用当前编码单元650的宽度或高度或者左侧编码单元660a和中间编码单元660b的宽度或高度来确定右侧编码单元660c的宽度或高度。图像解码设备100可基于所确定的编码单元660a、660b和660c的宽度和高度来确定尺寸与其他编码单元的尺寸不同的编码单元。参照图6,图像解码设备100可将尺寸与左侧编码单元660a和右侧编码单元660c的尺寸不同的中间编码单元660b确定为特定位置的编码单元。然而,由图像解码设备100执行的确定尺寸与其他编码单元的尺寸不同的编码单元的上述方法仅与通过使用基于样点的坐标确定的编码单元的尺寸来确定特定位置处的编码单元的示例对应,并且因此,可使用通过对基于特定样点的坐标确定的编码单元的尺寸进行比较来确定特定位置处的编码单元的各种方法。

然而,确定编码单元的位置所考虑的样点的位置不限于上述的左上位置,并且可使用关于包括在编码单元中的样点的任意位置的信息。

根据实施例,图像解码设备100可考虑当前编码单元的形状,从通过划分当前编码单元确定的奇数个编码单元中选择特定位置处的编码单元。例如,在当前编码单元具有宽度大于高度的非正方形形状时,图像解码设备100可确定沿水平方向的特定位置处的编码单元。也就是说,图像解码设备100可确定沿水平方向的不同位置处的编码单元中的一个编码单元并对该编码单元施加限制。在当前编码单元具有高度大于宽度的非正方形形状时,图像解码设备100可确定沿垂直方向的特定位置处的编码单元。也就是说,图像解码设备100可确定沿垂直方向的不同位置处的编码单元中的一个编码单元,并且可对该编码单元施加限制。

根据实施例,图像解码设备100可使用指示偶数个编码单元的各个位置的信息,以确定偶数个编码单元中的特定位置处的编码单元。图像解码设备100可通过划分(二划分)当前编码单元来确定偶数个编码单元,并且可通过使用关于偶数个编码单元的位置的信息来确定特定位置处的编码单元。与其相关的操作可与已经在上面关于图6详细描述的确定奇数个编码单元中的特定位置(例如,中心位置)处的编码单元的操作对应,并且因此这里不提供其详细描述。

根据实施例,当非正方形的当前编码单元被划分为多个编码单元时,可在划分操作中使用关于特定位置处的编码单元的特定信息来确定多个编码单元中的特定位置处的编码单元。例如,图像解码设备100可在划分操作中使用中间编码单元中包括的样点中所存储的块形状信息和划分形状模式信息中的至少一个来确定通过划分当前编码单元所确定的多个编码单元中的中心位置处的编码单元。

参照图6,图像解码设备100可基于划分形状模式信息将当前编码单元600划分为多个编码单元620a、620b和620c,并且可确定多个编码单元620a、620b和620c中的中心位置处的编码单元620b。此外,图像解码设备100可考虑获得划分形状模式信息的位置来确定中心位置处的编码单元620b。也就是说,可从当前编码单元600的中心位置处的样点640获得当前编码单元600的划分形状模式信息,并且当基于划分形状模式信息将当前编码单元600划分为多个编码单元620a、620b和620c时,可将包括样点640的编码单元620b确定为中心位置处的编码单元。然而,用于确定中心位置处的编码单元的信息不限于划分形状模式信息,并且可使用各种类型的信息确定中心位置处的编码单元。

根据实施例,可从包括在将被确定的编码单元中的特定样点获得用于标识特定位置处的编码单元的特定信息。参照图6,图像解码设备100可使用从当前编码单元600中的特定位置处的样点(例如,当前编码单元600的中心位置处的样点)获得的划分形状模式信息来确定通过划分当前编码单元600确定的多个编码单元620a、620b和620c中的特定位置处的编码单元(例如,划分出的多个编码单元中的中心位置处的编码单元)。也就是说,图像解码设备100可通过考虑当前编码单元600的块形状来确定特定位置处的样点,可从通过划分当前编码单元600确定的多个编码单元620a、620b和620c中确定包括可获得特定信息(例如,划分形状模式信息)的样点的编码单元620b,并且可对编码单元620b施加特定限制。参照图6,根据实施例,在解码操作中,图像解码设备100可将当前编码单元600的中心位置处的样点640确定为可获得特定信息的样点,并且可对包括样点640的编码单元620b施加特定限制。然而,可获得特定信息的样点的位置不限于上述位置,并且可包括编码单元620b中所包括的将被确定为用于限制的样点的任意位置。

根据实施例,可基于当前编码单元600的形状确定可获得特定信息的样点的位置。根据实施例,块形状信息可指示当前编码单元是具有正方形形状还是具有非正方形形状,并且可基于该形状确定可获得特定信息的样点的位置。例如,图像解码设备100可通过使用关于当前编码单元的宽度的信息和关于当前编码单元的高度的信息中的至少一个将位于用于将当前编码单元的宽度和高度中的至少一个对半划分的边界上的样点确定为可获得特定信息的样点。作为另一示例,在与当前编码单元相关的块形状信息指示非正方形形状时,图像解码设备100可将与将当前编码单元的较长边对半划分的边界相邻的样点中的一个样点确定为可获得特定信息的样点。

根据实施例,在当前编码单元被划分为多个编码单元时,图像解码设备100可使用划分形状模式信息来确定多个编码单元中的特定位置处的编码单元。根据实施例,图像解码设备100可从编码单元中的特定位置处的样点获得划分形状模式信息,并且可通过使用划分形状模式信息对通过划分当前编码单元生成的多个编码单元进行划分,其中,所述划分形状模式信息是从所述多个编码单元中的每个编码单元中的特定位置处的样点获得的。也就是说,可基于划分形状模式信息递归地划分编码单元,其中,所述划分形状模式信息是从每个编码单元中的特定位置处的样点获得的。上面已经关于图5描述了递归地划分编码单元的操作,并且因此这里将不提供其详细描述。

根据实施例,图像解码设备100可通过划分当前编码单元确定一个或更多个编码单元,并且可基于特定块(例如,当前编码单元)确定对所述一个或更多个编码单元进行解码的顺序。

图7示出根据实施例的当图像解码设备100通过划分当前编码单元确定多个编码单元时对所述多个编码单元进行处理的顺序。

根据实施例,基于划分形状模式信息,图像解码设备100可通过在垂直方向上划分第一编码单元700来确定第二编码单元710a和710b,可通过在水平方向上划分第一编码单元700来确定第二编码单元730a和730b,或者可通过在垂直方向和水平方向上划分第一编码单元700来确定第二编码单元750a、750b、750c和750d。

参照图7,图像解码设备100可确定按照水平方向顺序710c对通过在垂直方向上划分第一编码单元700而确定的第二编码单元710a和710b进行处理。图像解码设备100可确定按照垂直方向顺序730c对通过在水平方向上划分第一编码单元700而确定的第二编码单元730a和730b进行处理。图像解码设备100可确定按照特定顺序(例如,按照光栅扫描顺序或z字形扫描顺序750e)对通过在垂直方向和水平方向上划分第一编码单元700而确定的第二编码单元750a、750b、750c和750d进行处理,其中,所述特定顺序用于对一行中的编码单元进行处理然后对下一行中的编码单元进行处理。

根据实施例,图像解码设备100可递归地划分编码单元。参照图7,图像解码设备100可通过划分第一编码单元700来确定多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d,并且可递归地划分所确定的多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d中的每一个。多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d的划分方法可对应于第一编码单元700的划分方法。如此,多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d中的每一个可被独立地划分为多个编码单元。参照图7,图像解码设备100可通过在垂直方向上划分第一编码单元700来确定第二编码单元710a和710b,并且可确定独立地划分或者不划分第二编码单元710a和710b中的每一个。

根据实施例,图像解码设备100可通过在水平方向上对左侧第二编码单元710a进行划分来确定第三编码单元720a和720b,并且可不对右侧第二编码单元710b进行划分。

根据实施例,可基于划分编码单元的操作来确定编码单元的处理顺序。换句话说,可基于紧接在被划分之前的编码单元的处理顺序来确定划分后的编码单元的处理顺序。图像解码设备100可独立于右侧第二编码单元710b来确定通过划分左侧第二编码单元710a而确定的第三编码单元720a和720b的处理顺序。因为通过在水平方向上划分左侧第二编码单元710a来确定第三编码单元720a和720b,所以可按照垂直方向顺序720c对第三编码单元720a和720b进行处理。因为左侧第二编码单元710a和右侧第二编码单元710b按照水平方向顺序710c被处理,所以可在按照垂直方向顺序720c对左侧第二编码单元710a中包括的第三编码单元720a和720b进行处理之后对右侧第二编码单元710b进行处理。基于划分之前的编码单元来确定编码单元的处理顺序的操作不限于上述示例,并且可使用各种方法按照特定顺序独立地处理被划分并被确定为各种形状的编码单元。

图8示出根据实施例的当编码单元不能按照特定顺序进行处理时,由图像解码设备100执行的确定当前编码单元将被划分为奇数个编码单元的处理。

根据实施例,图像解码设备100可基于获得的划分形状模式信息确定当前编码单元将被划分为奇数个编码单元。参照图8,正方形的第一编码单元800可被划分为非正方形的第二编码单元810a和810b,第二编码单元810a和810b可被独立地划分为第三编码单元820a和820b以及820c、820d和820e。根据实施例,图像解码设备100可通过在水平方向上划分左侧第二编码单元810a来确定多个第三编码单元820a和820b,并且可将右侧第二编码单元810b划分为奇数个第三编码单元820c、820d和820e。

根据实施例,图像解码设备100可通过确定第三编码单元820a和820b以及820c、820d和820e是否能够按照特定顺序进行处理来确定任意编码单元是否被划分为奇数个编码单元。参照图8,图像解码设备100可通过递归地划分第一编码单元800来确定第三编码单元820a和820b以及820c、820d和820e。图像解码设备100可基于块形状信息和划分形状模式信息中的至少一个确定以下编码单元中的任意一个是否被划分为奇数个编码单元:第一编码单元800、第二编码单元810a和810b、以及第三编码单元820a和820b及820c、820d和820e。例如,第二编码单元810a和810b中的右侧第二编码单元810b可被划分为奇数个第三编码单元820c、820d和820e。第一编码单元800中包括的多个编码单元的处理顺序可以是特定顺序(例如,z字形扫描顺序830),图像解码设备100可确定通过将右侧第二编码单元810b划分为奇数个编码单元所确定的第三编码单元820c、820d和820e是否满足用于按照特定顺序进行处理的条件。

根据实施例,图像解码设备100可确定第一编码单元800中包括的第三编码单元820a和820b以及820c至820e是否满足用于按照特定顺序进行处理的条件,并且该条件与第二编码单元810a和810b的宽度和高度中的至少一个是否沿着第三编码单元820a和820b以及820c至820e的边界被对半划分有关。例如,当非正方形形状的左侧第二编码单元810a的高度被对半划分时所确定的第三编码单元820a和820b可满足所述条件。因为当将右侧第二编码单元810b划分为三个编码单元时所确定的第三编码单元820c、820d和820e的边界未能将右侧第二编码单元810b的宽度或高度对半划分,所以可确定第三编码单元820c、820d和820e不满足所述条件。当如上所述不满足所述条件时,图像解码设备100可确定扫描顺序不连续,并且可基于确定结果确定右侧第二编码单元810b将被划分为奇数个编码单元。根据实施例,当编码单元被划分为奇数个编码单元时,图像解码设备100可对划分出的编码单元中的特定位置处的编码单元施加特定限制。上面已经关于各种实施例描述了所述限制或所述特定位置,并且因此这里将不提供其详细描述。

图9示出根据实施例的由图像解码设备100执行的通过对第一编码单元900进行划分来确定至少一个编码单元的处理。

根据实施例,图像解码设备100可基于通过接收器(未示出)获得的划分形状模式信息对第一编码单元900进行划分。正方形的第一编码单元900可被划分为四个正方形编码单元,或者可被划分为多个非正方形编码单元。例如,参照图9,当划分形状模式信息指示将第一编码单元900划分为非正方形编码单元时,图像解码设备100可将第一编码单元900划分为多个非正方形编码单元。详细地,当划分形状模式信息指示通过在水平方向或垂直方向上划分第一编码单元900来确定奇数个编码单元时,图像解码设备100可将正方形的第一编码单元900划分为奇数个编码单元(例如,通过在垂直方向上划分正方形的第一编码单元900而确定的第二编码单元910a、910b和910c,或者通过在水平方向上划分正方形的第一编码单元900而确定的第二编码单元920a、920b和920c)。

根据实施例,图像解码设备100可确定包括在第一编码单元900中的第二编码单元910a、910b、910c、920a、920b和920c是否满足用于按照特定顺序进行处理的条件,并且该条件与第一编码单元900的宽度和高度中的至少一个是否将沿着第二编码单元910a、910b、910c、920a、920b和920c的边界被对半划分有关。参照图9,因为通过在垂直方向上划分正方形的第一编码单元900所确定的第二编码单元910a、910b和910c的边界未将第一编码单元900的宽度对半划分,所以可确定第一编码单元900不满足用于按照特定顺序进行处理的条件。此外,因为通过在水平方向上划分正方形的第一编码单元900所确定的第二编码单元920a、920b和920c的边界未将第一编码单元900的高度对半划分,所以可确定第一编码单元900不满足用于按照特定顺序进行处理的条件。当如上所述不满足所述条件时,图像解码设备100可确定扫描顺序不连续,并且可基于确定结果确定第一编码单元900被划分为奇数个编码单元。根据实施例,当编码单元被划分为奇数个编码单元时,图像解码设备100可对划分出的编码单元中的特定位置处的编码单元施加特定限制。上面已经关于各种实施例描述了所述限制或所述特定位置,因此这里将不提供其详细描述。

根据实施例,图像解码设备100可通过划分第一编码单元来确定各种形状的编码单元。

参照图9,图像解码设备100可将正方形的第一编码单元900或非正方形的第一编码单元930或950划分为各种形状的编码单元。

图10示出根据实施例的当图像解码设备100对第一编码单元1000进行划分而确定的具有非正方形形状的第二编码单元满足特定条件时第二编码单元可被划分为的形状受到限制。

根据实施例,图像解码设备100可基于由接收器(未示出)获得的划分形状模式信息确定将正方形的第一编码单元1000划分为非正方形的第二编码单元1010a和1010b、或者1020a和1020b。第二编码单元1010a和1010b、或者1020a和1020b可被独立地划分。如此,图像解码设备100可基于第二编码单元1010a和1010b、或者1020a和1020b中的每一个的划分形状模式信息,确定将第二编码单元1010a和1010b、或者1020a和1020b中的每一个划分为多个编码单元或者不对第二编码单元1010a和1010b、或者1020a和1020b中的每一个进行划分。根据实施例,图像解码设备100可通过在水平方向上对通过在垂直方向上划分第一编码单元1000而确定的非正方形的左侧第二编码单元1010a进行划分,来确定第三编码单元1012a和1012b。然而,当左侧第二编码单元1010a在水平方向上被划分时,图像解码设备100可将右侧第二编码单元1010b限制为不在左侧第二编码单元1010a被划分的水平方向上被划分。当通过在同一方向上划分右侧第二编码单元1010b来确定第三编码单元1014a和1014b时,因为左侧第二编码单元1010a和右侧第二编码单元1010b在水平方向上被独立地划分,所以可确定第三编码单元1012a和1012b、或者1014a和1014b。然而,这种情况与图像解码设备100基于划分形状模式信息将第一编码单元1000划分为四个正方形的第二编码单元1030a、1030b、1030c和1030d的情况作用相同,并且在图像解码方面可能是低效的。

根据实施例,图像解码设备100可通过在垂直方向上对通过在水平方向上划分第一编码单元1000而确定的非正方形的第二编码单元1020a或1020b进行划分,来确定第三编码单元1022a和1022b、或者1024a和1024b。然而,当第二编码单元(例如,上方第二编码单元1020a)在垂直方向上被划分时,出于上述原因,图像解码设备100可将另一第二编码单元(例如,下方第二编码单元1020b)限制为不在上方第二编码单元1020a被划分的垂直方向上被划分。

图11示出根据实施例的当划分形状模式信息不能指示正方形编码单元被划分为四个正方形编码单元时由图像解码设备100执行的对正方形编码单元进行划分的处理。

根据实施例,图像解码设备100可通过基于划分形状模式信息划分第一编码单元1100来确定第二编码单元1110a和1110b、或者1120a和1120b等。划分形状模式信息可包括关于划分编码单元的各种方法的信息,但是关于各种划分方法的信息可不包括用于将编码单元划分为四个正方形编码单元的信息。根据这样的划分形状模式信息,图像解码设备100可不将正方形的第一编码单元1100划分为四个正方形编码单元1130a、1130b、1130c和1130d。图像解码设备100可基于划分形状模式信息确定非正方形的第二编码单元1110a和1110b、或者1120a和1120b等。

根据实施例,图像解码设备100可独立地划分非正方形的第二编码单元1110a和1110b、或者1120a和1120b等。第二编码单元1110a和1110b、或者1120a和1120b等中的每一个可按照特定顺序被递归地划分,并且该划分方法可与基于划分形状模式信息来划分第一编码单元1100的方法对应。

例如,图像解码设备100可通过在水平方向上划分左侧第二编码单元1110a来确定正方形的第三编码单元1112a和1112b,并且可通过在水平方向上划分右侧第二编码单元1110b来确定正方形的第三编码单元1114a和1114b。此外,图像解码设备100可通过在水平方向上划分左侧第二编码单元1110a和右侧第二编码单元1110b两者来确定正方形的第三编码单元1116a、1116b、1116c和1116d。在这种情况下,可确定与从第一编码单元1100划分出的四个正方形的第二编码单元1130a、1130b、1130c和1130d具有相同形状的编码单元。

作为另一示例,图像解码设备100可通过在垂直方向上划分上方第二编码单元1120a来确定正方形的第三编码单元1122a和1122b,并且可通过在垂直方向上划分下方第二编码单元1120b来确定正方形的第三编码单元1124a和1124b。此外,图像解码设备100可通过在垂直方向上划分上方第二编码单元1120a和下方第二编码单元1120b两者来确定正方形的第三编码单元1126a、1126b、1126c和1126d。在这种情况下,可确定与从第一编码单元1100划分出的四个正方形的第二编码单元1130a、1130b、1130c和1130d具有相同形状的编码单元。

图12示出根据实施例的多个编码单元之间的处理顺序可根据对编码单元进行划分的处理而改变。

根据实施例,图像解码设备100可基于划分形状模式信息来划分第一编码单元1200。当块形状指示正方形形状并且划分形状模式信息指示在水平方向和垂直方向中的至少一个方向上划分第一编码单元1200时,图像解码设备100可通过划分第一编码单元1200来确定第二编码单元1210a和1210b、或者1220a和1220b等。参照图12,通过仅在水平方向或垂直方向上划分第一编码单元1200而确定的非正方形的第二编码单元1210a和1210b、或者1220a和1220b可基于每个编码单元的划分形状模式信息被独立地划分。例如,图像解码设备100可通过在水平方向上对通过在垂直方向上划分第一编码单元1200而生成的第二编码单元1210a和1210b进行划分,来确定第三编码单元1216a、1216b、1216c和1216d,并且可通过在垂直方向上对通过在水平方向上划分第一编码单元1200而生成的第二编码单元1220a和1220b进行划分,来确定第三编码单元1226a、1226b、1226c和1226d。上面已经关于图11描述了划分第二编码单元1210a和1210b、或者1220a和1220b的操作,因此这里将不提供其详细描述。

根据实施例,图像解码设备100可按照特定顺序处理编码单元。上面已经关于图7描述了按照特定顺序处理编码单元的操作,因此这里将不提供其详细描述。参照图12,图像解码设备100可通过划分正方形的第一编码单元1200来确定四个正方形的第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d。根据实施例,图像解码设备100可基于第一编码单元1200的划分方法来确定第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d的处理顺序。

根据实施例,图像解码设备100可通过在水平方向上对通过在垂直方向上划分第一编码单元1200而生成的第二编码单元1210a和1210b进行划分来确定第三编码单元1216a、1216b、1216c和1216d,并且可按照如下处理顺序1217处理第三编码单元1216a、1216b、1216c和1216d:首先在垂直方向上处理左侧第二编码单元1210a中包括的第三编码单元1216a和1216c,然后在垂直方向上处理右侧第二编码单元1210b中包括的第三编码单元1216b和1216d。

根据实施例,图像解码设备100可通过在垂直方向上对通过在水平方向上划分第一编码单元1200而生成的第二编码单元1220a和1220b进行划分来确定第三编码单元1226a、1226b、1226c和1226d,并且可按照如下处理顺序1227处理第三编码单元1226a、1226b、1226c和1226d:首先在水平方向上处理上方第二编码单元1220a中包括的第三编码单元1226a和1226b,然后在水平方向上处理下方第二编码单元1220b中包括的第三编码单元1226c和1226d。

参照图12,可通过分别划分第二编码单元1210a和1210b、以及1220a和1220b来确定正方形的第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d。尽管通过在垂直方向上划分第一编码单元1200而确定的第二编码单元1210a和1210b与通过在水平方向上划分第一编码单元1200而确定的第二编码单元1220a和1220b不同,但是从第二编码单元1210a和1210b以及第二编码单元1220a和1220b划分出的第三编码单元1216a、1216b、1216c和1216d以及第三编码单元1226a、1226b、1226c和1226d最终示出从第一编码单元1200划分出的相同形状的编码单元。如此,通过基于划分形状信息以不同的方式递归地划分编码单元,即使最终将编码单元确定为相同的形状,图像解码设备100也可按照不同顺序对多个编码单元进行处理。

图13示出根据实施例的当编码单元被递归划分使得多个编码单元被确定时,在编码单元的形状和尺寸改变时确定编码单元的深度的处理。

根据实施例,图像解码设备100可基于特定标准确定编码单元的深度。例如,所述特定标准可以是编码单元的长边的长度。当被划分之前的编码单元的长边的长度是划分后的当前编码单元的长边的长度的2n(n>0)倍时,图像解码设备100可确定当前编码单元的深度比划分之前的编码单元的深度增大n。在下面的描述中,具有增大的深度的编码单元被表示为更深深度的编码单元。

参照图13,根据实施例,图像解码设备100可通过基于指示正方形形状的块形状信息(例如,块形状信息可被表示为“0:square”)划分正方形的第一编码单元1300来确定更深深度的第二编码单元1302和第三编码单元1304。假设正方形的第一编码单元1300的尺寸是2n×2n,通过按1/2对第一编码单元1300的宽度和高度进行划分而确定的第二编码单元1302可具有n×n的尺寸。此外,通过按1/2对第二编码单元1302的宽度和高度进行划分而确定的第三编码单元1304可具有n/2×n/2的尺寸。在这种情况下,第三编码单元1304的宽度和高度是第一编码单元1300的宽度和高度的1/4。当第一编码单元1300的深度为d时,宽度和高度是第一编码单元1300的宽度和高度的1/2的第二编码单元1302的深度可以是d+1,并且宽度和高度是第一编码单元1300的宽度和高度的1/4的第三编码单元1304的深度可以是d+2。

根据实施例,图像解码设备100可通过基于指示非正方形形状的块形状信息(例如,块形状信息可被表示为指示高度长于宽度的非正方形形状的“1:ns_ver”,或者可被表示为指示宽度长于高度的非正方形形状的“2:ns_hor”)划分非正方形的第一编码单元1310或1320,来确定更深深度的第二编码单元1312或1322、以及第三编码单元1314或1324。

图像解码设备100可通过划分尺寸为n×2n的第一编码单元1310的宽度和高度中的至少一个来确定第二编码单元1302、1312或1322。也就是说,图像解码设备100可通过在水平方向上划分第一编码单元1310来确定尺寸为n×n的第二编码单元1302或尺寸为n×n/2的第二编码单元1322,或者可通过在水平方向和垂直方向上划分第一编码单元1310来确定尺寸为n/2×n的第二编码单元1312。

根据实施例,图像解码设备100可通过划分尺寸为2n×n的第一编码单元1320的宽度和高度中的至少一个来确定第二编码单元1302、1312或1322。也就是说,图像解码设备100可通过在垂直方向上划分第一编码单元1320来确定尺寸为n×n的第二编码单元1302或尺寸为n/2×n的第二编码单元1312,或者可通过在水平方向和垂直方向上划分第一编码单元1320来确定尺寸为n×n/2的第二编码单元1322。

根据实施例,图像解码设备100可通过划分尺寸为n×n的第二编码单元1302的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码设备100可通过在垂直方向和水平方向上划分第二编码单元1302来确定尺寸为n/2×n/2的第三编码单元1304、尺寸为n/4×n/2的第三编码单元1314或尺寸为n/2×n/4的第三编码单元1324。

根据实施例,图像解码设备100可通过划分尺寸为n/2×n的第二编码单元1312的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码设备100可通过在水平方向上划分第二编码单元1312来确定尺寸为n/2×n/2的第三编码单元1304或尺寸为n/2×n/4的第三编码单元1324,或者可通过在垂直方向和水平方向上划分第二编码单元1312来确定尺寸为n/4×n/2的第三编码单元1314。

根据实施例,图像解码设备100可通过划分尺寸为n×n/2的第二编码单元1322的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码设备100可通过在垂直方向上划分第二编码单元1322来确定尺寸为n/2×n/2的第三编码单元1304或尺寸为n/4×n/2的第三编码单元1314,或者可通过在垂直方向和水平方向上划分第二编码单元1322来确定尺寸为n/2×n/4的第三编码单元1324。

根据实施例,图像解码设备100可在水平方向或垂直方向上划分正方形编码单元1300、1302或1304。例如,图像解码设备100可通过在垂直方向上划分尺寸为2n×2n的第一编码单元1300来确定尺寸为n×2n的第一编码单元1310,或者可通过在水平方向上划分第一编码单元1300来确定尺寸为2n×n的第一编码单元1320。根据实施例,当基于编码单元的最长边的长度确定深度时,通过在水平方向或垂直方向上划分尺寸为2n×2n的第一编码单元1300而确定的编码单元的深度可等于第一编码单元1300的深度。

根据实施例,第三编码单元1314或1324的宽度和高度可以是第一编码单元1310或1320的宽度和高度的1/4。当第一编码单元1310或1320的深度为d时,宽度和高度是第一编码单元1310或1320的宽度和高度的1/2的第二编码单元1312或1322的深度可以是d+1,宽度和高度是第一编码单元1310或1320的宽度和高度的1/4的第三编码单元1314或1324的深度可以是d+2。

图14示出根据实施例的可基于编码单元的形状和尺寸确定的深度以及用于将编码单元区分开的部分索引(pid)。

根据实施例,图像解码设备100可通过划分正方形的第一编码单元1400来确定各种形状的第二编码单元。参照图14,图像解码设备100可通过基于划分形状模式信息在垂直方向和水平方向中的至少一个方向上划分第一编码单元1400来确定第二编码单元1402a和1402b、第二编码单元1404a和1404b、以及第二编码单元1406a、1406b、1406c和1406d。也就是说,图像解码设备100可基于第一编码单元1400的划分形状模式信息来确定第二编码单元1402a和1402b、1404a和1404b以及1406a、1406b、1406c和1406d。

根据实施例,基于正方形的第一编码单元1400的划分形状模式信息确定的第二编码单元1402a和1402b、第二编码单元1404a和1404b以及第二编码单元1406a、1406b、1406c和1406d的深度可基于它们的长边的长度而被确定。例如,因为正方形的第一编码单元1400的边的长度等于非正方形的第二编码单元1402a和1402b以及1404a和1404b的长边的长度,所以第一编码单元1400和非正方形的第二编码单元1402a和1402b以及1404a和1404b可具有相同的深度,例如d。然而,当图像解码设备100基于划分形状模式信息将第一编码单元1400划分为四个正方形的第二编码单元1406a、1406b、1406c和1406d时,因为正方形的第二编码单元1406a、1406b、1406c和1406d的边的长度是第一编码单元1400的边的长度的1/2,所以第二编码单元1406a、1406b、1406c和1406d的深度可以是比第一编码单元1400的深度d深1的d+1。

根据实施例,图像解码设备100可通过基于划分形状模式信息在水平方向上划分高度长于宽度的第一编码单元1410来确定多个第二编码单元1412a和1412b以及1414a、1414b和1414c。根据实施例,图像解码设备100可通过基于划分形状模式信息在垂直方向上划分宽度长于高度的第一编码单元1420来确定多个第二编码单元1422a和1422b以及1424a、1424b和1424c。

根据实施例,基于非正方形的第一编码单元1410或1420的划分形状模式信息确定的第二编码单元1412a和1412b以及1414a、1414b和1414c、或者1422a和1422b以及1424a、1424b和1424c的深度可基于它们的长边的长度而被确定。例如,因为正方形的第二编码单元1412a和1412b的边的长度是高度长于宽度的具有非正方形形状的第一编码单元1410的长边的长度的1/2,所以正方形的第二编码单元1412a和1412b的深度是比非正方形的第一编码单元1410的深度d深1的d+1。

此外,图像解码设备100可基于划分形状模式信息将非正方形的第一编码单元1410划分为奇数个第二编码单元1414a、1414b和1414c。奇数个第二编码单元1414a、1414b和1414c可包括非正方形的第二编码单元1414a和1414c以及正方形的第二编码单元1414b。在这种情况下,因为非正方形的第二编码单元1414a和1414c的长边的长度以及正方形的第二编码单元1414b的边的长度是第一编码单元1410的长边的长度的1/2,所以第二编码单元1414a、1414b和1414c的深度可以是比非正方形的第一编码单元1410的深度d深1的d+1。图像解码设备100可通过使用上述确定从第一编码单元1410划分出的编码单元的深度的方法,确定从宽度长于高度的具有非正方形形状的第一编码单元1420划分出的编码单元的深度。

根据实施例,当奇数个划分出的编码单元不具有相等的尺寸时,图像解码设备100可基于编码单元之间的尺寸比例来确定用于标识划分出的编码单元的pid。参照图14,奇数个划分出的编码单元1414a、1414b和1414c中的中心位置的编码单元1414b的宽度可等于其他编码单元1414a和1414c的宽度并且其高度是其他编码单元1414a和1414c的高度的两倍。也就是说,在这种情况下,中心位置处的编码单元1414b可包括两个其它编码单元1414a或1414c。因此,当中心位置处的编码单元1414b的pid基于扫描顺序而为1时,位于与编码单元1414b相邻位置的编码单元1414c的pid可增加2并且因此可以是3。也就是说,可能存在pid值不连续。根据实施例,图像解码设备100可基于用于标识划分出的编码单元的pid是否存在不连续,确定奇数个划分出的编码单元是否不具有相等的尺寸。

根据实施例,图像解码设备100可基于用于标识通过划分当前编码单元确定的多个编码单元的pid值来确定是否使用特定划分方法。参照图14,图像解码设备100可通过划分具有高度长于宽度的矩形形状的第一编码单元1410来确定偶数个编码单元1412a和1412b或奇数个编码单元1414a、1414b和1414c。图像解码设备100可使用指示相应编码单元的pid,以便识别相应编码单元。根据实施例,可从每个编码单元的特定位置的样点(例如,左上样点)获得pid。

根据实施例,图像解码设备100可通过使用用于区分编码单元的pid来确定划分出的编码单元中的特定位置处的编码单元。根据实施例,当具有高度长于宽度的矩形形状的第一编码单元1410的划分形状模式信息指示将编码单元划分为三个编码单元时,图像解码设备100可将第一编码单元1410划分为三个编码单元1414a、1414b和1414c。图像解码设备100可将pid分配给三个编码单元1414a、1414b和1414c中的每一个。图像解码设备100可对奇数个划分出的编码单元的pid进行比较,以确定编码单元中的中心位置处的编码单元。图像解码设备100可将具有编码单元的pid中的与中间值对应的pid的编码单元1414b确定为通过划分第一编码单元1410确定的编码单元中的中心位置处的编码单元。根据实施例,当划分出的编码单元不具有相等的尺寸时,图像解码设备100可基于编码单元之间的尺寸比例确定用于区分划分出的编码单元的pid。参照图14,通过划分第一编码单元1410生成的编码单元1414b的宽度可等于其他编码单元1414a和1414c的宽度,并且其高度可以是其他编码单元1414a和1414c的高度的两倍。在这种情况下,当中心位置处的编码单元1414b的pid是1时,位于与编码单元1414b相邻位置的编码单元1414c的pid可增加2并且因此可以是3。当如上所述pid未均匀地增大时,图像解码设备100可确定编码单元被划分为多个编码单元,其中,所述多个编码单元包括尺寸与其他编码单元的尺寸不同的编码单元。根据实施例,当划分形状模式信息指示将编码单元划分为奇数个编码单元时,图像解码设备100可按照奇数个编码单元中的特定位置的编码单元(例如,中心位置的编码单元)具有与其他编码单元的尺寸不同的尺寸这样的方式来划分当前编码单元。在这种情况下,图像解码设备100可通过使用编码单元的pid来确定具有不同尺寸的中心位置的编码单元。然而,特定位置的编码单元的pid以及尺寸或位置不限于上述示例,并且可使用编码单元的各种pid以及各种位置和尺寸。

根据实施例,图像解码设备100可使用特定数据单元,其中,在该特定数据单元中,开始递归地划分编码单元。

图15示出根据实施例的基于画面中包括的多个特定数据单元确定多个编码单元。

根据实施例,特定数据单元可被定义为通过使用划分形状模式信息开始递归地划分编码单元的数据单元。也就是说,特定数据单元可与用于确定从当前画面划分出的多个编码单元的最高深度的编码单元对应。在下面的描述中,为了便于解释,特定数据单元被称为参考数据单元。

根据实施例,参考数据单元可具有特定尺寸和特定尺寸形状。根据实施例,参考数据单元可包括m×n个样点。这里,m和n可彼此相等,并且可以是被表示为2的幂的整数。也就是说,参考数据单元可具有正方形形状或非正方形形状,并且可被划分为整数个编码单元。

根据实施例,图像解码设备100可将当前画面划分为多个参考数据单元。根据实施例,图像解码设备100可通过使用每个参考数据单元的划分形状模式信息来对从当前画面划分出的多个参考数据单元进行划分。划分参考数据单元的操作可与使用四叉树结构的划分操作对应。

根据实施例,图像解码设备100可预先确定当前画面中包括的参考数据单元所允许的最小尺寸。因此,图像解码设备100可确定具有等于或大于最小尺寸的尺寸的各种参考数据单元,并且可参考确定的参考数据单元通过使用划分形状模式信息来确定一个或更多个编码单元。

参照图15,图像解码设备100可使用正方形的参考编码单元1500或非正方形的参考编码单元1502。根据实施例,可基于能够包括一个或更多个参考编码单元的各种数据单元(例如,序列、画面、条带、条带片段、并行块、并行块组、最大编码单元等)来确定参考编码单元的形状和尺寸。

根据实施例,图像解码设备100的接收器(未示出)可从比特流获得针对各种数据单元中的每个数据单元的参考编码单元形状信息和参考编码单元尺寸信息中的至少一个。上面已经关于图3的划分当前编码单元300的操作描述了将正方形的参考编码单元1500划分为一个或更多个编码单元的操作,并且上面已经关于图4的划分当前编码单元400或450的操作描述了将非正方形的参考编码单元1502划分为一个或更多个编码单元的操作。因此,这里将不提供其详细描述。

根据实施例,图像解码设备100可根据基于特定条件预先确定的一些数据单元,使用用于标识参考编码单元的尺寸和形状的pid来确定参考编码单元的尺寸和形状。也就是说,接收器(未示出)可从比特流仅获得针对每个条带、条带片段、并行块、并行块组或最大编码单元的用于标识参考编码单元的尺寸和形状的pid,其中,所述条带、条带片段、并行块、并行块组或最大编码单元是各种数据单元(例如,序列、画面、条带、条带片段、并行块、并行块组、最大编码单元等)中的满足特定条件的数据单元(例如,尺寸等于或小于条带的数据单元)。图像解码设备100可通过使用pid确定针对满足特定条件的每个数据单元的参考数据单元的尺寸和形状。当根据具有相对小尺寸的每个数据单元从比特流获得并使用参考编码单元形状信息和参考编码单元尺寸信息时,使用比特流的效率可能不高,并且因此,可仅获得并使用pid,而不是直接获得参考编码单元形状信息和参考编码单元尺寸信息。在这种情况下,可预先确定与用于标识参考编码单元的尺寸和形状的pid对应的参考编码单元的尺寸和形状中的至少一个。也就是说,图像解码设备100可通过选择基于pid预先确定的参考编码单元的尺寸和形状中的至少一个,确定包括在用作用于获得pid的单元的数据单元中的参考编码单元的尺寸和形状中的至少一个。

根据实施例,图像解码设备100可使用最大编码单元中包括的一个或更多个参考编码单元。也就是说,从画面划分出的最大编码单元可包括一个或更多个参考编码单元,并且可通过递归地划分每个参考编码单元来确定编码单元。根据实施例,最大编码单元的宽度和高度中的至少一个可以是参考编码单元的宽度和高度中的至少一个的整数倍。根据实施例,可通过基于四叉树结构将最大编码单元划分n次来获得参考编码单元的尺寸。也就是说,根据实施例,图像解码设备100可通过基于四叉树结构将最大编码单元划分n次来确定参考编码单元,并且可基于块形状信息和划分形状模式信息中的至少一个来划分参考编码单元。

图16示出根据本公开的实施例的用作用于对确定包括在画面1600中的参考编码单元的顺序进行确定的单元的处理块。

根据本公开的实施例,图像解码设备100可确定用于对画面进行划分的至少一个处理块。处理块是指包括用于对图像进行划分的至少一个参考编码单元的数据单元,并且可按照特定顺序确定包括在处理块中的至少一个参考编码单元。也就是说,确定每个处理块中的至少一个参考编码单元的顺序可以是确定参考编码单元的各种顺序中的一种顺序,并且确定每个处理块中的参考编码单元的顺序针对每个处理块可以是不同的。针对每个处理块确定参考编码单元的顺序可以是各种顺序中的一种顺序,诸如光栅扫描顺序、z字形扫描顺序、n字形扫描顺序、右上对角线扫描顺序、水平扫描顺序和垂直扫描顺序,但不限于此。

根据本公开的实施例,图像解码设备100可通过获得处理块尺寸信息来确定图像中包括的至少一个处理块的尺寸。图像解码设备100可通过从比特流获得处理块尺寸信息来确定图像中包括的至少一个处理块的尺寸。所述至少一个处理块的尺寸可以是由处理块尺寸信息指示的数据单元的尺寸。

根据本公开的实施例,图像解码设备100的接收器(未示出)可从比特流获得特定数据单元中的处理块尺寸信息。例如,可从比特流在数据单元(诸如图像、序列、画面、条带、条带片段、并行块和并行块组)中获得处理块尺寸信息。也就是说,接收器可从比特流获得针对数据单元中的每个数据单元的处理块尺寸信息,并且图像解码设备100可通过使用所获得的处理块尺寸信息来确定用于对画面进行划分的至少一个处理块的尺寸。所述至少一个处理块的尺寸可以是参考编码单元的尺寸的整数倍。

根据本公开的实施例,图像解码设备100可确定画面1600中包括的处理块1602和1612的尺寸。例如,图像解码设备100可基于从比特流获得的处理块尺寸信息来确定处理块的尺寸。参照图16,根据本公开的实施例,图像解码设备100可将处理块1602和1612的宽度确定为参考编码单元的宽度的四倍,并且将处理块1602和1612的高度确定为参考编码单元的高度的四倍。图像解码设备100可对确定所述至少一个处理块中的至少一个参考编码单元的顺序进行确定。

根据本公开的实施例,图像解码设备100可基于所述至少一个处理块的尺寸来确定画面1600中包括的处理块1602和1612,并且对确定处理块1602和1612中的至少一个参考编码单元的顺序进行确定。根据本公开的实施例,确定参考编码单元的操作可包括确定参考编码单元的尺寸。

根据本公开的实施例,图像解码设备100可从比特流获得与确定包括在至少一个处理块中的至少一个参考编码单元的顺序有关的信息,并且基于所获得的顺序的信息对确定至少一个参考编码单元的顺序进行确定。关于顺序的信息可被定义为在处理块中确定参考编码单元的顺序或方向。也就是说,可针对每个处理块独立地对确定参考编码单元的顺序进行确定。

根据本公开的实施例,图像解码设备100可从比特流获得针对每个特定数据单元的与确定参考编码单元的顺序有关的信息。例如,接收器可从比特流获得针对每个数据单元(诸如图像、序列、画面、条带、条带片段或处理块)的与确定参考编码单元的顺序有关的信息。因为与确定参考编码单元的顺序有关的信息指示确定处理块中的参考编码单元的顺序,所以可针对包括整数个处理块的每个特定数据单元获得关于所述顺序的信息。

根据本公开的实施例,图像解码设备100可基于所述顺序确定至少一个参考编码单元。

根据本公开的实施例,接收器可从比特流获得与确定参考编码单元的顺序有关的信息作为与处理块1602和1612相关的信息,并且图像解码设备100可对确定包括在处理块1602和1612中的参考编码单元的顺序进行确定,并基于所确定的顺序确定包括在画面1600中的至少一个参考编码单元。参照图16,图像解码设备100可确定分别与处理块1602和1612相关的确定至少一个参考编码单元的顺序1604和1614。例如,当针对每个处理块获得了与确定参考编码单元的顺序有关的信息时,与处理块1602和1612相关的顺序1604和1614针对处理块可以是不同的。当与处理块1602相关的顺序1604是光栅扫描顺序时,可根据光栅扫描顺序确定包括在处理块1602中的参考编码单元。当与处理块1612相关的顺序1614与光栅扫描顺序相反时,可根据与光栅扫描顺序相反的顺序确定包括在处理块1612中的参考编码单元。

根据本公开的实施例,图像解码设备100可对至少一个所确定的参考编码单元进行解码。图像解码设备100可基于根据上述实施例确定的参考编码单元对图像进行解码。对参考编码单元进行解码的方法可包括对图像进行解码的各种方法。

根据实施例,图像解码设备100可从比特流获得指示当前编码单元的形状的块形状信息或指示当前编码单元的划分方法的划分形状模式信息,并且可使用所获得的信息。划分形状模式信息可被包括在与各种数据单元相关的比特流中。例如,图像解码设备100可使用包括在序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头或并行块组头中的划分形状模式信息。此外,图像解码设备100可根据每个最大编码单元、每个参考编码单元或每个处理块从比特流获得与块形状信息或划分形状模式信息对应的语法元素,并且可使用所获得的语法元素。

在下文中,将详细描述根据本公开的实施例的确定划分规则的方法。

图像解码设备100可确定图像的划分规则。可在图像解码设备100与图像编码设备150之间预先确定划分规则。图像解码设备100可基于从比特流获得的信息来确定图像的划分规则。图像解码设备100可基于从序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头和并行块组头中的至少一个获得的信息来确定划分规则。图像解码设备100可根据帧、条带、时间层、最大编码单元或编码单元不同地确定划分规则。

图像解码设备100可基于编码单元的块形状来确定划分规则。块形状可包括编码单元的尺寸、形状、宽高比和方向。图像编码设备150和图像解码设备100可预先确定划分规则是基于编码单元的块形状而确定的。然而,本公开不限于此。图像解码设备100可基于从自图像编码设备150接收到的比特流获得的信息来确定划分规则。

编码单元的形状可包括正方形和非正方形。当编码单元的宽度长度和高度长度相等时,图像解码设备100可将编码单元的形状确定为正方形。此外,当编码单元的宽度长度和高度长度不相等时,图像解码设备100可将编码单元的形状确定为非正方形。

编码单元的尺寸可包括各种尺寸,诸如4×4、8×4、4×8、8×8、16×4、16×8、以及直至256×256。可基于编码单元的长边的长度、短边的长度或面积来对编码单元的尺寸进行分类。图像解码设备100可将相同的划分规则应用于被分类为同一组的编码单元。例如,图像解码设备100可将具有相同长边长度的编码单元分类为具有相同尺寸。此外,图像解码设备100可将相同的划分规则应用于具有相同长边长度的编码单元。

编码单元的宽高比可包括1:2、2:1、1:4、4:1、1:8、8:1、1:16、16:1等。此外,编码单元的方向可包括水平方向和垂直方向。水平方向可指示编码单元的宽度长度长于其高度长度的情况。垂直方向可指示编码单元的宽度长度短于其高度长度的情况。

图像解码设备100可基于编码单元的尺寸自适应地确定划分规则。图像解码设备100可基于编码单元的尺寸不同地确定可允许的划分形状模式。例如,图像解码设备100可基于编码单元的尺寸来确定划分是否被允许。图像解码设备100可根据编码单元的尺寸来确定划分方向。图像解码设备100可根据编码单元的尺寸来确定可允许的划分类型。

基于编码单元的尺寸确定的划分规则可以是在图像编码设备150与图像解码设备100之间预先确定的划分规则。此外,图像解码设备100可基于从比特流获得的信息来确定划分规则。

图像解码设备100可基于编码单元的位置自适应地确定划分规则。图像解码设备100可基于编码单元在图像中的位置自适应地确定划分规则。

此外,图像解码设备100可确定划分规则,使得经由不同的划分路径生成的编码单元不具有相同的块形状。然而,实施例不限于此,并且经由不同的划分路径生成的编码单元具有相同的块形状。经由不同的划分路径生成的编码单元可具有不同的解码处理顺序。因为上面已经参照图12描述了解码处理顺序,所以不再提供其细节。

下面将参照图17至图27详细描述根据本公开的实施例的对包括在图像数据中的系数的熵编码和熵解码处理。根据本公开的实施例的熵编码和熵解码处理可由图1a的图像解码设备100的解码器120和图2a的图像编码设备150的编码器155执行,或者由图1c的图像解码设备100的处理器125和图2c的图像编码设备150的处理器170执行。具体地,根据本公开的实施例的熵编码和熵解码处理可由图1b的解码器6000的熵解码器6150和图2b的编码器7000的熵编码器7350执行。

如上所述,根据本公开的实施例的图像编码设备150使用通过分层地划分最大编码单元而获得的编码单元来执行编码。可独立于其他数据单元基于代价来确定将在预测处理和变换处理中使用的预测块和变换块。如上所述,可对具有分层结构并被包括在最大编码单元中的编码单元进行递归编码以确定最佳编码单元,使得具有树结构的数据单元可被配置。也就是说,可针对每个最大编码单元确定具有树结构的编码单元、具有树结构的预测块和具有树结构的变换块。对于解码,有必要发送作为分层结构的数据单元的结构信息的分层信息以及用于解码的非分层信息。

如上面参照图3至图16所述,与分层结构相关的信息是确定具有树结构的编码单元、具有树结构的预测块和具有树结构的变换块所需的信息,并且包括最大编码单元的尺寸信息、块形状信息、划分形状模式信息等。

除了分层信息之外的编码信息包括应用于每个块的帧内/帧间预测的预测模式信息、运动矢量信息、预测方向信息、当使用多个颜色分量时应用于对应数据单元的颜色分量信息、变换系数信息等。在以下描述中,分层信息和非分层信息可被称为将被熵编码和熵解码的语法元素。

变换块中的残差数据表示像素域中的预测块与原始视频数据块之间的像素差值。图像编码设备150可将像素差值变换为变换域(诸如频域)中的变换系数,并对该变换系数进行量化以进行另外的压缩。图像编码设备150可将变换系数的量化值(即,系数等级)作为下面将描述的各种语法元素用信号发送。在本公开的实施例中,可省略变换处理,并且在这种情况下,包括在变换块中的系数可表示通过对尚未被变换的残差数据进行量化而获得的量化系数。

本公开的实施例涉及有效地对语法元素中的包括在变换块中的系数的等级(即,系数的大小信息)进行熵编码和熵解码。下面将详细描述对系数等级的熵编码和熵解码处理。

图17是示出根据本公开的实施例的将被熵编码的变换块的示图。图17示出变换块1700具有8×8的尺寸的情况,但变换块1700的尺寸不限于8×8并且变换块1700可具有各种尺寸,诸如具有4×4、16×16、32×32、64×64或128×128的尺寸的正方形形状、或者具有4×16、16×4、8×16、16×8、8×32、32×8、16×64或64×16的尺寸的非正方形形状。

参照图17,包括在变换块1700中的系数可根据特定扫描顺序被串行化,并被顺序地处理以被熵编码和熵解码。例如,如图17中所示,扫描顺序可以是从最左侧开始的对角线扫描顺序。可选地,如图17中所示,扫描顺序可以是从下方最右侧开始的反向对角线扫描顺序。作为另一示例,扫描顺序可以是水平扫描顺序、垂直扫描顺序或z字形扫描顺序。可选地,可将扫描顺序设置为与上述扫描顺序相反的方向。然而,扫描顺序不限于此。

对于对包括在变换块1700中的系数的熵编码和熵解码,变换块1700可被划分为具有更小尺寸的系数组。根据本公开的实施例,如图17中所示,系数组1710可对应于通过划分变换块1700而获得的4×4的子块。根据本公开的另一实施例,可根据扫描顺序针对每十六个连续系数配置变换块。

可以以系数组为单位来进行对与变换块的系数的等级相关的语法元素进行熵编码和熵解码的处理。下面将关于例如系数组是4×4的子块的情况描述对系数等级信息进行处理的过程,本领域普通技术人员将理解,本公开可适用于其他类型的系数组。

图18是根据本公开的实施例的对系数等级信息进行熵编码和熵解码的处理的流程图。

参照图18,可利用指示每个系数的绝对值是否大于特定值的等级映射信息和指示每个系数的绝对尺寸值或相对尺寸值的系数等级信息中的至少一条信息来对系数组中包括的每个系数的大小进行编码。

具体地,根据本公开的实施例,指示系数是否是有效系数(非零值)的语法元素sig_flag1810、指示系数的绝对值是否大于1的语法元素gt1_flag1820、指示系数的绝对值的奇偶性的语法元素par_flag1830、以及指示系数的绝对值是否大于特定数字x的语法元素gtx_flag1840可作为等级映射信息而被用信号发送。数字x可被确定为大于或等于3的自然数。例如,可用信号发送指示系数的绝对值是否大于3的语法元素gt3_flag。

根据本公开的另一实施例,指示系数是否是有效系数(非零值)的语法元素sig_flag1810、指示系数的绝对值是否大于1的语法元素gt1_flag1820以及指示系数的绝对值是否大于特定数字x的语法元素gtx_flag1840可作为等级映射信息而被用信号发送。数字x可被确定为大于或等于2的自然数。例如,可信号发送指示系数的绝对值是否大于2的语法元素gt2_flag。

此外,指示系数的余数绝对值的语法元素abs_remainder1850以及指示系数的绝对值的语法元素abs_level1860可作为系数等级信息而被用信号发送。然而,本公开的实施例不限于此,并且可省略一些语法元素或者可添加其它语法元素。

在操作1810,可确定作为指示包括在系数组中的系数是否是有效系数(非零值)的有效映射的语法元素sig_flag。语法元素sig_flag的值可针对作为非零值的系数而被确定为1。

在操作1820,在语法元素sig_flag具有值1的有效系数的情况下,可确定作为指示系数的绝对值是否大于1的标志的语法元素gt1_flag。当语法元素gt1_flag为1时,系数的绝对值大于1。当语法元素gt1_flag为0时,系数的绝对值为1。当在操作1810,语法元素sig_flag具有值0时,针对对应系数的语法元素gt1_flag不被用信号发送并且被视为0。

在操作1830,在语法元素gt1_flag具有值1的有效系数的情况下,可设置作为指示系数的奇偶性的标志的语法元素par_flag。当语法元素par_flag为1时,系数的绝对值为奇数。当语法元素par_flag为0时,系数的绝对值为偶数。当在操作1820,语法元素gt1_flag具有值0时,针对对应系数的语法元素par_flag不被用信号发送并且被视为0。在本公开的实施例中,可省略操作1830。

在操作1840,在语法元素gt1_flag具有值1的有效系数的情况下,可设置作为指示系数的绝对值是否大于特定值x的标志的语法元素gtx_flag。

在本公开的实施例中,当语法元素par_flag被用信号发送时,数字x可以是大于或等于3的自然数。例如,当语法元素par_flag被用信号发送时,可用信号发送指示系数的绝对值是否大于3的语法元素gt3_flag。当语法元素gt3_flag为1时,在语法元素par_flag为1时系数的绝对值大于4,并且在语法元素par_flag为0时系数的绝对值为4。当语法元素gt3_flag为0时,在语法元素par_flag为1时系数的绝对值为3,并且在语法元素par_flag为0时系数的绝对值为2。

在本公开的另一实施例中,当语法元素par_flag未被用信号发送时,数字x可以是大于或等于2的自然数。例如,当语法元素par_flag未被用信号发送时,可用信号发送指示系数的绝对值是否大于2的语法元素gt2_flag。当语法元素gt2_flag为1时,系数的绝对值大于2。当语法元素gt2_flag为0时,系数的绝对值为2。

当在操作1820,语法元素gt1_flag具有值0时,针对对应系数的语法元素gtx_flag不被用信号发送并且被视为0。

在实施例中,在操作1840之后且在操作1850之前,还可用信号发送图18中未示出的一个或更多个标志,例如,指示系数的绝对值是否大于n(n是大于x的自然数)的语法元素gtn_flag。例如,当语法元素par_flag被用信号发送时,除了在操作1840用信号发送的语法元素gt3_flag之外,还可用信号发送指示系数的绝对值是否大于5、7和9的语法元素gt5_flag、gt7_flag和gt9_flag。作为另一示例,当语法元素par_flag未被用信号发送时,除了在操作1840用信号发送的语法元素gt2_flag之外,还可用信号发送指示系数的绝对值是否大于3、4和5的语法元素gt3_flag、gt4_flag和gt5_flag。

在本公开的实施例中,可限制将在操作1810至操作1840用信号发送的语法元素的数量。在这种情况下,当用信号发送的语法元素的数量超过限制值时,可停止或省略对操作1810至操作1840的执行,并且可继续进行操作1850。

在操作1850,可针对在先前操作中尚未被编码的系数设置指示系数的余数绝对值的语法元素abs_remainder。语法元素abs_remainder具有系数的绝对值与基本等级之间的差值。基本等级是指已经利用操作1810至操作1840中语法元素被编码的值,即,对应系数可具有的最小绝对值。

在本公开的实施例中,可基于在操作1810至操作1840确定的语法元素(即,指示系数的绝对值是否大于特定值的等级映射信息)来确定基本等级。在本公开的实施例中,可基于操作1810至操作1840中的语法元素是否被用信号发送来确定基本等级。

在操作1860,可针对在先前操作中尚未被编码的系数设置指示系数的绝对值的语法元素abs_level。例如,当由于对将被用信号发送的语法元素的数量的限制而未用信号发送语法元素sig_flag、gt1_flag、par_flag和gtx_flag中的全部时,系数的所有绝对值可作为语法元素abs_level而被用信号发送。在本公开的实施例中,可省略操作1860。

图19是示出根据本公开的实施例的熵编码设备的配置的框图。图19的熵编码设备1900对应于图2b的图像编码器7000的熵编码器7350。

参照图19,根据本公开的实施例的熵编码设备1900包括二值化器1910、上下文建模器1920和二进制算术编码器1930。二进制算术编码器1930包括常规编码引擎1932和旁路编码引擎1934。

因为输入到熵编码设备1900的语法元素可以不是二进制值,所以当语法元素不是二进制值时,二值化器1910对语法元素进行二值化并输出由二进制值0或1组成的二进制位串。二进制位表示由0或1组成的流的每个比特,并且二进制位的集合可被称为二进制位串。二值化器1910通过根据语法元素的类型应用固定长度二值化、截断rice二值化、k阶指数golomb二值化和golomb二值化以及golomb-rice二值化中的一个来将语法元素的值映射到二进制位0和1,并输出语法元素。

根据本公开的实施例的二值化器1910可确定用于对表示系数的绝对值或相对值的语法元素abs_remainder和abs_level进行golomb-rice二值化的rice参数。下面将详细描述确定rice参数的方法。

下面将描述当rice参数被确定时由二值化器1910对语法元素(例如,语法元素abs_remainder)进行golomb-rice二值化的处理。二值化器1910通过使用确定的rice参数criceparam根据等式:ctrmax=4<<criceparam来获得参数ctrmax。参数ctrmax被用作用于将语法元素abs_remainder划分为前缀和后缀的标准。

二值化器1910通过基于参数ctrmax对语法元素abs_remainder的值进行划分来获得具有不超过参数ctrmax的值的前缀以及指示超过参数ctrmax的部分的后缀。二值化器1910根据等式:prefix=min(ctrmax,abs_remainder)确定前缀在不超过ctrmax的范围内。仅当当前语法元素abs_remainder具有大于ctrmax的值时才存在后缀。后缀是对应于(abs_remainder-ctrmax)的值。当语法元素abs_remainder的值不超过ctrmax时,仅存在前缀。例如,当语法元素abs_remainder的值为10并且参数ctrmax为7时,语法元素abs_remainder被划分为具有值7的前缀和具有值3的后缀。作为另一示例,当语法元素abs_remainder的值为6并且参数ctrmax为7时,语法元素abs_remainder被分为具有值6的前缀并且不包括后缀。

当通过基于参数ctrmax对语法元素abs_remainder的值进行划分来确定前缀和后缀时,二值化器1910根据预定二值化方法对前缀和后缀进行二值化,并输出与前缀对应的二进制位串以及与后缀对应的二进制位串。例如,二值化器1910可根据截断一元二值化方法对具有与min(ctrmax,abs_remainder)对应的值的前缀进行二值化并输出二进制位串,并且可根据k阶指数golomb二值化方法对具有与(abs_remainder-ctrmax)对应的值的后缀进行二值化并输出二进制位串。可使用确定的rice参数criceparam来确定k的值。例如,k的值可以是criceparam+1。

二值化器1910可基于根据rice参数criceparam而预先设置的表(查找表方法)来生成与前缀对应的二进制位串和与后缀对应的二进制位串。当使用查找表方法时,可预先设置该表,使得随着参数criceparam的值增加,与更大的值对应的二进制位串的长度减小。

从二值化器1910输出的二进制位通过常规编码引擎1932或旁路编码引擎1934被算术编码。当通过对语法元素进行二值化而获得的二进制位均匀分布时,也就是说,当二进制位是0和1的频率相同的数据时,该二进制位被输出到不使用概率值的旁路编码引擎1934并被不使用概率值的旁路编码引擎1934编码。可根据语法元素的类型预先确定当前二进制位是将被常规编码引擎1932还是被旁路编码引擎1934算术编码。

上下文建模器1920向常规编码引擎1932提供用于对与语法元素对应的比特串进行编码的概率模型。具体地,上下文建模器1920基于上下文自适应地对用于对当前语法元素的比特串的每个二进制值进行编码的二进制值的出现概率进行预测,并且将关于预测的出现概率的信息输出到常规编码引擎1932。

上下文模型是针对二进制位的概率模型,并且包括指示0或1是与最可能符号(mps)还是最不可能符号(lps)对应以及mps或lps的概率的信息。

常规编码引擎1932基于从上下文建模器1920提供的关于mps和lps的信息以及关于mps或lps的概率的信息,对与当前语法元素对应的比特串执行二进制算术编码。

在本公开的实施例中,在与系数等级相关的语法元素中,可通过常规编码对仅具有0或1的值的标志(即,语法元素sig_flag、gt1_flag、par_flag和gtx_flag)执行上下文自适应二进制算术编码(cabac)。在本公开的实施例中,在与系数等级相关的语法元素中,可对可具有除了0和1之外的值的语法元素abs_remainder和abs_level等进行二值化和旁路编码。

下面将参照图20至图24详细描述根据本公开的实施例的对包括在变换块中的系数的等级信息进行熵编码的处理。

图20是示出根据本公开的实施例的包括在变换块中的系数的等级信息的示图。

参照图20,假设包括在4×4的子块形式的系数组中的系数具有绝对值abs_level2000。绝对值abs_level2000可以是通过将残差数据变换为变换系数并对该变换系数进行量化而获得的绝对值。可选地,绝对值abs_level2000可以是通过对尚未被变换的残差数据进行量化而获得的绝对值。可根据如图20中所示的特定扫描顺序顺序地对包括在系数组中的系数进行处理。

根据本公开的实施例,如上所述,可使用指示系数是否是除了0之外的有效系数的语法元素sig_flag2010、指示系数的绝对值是否大于1的语法元素gt1_flag2020、指示系数的绝对值的奇偶性的语法元素par_flag2030、指示系数的绝对值是否大于3的语法元素gt3_flag2040、指示系数的余数绝对值的语法元素abs_remainder2050以及指示系数的绝对值的语法元素abs_level2000来表示系数组中包括的每个系数的大小。

对于系数组中包括的系数中的除了0之外的有效系数,语法元素sig_flag2010的值被设置为1。当系数不是有效系数时,即,当系数为0时,语法元素sig_flag2010作为0而被用信号发送。

针对系数组中包括的系数中的语法sig_flag2010具有值1的有效系数,当系数具有大于1的绝对值时,语法元素gt1_flag2020的值可被设置为1。也就是说,针对绝对值为1的系数的语法元素gt1_flag2020作为0而被用信号发送。针对语法元素sig_flag2010为0的系数,不用信号发送语法元素gt1_flag2020。

可针对系数组中包括的系数中的语法元素gt1_flag2020具有值1的系数设置指示系数的绝对值的奇偶性的语法元素par_flag2030的值。当系数的绝对值是奇数时,语法元素par_flag2030被设置为1,并且当系数的绝对值是偶数时,语法元素par_flag2030被设置为0。针对语法元素gt1_flag2020为0的系数,不用信号发送语法元素par_flag2030。

可针对系数组中包括的系数中的语法元素gt1_flag2020具有值1的系数设置语法元素gt3_flag2040的值。当语法元素par_flag2030被用信号发送时,语法元素gt3_flag2040可根据语法元素par_flag2030的值指示系数的绝对值大于3或4。当系数为2或3时,语法元素gt3_flag2040作为0而被用信号发送,当系数为2时,语法元素par_flag2030作为0而被用信号发送,并且当系数为3时,语法元素par_flag2030作为1而被用信号发送。当系数大于3时,语法元素gt3_flag2040作为1而被用信号发送,并且语法元素par_flag2030根据系数的奇偶性作为0或1而被用信号发送。针对语法元素gt1_flag2020为0的系数,不用信号发送语法元素gt3_flag2040。

针对系数组中包括的系数中的语法元素gt3_flag2040具有值1的系数,可将系数的余数绝对值设置为语法元素abs_remainder2050。当语法元素gt3_flag2040具有值1时,系数的最小绝对值为4,并且因此基本等级可被确定为4。因此,系数的余数绝对值是通过从系数的等级减去4而获得的值。然而,因为语法元素par_flag2030表示绝对值的奇偶性,所以用信号发送通过将系数的余数绝对值分为一半而获得的值就足够了。在这种情况下,语法元素abs_remainder2050的值可通过等式:abs_remainder=(abs_level-4)>>1而被确定。针对语法元素gt3_flag2040为0的系数,不用信号发送语法元素abs_remainder2050。

通过上述处理,表示系数等级的语法元素被熵编码器7350确定和编码,并在比特流中被发送。熵解码器6150可从比特流对语法元素的值进行解析,并对解析的值进行解码以根据等式:abs_level=sig_flag+gt1_flag+par_flag+2*gt3_flag+2*abs_remainder重建系数等级abs_level。

在本公开的实施例中,针对系数组中包括的系数中的上述语法元素sig_flag、gt1_flag、par_flag、gt3_flag和abs_remainder中的全部或一些未被用信号发送的系数,可将系数的所有绝对值作为语法元素abs_level2000用信号发送。

图21是示出根据本公开的另一实施例的包括在变换块中的系数的等级信息的示图。

与图20中所示不同,在图21中所示的示例中,不使用指示系数的绝对值的奇偶性的语法元素par_flag。也就是说,根据本公开的实施例,可使用指示每个系数是否是除了0之外的有效系数的语法元素sig_flag2110、指示每个系数的绝对值是否大于1的语法元素gt1_flag2120、指示每个系数的绝对值是否大于2的语法元素gt2_flag2130、指示每个系数的余数绝对值的语法元素abs_remainder2140以及指示每个系数的绝对值的语法元素abs_level2100来表示包括在系数组中的每个系数的大小。

图21的语法元素sig_flag2110和gt1_flag2120对应于图20的语法元素sig_flag2010和gt1_flag2020,并且因此,这里省略其冗余描述。

针对系数组中包括的系数中的语法元素gt1_flag2120具有值1的系数,当系数具有大于1的绝对值时,可设置语法元素gt2_flag2130的值。也就是说,针对具有绝对值2的系数的语法元素gt2_flag2130作为0而被用信号发送。针对语法元素gt1_flag2120为0的系数,不用信号发送语法元素gt2_flag2130。

针对系数组中包括的系数中的语法元素gt2_flag2130具有值1的系数,可将系数的余数绝对值设置为语法元素abs_remainder2140。当语法元素gt2_flag2130具有值1时,系数的最小绝对值为3,并且因此基本等级可被确定为3。因此,语法元素abs_remainder2140可被确定为通过从系数的等级减去3而获得的值。也就是说,语法元素abs_remainder2140的值可通过等式:abs_remainder=abs_level-3而被确定。针对语法元素gt2_flag2130为0的系数,不用信号发送语法元素abs_remainder2140。

通过上述处理,表示系数等级的语法元素通过熵编码器7350而被确定和编码,并在比特流中被发送。熵解码器6150可从比特流对语法元素的值进行解析,并且对解析的值进行解码以根据等式abs_level=sig_flag+gt1_flag+gt2_flag+abs_remainder重建系数等级abs_level。

在本公开的实施例中,针对系数组中包括的系数中的上述语法元素sig_flag、gt1_flag、gt2_flag和abs_remainder中的全部或一些未被用信号发送的系数,可将系数的所有绝对值作为语法元素abs_level2100用信号发送。

图22示出用于对系数等级信息进行编码的伪码的示例。

熵编码器7350可执行一个或更多个编码通道,以根据特定扫描顺序确定针对系数组中包括的每个系数的语法元素的值并对其进行编码。

参照图22,在第一通道2210中,熵编码器7350可根据扫描顺序对针对系数组中包括的每个系数的语法元素sig_flag、gt1_flag和par_flag进行编码。熵编码器7350可确定当前系数的语法元素sig_flag,并且当语法元素sig_flag为1时确定语法元素gt1_flag,并且当语法元素gt1_flag为1时确定语法元素par_flag。可使用预设上下文模型对所确定的语法元素sig_flag、gt1_flag和par_flag进行cabac编码。

在本公开的实施例中,可限制将在第一通道2210中用信号发送的二进制位的数量。例如,针对一个系数组将用信号发送的语法元素sig_flag、gt1_flag和par_flag的总数可限于第一阈值或更小。当用信号发送的语法元素sig_flag、gt1_flag和par_flag的总数达到第一阈值时,熵编码器7350可停止执行第一通道2210并执行第二通道2220。

熵编码器7350可按照扫描顺序返回到系数组的开始,并且执行第二通道2220。在第二通道2220中,熵编码器7350可根据扫描顺序对针对系数组中包括的每个系数的语法元素gt3_flag进行编码。当语法元素gt1_flag为1时,熵编码器7350可确定语法元素gt3_flag,并通过使用预设上下文模型对所确定的语法元素gt3_flag进行cabac编码。

在本公开的实施例中,可限制将在第二通道2220中用信号发送的二进制位的数量。例如,一个系数组中的将用信号发送的语法元素gt3_flag的数量可限于第二阈值或更小。当用信号发送的语法元素gt3_flag的数量达到第二阈值时,熵编码器7350可停止执行第二通道2220并执行第三通道2230。

熵编码器7350可按照扫描顺序返回到系数组的初始,并且执行第三通道2230。在第三通道2230中,熵编码器7350可根据扫描顺序确定针对执行了第一通道2210和第二通道2220两者的系数的语法元素abs_remainder。当执行了第一通道2210和第二通道2220两者时,系数的最小绝对值是4,并且因此可在第三通道2230中将基本等级确定为4。因此,可基于通过从系数的绝对值减去4而获得的值来确定语法元素abs_remainder。所确定的语法元素abs_remainder可使用通过下面将描述的方法确定的rice参数而被golomb-rice二值化。

熵编码器7350可从紧接在第三通道2230的结束之后的系数开始进行第四通道2230。在第四通道2240中,熵编码器7350可根据扫描顺序确定针对仅执行了第一通道2210而未执行第二通道2220的系数的语法元素abs_remainder。当仅执行了第一通道2210而未执行第二通道2220时,系数的最小绝对值是2,并且因此可在第四通道2240中将基本等级确定为2。因此,可基于通过从系数的绝对值减去2而获得的值来确定语法元素abs_remainder。所确定的语法元素abs_remainder可使用通过下面将描述的方法确定的rice参数而被golomb-rice二值化。

熵编码器7350可从紧接在第四通道2240的结束之后的系数开始进行第五通道2250。在第五通道2250中,熵编码器7350可根据扫描顺序针对既未执行第一通道2210也未执行第二通道2220的系数确定指示系数的绝对值的语法元素abs_level。当既未执行第一通道2210也未执行第二通道2220时,系数的最小绝对值为2,并且因此可在第五通道2250中将基本等级确定为0。所确定的语法元素abs_level可使用通过下面将描述的方法确定的rice参数而被golomb-rice二值化。

在本公开的实施例中,熵编码器7350可确定将在第五通道2250中被编码的系数的数量是否大于特定阈值。也就是说,熵编码器7350可确定语法元素abs_level的数量是否大于该阈值。当确定将在第五通道2250中被编码的系数的数量大于所述阈值时,熵编码器7350还可用信号发送指示将在第五通道2250中被编码的所有系数是否都大于特定值(例如,1)的标志。

在本公开的实施例中,熵编码器7350可确定在第五通道2250之前被最后编码的系数组的系数的等级是否大于特定阈值。也就是说,熵编码器7350可确定最后基于上下文被编码的系数的大小是否大于所述阈值。当确定在第五通道2250之前被最后编码的系数组的系数的等级大于所述阈值时,熵编码器7350还可用信号发送指示将在第五通道2250中被编码的所有系数是否大于特定值(例如,1)的标志。

图23示出用于对系数等级信息进行编码的伪码的另一示例。与图22中所示不同,在图23中所示的示例中,语法元素gt3_flag可与语法元素sig_flag、gt1_flag和par_flag一起在第一通道2310中被编码,并且可不在不同通道中被处理。

参照图23,在第一通道2310中,熵编码器7350可根据扫描顺序对针对系数组中包括的每个系数的语法元素sig_flag、gt1_flag和par_flag进行编码。熵编码器7350可确定当前系数的语法元素sig_flag,并且当语法元素sig_flag为1时确定语法元素gt1_flag,并且当语法元素gt1_flag为1时确定语法元素par_flag和gt3_flag。可使用预设上下文模型对所确定的语法元素sig_flag、gt1_flag、par_flag和gt3_flag进行cabac编码。

在本公开的实施例中,可限制将在第一通道2310中被用信号发送的二进制位的数量。例如,针对一个系数组将被用信号发送的语法元素sig_flag、gt1_flag、par_flag和gt3_flag的总数可限于第三阈值或更小。当用信号发送的语法元素sig_flag、gt1_flag、par_flag和gt3_flag的总数达到第三阈值时,熵编码器7350可停止执行第一通道2310并执行第二通道2320。

熵编码器7350可按照扫描顺序返回到系数组的开始,并且执行第二通道2220。在第二通道2320中,熵编码器7350可根据扫描顺序针对执行了第一通道2310的系数确定语法元素abs_remainder。当执行了第一通道2310时,系数的最小绝对值是4,并且因此可在第二通道2320中将基本等级确定为4。因此,可基于通过从系数的绝对值减去4而获得的值来确定语法元素abs_remainder。所确定的语法元素abs_remainder可使用通过下面将描述的方法确定的rice参数而被golomb-rice二值化。

熵编码器7350可从紧接在第二通道2320的结束之后的系数开始进行第三通道2330。在第三通道2330中,熵编码器7350可根据扫描顺序针对未执行第一通道2310的系数确定指示系数的绝对值的语法元素abs_remainder。当未执行第一通道2310时,系数的最小绝对值为0,并且因此可在第三通道2330中将基本等级确定为0。所确定的语法元素abs_level可使用通过下面将描述的方法确定的rice参数而被golomb-rice二值化。

下面将详细描述确定用于指示系数等级的语法元素abs_remainder和abs_level的golomb-rice二值化的rice参数的方法。

可在每个系数组的开始处初始化rice参数。在mpeg-4(hevc)等中,rice参数在每个系数组的开始处被初始化为零。在本公开的实施例中,可参考先前编码或解码的系数组的系数等级来对当前系数组的rice参数进行初始化。参考的系数等级可以是先前编码或解码的系数组的最后系数等级或平均系数等级。

在本公开的实施例中,可参考先前编码或解码的系数组的rice参数来对当前系数组的rice参数进行初始化。在本公开的实施例中,可通过参考与当前系数组相邻的系数组的rice参数来对当前系数组的rice参数进行初始化。例如,可基于在当前系数组右侧的系数组的rice参数和在当前系数组下方的系数组的rice参数来确定当前系数组的起始rice参数。参考的系数组的rice参数可以是参考的系数组的第一rice参数、最后rice参数或平均rice参数。

在mpeg-4(hevc)等中,基于当前系数等级和rice参数的值有条件地更新rice参数。具体地,当先前系数的大小是clastabscoeff并且先前rice参数是clastriceparam时,基于以下算法确定将被用于当前系数的二值化的rice参数criceparam:

如果clastabscoeff>3*(1<<clastriceparam)

则criceparam=min(clastriceparam+1,4)

如以上算法中所述,二值化器1910将先前系数的大小clastabscoeff与基于先前rice参数clastriceparam获得的阈值进行比较,并且当比较的结果显示先前系数的大小clastabscoeff大于所述阈值时更新rice参数criceparam。当rice参数criceparam被更新时,rice参数criceparam与先前rice参数clastriceparam相比逐步增加+1。

然而,当当前将被二值化的语法元素不是系数的绝对值abs_level而是系数的余数绝对值abs_remainder时,实际上是对相对于基本等级的等级而不是系数的所有绝对值进行golomb-rice编码。在这种情况下,如在以上算法中,当基于先前系数的所有绝对值设置rice参数而不考虑基本等级时,可能无法实现最佳编码效率。在本公开的各种实施例中,基于基本等级确定rice参数,从而提供提高的编码性能。

在本公开的实施例中,可基于语法元素sig_flag、gt1_flag、par_flag或指示当前系数的绝对值是否大于特定值的gtx_flag来确定基本等级。在本公开的实施例中,当基本等级是baselevel时,在par_flag被用信号发送时,基本等级baselevel可通过等式:baselevel=sig_flag+gt1_flag+2*gt3_flag而被确定。在本公开的实施例中,当par_flag未被用信号发送时,基本等级baselevel可通过等式:baselevel=sig_flag+gt1_flag+gt2_flag而被确定。

在本公开的实施例中,可基于语法元素(例如,语法元素sig_flag、gt1_flag、par_flag和gtx_flag)是否被用信号发送来确定基本等级。在本公开的实施例中,当语法元素sig_flag、gt1_flag、par_flag和gt3_flag全部被用信号发送时,可将基本等级确定为4。在本公开的实施例中,当由于对将被用信号发送的语法元素的数量的限制而语法元素gt3_flag未被用信号发送且仅语法元素sig_flag、gt1_flag和par_flag被用信号发送时,可将基本等级确定为2。在本公开的实施例中,当由于对将被用信号发送的语法元素的数量的限制而语法元素sig_flag、gt1_flag、par_flag和gt3_flag全都未被用信号发送时,可将基本等级确定为0。

在本公开的实施例中,当语法元素sig_flag、gt1_flag和gt2_flag全部被用信号发送时,可将基本等级确定为3。在本公开的实施例中,当由于对将被用信号发送的语法元素的数量的限制而语法元素gt2_flag未被用信号发送且仅语法元素sig_flag和gt1_flag被用信号发送时,可将基本等级确定为2。

在本公开的实施例中,可根据将被编码的系数等级信息来确定基本等级。例如,当语法元素abs_remainder被编码时,可将基本等级确定为2、3或4。例如,当语法元素abs_level被编码时,可将基本等级确定为0。

根据上述本公开的各种实施例,当在确定rice参数时考虑基本等级时,可将单个rice参数确定方法应用于具有不同基本等级的系数等级信息。也就是说,可在用于对图22和图23中所示的不同语法元素abs_remainder和abs_level进行编码的各种编码通道中通过共同的方法来确定rice参数。

在本公开的实施例中,可基于在当前系数的编码之前被编码的系数中的特定系数的等级来确定rice参数。这将在下面参照图24详细描述。

图24是用于描述根据本公开的实施例的确定rice参数的方法的示图。

根据本公开的实施例,可基于在当前系数的编码之前被编码的一个或更多个系数的等级来确定rice参数。例如,当采用对角线扫描顺序并且当前系数在变换块中的位置为(i,j)时,可参考位置(i+1,j-1)、(i+2,j-2)、(i+3,j-3)、…、(i+n,j-n)处的n个系数的等级来确定rice参数。

根据本公开的实施例,可基于在当前系数之前被编码且位置与当前系数相邻的系数的等级来确定rice参数。例如,如图24中所示,当采用从右下角开始的反向对角线扫描顺序并且当前系数在变换块中的位置2410为(i,j)时,可基于位置(i,j+1)、(i,j+2)、(i+1,j)、(i+2,j)和(i+1,j+1)处的系数2420的等级来确定rice参数。

熵编码器7350可通过参考邻近系数而不是参考紧接在当前系数之前被编码的系数来并行地确定rice参数。参考如图24中所示的邻近系数,即使当先前系数的编码未完成时,也可并行地推导对角线方向上的系数2430的rice参数。因此,可同时对连续的语法元素的值进行编码,因此参考邻近系数的上述方法可能更适合于硬件实施方案。

在本公开的实施例中,可参考根据在当前系数之前被编码的系数的等级的统计而预先设置的表来确定rice参数。在本公开的实施例中,当特定系数的绝对值的总和为sum时,用于确定rice参数criceparam的伪码可如下被表示:

criceparam=goricepars[min(sum,31)]

在这种情况下,goricepars[i]表示根据预设表与索引i对应的rice参数。

根据本公开的实施例,可基于系数的相对等级确定rice参数。也就是说,可基于系数的绝对值与当前系数的基本等级之间的差来确定rice参数。如上所述,实际上,相对于基本等级的等级而不是系数的全部绝对值可被golomb-rice编码。因此,在这种情况下,可通过考虑先前编码或解码的系数的相对等级确定rice参数来提高编码性能。在本公开的实施例中,当当前基本等级是baselevel,特定系数的数量是n,并且系数的绝对值的总和是sum时,用于确定rice参数criceparam的伪码可如下被表示:

criceparam=goricepars[max(min(sum-n*baselevel,31),0]

根据本公开的实施例,可基于位于当前系数周围的特定系数中的可用系数的绝对值确定rice参数。例如,当当前系数与当前变换块的边界接近时,位于当前系数周围的系数中的一些系数可能位于当前变换块之外。在这种情况下,仅位于当前变换块内的系数可被确定为可用系数。在本公开的实施例中,当当前基本等级是baselevel,位于当前系数周围的可用系数的数量是numvalidprob,并且可用系数的绝对值的总和是sum时,用于确定rice参数criceparam的伪码可如下被表示:

criceparam=goricepars[max(min(sum-numvalidprob*baselevel,31),0]

根据本公开的实施例,可基于par_flag是否被用信号发送来确定rice参数。当使用par_flag用信号发送系数等级时,将被二值化为golomb-rice码的abs_remainder的值可以是通过将相对于基本等级的等级分为一半而获得的值。因此,可通过考虑上述描述确定rice参数来提高编码性能。在本公开的实施例中,当当前基本等级是baselevel,位于当前系数周围的可用系数的数量是numvalidprob,并且可用系数的绝对值的总和是sum时,用于确定rice参数criceparam的伪码可如下被表示:

criceparam=goricepars[max(min((sum-numvalidprob*baselevel)>>shift,31),0]

其中,shift=baselevel==0?0:1;

根据所述伪码,当基本等级baselevel为0时,这表示par_flag未被用信号发送,并且因此参考系数的绝对值与基本等级之间的差被直接使用。反之,当基本等级为1时,这表示par_flag被用信号发送,并且因此是通过移位运算将参考系数的绝对值与基本等级之间的差分为一半而获得的值。

图25是根据本公开的实施例的对系数等级信息进行熵编码的方法的流程图。

参照图25,在操作2510,熵编码器7350可获得指示当前系数的大小的系数等级信息。系数等级信息可以是指示当前系数的绝对值的语法元素abs_level。可选地,系数等级信息可以是表示当前系数的余数绝对值(即,当前系数的绝对值与基本等级之间的差)的语法元素abs_remainder。可以以包括当前系数的系数组为单位获得系数等级信息。

在操作2520,熵编码器7350可基于当前系数的基本等级确定针对当前系数的rice参数。

在本公开的实施例中,可基于指示当前系数的绝对值是否大于特定值的至少一条等级映射信息来确定基本等级。等级映射信息可包括指示当前系数的绝对值是否大于0的语法元素sig_flag、指示当前系数的绝对值是否大于1的语法元素gt1_flag、指示当前系数的绝对值的奇偶性的语法元素par_flag、或者指示当前系数的绝对值是否大于特定数字x的语法元素gtx_flag中的至少一个。在本公开的实施例中,可基于针对当前系数确定的语法元素的值来确定基本等级。在本公开的实施例中,可基于语法元素针对当前系数是否被用信号发送来确定基本等级。在本公开的实施例中,可根据将被编码的系数等级信息来确定基本等级。

在本公开的实施例中,熵编码器7350可基于在当前系数的编码之前被编码的系数中的特定系数的绝对值来确定rice参数。在本公开的实施例中,所述系数可被确定为紧接在当前系数之前被编码的系数。在本公开的实施例中,所述系数可被确定为位于当前系数周围的系数。在本公开的实施例中,所述系数可被确定为位于当前系数周围的系数中的可用系数。

在本公开的实施例中,熵编码器7350可参考根据系数的绝对值的统计而预先设置的表来确定rice参数。在本公开的实施例中,熵编码器7350可基于系数的绝对值与当前系数的基本等级之间的差来确定rice参数。

在操作2530,熵编码器7350可通过使用所确定的rice参数来对系数等级信息进行二值化。系数等级信息可使用rice参数而被golomb-rice二值化。

在操作2540,熵编码器7350可生成包括二值化的系数等级信息的比特流。在本公开的实施例中,可对二值化的系数等级信息(例如,语法元素abs_remainder和abs_level)进行旁路编码。在本公开的实施例中,可基于上下文对等级映射信息(例如,语法元素sig_flag、gt1_flag、par_flag和gtx_flag)进行常规编码。

图26是示出根据本公开的实施例的熵解码设备的配置的框图。图26的熵解码设备6000对应于图2b的图像解码器6000的熵解码器6150。

参照图26,熵解码设备2600包括上下文建模器2610、常规解码引擎2620、旁路解码引擎2630和反二值化器2640。熵解码设备2600执行由图19的熵编码设备1900执行的熵编码处理的逆处理。

通过旁路编码而被编码的二进制位被输出到旁路解码引擎2630并被旁路解码引擎2630解码,并且通过常规编码而被编码的二进制位被常规解码引擎2620解码。常规解码引擎2620通过使用基于在由上下文建模器2610提供的当前二进制位之前解码的先前二进制位而确定的二进制值的概率来对当前二进制位进行算术解码。

上下文建模器2610将针对二进制位的概率模型提供给常规解码引擎2620。具体地,上下文建模器2610基于经过解码的先前二进制位来确定特定二进制值的概率,更新用于对先前二进制位进行解码的二进制值的概率,并将更新后的概率输出到常规解码引擎2620。

反二值化器2640通过将二进制位串映射到语法元素来重建由常规解码引擎2620或旁路解码引擎2630重建的二进制位串。

根据本公开的实施例的反二值化器2640可确定用于对表示系数的等级(即,大小信息)的语法元素abs_remainder和abs_level进行golomb-rice二值化的rice参数。类似于上述图19的二值化器1910,反二值化器2640可通过上面在本公开的各种实施例中描述的方法确定针对当前系数的rice参数。

下面将描述当rice参数被确定时由二值化器1910对语法元素(例如,语法元素abs_remainder)进行解析和golomb-rice二值化的处理。反二值化器2640可基于所确定的rice参数确定将从比特流解析的比特数。反二值化器2640将解析的比特串划分为前缀比特串和后缀比特串,其中,所述前缀比特串对应于通过截断一元二值化方法对与min(ctrmax,abs_remainder)对应的值进行二值化而获得的比特串,所述后缀比特串对应于通过k阶指数golomb二值化方法(k是criceparam+1)对与(abs_remainder-ctrmax)对应的值进行二值化而获得的比特串。通过截断一元反二值化方法对前缀比特串进行反二值化并通过k阶指数golomb反二值化方法对后缀比特串进行反二值化来重建语法元素abs_remainder。在本公开的实施例中,反二值化器2640可基于根据rice参数criceparam而预先设置的表(查找表方法)来对比特串进行解析和反二值化。

除了语法元素abs_remainder和abs_level之外,熵解码设备2500还对指示变换块的系数的等级的语法元素sig_flag、gt1_flag、par_flag和gtx_flag进行算术解码,并输出解码的结果。当这些语法元素被重建时,可基于重建的语法元素通过反量化、逆变换和预测解码处理来对包括在变换块中的数据进行解码。

图27是根据本公开的实施例的对系数等级信息进行熵解码的方法的流程图。

参照图27,在操作2710,熵解码器6150可基于当前系数的基本等级来确定针对当前系数的rice参数。

在本公开的实施例中,可基于指示当前系数的绝对值是否大于特定值的至少一条等级映射信息来确定基本等级。等级映射信息可包括指示当前系数的绝对值是否大于0的语法元素sig_flag、指示当前系数的绝对值是否大于1的语法元素gt1_flag、指示当前系数的绝对值的奇偶性的语法元素par_flag、或者指示当前系数的绝对值是否大于特定数字x的语法元素gtx_flag中的至少一个。在本公开的实施例中,当语法元素par_flag被用信号发送时,语法元素gtx_flag可以是指示当前系数的绝对值是否大于3的语法元素gt3_flag,并且当语法元素par_flag未被用信号发送时,语法元素gtx_flag可以是指示系数的绝对值是否大于2的语法元素gt2_flag。在本公开的实施例中,可基于针对当前系数确定的语法元素的值来确定基本等级。在本公开的实施例中,可基于语法元素针对当前系数是否被用信号发送来确定基本等级。在本公开的实施例中,可根据将被编码的系数等级信息来确定基本等级。

在本公开的实施例中,熵解码器6150可基于在当前系数的解码之前被解码的系数中的特定系数的绝对值来确定rice参数。在本公开的实施例中,所述系数可被确定为紧接在当前系数之前被解码的系数。在本公开的实施例中,所述系数可被确定为位于当前系数周围的系数。在本公开的实施例中,所述系数可被确定为位于当前系数周围的系数中的可用系数。

在本公开的实施例中,熵解码器6150可基于根据在当前系数之前被解码的系数的绝对值的统计而预先设置的表来确定rice参数。在本公开的实施例中,熵解码器6150可基于系数的绝对值与当前系数的基本等级之间的差来确定rice参数。

在操作2720,熵解码器6150可通过使用所确定的rice参数从比特流对指示当前系数的大小的系数等级信息进行解析。系数等级信息可以是指示当前系数的绝对值的语法元素abs_level。可选地,系数等级信息可以是表示当前系数的余数绝对值(即,当前系数的绝对值与基本等级之间的差)的语法元素abs_remainder。可以以包括当前系数的系数组为单位获得系数等级信息。

在操作2730,熵解码器6150可通过使用所确定的rice参数对解析的系数等级信息进行反二值化来识别当前系数的大小。在本公开的实施例中,可对系数等级信息(例如,语法元素abs_remainder和abs_level)进行旁路解码。可使用rice参数对系数等级信息进行golomb-rice反二值化。

上面已经描述了本公开的各种实施例。本领域普通技术人员将理解,在不脱离本公开的基本特征的情况下,本公开可以以许多不同形式被实施。因此,这里阐述的本公开的实施例应仅在描述性意义上被考虑,而不是为了限制的目的。本公开的范围在权利要求中而不是在前面的描述中被阐述,并且落入与本公开的范围等同的范围内的所有差异应被解释为被包括在本公开中。

本公开的上述实施例可被编写为计算机可执行程序,并且由经由计算机可读记录介质操作该程序的通用数字计算机来实现。计算机可读记录介质可包括诸如磁存储介质(例如,rom、软盘、硬盘等)和光学记录介质(例如,cd-rom、dvd等)的存储介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1