CN116132674A - 视频解码方法及其装置以及视频编码方法及其装置 - Google Patents

视频解码方法及其装置以及视频编码方法及其装置 Download PDF

Info

Publication number
CN116132674A
CN116132674A CN202310293317.8A CN202310293317A CN116132674A CN 116132674 A CN116132674 A CN 116132674A CN 202310293317 A CN202310293317 A CN 202310293317A CN 116132674 A CN116132674 A CN 116132674A
Authority
CN
China
Prior art keywords
information
transform coefficient
video decoding
decoding apparatus
current
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
CN202310293317.8A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116132674A publication Critical patent/CN116132674A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients

Landscapes

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

Abstract

公开了一种视频解码方法,包括如下步骤:确定包括当前块内的所有有效变换系数的四边形扫描区域;按照预定扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描;基于被扫描的与变换系数有关的信息获得当前块的变换系数;对当前块的变换系数执行反量化及逆变换来生成当前块的残差块,且基于所生成的残差块恢复当前块。

Description

视频解码方法及其装置以及视频编码方法及其装置
本申请是申请日为2018年3月30日、申请号为201880089303.1、标题为“视频解码方法及其装置以及视频编码方法及其装置”的专利申请的分案申请。
技术领域
本公开涉及视频解码方法和视频编码方法。详细地讲,涉及熵解码和熵编码。
背景技术
随着能够再现和存储高分辨率或高质量视频内容的硬件的开发和普及,对用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需要在增加。在现有的视频编解码器中,视频根据基于树结构的编码单元的有限编码方法被编码。
空间域的图像数据经由频率变换被变换成频域的系数。为了进行频率变换的快速计算,视频编解码器将图像划分成具有预定尺寸的块,对每个块执行离散余弦变换(DCT:Descrete Cosine Transform),并且对块单元的频率系数进行编码。与空间域的图像数据相比,频域的系数容易被压缩。尤其,空间域的图像像素值通过视频编解码器的帧间预测或帧内预测而被表示为预测误差,所以当对该预测误差执行频率变换时,大量数据可能被变换为0。根据视频编解码器,可以通过用小数据代替连续且重复生成的数据来减少数据量。
发明内容
技术问题
根据各种实施例,通过基于各种要素确定扫描区域,对与系数有关的信息进行扫描,执行二值化/反二值化及基于上下文模型的二值算术编码/解码,从而可以提高熵编码/解码效率。
可以包括一种计算机可读记录介质,该计算机可读介质在其上记录有用于执行根据各种实施例的方法的程序。
这里,各种实施例的各方面不限于此,并且从下面的描述本领域技术人员将清楚地理解未提及的其他技术问题。
技术方案
本发明的技术问题不限于上述提到的特征,本领域的普通技术人员从下面描述能够明确理解未提及或其它技术问题。
根据各种实施例的一种视频解码方法包括如下步骤:确定包括当前块内的所有有效变换系数的四边形扫描区域;按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描;以及基于被扫描的与变换系数有关的信息获得当前块的变换系数;对当前块的变换系数执行反量化和逆变换来生成当前块的残差快;以及基于所生成的残差块恢复当前块。
在四边形扫描区域内包括当前块内的所有有效变换系数,当前块内的除了四边形扫描区域之外的其它区域仅包括不为有效变换系数且具有0的值的变换系数。
所述确定四边形扫描区域的步骤包括如下步骤:从比特流获得与指定四边形扫描区域的坐标有关的信息;以及基于与指定四边形扫描区域的坐标有关的信息确定包括当前块内的所有有关变换系数的四边形扫描区域,其中,指定四边形扫描区域的坐标可以指示针对在当前块内位于最右侧的有效变换系数的水平方向坐标及针对在当前块内位于最下侧的有效变换系数的垂直方向坐标。
所述从比特流获得与指定四边形扫描区域的坐标有关的信息的步骤还可包括:对与指定四边形扫描区域的坐标有关的信息执行基于上下文模型的二值算术解码;以及通过对经过二值算术解码的信息执行使用预定的反二值化方法的反二值化来获得与指定四边形扫描区域的坐标有关的反二值化信息。
上下文模型是可以基于当前块的尺寸、当前块的颜色分量(color component)及二值索引(bin index)中的至少一个而确定的。
所述预定的反二值化方法可以是固定长度(fixed length)反二值化方法和截断一元码(truncated unary)反二值化方法中的至少一个。
所述预定的扫描顺序可以是按照逆之字型扫描(inverse zig-zag scan)的顺序或者是按照逆对角型(inverse diagonal scan)的顺序。
所述预定的扫描顺序是可以基于在当前块内位于最右侧的有效变换系数像素的水平方向坐标和在当前块内位于最下侧的有效变换系数像素的垂直方向坐标中的至少一个而确定的。
与变换系数有关的信息包括:指示变换系数的绝对值是否大于预定值的标志信息、与变换系数的绝对值有关的剩余级别(remaining level)信息、变换系数的符号信息和用于变换系数的反二值化的二值化参数信息中的至少一个,所述预定值可以是0、1,2中的至少一个。
所述基于被扫描的与变换系数有关的信息获得当前块的变换系数的步骤可以包括如下步骤:通过执行基于与指示变换系数的绝对值是否大于预定值的标志信息有关的上下文模型的二值算术解码和反二值化中的至少一个来获得当前块的变换系数。
指示变换系数的绝对值是否大于预定的值的标志信息包括第一变换系数,与指示第一变换系数的绝对值是否大于预定值的标志信息有关的上下文模型可以是基于一下项目中的至少一个来确定的:与按照预定的扫描顺序先前被扫描的至少一个第二变换系数有关的信息、当前块内的第一变换系数的位置及颜色分量、与右侧或下侧的周围变换系数有关的信息及第一变换系数的扫描位置、第一变换系数在扫描区域内的相对位置、是否在第一扫描位置。
与变换系数有关的信息包括指示变换系数的绝对值是否大于预定的值的标志信息,可以从比特流获得的标志信息的最大数量(maximum count)是可以基于扫描区域的尺寸来确定的。
四边形扫描区域内的各变换系数的扫描顺位按照预定的扫描顺序被确定,且所述按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描的步骤可以包括如下步骤:按照四边形扫描区域内的各个变换系数的扫描顺序与对四边形扫描区域内的变换系数有关的信息进行扫描。
可以按照预定的正向扫描顺序来确定包括四边形扫描区域内的预定的多个变换系数的至少一个系数群,可以按照系数群为单位来确定是否隐藏与至少一个变换系数的符号有关的信息。
根据各种实施例的一种视频解码装置可以包括:熵解码单元,确定包括当前块内的所有有效变换系数的四边形扫描区域,按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描,且基于被扫描的与变换系数有关的信息获得当前块的变换系数;及图像恢复单元,对当前块的变换系数执行反量化及逆变换来生成当前块的残差块,且基于所生成的残差块恢复当前块。
根据各种实施例的一种视频编码方法可以包括如下步骤:获得当前块的变换系数;确定包括当前块内的所有有效变换系数的四边形扫描区域;按照预定的扫描顺序对与包括在四边形扫描区域中的变换系数有关的信息进行扫描;基于被扫描的与变换系数有关的信息进行熵编码来生成经过熵编码的信息;及生成包括经过熵编码的信息的比特流。
根据本公开的另一方面,一种计算机可读记录介质在其上记录有用于执行根据各种实施例的方法的程序。
有益效果
根据各种实施例,通过基于各种要素确定扫描区域、对与系数有关的信息进行扫描,执行基于二值化/反二值化及上下文模型的二值算术编码/解码,从而可以提高熵编解码的效率。尤其是,在对与变换系数有关的信息进行熵编解码的过程中,可以确定包括当前块内的所有有效变换系数的四边形扫描区域,通过对四边形扫描区域内的变换系数进行扫描来减少不需要的扫描,对彼此关联的变换系数邻近地进行扫描来提高熵编解码效率。
附图说明
图1a图示根据各种实施例的视频解码装置的框图。
图1b图示根据各种实施例的视频解码方法的流程图。
图1c图示根据各种实施例的视频编码装置的框图。
图1d图示根据各种实施例的视频编码方法的流程图。
图1e图示根据各种实施例的图像解码部的框图。
图1f图示根据各种实施例的图像解码部的框图。
图2为用于说明根据一实施例的对块内变换系数进行扫描的方法的图。
图3a为用于说明根据另一实施例的对块内变换系数进行扫描的方法的图。
图3b为用于说明根据另一实施例的确定块内系数群(子块)的操作和按照系数群执行的操作的图。
图4为用于说明根据一实施例的确定用于对与换系数有关的信息进行基于上下文的二值算术编解码的上下文模型的过程的图。
图5为用于说明根据另一实施例的确定用于对与变换系数有关的信息进行基于上下文的二值算术编解码的上下文模型的过程的图。
图6a为用于说明根据一实施例的对与块内变换系数有关的信息进行扫描的水平优先之字型扫描顺序的图。
图6b为用于说明根据一实施例的对与块内变换系数有关的信息进行扫描的垂直优先之字型扫描顺序的图。
图7a为用于说明根据一实施例的对与块内变换系数有关的信息进行扫描的水平扫描顺序的图。
图7b为用于说明根据一实施例的对与块内变换系数有关的信息进行扫描的垂直扫描顺序的图。
图8为用于说明根据一实施例的对与块内变换系数有关的信息进行扫描的对角扫描顺序的图。
图9a至9c为用于说明根据一实施例的残差编码语法结构的图。
图9d至9f为用于说明根据另一实施例的残差编码语法结构的图。
图10图示根据一实施例的对当前编码单元进行划分而确定至少一个编码单元的过程。
图11图示根据一实施例的对具有非正方形形状的编码单元进行划分而确定至少一个编码单元的过程。
图12图示根据一实施例的基于块形状信息和划分形状信息中的至少一个来划分编码单元的过程。
图13图示根据一实施例的从奇数个编码单元中确定预定的编码单元的方法。
图14图示根据一实施例的当对当前编码单元进行划分而确定多个编码单元时多个编码单元被处理的顺序。
图15图示根据一实施例的当不能按照预定顺序对编码单元进行处理时确定当前编码单元将被划分成奇数个编码单元的过程。
图16图示根据一实施例的对第一编码单元进行划分而确定至少一个编码单元的过程。
图17图示根据一实施例的当对第一编码单元进行划分而确定的具有非正方形形状的第二编码单元满足预定条件时第二编码单元可划分成的形状受到限制。
图18图示根据一实施例的当划分形状信息不指示划分成四个正方形形状的编码单元时划分具有正方形形状的编码单元的过程。
图19图示根据一实施例的多个编码单元之间的处理顺序可根据编码单元的划分过程来改变。
图20图示根据一实施例的当对编码单元递归地进行划分而确定多个编码单元时随着编码单元的形状和尺寸的改变而确定编码单元的深度的过程。
图21图示根据一实施例的用于区分可根据编码单元的形状和尺寸来确定的深度和编码单元的索引(PID)。
图22图示根据一实施例的根据包括在画面中的多个特定的数据单元来确定多个编码单元。
图23图示根据一实施例的用作确定包括在画面中的参考编码单元的确定顺序的基准的处理块。
最佳模式
根据各种实施例的视频解码方法包括:确定包括当前块内的所有有效变换系数的四边形扫描区域;按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描;以及基于经过扫描的变换系数有关的信息获得当前块的变换系数;对当前块的变换系数执行反量化和逆变换来生成当前块的残差块;以及基于所生成的残差块恢复当前块。
根据各种实施例的视频解码装置可以包括:熵解码单元,其确定在当前块内的所有有效变换系数的四边形扫描区域,按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描,且基于经过扫描的变换系数有关的信息获得当前块的变换系数;及图像恢复单元,其对当前块的变换系数执行反量化及逆变换来生成当前块的残差块,且基于所生成的残差块恢复当前块。
根据各种实施例的视频编码方法可以包括:获得当前块的变换系数的步骤;确定包括当前块内的所有有效变换系数的四边形扫描区域的步骤;按照预定的扫描顺序对与在四边形扫描区域中包括的变换系数有关的信息进行扫描的步骤;基于经过扫描的变换系数有关的信息进行熵编码来生成经过熵编码的信息的步骤;及生成包括经过熵编码的信息的比特流的步骤。
根据本公开的另一方面,一种计算机可读记录介质在其上记录有用于执行根据各种实施例的方法的程序。
具体实施方式
在下文中,“图像”可以指示视频的静止图像或运动图像,即,视频本身。
在下文中,“样本”指示被分配给图像的采样位置的数据并且将被处理的对象的数据。例如,空间域的图像中的像素可以是样本。
在下文中,“当前块(Current Block)”可以指示将要编码或解码的图像的块。
图1a图示根据各种实施例的视频解码装置的框图。
根据各种实施例的图像解码装置可以熵解码单元105和图像恢复单元120。
熵解码单元105可以获得从比特流接收的语法要素(syntax element)信息并对语法要素信息进行熵解码。此时,从比特流接收的语法要素信息可以是与关于图像的各种语法要素有关的信息。
熵解码单元105可以从比特流获得与当前块内变换系数有关的语法要素信息,且可以对与当前块内变换系数有关的语法要素信息进行熵解码。此时,当前块可以是参考图10至23描述的对图像进行编码/解码的过程中可使用的编码单元。
熵解码单元105可以按照预定的扫描顺序对经过熵解码的与当前块内变换系数有关的语法要素信息进行扫描,来获得与当前块内变换系数有关的信息。预定的扫描顺序可以是逆向的各种扫描顺序。在此,逆向的扫描顺序可以是对从块内右侧下端的像素到块内左侧上端的变换系数像素进行扫描的顺序。按照从左上侧变换系数像素到位于右下侧的变换系数的顺序对变换系数进行扫描的顺序可以被称为正向扫描顺序,按照从位于右下侧的最后变换系数到左上侧变换系数的顺序对变换系数进行扫描的顺序可以被称为逆向扫描顺序。与当前块内变换系数有关的语法要素信息可以是指示当前块内变换系数是否大于预定值的标志(flag)信息。此时,预定值可以是大于或等于0的整数值。例如,可以是0、1或2。
并且,与当前块内变换系数有关的语法要素信息可以是指示剩余级别绝对值(remaining level absolute value)的语法要素信息。剩余级别绝对值可以指示变换系数的级别的绝对值与基础级别(base level)的绝对值之间的差。基础级别的绝对值是可以基于指示变换系数的绝对值是否大于预定值的语法要素信息而确定的。例如,指示变换系数的绝对值是否大于0(或者变换系数是否是有效变换系数;在此,有效变换系数指示变换系数的绝对值大于0的变换系数)的标志信息(Greater than 0flag或sig_coeff_flag;以下称为GT0标志)的值、指示是否大于1的标志信息(Greater than 1flag或coeff_abs_level_greater1_flag;以下称为GT1标志),和指示是否大于2的标志信息(Greater than 2flag或coeff_abs_level_greater2_flag;称为GT2标志)的值的总和可以是基础级别(baselevel)的绝对值。在此,当指示变换系数的绝对值是否大于预定值的标志信息指示大于预定值时,该标志信息的值可以是1,当指示小于预定值时,该标志信息的值可以是0。可能从比特流得不到标志信息中的一部分。根据一实施例,当将指示变换系数的大小是否大于n(n为整数)的标志称为GTn,将指示变换系数的大小是否大于(n+1)的标志称为GT(n+1),且将指示变换系数的大小是否大于(n+2)的标志称为GT(n+2)时,可以仅传输指示变换系数的绝对值是否大于n、n+1和n+2的基准值中相对较小的n或n+1的标志(即,GTn和GT(n+1)),而不将GT(n+2)包括在比特流中。
例如,当GT0标志信息和GT1标志信息分别指示变换系数的绝对值大于0和1时,在GT2标志不包括在比特流的情况下,排除GT2标志而仅使用GT0标志信息和GT1标志信息,所以变换系数的绝对值大于1,因此熵解码单元105将从变换系数的绝对值扣除2的剩余的绝对值确定为变换系数的剩余级别绝对值。
当GT0标志信息、GT1标志信息和GT2标志信息分别指示大于0、1和2时,由于变换系数的绝对值大于2,熵解码单元105可以将从变换系数的绝对值扣除3而获得的剩余的绝对值确定为变换系数的剩余级别的绝对值。换言之,剩余级别绝对值可以指示基于变换系数的绝对值是否大于预定值的信息确定的预定的绝对值与有效变换系数的绝对值之间的绝对值之差。
熵解码单元105可以获得从比特流接收的语法要素信息,对语法要素信息执行二值算术解码(binary arithmetic decoding),且可以对通过二值算术解码生成的输出(即,二值串(bin string))执行反二值化。此时,可以在二值算术解码单元110执行二值算术解码操作,且可以在反二值化单元115执行反二值化操作。
二值算术解码单元110可以对从比特流获得的语法要素信息,执行基于预定的上下文模型(context model)的二值算术解码。在此,上下文模型可以是与二值(bin)的发生概率有关的信息。与二值的发生概率有关的信息可以包括指示在两个符号0和1中发生概率相对低的符号(即,最小概率符号(LPS;Least Probable Symbol))和与此相反的发生概率高的符号(即,最大概率符号(MPS;Most Probable Symbol))中的一个符号的信息(valMPS)以及与一个符号的发生概率有关的信息。发生概率具有0和1之间的值。因此,在确定MPS和LPS中一个符号的概率时,与另一个符号的发生概率有关的信息是与从1扣除对已确定的符号的发生概率的剩余概率有关的信息,所以当确定针对一个符号的发生概率时,二值算术解码单元110可以确定针对剩余符号的发生概率。此时,针对在先确定的一个符号的发生概率可以是LPS(Least Probable Symbol)的发生概率。与索引值相对应的符号的发生概率可以被预先确定在表上,针对符号的发生概率的信息可以是指示在表上指示确定的符号的发生概率的索引的信息(pStateIdx)。
预定的上下文模型是可以基于指示二值的位置的二值索引(bin index)、在包括二值的块的周围块中所包括的二者的发生概率及当前块或周围块的各种要素等而确定的。
或者,二值算术解码单元110可以根据绕道(by-pass)模式对从比特流获得的语法要素信息执行二值算术解码。此时,针对目前经过二值算术解码的二值,获得0或1的概率被固定为0.5,且可以基于这种概率对语法要素信息执行二值算术解码。
反二值化单元115可以对通过执行二值算术解码来生成的输出值(即,二值串(binstring))执行反二值化。反二值化单元115可以基于与预定的二值化方法相对应的反二值化方法对二值串执行反二值化。预定的二值化方法可以包括固定长度(Fixed Length)二值化方法、莱斯(Rice)二值化方法、指数哥伦布(Exponential-Golomb)二值化方法及哥伦布-莱斯(Golomb-Rice)二值化方法。或者,预定的二值化方法可以是第一二值化方法和第二二值化方法互相结合的二值化方法。例如,反二值化单元115可以基于与第一二值化方法相对应的反二值化方法对语法要素的二值串中的一部分(即,第一二值串)进行反二值化,而基于与第二二值化方法相对应的反二值化方法对语法要素的二值串中的一部分(即,第二二值串)执行反二值化。所述一部分的二值串可以是语法要素的二值串的前缀(prefix)或后缀(suffix)。
二值化方法或反二值化方法都与一种代码字有关,所述代码字规定包括与语法要素值相对应的至少一个二值的二值串(bin strigng)的一对一(1:1)对应关系。在编码方面,可以根据上述的各种方式的二值化方法中的一个确定包括与语法要素值相对应的至少一个二值的二值串,且在解码方面,可以根据反二值化方法确定相当于二值串的语法要素值。例如,当根据预定的二值化/反二值化方法确定与语法要素值a(a为实数)相对应的二值串A时,以语法要素值a为基准确定二值串A的过程被称为二值化过程,以二值串A为基准确定语法要素值a的过程可以被称为反二值化过程。然而,如上所述,二值化和反二值化基本上都是用于规定语法要素值和二值串之间的映射关系,本领域技术人员应当容易理解二值化和反二值化基本上是相同的。
熵解码单元105可以通过按照预定的扫描顺序对与当前块内的变换系数有关的语法要素信息进行扫描来进行熵解码,从而获得与当前块内变换系数有关的信息。预定的扫描顺序可以是根据逆向的之字扫描(zigzag scan)的顺序或者根据逆向的对角扫描(diagonal scan)的顺序。但不限于此,预定的扫描顺序可以是根据逆向的水平扫描的顺序和根据垂直扫描的顺序等各种扫描顺序。预定的扫描顺序是可以基于以下的项目中的至少一个而确定的:在当前块内位于最右侧的有效变换系数像素的水平方向坐标(例如,直角坐标系的x坐标(x为整数))值和在当前块内位于最下侧的有效变换系数像素的垂直方向坐标(例如,直角坐标系的y坐标(y为整数))。例如,熵解码单元105可以基于水平方向坐标值的大小和垂直方向坐标值的大小确定预定的扫描顺序。当水平方向坐标值大于垂直方向坐标值时,熵解码单元105可以将逆向的垂直扫描顺序确定为预定的扫描顺序。当垂直方向坐标值大于水平方向坐标值时,熵解码单元105可以将逆向的水平扫描顺序确定为预定的扫描顺序。
或者,当水平方向坐标值大于垂直方向坐标值时,熵解码单元105可以将逆向的垂直优先之字形扫描顺序(vertical first zigzag scan order)确定为预定的扫描顺序。参考图6b描述针对垂直优先之字形扫描顺序的具体内容。当垂直方向坐标值大于水平方向坐标值时,熵解码单元105可以将逆向的水平优先之字形扫描顺序(horizontal firstzigzag scan order)确定为预定的扫描顺序。参考图6a描述针对水平优先之字形扫描顺序的具体内容。当垂直方向坐标值等于水平方向坐标值时,熵解码单元105可以将逆向的垂直优先之字形扫描顺序和水平优先之字形扫描顺序中的一个确定为预定的扫描顺序。
或者,当水平方向坐标值大于垂直方向坐标值时,熵解码单元105可以将逆向的水平优先之字形扫描顺序(horizontal first zigzag scan order)确定为预定的扫描顺序。当水平方向坐标值不大于垂直方向坐标值时,熵解码单元105可以将逆向的垂直优先之字形扫描顺序(vertical first zigzag scan order)确定为预定的扫描顺序。
在对与变换系数有关的信息进行扫描之前,熵解码单元105可以确定包括当前块内所有有效变换系数的四边形扫描区域。此时,在四边形扫描区域内包括当前块内所有有效变换系数,除了四边形扫描区域之外的当前块内的其余区域可以仅包括不是有效变换系数的0的变换系数。
熵解码单元105可以从比特流获得与指定四边形扫描区域的坐标有关的信息。与指定四边形扫描区域的坐标有关的信息可以包括与针对在当前块内位于最右侧的有效变换系数的水平方向的坐标有关的信息和与针对在当前块内位于最下侧的有效变换系数的垂直方向的坐标有关的信息。然而,不限于此,与指定四边形扫描区域的坐标有关的信息可以仅包括与针对在当前块内位于最右侧的有效变换系数的水平方向的坐标值和针对在当前块内位于最下侧的有效变换系数的垂直方向的坐标值中更大的值有关的信息。此时,所指定的四边形扫描区域作为正方形的扫描区域,可以使用从比特流获得的针对一个方向的坐标值来确定另一方向的坐标值,且可以基于所确定的水平方向坐标值和垂直方向坐标值确定正方形的扫描区域。此时,所确定的水平方向坐标值和垂直方向坐标值可以指示位于四边形扫描区域的右下侧边角的像素的坐标值。换言之,当从比特流只获得针对一个方向的坐标时,熵解码单元105可以确定指定正方形的扫描区域,可以基于所获得的针对一个方向的坐标值来确定指定四边形扫描区域的坐标值,且可以基于指定正方形的扫描区域的坐标值来确定正方形扫描区域。
熵解码单元105可以基于与指定四边形扫描区域的坐标有关的信息来确定包括当前块内所有有效变换系数的四边形扫描区域。
熵解码单元105可以对与指定四边形扫描区域的坐标有关的信息执行基于上下文模型的二值算术解码。熵解码单元105可以基于与预定的二值化方法相对应的反二值化方法对经过二值算术解码的信息执行反二值化来获得与指定四边形扫描区域的坐标有关的反二值化信息,且可以从与坐标有关的反二值化信息获得指定四边形扫描区域的坐标。此时,上下文模型可以是基于当前块的尺寸、当前块的颜色分量(color component)及二值索引(bin index)中的一个而被确定的。颜色分量可以包括亮度分量和色差分量。二值索引可以是指示在与语法要素有关的二值串中目前将被二值算术解码的二值的位置的信息。与预定的二值化方法相对应的反二值化方法可以是固定长度(fixed length)反二值化方法和截断一元码(truncated unary)反二值化方法中的至少一个。例如,熵解码单元105可以对经过二值算术解码的信息中的第一二值串执行使用固定长度反二值化方法的反二值化来获得第一反二值化信息,且对经过二值算术解码的信息中的第二二值串执行使用截断一元码逆二值化方法的反二值化来获得第二反二值化信息。熵解码单元105可以基于第一反二值化信息和第二反二值化信息获得指定四边形扫描区域的坐标。
熵解码单元105可以基于与在四边形扫描区域中被扫描的有效变换系数有关的信息来执行基于与变换系数有关的上下文模型的二值算术解码和反二值化中的至少一个来获得当前块的变换系数。
当与变换系数有关的信息为指示当前变换系数的绝对值是否大于预定值的信息、剩余级别绝对值信息及当前变换系数的符号信息时,熵解码单元105可以对被扫描的与变换系数有关的信息执行基于上下文模型的二值算术解码。熵解码单元105可以对经过二值算术解码的与变换系数有关的信息执行反二值化来获得当前块的变换系数。当与变换系数有关的第一信息为指示当前变换系数的绝对值是否大于预定制的信息、剩余级别绝对值信息及当前变换系数的符号信息,且与变换系数有关的第二信息为与当前变换系数有关的二值化参数信息时,熵解码单元105可以对与变换系数有关的第一信息执行基于上下文模型的二值算术解码。
熵解码单元105可以对经过二值算术解码的第一信息执行基于包括在第二信息中的二值化参数信息的反二值化来获得当前块的变换系数。二值化参数信息可能是针对当前变换系数的莱斯参数(Rice Parameter)信息。莱斯参数可以是用于确定在二值串中包括的前缀的长度的信息。然而,不限于此,二值化参数信息可以是对当前变换系数的各种二进制化参数信息。
当与变换系数有关的第一信息为当前变换系数的剩余级别绝对值信息时,熵解码单元105可以对当前变换系数的剩余级别绝对值信息使用与(截断)(truncated)莱斯二值化方法相对应的反二值化方法和与指数哥伦布二值化方法相对应的反二值化方法来获得与当前变换系数的剩余级别绝对值有关的值。例如,熵解码单元105可以对当前变换系数的剩余级别绝对值信息的二值串的前缀(prefix)执行使用与基于莱斯参数的莱斯二值化方法相对应的逆二值化方法的反二值化来获得与当前变换系数的剩余级别绝对值有关的第一值,对剩余级别绝对值的二值串的后缀(suffix)执行使用与指数哥伦布方法相对应的反二值化方法的反二值化来获得与当前变换系数的剩余级别绝对值有关的第二值,且基于与当前变换系数的剩余级别绝对值有关的第一值以和与当前变换系数的剩余级别绝对值有关的第二值获得与当前块的剩余级别绝对值有关的值。
在与变换系数有关的上下文模型中,与第一变换系数有关的上下文模型是可以基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的与至少一个第二变换系数有关的信息、当前块内第一变换系数的位置及颜色分量、与右侧或下侧的周围变换系数有关的信息及第一变换系数的扫描位置。
例如,与指示第一变换系数是否大于0的标志信息有关的上下文模型是可以基于在预定位置的右侧或下侧的变换系数中绝对值大于0的右侧或下侧的变换系数的数量而被确定的。
然而,不限于此,与指示第一变换系数是否大于0的标志信息有关的上下文模型是可以基于在按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数中绝对值大于0的有效变换系数的数量而被确定的。
或者,与指示第一变换系数是否大于0的标志信息有关的上下文模型是可以基于在相应的系数群内的第一变换系数的位置及与其相对应的周围的右侧或下侧的有效系数群的标志而被确定的。
或者,指示第一变换系数是否大于0的标志信息(GT0标志信息)是可以基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数的GT0标志信息和在当前块内第一变换系数的位置、颜色分量及邻近的右侧或下侧的n(n为正整数)个变换系数的GT0标志信息、在扫描顺序上第一变换系数是否是在扫描区域中的最初位置的变换系数、在扫描顺序上第一变换系数是否是在扫描区域中最终位置的变换系数。
与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型是可以基于在预定位置的右侧或下侧的变换系数中绝对值大于1的右侧或下侧的有效变换系数的数量而被确定的。
然而,不限于此,与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型是可以基于按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数中绝对值大于1的有效变换系数的数量而被确定的。
或者,与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型是可以基于在相应的系数群内先前被解码的GT1标志信息和在先前被解码的群内GT1标志信息而被确定的。
或者,第一变换系数的绝对值是否大于1的标志信息是可以基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数的GT1标志信息和当前块内的第一变换系数的位置、颜色分量及邻近的右侧或下侧的n(n为正整数)个变换系数的GT1标志信息、第一变换系数是否是在扫描区域内最初位置的变换系数、第一变换系数是否是在扫描区域内最终位置的变换系数。
与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型是可以基于绝对值大于2的右侧或下侧的有效变换系数的数量而被确定的。
但不限于此,与指示第一变换系数是否大于2的标志信息有关的上下文模型是可以基于按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数中绝对值大于2的有效变换系数的数量而被确定的。
或者,与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型是可以基于在相应的系数群内先前被解码的GT2标志信息和在先前被解码的群内的GT2标志信息而被确定的。
或者,指示第一变换系数的绝对值是否大于2的标志信息(以下称为GT2标志信息)可以基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数的GT2标志信息和在当前块内的第一变换系数的位置、颜色分量及邻近的右侧或下侧的n(n为正整数)个变换系数的GT2标志信息、第一变换系数是否是在扫描区域内最初位置的变换系数、第一变换系数是否是在扫描区域内最终位置的变换系数。
或者,指示第一变换系数是否大于m(m为大于2的整数)的标志信息是可基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数的GTm标志信息和当前块内第一变换系数的位置、颜色分量及邻近的右侧或下侧的n(n为正整数)个变换系数的GTm标志信息、第一变换系数是否是扫描区域内最初位置的变换系数、第一变换系数是否是在扫描区域为最终位置的变换系数。
与第一变换系数的剩余级别值有关的二值化参数信息可以是基于第一变换系数的右侧或下侧的周围有效变换系数的级别绝对值而被确定的。
例如,与第一变换系数有关的二值化参数信息可以是基于第一变换系数的右侧或下侧的预定的周围有效变换系数的级别绝对值之和而被确定的。
或者,与第一变换系数的剩余级别值有关的二值化参数信息可以是基于先前被编码的级别值而被确定的。
或者,与第一变换系数有关的二值化参数信息可以是基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的n(n为整数)个变换系数的级别、在当前块内第一变换系数的位置、颜色分量及邻近的右侧或下侧的n(n为正整数)个变换系数的级别、在扫描顺序上第一变换系数是否是在扫描区域内最初位置的变换系数、在扫描顺序上第一变换系数是否是在扫描区域内最终位置的变换系数、在扫描顺序上第一变换系数是否是在系数群(Coefficient Group)内最初位置的系数、第一变换系数位置在扫描区域的相对位置。
在扫描区域内当前被扫描的变换系数的位置为[SRx,0](SRx为整数,SRx指示以扫描区域的左上端边角坐标为基准扫描区域的右侧边界处的像素的水平方向坐标值),且按照预定的扫描顺序先前被扫描的[SRx,Y](Y为大于0且小于或等于SRy的整数,SRy指示以扫描区域的左上端边角的坐标为基准扫描区域的下侧边界处的垂直方向坐标值)处的变换系数均为0的系数时,熵解码单元105可以将GT0标志信息的值确定为1,而不从比特流获得当前被扫描的变换信息的GT0标志信息。
相同地,当在扫描区域中的当前被扫描的变换系数的位置为[0,SRy](SRy为整数,SRy是指以扫描的左上端边角的坐标为准在扫描区域的下侧边界处的垂直方向坐标值),且按照预定扫描顺序先前被扫描的[X,SRy](X为大于0且小于或等于SRx的整数,SRx是指以扫描区域的左上端边角的坐标为准在扫描区域的右侧边界处的像素的垂直方向坐标值)处的变换系数均为0的系数时,熵解码单元105可以将GT0标志信息的值确定为1,而不从比特流获得当前被扫描的变换系数的GT0标志信息。
另外,熵解码单元105可以确定当前块内的有效变换系数的GT1标志信息的最大数量,且可以在所确定的有效变换系数的最大系数内从比特流接收当前块内的GT1标志信息。换言之,在熵解码单元105接收多达最大数量的从比特流接收的有效变换系数的GT1标志信息后,熵解码单元105可以不再确认在比特流中是否存在有效变换系数的GT1标志信息。
熵解码单元105可以将不是0的所有有效变换系数确定为当前块内的GT1标志信息的最大数量。或者,熵解码单元105可以基于扫描区域的尺寸确定当前块内的GT1标志信息的最大数量。例如,熵解码单元105可以基于如下的数学式来确定GT1标志信息的最大数量MaxCount_GT1。
[数学式1]
Figure BDA0004142335510000161
此时,sizeSR可以是指四边形扫描区域的尺寸(宽度),sizeSR可以是(Sr_x+1)*(Sr_y+1)。Sr_x可指示以扫描区域的左侧上端边角的坐标为基准最右侧的有效变换系数像素的水平方向坐标。换言之,Sr_x可以指示以扫描区域的左侧上端边角的坐标为基准右侧边界处的像素的水平方向坐标。Sr_y可指示以扫描区域的左侧上端边角的坐标为基准最下侧的有效变换系数像素的垂直方向坐标。换言之,Sr_y可指示以扫描区域的左侧上端边角的坐标为基准下侧边界处的像素的垂直方向坐标。
K1可以是扫描区域的尺寸和GT1标志之间的调节系数。例如,K1可以是大于1的整数。Th1可以是预定的阈值。例如,Th1可以是16、8。然而,不限于此,本领域的技术人员应当容易理解K1和Th1可以具有各种值。
熵解码单元105可以确定当前块内GT2标志信息的最大数量,且可以从比特流接收在所确定的有效变换系数的最大系数内的当前块内的GT2标志信息。换言之,熵解码单元105接收多达最大数量的从比特流接收的有效变换系数的GT2标志信息后,熵解码单元105可以不再确认在比特流中是否存在有效变换系数的GT2标志信息。
熵解码单元105可以将不是0的所有有效变换系数确定为当前块内GT2标志信息的最大数量。或者,熵解码单元105可以基于扫描区域的尺寸确定当前块内GT2标志信息的最大数量。例如,熵解码单元105可以基于如下的数学式2确定GT2标志信息的最大数量MaxCount_GT2。
[数学式2]
Figure BDA0004142335510000171
此时,sizeSR可以是指四边形扫描区域的尺寸(宽度),sizeSR可以是(Sr_x+1)*(Sr_y+1)。Sr_x可指示以扫描区域的左侧上端边角的坐标为基准最右侧处的有效变换系数像素的水平方向坐标。换言之,Sr_x可指示以扫描区域的左侧上端边角的坐标为基准右侧边界处的像素的水平方向坐标。Sr_y可指示以扫描区域的左侧上端边角的坐标为基准最下侧处的有效变换系数像素的垂直方向坐标。换言之,Sr_y可指示以扫描区域的左侧上端边角的坐标为基准下侧边界处的像素的垂直方向坐标。K2可以是扫描区域的尺寸与GT2标志之间的调节系数。例如,可以是大于1的整数。K2可以是预定的阈值。例如,Th2可以是16、8。然而,不限于此,本领域的技术人员应当容易理解K2和Th2可以具有各种值。
熵解码单元105可以从比特流获得与当前块内的系数群有关的信息。在此,与系数群有关的信息可以是指示系数群中是否包括至少一个有效变换系数(或者,系数群中是否仅包括作为0的变换系数)的标志信息。标志信息可以被称为有效系数群标志(significantcoefficient group flag)信息。熵解码单元105可以基于从比特流获得的与当前系数群有关的信息,对与当前系数群内的变换系数有关的信息进行扫描。例如,当与系数群有关的信息指示系数群不包括至少一个有效变换系数时,熵解码单元105可以将系数群内变换系数的值诱导为0,而不对与变换系数有关的信息进行扫描。当与系数群有关的信息指示系数群中包括至少一个有效变换系数时,熵解码单元105可以按照预定的扫描顺序对与变换系数有关的信息进行扫描来获得系数群内的变换系数。
此时,对包括在扫描区域中的变换系数,熵解码单元105可以根据按照预定的扫描顺序扫描的每个预定的K个(K为整数)的变换系数确定一个系数群。换言之,一个系数群可以包括K个变换系数。此时,扫描顺序是与预定的逆向扫描顺序相反的方向的正向扫描顺序。
因此,熵解码单元105可以以从与当前块内的左上侧边角邻近的系数(即,DC系数)按照正向的扫描顺序进行扫描来确定系数群。此时,当包括在当前块中的变换系数的数量不是K的整数倍时,在按照正向的扫描顺序扫描的系数群中,最终系数群可能包括少于K的数量的变换系数。
但不限于此,本领域的技术人员应当容易理解,熵解码单元105可以对从包括在当前块的变换系数中的位于右侧下端的系数到包括在当前块的变换系数中位于左侧上端的系数按照逆向扫描顺序进行扫描来确定系数群。
但不限于此,本领域的技术人员应当容易理解,熵解码单元105可以按照预定的扫描顺序确定系数群,而不从比特流获得与当前块内的系数群有关的信息。确定系数群的理由是为了使熵解码单元105执行根据系数群进行处理的操作(符号数据隐藏(Sign DataHiding)等的操作)。当在按照预定的扫描顺序被扫描的系数群中的一个系数群仅包括一个变换系数时,熵解码单元105可以从比特流获得GT0标志信息,而不是从比特流获得与该系数群有关的信息。
熵解码单元105可以确定针对包括在当前块中的各系数群而隐藏至少一个变换系数的符号(sign)。例如,熵解码单元可以确定针对包括在当前块内的各系数群而隐藏一个或两个变换系数的符号。
熵解码单元105可以按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描。预定的扫描顺序可以包括逆向的之字形扫描顺序、逆向的对角扫描顺序、逆向的垂直扫描顺序及水平扫描顺序。然而,本领域的技术人员应当容易理解,预定的扫描顺序不限于在上文中所提及的逆向扫描顺序而可以包括各种逆向扫描顺序。
熵解码单元105可以基于被扫描的与变换系数有关的信息获得当前块的变换系数。
图像恢复单元120可以对当前块的变换系数进行反量化和逆变换来生成当前块的残差块。
图像恢复单元120可以基于当前块的残差块恢复当前块。
图像恢复单元120可以对当前块执行帧间预测或帧内预测来生成当前块的预测块。图像恢复单元120可以基于当前块的预测块和当前块的残差块恢复当前块。换言之,图像恢复单元120可以将包括在预测块中的像素的值和包括在残差块中的像素的值相加来恢复包括在当前块中的像素的值。
视频解码装置100可以包括图像解码部(未图示),图像解码部(未图示)可以包括熵解码单元105和图像恢复单元120。参考图1e对图像解码单元进行描述。
图1b图示根据各种实施例的视频解码方法的流程图。
在步骤S105,视频解码装置100可以确定包括当前块内的所有有效变换系数的四边形扫描区域。此时,指定四边形扫描区域的坐标可以指示在当前块内的有效变换系数中位于最右侧的有效变换系数像素的水平方向坐标和在当前块内的有效变换系数中位于最下侧的有效变换系数像素的垂直方向坐标。视频解码装置100可以从比特流获得与指定四边形扫描区域的坐标有关的信息,且可以基于所获得的指定四边形扫描的区域的坐标确定四边形扫描区域。
在步骤S110中,视频解码装置100可以按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描。预定的扫描顺序可以包括逆向的之字形扫描顺序或逆向的对角扫描顺序。之字形扫描顺序可以包括垂直优先之字形扫描顺序或水平优先之字形扫描顺序。
在步骤S115中,视频解码装置100可以基于被扫描的变换系数有关信息获得当前块的变换系数。
在步骤S120中,视频解码装置100可以对当前块的变换系数执行反量化及逆变换来生成当前块的残差块。
在步骤S125中,视频解码装置100可以基于残差块恢复当前块。视频解码装置100可以通过执行帧间预测或帧内预测来生成当前块的预测块。并且,视频解码装置100还可以将包括在当前块的预测块中的像素值和残差块的像素值相加来生成当前块的恢复块的像素值。
图1c图示根据各种实施例的视频编码装置的框图。
根据各种实施例的视频解码装置150包括熵编码单元155和比特流生成单元170。
熵编码单元155可以对与当前块内的变换系数有关的语法要素进行熵编码。熵编码单元155通过按照预定的扫描顺序对与当前块内变换系数有关的二维排列信息进行扫描,来生成与当前块内的变换系数有关的一维排列信息,并对与当前块内变换系数有关的一维排列信息进行熵编码。
与变换系数有关的语法要素可以是指示变换系数是否大于预定值的标志。此时,预定值可以是大于或等于0的值。例如,可以是0、1或2。并且,也可以是指示与变换系数有关的剩余级别(remaining level)绝对值的语法要素。换言之,剩余级别(remaining level)绝对值可以指示变换系数绝对值与基于是否大于预定值而确定的预定的绝对值之间的绝对值差。并且,与有效变换系数有关的语法要素可以是与有效变换系数的符号有关的语法要素。
首先,熵编码单元155可以通过对语法要素执行二值化来生成二值串(binstring)且对二值串执行二值算术编码,来对语法要素生成经过熵编码的信息。此时,可以在二值化单元160执行二值化,且可以在二值算术编码部165执行二值算术编码。
二值化单元160可以对预定的语法要素执行二值化来生成二值串。二值化单元160可以基于预定的二值化方法对预定的语法要素执行二值化。预定的二值化方法可以包括固定长度(Fixed Length)二值化方法、莱斯(Rice)二值化方法、指数哥伦布(ExponentialGolomb)二值化方法及哥伦布-莱斯(Golomb-Rice)二值化方法。或者,预定的二值化方法可以是第一二值化方法和第二二值化方法互相结合的方法。例如,二值化单元160可以基于第一二值化方法对语法要素的一部分进行二值化来生成第一二值串(bin string),且可以基于第二二值化方法对语法要素的另一部分执行二值化来生成第二二值串(bin string)。此时,第一二值串可以是语法要素的二值串的一部分,第二二值串可以是语法要素的二值串的另一部分。二值串的一部分可以是前缀(prefix)或后缀(suffix)。
二值算术编码单元165可以对与预定的语法要素有关的二值串执行基于预定的上下文模型的二值算术编码。或者,二值算术编码单元165可以对与预定的语法要素相关的二值串不使用预定的上下文模型而执行二值算术编码。此时,对当前被二值算术编码的二值(bin),获得0或1的概率被固定为0.5,且可以基于这种概率执行二值算术编码。
熵编码单元155可以获得当前块的变换系数。换句话说,视频解码装置150可以通过执行帧间预测或帧内预测来生成当前块的预测块,且基于当前块的原始块和当前块的预测块生成当前块的残差块。视频编码装置150可以通过对当前块的残差块执行变换及量化来生成当前块的变换系数。熵编码单元155可以获得所生成的当前块的变换系数。
熵编码单元155可以确定与当前块的变换系数有关的信息,按照预定的扫描顺序对与当前块的变换系数有关的信息进行扫描来生成与当前块的变换系数有关的一维排列信息,并对一维排列信息执行熵编码。预定的扫描顺序可以是根据逆之字形扫描的顺序或根据逆对角扫描的顺序。但不限于此,也可以是根据逆水平扫描的顺序和根据逆垂直扫描的扫描顺序等各种扫描顺序。预定的扫描顺序可以基于在当前块内位于最右侧处的有效变换系数像素的水平方向坐标和在当前块内位于最下侧处的有效变换系数像素的垂直方向坐标中的至少一个来确定。熵编码单元155可以基于水平方向坐标值的大小和垂直方向坐标值的大小确定预定的扫描顺序。例如,当水平方向坐标值大于垂直方向坐标值时,熵编码单元155可以将逆向的垂直扫描顺序确定为预定的扫描顺序。当垂直方向坐标值大于水平方向坐标值时,熵编码单元155可以将逆向的水平扫描顺序确定为预定的扫描顺序。
或者,当水平方向坐标值大于垂直方向坐标值时,熵编码单元155可以将逆向的垂直优先之字形扫描顺序确定为预定的扫描顺序。当垂直方向坐标值大于水平方向坐标值时,熵编码单元155可以将逆向的水平优先之字形扫描顺序确定为预定的扫描顺序。当垂直方向坐标值与水平方向坐标值相同时,熵编码单元155可以将逆向的垂直优先之字形扫描顺序和水平优先之字形扫描顺序中的一个确定为预定的扫描顺序。
或者,当水平方向坐标值大于垂直方向坐标值时,熵编码单元155可以将逆向的水平优先之字形扫描顺序确定为预定的扫描顺序。当水平方向坐标值不大于垂直方向坐标值时,熵编码单元155可以将逆向的水平优先之字形扫描顺序(horizontal first zigzagscan order)确定为预定的扫描顺序。
首先,熵编码单元155可以确定包括当前块内的所有有效变换系数的四边形扫描区域。此时,在四边形扫描区域内可包括当前块内的所有有效变换系数,当前块内的除了四边形扫描区域之外的其余区域可以仅包括不是有效变换系数的具有0的值的变换系数。熵编码单元155可以确定指定四边形扫描区域的坐标且对与指定四边形扫描区域的坐标有关的信息进行熵编码。换言之,熵编码单元155可以对与指定四边形扫描区域的坐标有关的语法要素执行基于预定二值化方法的二值化来生成二值串(bin string)。在此,预定的二值化方法可以是固定长度二值化方法或截断一元码二值化方法中的至少一个。
熵编码单元155可以对关于与指定四边形扫描区域的坐标有关的语法要素的二值串,执行基于上下文模型的二值算术编码。此时,上下文模型可以是基于当前块的尺寸、当前块的颜色分量及二值索引中的至少一个而被确定的。颜色分量可以包括亮度分量和色差分量。二值索引可以是指示在与语法要素有关的二值串中当前被二值算术编码的二值的位置的信息。
熵编码单元155可以通过基于被扫描的与变换系数有关的信息执行二值化和基于与变换系数有关的上下文模型的二值算术编码中的至少一个,来生成经熵编码的信息。
当与变换系数有关的第一信息为指示当前变换系数的绝对值是否大于1的信息、剩余级别绝对值信息和当前变换系数的符号信息,且与变换系数有关的第二信息为二值化参数信息时,熵编码单元155可以对与变换系数有关的第一信息执行基于第二信息的二值化来生成与第一信息有关的二值串(bin string)。熵编码单元155可以对与第一信息有关的二值串(bin string)执行二值算术编码来生成经熵编码的信息。
第二信息可以是基于以下项目中的至少一个而被确定的:与按照预定的扫描顺序先前被扫描的与至少一个第二变换系数有关的信息、在当前块内的第一变换系数的位置、颜色分量、与右侧或下侧的周围变换系数有关的信息和第一变换系数的扫描位置。例如,与第一变换系数有关的二值化参数信息可以是基于第一变换系数的右侧或下侧的周围有效变换系数的级别绝对值而被确定的。与第一变换系数有关的二值化参数信息可以是基于第一变换系数的右侧或下侧的周围有效变换系数的级别绝对值之和而被确定的。
或者,与第一变换系数有关的二值化参数信息可以是基于以下项目中的至少一个而被确定的:按照预定的扫描顺序先前被扫描的n(n为整数)个变换系数的级别、当前块内第一变换系数的位置、颜色分量及邻近的右侧或下侧的n(n为正整数)个变换系数的级别、在扫描顺序上第一变换系数是否是在扫描区域内最初位置的变换系数、在扫描顺序上第一变换系数是否是在扫描区域内最终位置的变换系数、在扫描顺序上第一变换系数是否是系数群(Coefficient Group)内的第一个位置的系数。
当与变换系数有关的信息为指示当前变换系数的绝对值是否大于预定值的信息、剩余级别绝对值信息及当前变换系数的符号信息时,熵编码单元155可以对与变换系数有关的信息执行二值化来生成二值串(bin string)。熵编码单元155可以通过对二值串(binstring)执行基于与变换系数有关的上下文模型的二值算术编码,来生成经二值算术编码的信息。在与变换系数有关的上下文模型中,与第一变换系数有关的上下文模型可以是基于以下项目中的至少一个而被确定的:与按照预定的扫描顺序先前被扫描的至少一个第二变换系数有关的信息、在当前块内第一变换系数的位置、颜色分量、与右侧或下侧的周围变换系数有关的信息和第一变换系数的扫描位置。
与指示第一变换系数是否大于0的标志信息有关的上下文模型可以是基于绝对值大于0的右侧或下侧的有效变换系数的数量来被确定的。
然而,不限于此,与指示第一变换系数是否大于0的标志信息有关的上下文模型可以是基于在按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数中绝对值大于0的有效变换系数的数量而被确定的。
与指示第一变换系数大于1的标志信息有关的上下文模型可以是基于绝对值大于1的右侧或下侧的有效变换系数的数量而被确定的。
但不限于此,与指示第一变换系数是否大于1的标志信息有关的上下文模型可以是基于在按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数中绝对值大于1的有效变换系数的数量而被确定的。
与指示第一变换系数大于2的标志信息有关的上下文模型可以是基于绝对值大于2的右侧或下侧的有效变换系数的数量而被确定的。
但不限于此,与指示第一变换系数是否大于2的标志信息有关的上下文模型可以是基于在按照预定的扫描顺序先前被扫描的n(n为正整数)个变换系数中绝对值大于2的有效变换系数的数量而被确定的。
当在扫描区域内当前被扫描变换系数的位置为[SRx,0](SRx为整数,SRx指示以扫描区域的左上端边角的坐标为基准扫描区域的右侧边界处的像素的水平方向坐标值),且按照预定的扫描顺序先前被扫描的[SRx,Y](Y为大于0且小于或等于SRy的整数,SRy指示以扫描区域的左上端边角的坐标为基准扫描区域的下侧边界处的像素的垂直方向坐标值)位置的变换系数均为0的系数时,熵编码单元155可以不生成当前被扫描的变换系数的GT0标志信息。
相同地,当在扫描区域中当前被扫描的变换系数的位置为[0,SRy](SRy为整数,SRy指示以扫描区域的左上端边角的坐标为基准扫描区域的下侧边界的垂直方向坐标值),且按照预定的扫描顺序先前被扫描的[X,SRy](X为大于0且小于或等于SRx的整数,SRx指示以扫描区域的左上端边角的坐标为基准扫描区域的右侧边界处的像素的垂直方向坐标值)位置的变换系数均为0的系数时,熵编码单元155可以不生成当前被扫描的变换系数的GT0标志信息。
另外,熵编码单元155可以确定当前块内有效变换系数的GT1标志信息的最大数量,且在所确定的有效变换系数的最大系数内生成当前块内的GT1标志信息。换言之,在熵编码单元155生成多达最大数量的有效变换系数的GT1标志信息后,熵编码单元155可以不再生成有效变换系数的GT1标志信息。
熵编码单元155可以将不是0的所有有效变换系数确定为当前块内GT1标志信息的最大数量。或者,熵编码单元155可以基于扫描区域的尺寸来确定当前块内GT1标志信息的最大数量。例如,熵编码单元155可以基于如下的数学式3来确定GT1标志信息的最大数量MaxCount_GT1。
[数学式3]
Figure BDA0004142335510000241
此时,sizeSR可以指示四边形扫描区域的尺寸(宽度),sizeSR可以是(Sr_x+1)*(Sr_y+1)。Sr_x可以指示以扫描区域的左侧上端边角的坐标为基准最右侧的有效变换系数像素的水平方向坐标。换言之,Sr_x可以指示以扫描区域的左侧上端边角的坐标为基准右侧边界处的像素的水平方向坐标。Sr_y可以指示以扫描区域的左侧上端边角的坐标为基准最下侧的有效变换系数像素的垂直方向坐标。换言之,Sr_y可以指示以扫描区域的左侧上端边角的坐标为基准下侧边界处的像素的垂直方向坐标。K1可以是扫描区域的尺寸和GT1标志之间的调节系数。例如,K1可以是大于1的整数。Th1可以是预定的域值。例如,Th1可以是16、8。然而,不限于此,普通技术人员应当容易理解K1和Th1可以具有各种值。
熵编码单元155可以确定当前块内GT2标志信息的最大数量,且在所确定的有效变换系数的最大系数内生成当前块内的GT2标志信息。换言之,在熵编码单元155生成多达最大数量的有效变换系数的GT2标志信息后,熵编码单元155可以不再生成有效变换系数的GT2标志信息。
熵编码单元155可以将不是0的所有有效变换系数确定为当前块内的GT2标志信息的最大数量。或者,熵编码单元155可以基于扫描区域的尺寸来确定当前块内GT2标志信息的最大数量。例如,熵编码单元155可以基于如下的数学式4来确定GT2标志信息的最大数量MaxCount_GT2。
[数学式4]
Figure BDA0004142335510000242
此时,sizeSR可以指示四边形扫描区域的尺寸(宽度),sizeSR可以是(Sr_x+1)*(Sr_y+1)。Sr_x可指示以扫描区域的左侧上端边角的坐标为基准最右侧的有效变换系数像素的水平方向坐标。换言之,Sr_x可指示以扫描区域的左侧上端边角的坐标为基准右侧边界处的像素的水平方向坐标。Sr_y可指示以扫描区域的左侧上端边角的坐标为基准最下侧的有效变换系数像素的垂直方向坐标。换言之,Sr_y可指示以扫描区域的左侧上端边角的坐标为基准下侧边界处的像素的垂直方向坐标。K2可以是扫描区域的尺寸与GT2标志之间的调节系数。例如,K2可以是大于1的整数。Th2可以是预定的阈值。例如,Th2可以是16、8。然而,不限于此,本领域的技术人员应当容易理解K2和Th2可以具有各种值。
熵编码单元155可以生成与当前块内系数群有关的信息。与系数群有关的信息可以是指示系数群是否包括至少一个有效变换系数的标志信息。此时,对包括在扫描区域中的变换系数,熵编码单元155可以根据按照扫描顺序被扫描的每个预定的K(K为整数)的变换系数来确定一个系数群。换言之,一个系数群可以包括K个变换系数。此时,扫描顺序是与预定的逆向扫描顺序相反的方向的正向扫描顺序。在此,预定的逆向扫描顺序可以指示从包括在当前块中的变换系数中位于右侧下端的系数到包括在当前块中的变换系数中位于左侧上端的系数进行扫描的顺序。
因此,熵编码单元155从与当前块内的左上侧边角邻近的系数(即,DC系数)开始以正向的扫描顺序进行扫描来确定系数群。此时,当包括在当前块中的变换系数的数量不是K的整数倍时,在按照正向的扫描顺序被扫描的系数群中的最终系数群可能包括少于K的数量的变换系数。但不限于此,本领域的技术人员应当容易理解,可以按照对从包括在当前块中的变换系数中位于右侧下端的系数到包括在当前块中的变换系数中位于左侧上端的系数进行扫描的逆向扫描顺序进行扫描来确定系数群。
当按照预定的扫描顺序被扫描的系数群中的一个系数群仅包括一个变换系数时,熵编码单元155可以直接生成GT0标志信息,而不生成与该系数群有关的信息。
熵编码单元155可以对包括在当前块中的各系数群确定是否隐藏至少一个变换系数的符号(sign)。例如,熵编码单元155可以根据情况对包括在当块中的各系数群确定隐藏一个或两个变换系数的符号。
熵编码单元155可以按照预定的扫描顺序对与四边形扫描区域内的变换系数有关的信息进行扫描。预定的扫描顺序可以包括逆向的之字形扫描顺序、逆向的对角扫描顺序、逆向的垂直扫描顺序及水平扫描顺序。然而,本领域的技术人员应当容易理解,预定的扫描顺序不限于所提及的逆向扫描顺序而可以包括各种逆向扫描顺序。
比特流生成单元170可以生成包括经熵编码的信息的比特流。换言之,比特流生成单元170可以生成比特流,该比特流包括在熵编码单元155对与变换系数有关的信息进行扫描且基于被扫描的与变换系数有关信息而被熵编码的信息。
比特流生成单元170可以生成包括与指定四边形扫描区域有关的信息的比特流,四边形扫描是用于对与变换系数有关信息进行扫描的区域。此时,与指定四边形扫描区域的坐标有关的信息可以包括指示在当前块中包括的有效变换系数像素中的位于最右侧的有效变换系数像素的水平方向坐标值和在当前块中包括的有效变换系数像素中的位于最下侧的有效变换系数像素的垂直方向坐标值的信息。然而,不限于此,与指定四边形扫描区域的坐标有关的信息可以包括指示在当前块中包括的有效变换系数像素中的位于最右侧的有效变换系数像素的水平方向坐标值和在当前块中包括的有效变换系数像素中的位于最下侧的有效变换系数像素的垂直方向坐标值中具有更大的坐标值的信息。换言之,比特流生成单元170根据情况而即使在有效变换系数像素中位于最右侧的有效变换系数像素的水平方向坐标值和在当前块中包括的有效变换系数像素中的位于最下侧的有效变换系数的垂直方向坐标值彼此不同时也不确定矩形扫描区域,而是可以基于其中较大值确定正方形的扫描区域。此时,可以确定大于矩形扫描区域的正方形扫描区域,然而,视频编码装置150可以通过仅传输指示关于一个方向坐标值的信息来减少传送信号时的比特数。
视频编码装置150可以包括图像编码单元(未图示),图像编码单元(未图示)可以包括熵编码单元155和比特流生成单元170。参考图1f对图像编码单元进行描述。
图1d图示根据各种实施例的视频编码方法的流程图。
参考图1d,在步骤S150中,视频编码装置150可以获得当前块的变换系数。当前块可以是参考图10至23描述的对图像进行编码/解码的过程中可使用的数据单元。
视频编码装置150可以通过执行帧间预测或帧内预测来生成当前块的预测块,且可以基于当前块的原始块和当前块的预测块生成当前块的残差块。视频编码装置150可以对当前块的残差块执行变换及量化来生成当前块的变换系数。
在步骤S155中,视频编码装置150可以确定包括当前块内的所有有效变换系数的四边形扫描区域。此时,在四边形扫描区域内可以包括当前块内的所有有效变换系数,当前块内的除了四边形扫描区域之外的其他区域可以仅包括不是有效变换系数的值为0的系数。视频编码装置150可以确定指定四边形扫描区域的坐标,且对与指定四边形扫描区域的坐标有关的信息进行熵编码。换句话说,视频编码装置150可以对与指定四边形扫描区域的坐标有关的语法要素执行基于预定的二值化方法的二值化,来生成二值串(bin string)。在此,预定的二值化方法可以是固定长度二值化方法或截断一元码二值化方法中的至少一个。视频编码装置150可以对关于与指定四边形扫描区域的坐标有关的语法要素的二值串执行基于上下文模型的二值算术编码。此时,上下文模型可以是基于当前块的尺寸、当前块的颜色分量和二值索引中的至少一个而被确定的。
在步骤S160中,视频解码装置150可以按照预定的扫描顺序对与包括在四边形扫描区域中的变换系数有关的信息进行扫描。与变换系数有关的信息可以包括指示变换系数是否大于预定值的标志信息。此时,预定值可以是0、1和2中的至少一个。可以包括变换系数的剩余级别绝对值信息、变换信息的符号信息,二值化参数信息中的至少一个。二值化参数可以包括莱斯参数和各种二值化参数中的至少一个。预定的扫描顺序可以包括逆向的之字形扫描顺序、逆向的对角扫描顺序、逆向的垂直扫描顺序及水平扫描顺序。然而,本领域的技术人员应当容易理解,预定的扫描顺序不限于所提及的逆向扫描顺序而可以包括各种逆向扫描顺序。
在步骤S165中,视频编码装置150可以基于被扫描的与变换系数有关信息进行熵编码,来生成经熵编码的信息。视频编码装置150可以基于被扫描的与变换系数有关的信息执行二值化和基于上下文模型的二值算术编码中的至少一个来生成经熵编码的信息。当与变换系数有关的第一信息为指示当前变换系数的绝对值大于预定值的信息、剩余级别绝对值信息和当前变换系数的符号信息,且与有效变换系数有关的第二信息为二值化参数信息时,视频编码装置150可以对与有效变换系数有关的第一信息执行基于第二信息的二值化来生成与第一信息有关的二值串(bin string)。视频编码装置150可以通过对与第一信息有关的二值串(bin string)执行二值算术编码来生成经熵编码的信息。
第二信息可以是基于以下项目中的至少一个而被确定:按照预定的扫描顺序先前被扫描的与至少一个第二变换系数有关的信息、当前块内第一变换系数的位置和颜色分量、与右侧或下侧的周围变换系数有关的信息和第一变换系数的扫描位置。与第一变换系数有关的二值化参数信息可以是基于第一变换系数的右侧或下侧的周围有效变换系数的级别绝对值而被确定的。例如,与第一变换系数有关的二值化参数信息可以是基于第一变换系数的右侧或下侧的周围有效变换系数的级别绝对值之和而被确定的。
当与变换系数有关的信息为指示当前有效变换系数的绝对值是否大于预定值的信息、剩余级别的绝对值信息及当前有效变换系数的符号信息时,视频编码装置150可以通过对与变换系数有关的信息执行二值化来生成二值串(bin string)。视频编码装置150可以通过对二值串(bin string)执行基于与有效变换系数有关的上下文模型的二值算术编码,来生成经二值算术编码的信息。在与有效变换系数有关的上下文模型中,与第一变换系数有关的上下文模型是基于按照预定的扫描顺序先前被扫描的与至少一个第二变换系数有关的信息、当前块内第一变换系数的位置和颜色分量、与右侧或下侧的周围变换系数有关的信息和第一变换系数的扫描位置中的至少一个而被确定的。
在步骤S170中,视频编码装置150可以生成包括经熵编码的信息的比特流。视频编码装置150可以生成包括在熵编码单元155对与变换系数有关的信息进行扫描且基于被扫描的与变换系数有关的信息而被熵编码的信息的比特流。
并且,视频编码装置150可以生成包括与指定四边形扫描区域的坐标有关的信息的比特流,所述四边形扫描区域为用于对与变换系数有关的信息进行扫描的区域。
图1e图示根据各种实施例的图像解码单元6000的框图。
根据各种实施例的图像解码单元6000执行由视频解码装置100的图像解码单元(未图示)对图像数据进行编码时经过的操作。
参考图1e,熵解码单元6150从比特流6050解析作为解码对象的经编码的图像数据和解码所需的编码信息。经编码的图像数据为经量化的变换系数,反量化单元6200和逆变换单元6250从经量化的变换系数恢复残差数据。图1e的熵解码单元6150可以与图1a的熵解码单元105相对应。
帧内预测单元6400按照块执行帧内预测。帧间预测单元6350按照块使用从恢复画面缓冲器6300获得的参考图像来执行帧间预测。通过将由帧内预测单元6400或帧间预测单元6350生成的各块的预测数据和残差数据相加来恢复对当前图像6050的块的空间域的数据,解块单元6450和SAO执行单元6500可以对恢复的空间域的数据执行环路滤波来输出经滤波的恢复图像6600。并且,存储在恢复画面缓冲器6300中的恢复图像可以被输出作为参照图像。
为了在视频解码装置100的解码单元(未图示)对图像数据进行解码,可以按照块执行根据各种实施例的图像解码单元6000的在各步骤中的操作。
图1f图示根据各种实施例的图像编码单元的框图。
根据各种实施例的图像编码单元7000执行由视频编码装置150的图像编码单元(未图示)对图像数据进行编码时经过的操作。
换言之,帧内预测单元7200对当前图像7050按照块执行帧内预测,帧间预测单元7150按照块使用当前图像7050和从恢复画面缓冲器7100获得的参照图像来执行帧间预测。
可从针对当前图像7050的经编码的块的数据减去从帧内预测单元7200或帧间预测单元7150输出的针对各块的预测数据来生成残差数据,变换部7250及量化单元7300可以通过对残差数据执行变换及量化来输出按照块经量化的变换系数。反量化单元7450和逆变换单元7500可通过对经量化的变换系数执行反量化和逆变换,来恢复空间域的残差数据。经恢复的空间域的残差数据与从帧内预测单元7200或帧间预测单元7200输出的针对各块的预测数据相加,来被恢复为针对当前图像7050的块的空间域的数据。解块单元7550及SAO执行单元通过对恢复的空间域的数据进行环路滤波来生成经滤波的恢复图像。所生成的恢复图像被存储于恢复画面缓冲器7100中。存储在恢复画面缓冲器7100中的恢复图像可以被使用为用于其他图像的帧间预测的参照图像。熵编码单元7350可以对经量化的变换系数进行熵编码,经熵编码的系数可以被输出为比特流7400。图1f的熵编码单元7350可以与图1c的熵编码单元155相对应。
根据各种实施例的图像编码单元7000的各个步骤的操作可按照块来执行,以将根据各种实施例的图像编码部7000应用于视频编码装置150。
以下,以针对图2、图3a至3b的当前块内的像素而显示的‘0’和‘1’为有效变换系数标志(指示系数的绝对值是否大于0的标志)的值为前提,详细说明对块内的变换系数进行扫描的方法。
图2为用于说明根据一实施例的对块内的变换系数进行扫描的方法的图。
参考图2,当前块200是包括多个变换系数的块。当前块200为执行逆变换操作的数据单元且可以是具有M×N(M、N是正整数)尺寸的块。例如,如图2所示,当前块200可以是具有16×16尺寸的块。
视频解码装置100可以将当前块200划分成具有预定尺寸的系数群(或者子块)205。系数群可以是具有X×Y(X、Y为正整数)的尺寸的块。例如,如图2所示,系数群205可以是具有4×4尺寸的块。
视频解码装置100可以从比特流,获得与在按照正向的扫描顺序对当前块200从左侧上端的变换系数到右侧下端的变换系数进行扫描的过程中被扫描的所有有效变换系数中的最终有效变换系数的像素210的坐标有关的信息。与最终有效变换系数的像素210的坐标有关的信息可以包括与最终有效变换系数的像素的水平方向坐标有关的信息及与最终有效变换系数的像素的垂直方向坐标有关的信息。
视频解码装置100可以基于与最终有效变换系数的像素210的坐标有关的信息获得最终有效变换系数的像素210的坐标,且基于最终有效变换系数的像素210的坐标从与最终有效变换系数210有关的有效变换系数开始按照预定的逆向扫描顺序215对变换系数的信息进行扫描。例如,如图2所示,预定的逆向扫描顺序215可能是逆向的对角扫描顺序。
视频解码装置100可以按照预定的扫描顺序对系数群205执行扫描,且按照预定的扫描顺序对各系数群205执行扫描。对系数群,视频解码装置100可以按照预定的扫描顺序对与系数群有关的信息进行扫描。可以从比特流获得或导出与系数群有关的信息。与系数群有关的信息可以导出为指示对按照正向(逆向)的扫描顺序被扫描的最初系数群和最后系数群包括至少一个有效变换系数。换言之,与系数群有关的信息可以对按照正向(逆向)的扫描顺序被扫描的第一系数群和最后系数群而不包括在比特流中。
此时,视频解码装置100可以基于块的尺寸和预测模式中的至少一个确定预定的逆向扫描顺序。例如,当当前块的尺寸为4×4且当前块的预测模式为帧内预测模式时,视频解码装置100可以将逆向的水平扫描顺序、垂直扫描顺序或对角扫描顺序中的一个确定为预定的逆向扫描顺序。并且,当当前块的尺寸为8×8且当前块的预测模式为帧内预测模式时,视频解码装置100可以将逆向的水平扫描顺序、垂直扫描顺序或对角扫描顺序中的一个确定为预定的逆向扫描顺序。
当当前块的尺寸不是4×4或8×8或者当前块的预测模式不是帧间预测模式时,视频解码装置100可以将逆向的对角扫描顺序确定为预定的逆向扫描顺序。
当与系数群205有关的信息指示在系数群205中包括至少一个有效系数时,视频解码装置100可以按照逆向的预定的扫描顺序对与该系数群205内的变换系数有关的信息进行扫描。
视频解码装置100可以确定隐藏包括在各系数群205中的有效变换系数中的至少一个的符号(sign)。
图3a为用于说明根据另一实施例对块内的变换系数进行扫描的方法的图。
参考图3a,当前块300是包括多个变换系数的块。当前块300为执行逆变换操作的数据单位,可以是具有M×N(M和N为正整数)尺寸的块。例如,如图3a所示,当前块300可以是具有16×16尺寸的块。
参考图3a,视频解码装置100可以确定包括存在于当前块300中的所有有效变换系数的四边形扫描区域340。此时,四边形扫描区域340可以是基于位于四边形扫描区域340的右侧下端的像素330的坐标而被确定的。位于扫描区域340的右侧下端的像素330的水平方向坐标可以是在当前块300内的所有的有效变换系数中位于最右侧的有效变换系数像素320的水平方向坐标。位于扫描区域340的右侧下端的像素330的垂直方向坐标可以是在当前块内300的所有有效变换系数中位于最下侧的有效变换系数像素310的垂直方向的坐标。与像素330有关的信息可以包括与像素330的左侧上端边角的位置有关的信息。然而,不限于此,与像素330有关的信息还可以包括与像素330的右侧下端边角的位置有关的信息。
视频解码装置100可以从比特流接收与指定四边形扫描区域340的像素330的坐标有关的信息,且可以基于所接收的与像素330有关的信息确定四边形扫描区域340。视频解码装置100可以从像素330开始到四边形扫描区域340的左侧上端处的像素345按照预定的逆向扫描顺序305对与变换系数有关的信息进行扫描。此时,系数群是可以从四边形扫描区域的左侧上端的变换系数开始按照预定的正向扫描顺序被扫描到的每K个(K为正整数)扫描系数而被确定的。然而,不限于此,可以从右侧下端的变换系数开始按照预定的逆向扫描顺序被扫描的每K个(K为正整数)扫描系数而确定,这是本领域技术人员容易理解的。稍后,参考图3b描述与系数群有关的详细内容。
视频解码装置100可以对各系数群确定隐藏针对至少一个有效变换系数的符号(Sign),且可以恢复所隐藏的针对至少一个有效变换系数的符号。将参考图3b后述与对各系数群执行恢复所隐藏的符号的操作有关的详细内容。
图3b为用于说明根据另一实施例确定块内的系数群(子块)的操作和按照系数群执行的操作的图。
视频解码装置100可以在当前块350内按照正向的预定的扫描顺序355按照每K(K为正整数)个的变换系数像素确定系数群。视频解码装置100可以确定包括K个变换系数像素的系数群。例如,如图3b所示,视频解码装置100可以按照每16个像素确定系数群360。
视频解码装置100可以确定各系数群360隐藏针对至少一个有效变换系数的符号(Sign),且可以确定每个系数群360隐藏有针对至少一个有效变换系数的符号(Sign)。例如,视频解码装置100可以基于在当前系数群内先前被解码的有效变换系数之间的距离确定当前系数群隐藏有针对至少一个有效变换系数的符号。具体地,视频解码装置100可以基于按照预定的逆向扫描顺序被扫描的最初有效变换系数与最终有效变换系数之间的距离,对当前系数群确定隐藏有针对至少一个有效变换系数的符号(Sign)。此时,距离可以是按照逆向的扫描顺序被扫描的系数的位置之间的差异。
例如,当按照预定的逆向扫描顺序被扫描的最初有效变换系数与最终有效变换系数之间的距离大于预定值时,视频解码装置100可以对当前系数群确定隐藏有针对至少一个有效变换系数的符号(Sign)。此时,预定值可以是各种整数值。例如,预定值可以是3。
当视频解码装置100对当前系数群确定隐藏有针对至少一个有效变换系数的符号(Sign)时,对当前系数群,视频解码装置100不从比特流获得与符号有关的信息而恢复针对当前系数群内的至少一个有效变换系数而隐藏的符号。例如,当针对当前系数群内的有效变换系数的级别的奇偶校验和(parity sum)为奇数或偶数时,视频解码装置100可以将与至少一个有效变换系数有关的符号确定为0或1。此时,恢复的有效变换系数的符号可以包括与按照逆向的扫描顺序被扫描的最终有效变换系数有关的符号。然而,不限于此,本领域的普通技术人员能够容易理解可以按照预定的扫描顺序恢复位于系数群内预定位置的符号。
视频解码装置100可以按照逆向的预定扫描顺序从比特流获得与相应的系数群有关的信息,且当与相应的系数群有关的信息指示在系数群中包括至少一个变换系数时,视频解码装置100可以对在相应的系数群内的变换系数有关的信息进行扫描。当与相应的系数群有关的信息指示在系数群中仅包括具有0的值的变换系数时,可以将相应的系数群内的变换系数均确定为0。
当在当前块300内四边形扫描区域中包括的变换系数的数量不是K个的整数倍时,在按照正向的扫描顺序确定位于最后的系数群的过程中可以存在少于K个的数量的变换系数像素。此时,视频解码装置100可以确定包括少于K的数量的变换系数像素的系数群365。例如,如图3b所示,视频解码装置100可以确定包括两个变换系数的系数群365。
视频解码装置100可以从比特流获得与系数群355和360有关的信息。在此,与系数群355和360有关的信息可以是标志信息(有效系数群标志信息),其指示包括在系数群355和360中的变换系数中的至少一个是有效变换系数还是系数群355和360仅包括0的变换系数。
当仅包括一个变换系数的系数群被确定时,视频解码装置100可以从比特流仅获得与一变换系数有关的信息,而不获得与该系数群有关的信息(例如,有效系数群标志信息)。
视频解码装置100可以基于按照逆向的预定的扫描顺序355在当前系数群之前被扫描的系数群的系数群有关信息,确定用于对与当前系数群有关的信息进行二值算术解码的上下文模型。
图4为用于说明根据一实施例的确定用于对与变换系数有关的信息进行基于上下文的二值算术编解码的上下文模型的过程的图。
参考图4,视频解码装置100可以基于周围变换系数像素410确定与当前被扫描的变换系数像素405有关的信息的上下文模型。在图4中,周围变换系数像素405可以是存在于当前被扫描的变换系数像素405的右侧或下侧的预定位置处的五个像素。然而,不限于此,本领域的技术人员应当容易理解周围变换系数像素405可以是位于右侧或下侧的预定位置处的n(n为正整数)个像素。
例如,视频解码装置100可以基于在周围变换系数像素410中级别绝对值大于0的系数像素的数量,确定指示当前被扫描的变换系数像素405的级别绝对值是否大于0的标志信息的上下文模型。
并且,视频解码装置100可以基于在周围变换系数像素410中绝对值大于1的系数像素的数量,确定指示当前被扫描的变换系数像素405的级别绝对值是否大于1的标志信息的上下文模型。
视频解码装置100可以基于在周围变换系数像素410中绝对值大于2的系数像素的数量,确定指示当前被扫描的变换系数像素405的级别绝对值是否大于2的标志信息的上下文模型。
视频解码装置100可以基于在周围变换系数像素410中绝对值大于N(N为大于2的整数)的系数像素的数量,确定指示当前被扫描的变换系数像素405的级别值是否大于N的标志信息的上下文模型。
视频解码装置100可以基于周围变换系数像素410的级别绝对值的总和,确定用于对当前被扫描的变换系数像素405的剩余级别绝对值进行二值化的参数。此时,二值化参数可能是莱斯参数。
图5为用于说明根据一实施例的确定用于对变换系数有关的信息进行基于上下文的二值算术编解码的上下文模型的过程的图。
参考图5,视频解码装置100可以基于按照预定的逆向扫描顺序515先前被扫描的变换系数像素510,确定与当前被扫描的变换系数像素505有关的信息的上下文模型。如图5所示,变换系数像素510可以是按照预定的逆向扫描顺序515在当前被扫描的变换系数像素505之前被扫描的五个像素。然而,不限于此,本领域的技术人员可以容易理解,变换系数像素505可以是按照预定的逆向扫描顺序515先前被扫描的n(n为正整数)个的像素。如图5所示,预定的逆向扫描顺序515可以是逆向的之字形扫描顺序,然而,不限于此,且可以包括水平扫描顺序、垂直扫描顺序、对角扫描顺序等,这是本领域技术人员容易理解的。尤其是,预定的逆向扫描顺序可以是基于特定扫描区域的水平方向坐标值的大小和垂直方向坐标值的大小而被确定为多个扫描顺序中的一个。
例如,视频解码装置100可以基于在周围变换系数像素510中绝对值大于0的系数像素的数量,确定指示当前被扫描的变换系数像素505的级别绝对值是否大于0的标志信息的上下文模型。
并且,视频解码装置100可以基于在变换系数像素510中绝对值大于1的系数像素的数量,确定指示当前被扫描的变换系数像素505的级别绝对值是否大于1的标志信息的上下文模型。
视频解码装置100可以基于在周围变换系数像素510中绝对值大于2的系数像素的数量,确定指示当前被扫描的变换系数像素505的级别绝对值是否大于2的标志信息的上下文模型。
视频解码装置100可以基于在周围变换系数像素510中绝对值大于N的系数像素的数量确定指示当前经过的变换系数像素505的级别绝对值是否大于N(N为大于2的整数)的标志信息的上下文模型。
视频解码装置100可以基于周围变换系数像素510的绝对值级别的总和,确定用于对当前被扫描的变换系数像素505的剩余级别绝对值进行二值化的参数。此时,二值化参数可以是莱斯参数。
图6a为用于说明根据一实施例的对与块内的有效变换系数有关的信息进行扫描的之字形扫描顺序的图。
参考图6a,视频解码装置100可以按照之字形扫描顺序605对从当前块600的右侧下端的变换系数到左侧上端的变换系数像素进行扫描,以对与当前块600的变换系数有关的信息进行扫描。
具体地,根据之字形扫描顺序605,视频解码装置100在对右侧下端的变换系数像素610进行扫描之后对像素610的左侧像素615进行扫描,在对像素615进行扫描后对位于右侧上端的对角线方向的像素620进行扫描。视频解码装置100对与像素620邻近的上侧的像素625进行扫描。视频解码装置100对位于像素的左侧下端的对角线方向的像素630进行扫描。视频解码装置100对位于像素630中与当前块600的边界邻近的像素的左侧的像素635进行扫描。通过与此类似的方式,视频解码装置100可以按照之字形扫描顺序605对与其余变换系数像素有关的信息进行扫描。
另外,在根据一实施例的之字形扫描顺序605中,在对像素610进行扫描之后对位于直接水平方向的左侧方向的像素615进行扫描,因此,可以将之字形扫描顺序605称为水平优先之字形顺序。
图6b为用于说明根据另一实施例的对与块内的变换系数有关的信息进行扫描的之字形扫描顺序的图。
参考图6b,视频解码装置100可以按照之字形扫描顺序635对从当前块600的右侧下端的变换系数像素到左侧上端的变换系数像素进行扫描,以对与当前块600的变换系数有关的信息进行扫描。
具体地,根据之字形扫描顺序635,视频解码装置100在对右侧下端的变换系数像素645进行扫描之后对像素645的上侧像素650进行扫描,在对像素650进行扫描之后对位于左侧下端的对角线方向的像素655进行扫描。视频解码装置100对与像素655邻近的左侧的像素660进行扫描。视频解码装置100对位于像素的右侧上端的对角线方向的像素665进行扫描。视频解码装置100对在像素665中位于当前块500的边界的像素的上侧的像素670进行扫描。通过与此类似的方式,视频解码装置100可以按照之字形扫描顺序605对与其余变换系数像素有关的信息进行扫描。
在根据一实施例的之字形扫描顺序605中,对像素645进行扫描之后对位于直接垂直方向的上侧方向像素650进行扫描,因此,可以将之字形扫描顺序605称为垂直优先之字形顺序。
图7a为用于说明根据一实施例的对与块内的变换系数有关的信息进行扫描的水平扫描顺序的图。
参考图7a,视频解码装置100可以按照水平扫描顺序705对从当前块700的右侧下端的变换系数像素到左侧上端的变换系数像素进行扫描,以对与当前块700的变换系数有关的信息进行扫描。
具体地讲,根据水平扫描顺序705,视频解码装置100在对右侧下端的变换系数像素710进行扫描之后对位于水平方向(即,左侧方向)的像素715依次进行扫描,对在像素715中与当前块700的左侧边界邻近的像素进行扫描之后对其直接上面的行的最右侧像素720进行扫描。视频解码装置100通过与对先前行的像素715进行扫描的方式相同的方式,对位于水平方向(即,左侧方向)上的像素725进行扫描。通过与此类似的方式,视频解码装置100可以按照水平扫描顺序605对与其余变换系数像素相关的信息进行扫描。
图7b为用于说明根据一实施例的对与块内的变换系数有关的信息进行扫描的垂直扫描顺序的图。
参考图7b,视频解码装置100可以按照垂直扫描顺序730对从当前块700的右侧下端的变换系数像素到左侧上端的变换系数像素进行扫描,以对与当前块700的变换系数有关的信息进行扫描。
具体地讲,根据垂直扫描顺序730,视频解码装置100在对右侧下端的变换系数像素735进行扫描之后对位于垂直方向(即,上侧方向)上的像素740依次进行扫描,对在像素740中与当前块700的上侧边界邻近的像素进行扫描之后对其直接左侧的列的最下侧像素745进行扫描。视频解码装置100通过与对先前列的像素740进行扫描的方式相同的方式,对位于垂直方向(即,上侧方向)上的像素750进行扫描。通过与此类似的方式,视频解码装置100可以按照垂直扫描顺序730来对与其余变换系数像素相关的信息进行扫描。
图8为用于说明根据一实施例的对与块内的变换系数有关的信息进行扫描的对角扫描顺序的图。
参考图8,视频解码装置100可以按照对角扫描顺序805对从当前块800的右侧下端的变换系数像素到左侧上端的变换系数像素进行扫描,以对与当前块800的变换系数有关的信息进行扫描。
具体地,根据对角扫描顺序805,视频解码装置800在对右侧下端的变换系数像素810进行扫描之后对像素810的上侧像素815进行扫描,在对上侧像素815进行扫描之后对位于左侧下端的对角线方向上的像素820进行扫描。视频解码装置100对与像素815的上侧邻近的像素825进行扫描。视频解码装置100对位于像素825的左侧下端的对角线方向上的像素830进行扫描。通过与此类似的方式,视频解码装置100可以按照对角扫描顺序对与其余变换系数像素有关的信心进行扫描。
以上,参考图6a至图8描述了用于对与块内的有效变换系数有关的信息进行扫描的各种扫描顺序。参考图6a至图8描述的扫描顺序为逆向的扫描顺序,但不限于此,本领域的技术人员可以容易理解与逆向的扫描顺序相反的顺序进行扫描的正向的扫描顺序。
图9a至9c为用于说明根据一实施例的残差编码语法结构的图。
参考图9a至图9b,视频解码装置100对与变换系数有关的语法要素信息进行扫描,基于被扫描的语法要素信息对变换系数进行解码,以恢复变换系数。
首先,视频解码装置100可以从比特流获得指示指定四边形扫描区域的坐标的语法要素信息scan_region_x和scan_region_y。此时,语法要素信息scan_region_x可以指示以当前块的左上侧边角处的坐标为基准位于当前块内最右侧的有效变换系数的水平方向(x轴方向)坐标值,语法要素信息scan_region_y可以指示以当前块的左上侧边角处的坐标为基准位于当前块内最下侧的有效变换系数的垂直方向(y轴方向)坐标值。视频解码装置100可以基于语法要素信息scan_region_x和scan_region_y确定指定扫描区域的坐标srX和srY。
视频解码装置100可以基于指定扫描区域的坐标srX和srY来确定根据扫描顺序确定的扫描区域内的变换系数的扫描顺位(Scan Order(Srx+1,srY+1))。
视频解码装置100可以基于指定扫描区域的坐标srX和srY确定指示按照正向的扫描顺序最后被扫描的系数群的索引信息lastSet。换句话说,视频解码装置100可以通过执行将从扫描区域的尺寸值((srX+1)*(srY+1))减去1的值向右侧移位4的运算(>>4)来确定最后被扫描的系数群的索引信息(lastSet)。换句话说,向右侧移位4的运算的输出值可以与除以16的运算而确定的值相同。换句话说,由于视频解码装置100在每16个变换系数确定一个系数群,所以当将在扫描区域中扫描的总变换系数除以16时,可以确定总系数群(或者,在按照正向的扫描顺序最后被扫描的系数群的索引值加上1的值)。
视频解码装置100可以基于指定扫描区域的坐标srX和srY确定按照正向的扫描顺序最后被扫描的系数的位置lastScanPos,且将当前变换系数的位置Pos确定为按照正向的扫描顺序最后被扫描的系数的位置lastScanPos。
视频解码装置100可以将i初始化为lastset,当i大于0时将i减少1,且可以执行在重复语句(for语句)905中包括的操作。视频解码装置100可以执行在重复语句(for语句)905中包括的操作直到i为小于0的值为止。此时,i可能是指示系数群的索引。换句话说,视频解码装置100每次执行在重复语句(for语句)905中的操作时可以执行对一个系数群的操作。
视频解码装置100可以通过执行将i乘以16(i<<4)的操作来确定setPos。setPos可以指示位于变换群的第一个位置的变换系数的索引信息。
视频解码装置100可以在i为最后的系数群时(i==lastSet)将n确定为从lastScanPos减去setPos的值(lastScanPos-setPos),否则将n确定为15,且当n等于或大于0时将i减少1,并且执行在重复语句(for语句)910中包括的操作。视频解码装置100可以执行在重复语句(for语句)910中包括的操作(与sig_flag有关的操作)直到i成为小于0的值为止。此时,n可以是指示按照正向扫描顺序的在系数群内变换系数的位置的索引信息。
例如,当在扫描区域中包括的变换系数的总数量不是16的整数倍时,从对按照正向的扫描顺序被最后扫描的系数群(i=lastset)的lastScanPos减去setPos的值具有等于或大于0且小于或等于15的值,且可以将其值确定为n并执行重复语句(for语句)910。视频解码装置100可以将当前变换系数的位置blkpos确定为在ScanOrder排列中指示当前系数群的第一系数的位置的索引信息setPos加上n的值。ScanOrder排列可以是按照正向的扫描顺序的变换系数的位置的排列。
视频解码装置100可以基于当前变换系数的位置(blkpos)和扫描区域的宽度width确定当前被扫描的水平方向(x轴方向)的坐标的值sx。并且,视频解码装置100可以基于当前被解码的变换系数的位置blkpos和扫描区域的宽度log2width确定垂直方向(y轴方向)的坐标的值sy。
在sx为0,sy为srY,且is_last_y为0的情况下(sx==0&&sy==srY&&is_last_y==0),或者,在sy为0,sx为srX,且is_last_x为0的情况下(sy==0&&sx==srX&&is_last_x==0),视频解码装置100可不从比特流获得与当前变换系数有关的有效变换系数标志sig_flag(sig_flag[blkpos]),而是将与当前编码系数有关的sig_flag的值确定为1。在此,is_last_x可以是指示包括在扫描区域内最下侧的行的变换系数中的在当前变换系数之前被扫描的变换系数中是否有过绝对值大于0的有效变换系数的值。is_last_y可以是指示在扫描区域的最右侧的列包括的变换系数中的在当前变换系数之前被扫描的变换系数中是否有过绝对值大于0的有效变换系数的值。
在不是sx为0,sy为srY,且is_last_y为0的情况下(sx==0&&sy==srY&&is_last_y==0),或者在不是sy为0,sx为srX,且is_last_x为0的情况下(sy==0&&sx==srX&&is_last_x==0),视频解码装置100可以从比特流获得与当前被解码的变换系数有关的有效变换系数标志sig_flag(sig_flag[blkpos])。
当当前变换系数的有效变换系数标志sig_flag为1时,若当前变换系数在x轴方向上的坐标值sx等于srX(sx==srX),则视频解码装置100可以将is_last_x设定为1,而若当前变换系数在y轴方向上的坐标值sy等于srY时(sy==srY),则视频解码装置100可以将is_last_y设定为1。
并且,当lastSigScanPos为-1时(即,为初始值时),视频解码装置100可以将lastSigScanPos确定为n。换言之,由于指示按照逆向的扫描顺序的系数群的第一有效变换系数所存在的位置的索引n被确定为lastSigScanPos,lastSigScanPos可以是指示按照正向的扫描顺序系数群的最后有效变换系数所存在的位置的索引信息。视频解码装置100可以将firstSigScanPos确定为n。在当前变换系数的有效变换系数标志sig_flag为1时,firstSigScanPos被继续更新为指示当前变换系数的位置的索引信息(即,n),因此,当对在特定的系数群i中包括的变换系数最终执行操作时,firstSigScanPos可以是指示按照正向的扫描顺序的系数群内最初有效变换系数所存在的位置的索引信息。
视频解码装置100将cnt_nz增加1。换句话说,指示在当前块(或者扫描区域)内具有不是0的系数的数量的cnt_nz每当当前变换系数为有效变换系数时得以更新。并且,视频解码装置100将指示在当前系数群内具有不是0的值的系数的数量的cg_nz[i]增加1。换言之,指示在当前系数群内具有不是0的值的系数的数量的cg_nz[1]每当当前变换系数为有效变换系数时得以更新。
当i为最后系数群时(i==lastset),视频解码装置100可以将n确定为从lastScanPos减去setPos的值(lastScanPos-setPos),否则将n确定为15,当n大于或等于0时将i减少1,并且执行在重复语句(for语句)915中包括的操作。视频解码装置100可以执行在重复语句(for语句)915中包括的操作(与coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag有关的操作)直到n成为小于0的值为止。
视频解码装置100可以将当前变换系数的位置blkpos确定为在ScanOrder排列中指示当前系数群的第一系数的位置的索引信息setPos加上1的值。
视频解码装置100可以基于与当前变换系数有关的信息gt0 flag、gt1 flag、gt2flag、remaining_absolute value level获得对当前变换系数的绝对值abs_coef。
在当前变换系数的有效变换系数标志sig_flag[blkpos]为1时,若cnt_gl(即,在先前被扫描的系数群中包括的变换系数中变换系数的绝对值大于1的变换系数的数量)和c1(即,在当前系数群内的先前被扫描的变换系数中从比特流获得coeff_abs_level_greater1_flag的变换系数的数量)的和小于num_gtl(即,在系数的绝对值大于1的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量),则视频解码装置100可以从比特流获得对当前变换系数的coeff_abs_level_greater1_flag(coeff_abs_level_greater1_flag[blkpos]。coeff_abs_level_greater1_flag可以是指示当前变换系数的绝对值是否大于1的标志。视频解码装置100可以基于从比特流获得的coeff_abs_level_greater1_flag确定当前变换系数的标志gt1_flag(gtlflag[blkpos])。
当当前变换系数的标志gt1_flag的值为1时,视频解码装置100可以将c1增加1。在当前变换系数的标志gt1_flag为1的情况下,c1的值增加1而使c1得到更新,因此,当对其后的变换系数执行重复语句(for语句)的操作时,c1可以指示在当前系数群内的先前被扫描的变换系数中从比特流获得coeff_abs_level_greater1_flag的变换系数的数量。
在当前变换系数的有效变换系数标志sig_flag[blkpos]为1时,若cnt_g2(即,在先前被扫描的系数群内的变换系数中变换系数的绝对值大于2的变换系数的数量)和c2(即,在当前系数群内从先前被扫描的比特流中获得coeff_abs_level_greater2_flag的变换系数的数量)的和小于num_gt2(即,在系数的绝对值大于2的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量),则视频解码装置100可以从比特流获得对当前变换系数的coeff_abs_level_greater2_flag。coeff_abs_level_greater2_flag可以是指示当前变换系数的绝对值是否大于2的标志。视频解码装置100可以基于从比特流获得的coeff_abs_level_greater2_flag确定当前变换系数的标志gt2_flag。
当当前变换系数的标志gt2_flag的值为1时,视频解码装置100可以将当前变换系数的信息gt2_flag的数量c2增加1。在当前变换系数的标志gt2_flag为1时,c2的值增加1而使c2得到更新,因此,在对其后的变换系数执行重复语句(for语句)的操作时,c2可以指示在当前系数群内的先前被扫描的变换系数中从比特流获得coeff_abs_level_greater1_flag的变换系数的数量。
并且,视频解码装置100可以将escapeDataPresent确定为1。escapeDataPresent可以是指示为了确定当前变换系数群内的变换系数的值而需要另外获得的信息(例如,剩余级别绝对值信息coeff_abs_level_remaining)的存在。
在当前变换系数的有效变换系数标志sig_flag[blkpos]为1时,若cnt_g2(即,在先前被扫描的系数群内的变换系数中变换系数的绝对值大于2的变换系数的数量)和c2(即,在当前系数群内的从先前被扫描的比特流获得coeff_abs_level_greater2_flag的变换系数的数量)的和不小于num_gt2(即,在系数的绝对值大于2的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量)时,视频解码装置100可以将escapeDataPresent确定为1。
当cnt_g1(即,在先前被扫描的系数群中包括的变换系数中变换系数的绝对值大于1的变换系数的数量)和c1(即,在当前系数群内先前被扫描的变换系数中从比特流获得coeff_abs_level_greater1_flag的变换系数的数量)不小于num_gt1(即,在系数的绝对值大于1的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量)时,视频解码装置100可以将escapeDataPresent确定为1。
在escapeDataPresent为1时,在i表示最后的系数群时(i==lastSet)时,视频解码装置100可以将n确定为从lastScanPos减去setPos的值(lastScanPos-setPos),否则将n确定为15,并且在n大于或等于0时,可以将i减少1且执行在重复语句(for语句)920中包括的操作。视频解码装置100可以执行在重复语句(for语句)920中包括的操作(与coeff_abs_level_remaining有关的操作)直到n成为小于0的值为止。
视频解码装置100可以将当前变换系数的位置blkpos确定为在ScanOrder排列中指示当前系数群的第一系数的位置的索引信息setPos加上1的值。
当当前编码系数的绝对值大于1时(sig_flag[blkpos])时,视频解码装置100可以确定基础级别。在cnt_gt1(即,当前系数群内在当前变换系数之前被扫描的变换系数中变换系数的绝对值大于1的变换系数的数量)小于num_gtl(即,在系数的绝对值大于2的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量)的情况下,在cnt_gt2(即,当前系数群内在当前变换系数之前被扫描的变换系数中变换系数的绝对值大于2的变换系数的数量)小于num_gt2(即,系数的绝对值大于2的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量)的情况下,视频解码装置100可以将基础级别确定为3。当cnt_gtl小于可以从比特流获得的num_gtl时,若cnt_gt2小于num_gt2,则视频解码装置100可以将基础级别确定为2。当cnt_gtl不小于num_gt1时,视频解码装置100可以将基础级别确定为1。
视频解码装置100可以将当前变换系数的绝对值水平abs_coef确定为在对当前变换系数的gtlflag的值加gt2flag的值上加1的值。当当前变换系数的绝对值具有与基础级别相同的值时(abs_coef[blkpos]==base_level)时,视频解码装置100可以从比特流获得对当前变换系数的剩余绝对值水平coeff_abs_level_remaining。视频解码装置100可以通过对abs_coef加上对当前变换系数的剩余绝对值水平level_remaining来确定针对当前变换系数的绝对值水平abs_coef。
当针对当前变换系数的绝对值水平abs_coef大于2时,视频解码装置100可以将cnt_gt2增加1。并且,当针对当前变换系数的绝对值水平abs_coef大于1时,视频解码装置100可以将cnt_gt1增加1。
若escapeDataPresent为0,当i指示最后的系数群时(i==lastSet),则可以将n确定为从lastScanPos减去setPos的值(lastScanPos-setPos),否则将n确定为15,而当n大于或等于0时将i减少1,并且执行在重复语句(for语句)925中包括的操作。视频解码装置100可以执行在重复语句(for语句)925中包括的操作(与abs_coef有关的操作)直到n成为小于0的值为止。可以确定为对在ScanOrder排列上指示当前系数群的第一系数的位置的索引信息setPos加n的值。
视频解码装置100可以基于与当前变换系数有关的信息gt0 flag、gt1 flag、gt2flag和remaining_absolute value level获得对当前变换系数的绝对值abs_coef。
当针对当前变换系数的有效变换系数标志为1时,若针对当前变换系数的绝对值(即,abs_coef)大于或等于2,则视频解码装置100可以将cnt_gt2增加1。当针对当前变换系数的有效变换系数标志为1时,若针对当前变换系数的绝对值(即,abs_coef)大于或等于1,则可以将cnt_gt1增加1。
在按照正向的扫描顺序被扫描的当前系数群i内最后有效变换系数的位置lastSigScanPos和第一有效变换系数的位置firstSigScanPos的差大于3时,视频解码装置100可以将signHidden的值signHidden[i]确定为1,signHidden的值sigHidden[i]指示在当前系数群i中隐藏有至少一个符号。在按照正向的扫描顺序被扫描的当前系数群内的最后有效变换系数的位置lastSigScanPos与第一有效变换系数的位置firstSigScanPos的差不大于3时,视频解码装置100可以将指示在当前系数群i内隐藏有至少一个符号的signHidden的值signHidden[i]确定为0。
视频解码装置100可以将i初始化为0,当i小于或等于lastSet时将i增加1,并且执行在重复语句(for语句)930中包括的操作。视频解码装置100可以执行在重复语句(for语句)930中包括的操作直到i成为大于lateSet的值为止。此时,i可能是指示系数群的索引。换句话说,视频解码装置100每当执行在重复语句(for语句)930中包括的操作时执行针对一个系数群的操作。
若应用rsp(residual sign prediction)的情况下(rsp_apply),在i为最后系数群时(i==lastSet),视频解码装置100可以将n确定为从lastScanPos减去setPos的值(lastScanPos-setPos),否则将n确定为15,在n大于或等于0时将i减少1,且执行在重复语句(for语句)935中包括的操作。视频解码装置100可以执行在重复语句935中包括的操作直到n成为小于0的值为止。
视频解码装置100可以将当前被解码的变换系数的位置blkpos确定为指示在按照正向的扫描顺序的ScanOrder排列中的当前系数群的第一系数的位置的索引信息setPos加上当前n的值。
在当前被解码的变换系数的位置blkpos不是rsp_pos,而是变换系数的符号被隐藏的变换系数的位置hidden_pos时,视频解码装置100可以将与当前被解码的变换系数的符号有关的信息sign[blkpos]确定为与所隐藏的变换系数的符号有关的信息hidden_sign。
若不是变换系数的符号被隐匿的变换系数的位置hidden_pos,则视频解码装置100可以从比特流获得与当前被解码的变换系数的符号有关的信息(sign[blkpos])。
当当前被解码的变换系数的位置blkpos为rsp_pos时,视频解码装置100可以从比特流获得与当前被解码的变换系数的rsp符号有关的信息sign_rsp[blkpos]。
若不应用rsp,则在i为最后系数群时(i==lastSet)时,视频解码装置100可以将n确定为从lastScanPos减去setPos的值(lastScanPos-setPos),否则将n确定为15,在n大于或等于0时将i减少1,且执行在重复语句(for语句)940中包括的操作。视频解码装置100可以执行在重复语句(for语句)940中包括的操作直到n成为小于0的值为止。
视频解码装置100可以将当前变换系数的位置blkpos确定为指示按照正向的扫描顺序的ScanOrder排列中当前系数群中的第一系数的位置的索引信息setPos加上当前n的值。
在当前变换系数的有效变换系数标志的值为1,指示是否激化符号数据的隐藏的标志sign_data_hiding_enabled_flag的值为0,或者不存在对当前块所隐藏的符号(!signHidden[i]),或在正向的扫描顺序上当前系数群内的当前变换系数的位置不是第一有效变换系数的位置firstSigScanPos时,可以从比特流获得与当前变换系数的符号有关的信息sign[blkpos]。
图9d至9f为用于说明根据另一实施例的残差编码语法结构的图。
参考图9d至9f,视频解码装置100可以对与变换系数有关的语法要素信息进行扫描,基于被扫描的语法要素信息对变换系数进行解码,以恢复变换系数。
首先,视频解码装置100可以从比特流获得指示指定扫描区域的坐标的语法要素信息last_sig_coeff_x和last_sig_coeff_y。此时,语法要素信息last_sig_coeff_x可以指示以当前块的左上侧边角的坐标为基准按照正向的扫描顺序位于最后处的有效变换系数的水平方向(x轴方向)的坐标值,语法要素信息last_sig_coeff_y可以指示以当前块的左上侧边角的坐标为基准按照正向的扫描顺序在当前块内位于最后处的有效变换系数的垂直方向(y轴方向)坐标值。视频解码装置100可以基于语法要素信息last_sig_coeff_x和last_sig_coeff_y确定指定扫描区域的坐标LastSigcoeffX和LastSigCoeffY。
视频解码装置100可以将在子块内按照正向的扫描顺序位于最后的有效变换系数的位置lastScanPos初始化为16。视频解码装置100可以对子块内按照正向的扫描顺序位于最后处的有效变换系数所位于的子块的lastSubBlock进行初始化。此时,被初始化的值可以指示按照正向的扫描顺序被扫描的当前块的子块中位于最后的子块。换言之,lastSubBlock可以被初始化为基于当前块的高度和宽度而指示在按照正向的扫描顺序被扫描的子块中位于最后处的子块的值。
在当前系数的水平方向的位置xC不是LastSigcoeffX或当前系数的垂直方向的位置yC不是LastSigcoeffY时,视频解码装置100可以执行Do-while循环语句950内的操作,而在xC为LastSigcoeffX且当前系数的垂直方向的位置yC为LastSigcoeffY时,视频解码装置100可以不再执行do-while循环语句950内的操作。
若lastScanPos为0,视频解码装置100可以将lastScanPos确定为16,且将lastSubblock减少1。换句话说,按照逆向的扫描顺序在一个子块内的扫描结束时(即,lastScanPos为0时),将lastScanPos初始化为16以按照逆向的扫描顺序对下一个子块进行扫描,且将lastSubBlock减少1以对下一个子块进行扫描。视频解码装置100可以在将lastScanPos减少1的同时按照逆向的扫描顺序对当前子块lastSubblock内的变换系数进行扫描。
视频解码装置100可以确定当前子块的在水平方向上的位置xS和在垂直方向上的位置yS。视频解码装置100可以对当前块,基于按照预定的正向的扫描顺序确定的ScanOrder排列来确定当前子块的位置。换言之,视频解码装置100可以基于当前块的高度log2height和宽度log2width、指示预定的扫描顺序的扫描索引scanIdx及指示当前子块的值lastSubBlock确定当前子块的位置。此时,xS和yS可以是当将子块看作一个像素时的子块的位置,而不是实际子块的位置。换言之,不考虑子块的宽度和高度,彼此邻近的子块之间的子块水平方向和垂直方向的差可以是1。
并且,视频解码装置100可以对当前子块,基于按照预定的正向扫描顺序确定的ScanOrder排列来确定当前变换系数的水平方向位置xC和垂直方向位置yC。换言之,视频解码装置100可以基于当前子块的高度(log24=2)和宽度(log24=2)、指示预定的扫描顺序的扫描索引scanIdx、当前子块的位置(xS,yS)及指示当前子块内当前变换系数的位置的值lastScanPos确定当前变换系数的位置(xC,yC)。
在当前变换系数的垂直方向上的位置yC为LastSigcoeffY时,视频解码装置100不再执行do-while循环语句950内的操作,因此,通过do-while循环语句950确定的lastScanPos可以是指示包括按照正向的扫描顺序被扫描的当前块内的最后有效变换系数的子块内的最后有效变换系数的位置的索引信息,lastSubBlock可以是指示当前块内最后有效变换系数所位于的子块的索引信息。
视频解码装置100可以将i初始化为lastSubBlock,当i大于0时将i减少1,且执行在重复语句(for语句)960中包括的操作。视频解码装置100可以执行在重复语句(for语句)960中包括的操作直到i成为小于0的值为止。此时,i可以是指示系数群的索引。换句话说,视频解码装置100每当执行在重复语句(for语句)960中的操作时可以执行对一个子块的操作。
视频解码装置100可以确定当前子块在水平方向上的位置xS和在垂直方向上的位置yS。
在指示当前子块的i指示其值小于指示最后有效变换系数所位于的子块的值(lastSubBlock)的子块或指示其值大于指示包括DC系数的子块的值(0)的子块时,视频解码装置100可以获得对当前子块i的coded_sub_block_flag[xS][yS]。coded_sub_block_flag[xS][yS]可以是指示在当前子块i中是否包括至少一个有效变换系数的标志信息。
在当前子块是包括最后有效变换系数的子块lastSubBlock时,视频解码装置100可以将n初始化为lastScanPos-1,否则将n初始化为15,在n大于或等于0时将n减少1,并执行在重复语句(for语句)中包括的操作。视频解码装置100可以执行在重复语句(for语句)960中的操作直到n成为小于0的值为止。此时,n可以是指示在子块内的当前变换系数的位置的索引。换句话说,视频解码装置100每当执行在重复语句(for语句)中包括的操作时可以执行对一个系数群的操作。换句话说,视频解码装置100每当执行在重复语句(for语句)960中包括的操作时可以执行对一个子块的操作(与sig_coeff_flag有关的操作)。
视频解码装置100可以确定当前变换系数n的位置xC和yC。
当对当前子块的coded_sub_block_flag[xS][yS]为1,n大于0,或inferSbDcSigCoeffFlag为0时,视频解码装置100可以从比特流获得对当前变换系数的标志sig_coeff_flag[xC][yC]。sig_coeff_flag[xC][yC]可以是指示当前变换系数是否有效变换系数的标志。
若sig_coeff_flag[xC][yC]的值为1,则inferSbDcSigCoeffFlag可以被确定为0。
视频解码装置100可以对在当前子块内按照正向的扫描顺序第一个被扫描的变换系数的位置firstScanPos的值进行初始化,并对在当前子块内按照正向的扫描顺序最后被扫描的变换系数的位置lastSigScanPos的值进行初始化。视频解码装置100可以初始化指示Greater1Flag的数量的numGreater1Flag的值,且初始化按照正向的扫描顺序获得Greater1Flag的最终位置的lastGreater1ScanPos的值。
视频解码装置100可以初始化cg_nz[i],cg_nz[i]指示在子块i内不是0的变换系数的数量。
视频解码装置100可以将n初始化为15,当n大于或等于0时,可以在将n减少1的同时执行重复语句(for语句)965内的操作直到n小于0时为止。
视频解码装置100可以确定当前变换系数n的位置xC和yC。
在对当前变换系数的有效变换系数标志sig_coeff_flag为1时,若numGreater1Flag小于8,则视频解码装置100可以获得对当前变换系数n的coeff_level_greater1_flag[n]且将numGreater1Flag的值增加1。coeff_level_greater1_flag[n]可以是指示变换系数n的水平的绝对值是否大于1的标志信息。视频解码装置100可以基于coeff_level_greater1_flag[n]确定Greater1Flag[n]。
若对当前变换系数的coeff_abs_level_greater_flag的值为1且lastGreater1ScanPos的值为初始值,视频解码装置100可以将lastGreater1ScanPos确定为在当前子块内的当前变换系数的位置n。因此,lastGreater1ScanPos可以是指示在当前子块内按照正向的扫描顺序而位于最后处的具有coeff_abs_level_greater_flag的值的系数的位置的索引信息。否则(在对当前变换系数的coeff_abs_level_greater1_flag的值是1且lastGreater1ScanPos的值不是始值时),在coeff_abs_level_greater1_flag为1时,可以将escapeDataPresent确定为1。
若numGreater1Flag不小于8,则视频解码装置100可以将escapeDataPresent确定为1。
在指示当前子块内按照正向扫描顺序位于最后处的有效变换系数的位置的lastSigScanPos具有初始值时,视频解码装置100可以将lastSigScanPos确定为当前子块内变换系数的位置n。
视频解码装置100可以将指示当前子块内按照正向的扫描顺序位于第一处的有效变换系数的位置的firstSigScanPos确定为当前子块内的变换系数的位置n。在当前变换系数的有效变换系数标志sig_coeff_flag[xC][yC]为1时,firstSigScanPos的值持续被更新为指示当前子块内当前变换系数的位置的索引信息n,因此当对在当前子块i中的变换系数最终地执行操作时,firstSigScanPos可以是指示在子块内按照正向的扫描顺序而存在第一个有效变换系数的位置的索引信息。
当lastSigScanPos与firstSigScanPos之间的差大于3时,视频解码装置100可以将sigHidden值确定为1,而当lastSigScanPos与firstSigScanPos之间的差不大于3时,视频解码装置100可以将sigHidden值确定为0。此时,sigHidden可以是指示对当前子块隐藏至少一个变换系数的符号的值。
在按照正向的扫描顺序被扫描且从比特流中获得的变换系数的coeff_abs_level_greater1_flag(Greater1Flag)中最后获得coeff_abs_level_greater1_flag的变换系数的位置lastGreater1ScanPos不是初始值时(即,当在当前子块中从比特流获得至少一个Greater1Flag时),视频解码装置100可以从比特流获得对lastGreater1ScanPos位置的变换系数的标志coeff_abs_level_greater2_flag[lastGreater1ScanPos]。coeff_abs_level_greater2_flag可以是指示变换系数的绝对值是否大于2的标志。当对lastGreater1ScanPos位置的变换系数的标志coeff_abs_level_greater2_flag[lastGreater1ScanPos]的值为1时,视频解码装置100可以将escapeDataPresent确定为1。视频解码装置100可以基于coeff_level_greater2_flag[n]确定Greater2Flag[n]。
视频解码装置100可以初始化numSigCoeff。此时,numSigCoeff可以意味在按照逆向的扫描顺序到当前变换系数之前经过扫描的变换系数中有效变换系数的数量。
视频解码装置100可以将n初始化为15,在n大于或等于0时将n减少1并执行for语句970内的操作,在n小于0时,可以不再执行for语句970内的操作。视频解码装置100可以执行按照逆向的扫描顺序对与当前子块内变换系数有关的信息进行扫描的操作等。
视频解码装置100可以基于当前子块内的当前变换系数的位置n确定当前变换系数的位置xC和yC。
在与当前变换系数有关的有效变换系数标志sig_coeff_flag[xC][yC]的值为1时,视频解码装置100可以将在与当前变换系数有关的标志coeff_abs_level_greater1_flag的值与当前变换系数的标志coeff_abs_level_greater2_flag的值的和加1的值确定为基础级别(baseLevel)。
若numSigCoeff小于8,当前变换系数的位置n为lastGreater1ScanPos,则当baselevel为3时,视频解码装置100可以从比特流获得对当前变换系数n的剩余级别值信息coeff_abs_level_remaining[n]。
若numSigCoeff小于8,当前编码系数的位置n不是lastGreater1ScanPos,则当base level为2时,视频解码装置100可以从比特流获得对当前变换系数n的剩余级别值信息coeff_abs_level_remaining[n]。若numSigCoeff大于8,则当base level为1时,视频解码装置100可以从比特流获得对当前变换系数n的剩余级别值信息coeff_abs_level_remaining[n]。
视频解码装置100可以将对当前变换系数的基础级别和对当前变换系数的剩余级别值相加,来确定当前块内当前变换系数的水平值,即,TransCoeffLevel[x0][y0][cIdx][xC][yC]。在此,cIdx可能是指示颜色分量的索引。
可以执行在重复语句(for语句)975中包括的操作直到i从0开始逐渐地增加1而成为小于或等于lastSubBlock的值为止。此时,i可以是指示子块的索引。换句话说,视频解码装置100每当执行for语句975内的语句时可以执行对一个系数群的操作。
在对当前子块i的标志coded_sub_block_flag[xS][yS]为1时,在应用rsp的情况下(rsp_apply),视频解码装置100可以将n确定为15,在n大于或等于0时执行for语句980内的操作,并在将n减少1之后,在n大于或等于0时,可以再执行for语句980内的操作。若n小于0,则可以不再执行for语句980内的操作。
视频解码装置100可以确定与当前子块内当前变换系数的位置n相对应的当前变换系数的水平方向位置和垂直方向位置xC和yC。视频解码装置100可以基于xC和yC确定当前变换系数的位置blkpos。
在当前变换系数的位置blkpos不是rsp_pos,而是符号所隐藏的变换系数的位置hidden_pos时,视频解码装置100可以将当前变换系数的符号确定为所隐藏的变换系数的符号hidden_sign。
否则(若不是符号所隐藏的变换系数的位置hidden_pos),视频解码装置100可以从比特流获得与当前变换系数的符号有关的信息sign[xC][yC]。
当当前变换系数的位置为rsp_pos时,视频解码装置100可以从比特流获得与当前变换系数的rsp符号有关的信息sign_rsp[xC][yC]。
若不应用rsp,视频解码装置100可以将n确定为15,当n大于0时执行for语句985内的操作,在将n减少1后n仍大于或等于0时可以再次执行for语句985操作,若n小于0时,可以不再执行for语句985内的操作。
视频解码装置100可以确定与当前子块内的当前变换系数的位置n相对应的当前变换系数在水平方向上的位置和在水平方向上的位置,即xC和yC。视频解码装置100可以基于xC和yC确定当前变换系数的位置blkpos。
若当前变换系数的有效变换系数标志sig_coeffi_flag[xC][yC]的值为1,指示是否激化对符号数据的隐藏的标志sign_data_hiding_enabled_flag的值为0,或者对当前子块没有隐藏的符号(!signHidden[i]),或在当前子块内按照正向的扫描顺序当前变换系数的位置(即,第一个有效变换系数的位置firstSigScanPos)不是0时,可以从比特流获得当前变换系数的符号信息sign[xC][yC]。
在下文中,将参考图10至图23描述确定在根据一实施例的视频解码装置100对图像进行解码时可使用的数据单元的方法。视频编码装置150的操作可以是类似于在下面描述的视频解码装置100的操作的各种实施例或者与之相反。
图10图示根据一实施例的随着视频解码装置100划分当前编码单元而确定至少一个编码单元的过程。
根据一实施例,视频解码装置100可以通过使用块形状信息来确定编码单元的形状,并且通过使用划分形状信息来确定编码单元被划分成的形状。换句话说,可以基于通过由视频解码装置100使用的块形状信息指示何种块形状来确定划分形状信息所指示的编码单元的划分方法。
根据一实施例,视频解码装置100可以使用指示当前编码单元具有正方形形状的块形状信息。例如,视频编码装置100可以根据划分形状信息来确定不划分正方形编码单元、垂直地划分正方形编码单元、水平地划分正方形编码单元还是将正方形编码单元划分成四个编码单元等。参考图10,当当前编码单元1000的块形状信息指示正方形形状时,视频解码装置100可以根据指示不划分的划分形状信息来不划分具有与当前编码单元1000相同尺寸的编码单元1010a,或者可以确定基于指示预定划分方法的划分形状信息而划分的编码单元1010b、1010c、1010d等。
参考图10,根据一实施例,视频解码装置100可以通过基于指示在垂直方向上划分的划分形状信息在垂直方向上划分当前编码单元1000来确定两个编码单元1010b。视频解码装置100可以通过基于指示在水平方向上划分的划分形状信息在水平方向上划分当前编码单元1000来确定两个编码单元1010c。视频解码装置100可以通过基于指示在垂直和水平方向上划分的划分形状信息在垂直和水平方向上划分当前编码单元1000来确定四个编码单元1010d。然而,正方形编码单元可以被划分成的划分形状不限于以上形状,并且可以包括可通过划分形状信息指示的任何形状。现在将通过各种实施例来详细地描述正方形编码单位被划分成的预定划分形状。
图11图示根据一实施例的视频解码装置100划分具有非正方形形状的编码单元而确定至少一个编码单元的过程。
根据一实施例,视频解码装置100可以使用指示当前编码单元具有非正方形形状的块形状信息。视频解码装置100可以根据划分形状信息来确定是否划分非正方形的当前编码单元还是经由特定的方法划分非正方形当前编码单元。参考图11,当当前编码单元1100或1150的块形状信息指示非正方形形状时,视频解码装置100可以根据不划分的划分形状信息来不划分具有与当前编码单元1100或1150相同尺寸的编码单元1110或1160,或者可以确定基于指示特定的划分方法的划分形状信息而划分确定编码单元1120a、1120b、1130a、1130b、1130c、1170a、1170b、1180a、1180b和1180c。现在将通过各种实施例来详细地描述划分非正方形编码单元的特定的划分方法。
根据一实施例,视频解码装置100可以通过使用划分形状信息来确定编码单元被划分成的形状,并且在这种情况下,划分形状信息可以指示随着编码单元被划分而生成的至少一个编码单元的数量。参考图11,当划分形状信息指示当前编码单元1100或1150被划分成两个编码单元时,视频解码装置100可以通过基于划分形状信息划分当前编码单元1100或1150来确定包括在当前编码单元1100或1150中的两个编码单元1120a和1120b或者1170a和1170b。
根据一实施例,当视频解码装置100基于划分形状信息划分具有非正方形形状的当前编码单元1100或1150时,视频解码装置100可以考虑具有非正方形形状的当前编码单元1100或1150的长边的位置而划分当前编码单远1100或1150。例如,视频解码装置100可以通过在考虑当前编码单元1100或1150的形状而在划分当前编码单元1100或1150的长边的方向上划分当前编码单元1100或1150来确定多个编码单元。
根据一实施例,当划分形状信息指示编码单元被划分成奇数个块时,视频解码装置100可以确定包括在当前编码单元1100或1150中的奇数个编码单元。例如,当划分形状信息指示当前编码单元1100或1150被划分成三个编码单元时,视频解码装置1100可以将当前编码单元1100或1150划分成三个编码单元1130a、1130b、1130c、1180a、1180b和1180c。根据一实施例,视频解码装置100可以确定包括在当前编码单元1100或1150中的奇数个编码单元,并且所确定的编码单元的尺寸可以不都相同。例如,所确定的奇数个编码单元1130a、1130b、1130c、1180a、1180b和1180c中的编码单元1130b或1180b的尺寸可以与编码单元1130a、1130c、1180a和1180c的尺寸不同。换句话说,当前编码单元1100或1150被划分而可确定的编码单元可以具有多种类型的尺寸,并且根据情况,奇数个编码单元1130a、1130b、1130c、1180a、1180b和1180c可以具有不同的尺寸。
根据一实施例,当划分形状信息指示编码单元被划分成奇数个块时,视频解码装置100可以确定包括在当前编码单元1100或1150中的奇数个编码单元,并且另外,可以对经由划分而生成的奇数个编码单元中的至少一个编码单元设置特定的限制。参考图11,对于划分当前编码单元1100或1150而生成的三个编码单元1130a、1130b、1130c、1180a、1130b和1180c中对位于中心处的编码单元1130b和1180b,视频解码装置100所执行的解码过程与对其它编码单元1130a、1130c、1180a和1180c执行的解码过程可以不相同。例如,与其它编码单元1130a、1130c、1180b和1180c不同,视频解码装置100可以将位于中心处的编码单元1130b和1180b限制为不再被划分,或者仅被划分特定的次数。
图12图示根据一实施例的视频解码装置100基于块形状信息和划分形状信息中的至少一个来划分编码单元的过程。
根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个确定具有正方形形状的第一编码单元1200被划分或者不会被划分成编码单元。根据一实施例,当划分形状信息指示第一编码单元1200在水平方向上被划分时,视频解码装置100可以通过在水平方向上划分第一编码单元1200来确定第二编码单元1210。根据一实施例而使用的第一编码单元、第二编码单元和第三编码单元是用于指示在划分编码单元之前和之后的关系的术语。例如,可以通过划分第一编码单元来确定第二编码单元,并且可以通过划分第二编码单元来确定第三编码单元。在下文中,应理解的是,第一至第三编码单元之间的关系与上述的特征一致。
根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个确定所确定的第二编码单元1210被划分或不会被划分成编码单元。参考图12,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个,将具有非正方形形状且通过划分第一编码单元1200而确定的第二编码单元1210划分成至少一个第三编码单元1220a、1220b、1220c、1220d等,或者不划分第二编码单元1210。视频解码装置100可以获得块形状信息和划分形状信息中的至少一个,并且通过基于所获得的块形状信息和划分形状信息中的至少一个来划分第一编码单元1200,而获得具有各种形状的多个第二编码单元(例如,第二编码单元1210),并且第二编码单元1210可以根据基于块形状信息和划分形状信息中的至少一个划分第一编码单元1200的方法而被划分。根据一实施例,当第一编码单元1200基于关于第一编码单元1200的块形状信息和划分形状信息中的至少一个而被划分成第二编码单元1210时,第二编码单元1210也可以基于关于第二编码单元1210的块形状信息和划分形状信息中的至少一个而被划分成第三编码单元(例如,1220a、1220b、1220c、1220d等)。换句话说,可以基于与每个编码单元有关的划分形状信息和块形状信息中的至少一个递归地划分编码单元。因此,可以从非正方形编码单元确定正方形编码单元,并且可以递归地划分这种正方形编码单元而确定非正方形编码单元。参考图12,可以递归地划分具有非正方形形状的第二编码单元1210被划分而确定的奇数个第三编码单元1220b、1220c和1220d中的预定的编码单元(例如,位于中心处的编码单元或正方形编码单元)。根据一实施例,可以在水平方向上将第三编码单元1220b、1220c和1220d中的具有正方形形状的第三编码单元1220c划分成多个第四编码单元。可以再次将多个第四编码单元中的具有非正方形形状的第四编码单元1240划分成多个编码单元。例如,可以将具有非正方形形状的第四编码单元1240划分成奇数个编码单元1250a、1250b和1250c。
将在下面通过各种实施例来描述可以用于递归地划分编码单元的方法。
根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个将第三编码单元1220a、1220b、1220c、1220d等中的每一个划分成编码单元或者确定不划分第二编码单元1210。根据一实施例,视频解码装置100可以将具有非正方形形状的第二编码单元1210划分成奇数个第三编码单元1220b、1220c和1220d。视频解码装置100可以对第三编码单元1120b、1120c和1120d中的预定的第三编码单元设置特定的限制。例如,视频解码装置100可以限制位于第三编码单元1220b、1220c和1220d的中心处的第三编码单元1220c不再被划分,或者限制可划分成可设置的次数。参考图12,视频解码装置100可以限制位于包括在具有非正方形形状的第二编码单元1210中的第三编码单元1220b、1220c和1220d的中心处的第三编码单元1220c不再被划分,被划分成预定的划分形状(例如,划分成四个编码单元或者划分成与第二编码单元1210被划分成的形状相对应的形状),或者仅被划分预定次数(例如,仅划分n次,其中n>0)。然而,对位于中心处的第三编码单元1220c的此类限制仅仅是示例,而不应当被解释为限于这些实施例,而是应当被解释为包括位于中心处的第三编码单元1220c能够与其它第三编码单元1220b和1220d不同地被解码的各种限制。
根据一实施例,视频解码装置100可以从当前编码单元中的预定的位置获得用于划分当前编码单元的块形状信息和划分形状信息中的至少一个。
图13图示根据一实施例的视频解码装置100确定奇数个编码单元中的预定的编码单元的方法。参考图13,可以从包括在当前编码单元1300中的多个样本当中的预定的位置处的样本(例如,位于中心处的样本1340)获得当前编码单元1300的块形状信息和划分形状信息中的至少一个。然而,获得块形状信息和划分形状信息中的至少一个的当前编码单元1300中的预定的位置不限于图13中所示的中心位置,而是可以是包括在当前编码单元300中的任何位置(例如,最上端位置、最下端位置、左侧位置、右侧位置、左侧上端位置、左侧下端位置、右侧上端位置或右侧下端位置等)。视频解码装置100可以通过从预定的位置获得块形状信息和划分形状信息中的至少一个,来确定将当前编码单元划分成具有各种形状和尺寸的编码单元还是不划分。
根据一实施例,视频解码装置100可以在当前编码单元被划分成预定数量的编码单元时选择其中的一个编码单元。选择多个编码单元中的一个的方法可以变化,并且将在下面通过各种实施例来描述这种方法。
根据一实施例,视频解码装置100可以将当前编码单元划分成多个编码单元,并且确定预定的位置处的编码单元。
图13图示根据一实施例的由视频解码装置100从奇数个编码单元中确定预定的位置处的编码单元的方法。
根据一实施例,视频解码装置100可以使用指示奇数个编码单元中的每一个的位置的信息来从奇数个编码单元中确定位于中心处的编码单元。参考图13,视频解码装置100可以通过划分当前编码单元1300来确定奇数个编码单元1320a、1320b和1320c。视频解码装置100可以通过使用关于奇数个编码单元1320a、1320b和1320c的位置的信息来确定中心编码单元1320b。例如,视频解码装置100可以通过基于指示包括在编码单元1320a、1320b和1320c中的预定样本的位置的信息确定编码单元1320a、1320b和1320c的位置,来确定位于中心处的编码单元1320b。详细地,视频解码装置100可以通过基于指示编码单元1320a、1320b和1320c的左侧上端的样本1330a、1330b和1330c的位置的信息确定编码单元1320a、1320b和1320c的位置,来确定位于中心处的编码单元1320b。
根据一实施例,指示分别包括在编码单元1320a、1320b和1320c中的左侧上端的样本1330a、1330b和1330c的位置的信息可以包括关于编码单元1320a、1320b和1320c在画面中的位置或坐标的信息。根据一实施例,指示分别包括在编码单元1320a、1320b和1320c中的左侧上端的样本1330a、1330b和1330c的位置的信息可以包括指示包括在当前编码单元1300中的编码单元1320a、1320b和1320c的宽度或高度的信息,并且这些宽度或高度可以对应于指示编码单元1320a、1320b和1320c在画面中的坐标之间的差的信息。换句话说,视频解码装置100可以通过直接地使用关于编码单元1320a、1320b和1320c在画面中的位置或坐标的信息或者通过使用关于与坐标之间的差相对应的编码单元的宽度或高度的信息,来确定位于中心处的编码单元1320b。
根据一实施例,指示上端编码单元1320a的左侧上端的样本1330a的位置的信息可以指示(xa,ya)坐标,指示中心编码单元1320b的左侧上端的样本1330b的位置的信息可以指示(xb,yb)坐标,并且指示下端编码单元1320c的左侧上端的样本1330c的位置的信息可以指示(xc,yc)坐标。视频解码装置100可以通过使用分别包括在编码单元1320a、1320b和1320c中的左侧上端的样本1330a、1330b和1330c的坐标来确定中心编码单元1320b。例如,当左侧上端的样本1330a、1330b和1330c的坐标以升序或降序排列时,可以将包括位于中心处的样本1330b的坐标(xb,yb)的编码单元1320b确定为当前编码单元1300被划分而确定的编码单元1320a、1320b和1320c中的位于中心处的编码单元。然而,指示在左侧上端的样本1330a、1330b和1330c的位置的坐标可以表示指示画面中的绝对位置的坐标,并且另外,可以基于上端编码单元1320a的左侧上端的样本1330a的位置使用(dxb,dyb)坐标(即,指示中心编码单元1320b的左侧上端的样本1330b的相对位置的信息)和(dxc,dyc)坐标(即,指示下端编码单元1320c的左侧上端的样本1330c的相对位置的信息)。另外,通过将样本的坐标用作指示包括在编码单元中的样本的位置的信息来确定预定的位置处的编码单元的方法不应解释为限于上述方法,并且可以解释为能够使用样本的坐标的各种算术方法。
根据一实施例,视频解码装置100可以将当前编码单元1300划分成多个编码单元1320a、1320b和1320c,并且根据预定的标准来从编码单元1320a、1320b和1320c中选择编码单元。例如,视频解码装置100可以从编码单元1320a、1320b和1320c中选择具有不同尺寸的编码单元1320b。
根据一实施例,视频解码装置100可以通过分别使用(xa,ya)坐标(即,指示上端编码单元1320a的左侧上端的样本1330a的位置的信息)、(xb,yb)坐标(即,指示中心编码单元1320b的左侧上端的样本1330b的位置的信息)和(xc,yc)坐标(即,指示下端编码单元1320c的左侧上端的样本1330c的位置的信息),来确定编码单元1320a、1320b和1320c的宽度或高度。视频解码装置100可以通过分别使用指示编码单元1320a、1320b和1320c的位置的信息的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元1320a、1320b和1320c的尺寸。
根据一实施例,视频解码装置100可以将上端编码单元1320a的宽度确定为xb-xa,并且将高度确定为yb-ya。根据一实施例,视频解码装置100可以将中心编码单元1320b的宽度确定为xc-xb,并且将高度确定为yc-yb。根据一实施例,视频解码装置100可以通过使用当前编码单位的宽度和高度以及上端编码单元1320a和中心编码单元1320b的宽度和高度来确定下端编码单元的宽度或高度。视频解码装置100可以基于所确定的编码单元1320a、1320b和1320c的宽度和高度,确定具有与其它编码单元不同尺寸的编码单元。参考图13,视频解码装置100可以将具有与上端编码单元1320a和下端编码单元1320c的尺寸不同的尺寸的中心编码单元1320b确定为预定的位置处的编码单元。然而,视频编码装置100确定具有与其它编码单元不同尺寸的编码单元的过程仅仅是通过使用基于样本坐标而确定的编码单元的尺寸来确定预定的位置处的编码单元的一实施例,并且因此可以使用通过对根据预定样本坐标而确定的编码单元的尺寸进行比较来确定预定的位置处的编码单元的各种过程。
然而,被考虑来确定编码单元的位置的样本的位置不限于如上所述的左侧上端,并且可以使用关于包括在编码单元中的任何样本的位置的信息。
根据一实施例,视频解码装置100可以考虑当前编码单元的形状,来在当前编码单元被划分而确定的奇数个编码单元中选择预定的位置处的编码单元。例如,当当前编码单元具有宽度比高度长的非正方形形状时,视频解码装置100可以确定水平方向上的预定的位置处的编码单元。换句话说,视频解码装置100可以确定在水平方向上具有不同位置的编码单元中的一个并且对该一个编码单元设置限制。当当前编码单元具有高度比宽度长的非正方形形状时,视频解码装置100可以确定垂直方向上的预定的位置处的编码单元。换句话说,视频解码装置100可以确定在垂直方向上具有不同位置的编码单元中的一个并且对该一个编码单元设置限制。
根据一实施例,视频解码装置100可以使用指示偶数个编码单元中的每一个的位置的信息,来从偶数个编码单元中确定预定的位置处的编码单元。视频解码装置100可以通过划分当前编码单元来确定偶数个编码单元,并且通过使用关于偶数个编码单元的位置的信息来确定预定的位置处的编码单元。其详细过程可以对应于图13中描述的从奇数个编码单元中确定预定的位置(例如,中心位置)处的编码单元的那些过程,并且因此对其进行省略。
根据一实施例,当具有非正方形形状的当前编码单元被划分成多个编码单元时,可以在划分过程期间使用关于预定的位置处的编码单元的预定的信息来从多个编码单元中确定预定的位置处的编码单元。例如,视频解码装置100可以在划分过程期间使用存储在包括在中心编码单元中的样本中的块形状信息和划分形状信息中的至少一个,来从通过划分当前编码单元而获得的多个编码单元中确定位于中心处的编码单元。
参考图13,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个将当前编码单元1300划分成多个编码单元1320a、1320b和1320c,并且从多个编码单元1320a、1320b和1320c中确定位于中心处的编码单元1320b。另外,视频解码装置100可以考虑获得块形状信息和划分形状信息中的至少一个的位置,来确定位于中心处的编码单元1320b。换句话说,可以从位于当前编码单元1300的中心处的样本1340获得当前编码单元1300的块形状信息和划分形状信息中的至少一个,并且当当前编码单元1300基于块形状信息和划分形状信息中的至少一个被划分成多个编码单元1320a、1320b和1320c时,可以将包括所述样本1340的编码单元1320b确定为位于中心处的编码单元。然而,用于确定位于中心处的编码单元的信息不应解释为限于块形状信息和划分形状信息中的至少一个,而是在确定位于中心处的编码单元时可以使用各种类型的信息。
根据一实施例,可以从包括在将要确定的编码单元中的预定的样本获得用于识别预定的位置处的编码单元的预定的信息。参考图13,视频解码装置100可以使用从当前编码单元1300中的预定的位置处的样本(例如,位于当前编码单元1300的中心处的样本)获得的块形状信息和划分形状信息中的至少一个,来从当前编码单元1300被划分而确定的多个编码单元1320a、1320b和1320c中确定预定的位置处的编码单元(例如,多个编码单元中的位于中心处的编码单元)。换句话说,视频解码装置100可以考虑当前编码单元1300的块形状来确定所述预定的位置处的样本,并且视频解码装置100从在当前编码单元1300被划分而确定的多个编码单元1320a、1320b和1320c中确定包括可获得预定的信息(例如,块形状信息和划分形状信息中的至少一个)的样本的编码单元1320b并且对其设置预定的限制。参考图13,根据一实施例,视频解码装置100可以将位于当前编码单元1300的中心处的样本1340确定为可获得预定的信息的样本,并且在解码过程期间对包括这种样本1340的编码单元1320b设置预定的限制。然而,可获得预定的信息的样本的位置不应解释为限于上述位置,并且可以解释为为了设置限制而被确定的编码单元1320b中包括的任意位置处的样本。
根据一实施例,可以根据当前编码单元1300的形状来确定可获得预定的信息的样本的位置。根据一实施例,块形状信息可以确定当前编码单元的形状是正方形还是非正方形,并且根据形状来确定可获得预定的信息的样本的位置。例如,视频解码装置100可以将位于如下的边界上的样本确定为可获得预定的信息的样本,其中,所述边界是通过使用当前编码单元的关于宽度的信息和关于高度的信息中的至少一个来将当前编码单元的宽度和高度中的至少一个划分成两半的边界。作为另一示例,当与当前编码单元有关的块形状信息指示非正方形形状时,视频解码装置100可以将与将当前编码单元的长边划分成两半的边界邻近的样本中的一个确定为可获得预定的信息的样本。
根据一实施例,当当前编码单元被划分成多个编码单元时,视频解码装置100可以使用块形状信息和划分形状信息中的至少一个,来从多个编码单元中确定预定的位置处的编码单元。根据一实施例,视频解码装置100可以从包括在编码单元中的预定的位置处的样本获得块形状信息和划分形状信息中的至少一个,并且视频解码装置100可以通过使用从包括在多个编码单元中的每一个中的预定的位置处的样本获得的划分形状信息和块形状信息中的至少一个,来划分随着当前编码单元被划分而生成的多个编码单元。换句话说,可以通过使用从包括在每个编码单元中的预定的位置处的样本获得的块形状信息和划分形状信息中的至少一个来递归地划分编码单元。由于已经在上面参考图12描述了递归地划分编码单元的过程,因此省略其详细说明。
根据一实施例,视频解码装置100可以通过划分当前编码单位来确定至少一个编码单元,并且根据预定的块(例如,当前编码单元)来确定对该至少一个编码单元进行编码的顺序。
图14图示根据一实施例的当视频解码装置100划分当前编码单元而确定多个编码单元时多个编码单元被处理的顺序。
根据一实施例,视频解码装置100可以根据块形状信息和划分形状信息在垂直方向上划分第一编码单元1400来确定第二编码单元1410a和1410b,在水平方向上划分第一编码单元1400来确定第二编码单元1430a和1430b,或者通过在垂直和水平方向上划分第一编码单元1400来确定第二编码单位1450a、1450b、1450c和1450d。
参考图14,视频解码装置100可以确定顺序,使得通过在垂直方向上划分第一编码单元1400而确定的第二编码单元1410a和1410b在水平方向1410c上处理。视频解码装置100可以将通过在水平方向上划分第一编码单元1400而确定的第二编码单元1430a和1430b的处理顺序确定为垂直方向1430c。视频解码装置100可以根据位于一行中的编码单元被处理之后位于下一行中的编码单元被处理的预定的顺序(例如,光栅扫描顺序或z扫描顺序1450e等)来确定通过在垂直和水平方向划分第一编码单元1400而确定的第二编码单元1450a、1450b、1450c和1450d。
根据一实施例,视频解码装置100可以递归地划分编码单元。参考图14,视频解码装置100可以通过划分第一编码单元1400来确定多个第二编码单元1410a、1410、1430a、1430b、1450a、1450b、1450c和1450d,并且递归地划分所确定的多个第二编码单元1410a、1410b、1430a、1430b、1450a、1450b、1450c和1450d中的每一个。划分多个编码单元1410a、1410、1430a、1430b、1450a、1450b、1450c和1450d的方法可以对应于划分第一编码单元1400的方法。因此,可以将多个编码单元1410a、1410b、1430a、1430b、1450a、1450b、1450c和1450d中的每一个独立地划分成多个编码单元。参照图14,视频解码装置100可以通过在垂直方向划分第一编码单元1400来确定第二编码单元1410a和1410b,并且另外,独立地确定第二编码单元1410a和1410b中的每一个被划分或不被划分。
根据一实施例,视频解码装置100可以在水平方向上将左侧的第二编码单元1410a划分成第三编码单元1420a和1420b,并且可以不划分在右侧的第二编码单元1410b。
根据一实施例,可以基于编码单元的划分过程确定处理编码单元的顺序。换句话说,可以基于处理被划分之前的编码单元的顺序确定处理被划分的编码单元的顺序。视频解码装置100可以与右侧的第二编码单元1410b独立地确定左侧的第二编码单元1410a被划分而确定的第三编码单位1420a和1420b被处理的顺序。因为第三编码单元1420a和1420b是在水平方向上划分左侧的第二编码单元1410a而确定的,所以可以在垂直方向1420c上处理第三编码单元1420a和1420b。另外,由于左侧的第二编码单元1410a和右侧的第二编码单元1410b被处理的顺序对应于水平方向1410c,所以在包括在左侧的第二编码单元1410a中的第三编码单元1420a和1420b在垂直方向1420c上被处理之后,可以处理在右侧的第二编码单元1410b。以上描述是根据被划分之前的编码单元来确定编码单元的处理顺序的相关过程,但是其不应解释为局限于以上实施例,并且可以使用以预定的顺序独立地处理被划分成各种形状的编码单元的各种方法。
图15图示根据一实施例的当视频解码装置100不能按照预定的顺序处理编码单位时确定当前编码单位将被划分成奇数个编码单元的过程。
根据一实施例,视频解码装置100可以基于获得的块形状信息和划分形状信息确定当前编码单元将被划分成奇数个编码单元。参照图15,可以将具有正方形形状的第一编码单元1500划分成具有非正方形形状的第二编码单元1510a和1510b,并且可以将第二编码单元1510a和1510b独立地分别划分成第三编码单元1520a、1520b、1520c、1520d和1520e。根据一实施例,视频解码装置100可以将第二编码单元1510a和1510b中的左侧的第二编码单元1510a划分成水平方向来确定多个第三编码单元1520a和1520b,并且将右侧第二编码单元1510b划分成奇数个第三编码单元1520c、1520d和1520e。
根据一实施例,视频解码装置100可以通过确定第三编码单元1520a、1520b、1520c、1520d和1520e是否可以按照预定的顺序被处理,来确定是否存在被划分成奇数个的编码单元。参考图15,视频解码装置100可以通过递归地划分第一编码单元1500来确定第三编码单元1520a、1520b、1520c、1520d和1520e。视频解码装置100可以基于块形状信息和划分形状信息中的至少一个,确定第一编码单元1500、第二编码单元1510a和1510b或第三编码单元1520a、1520b、1520c、1520d和1520e被划分成的形状中是否存在划分成奇数个的编码单元。例如,第二编码单元1510a和1510b中的右侧的第二编码单元1510b可以被划分成奇数个第三编码单元1520c、1520d和1520e。处理包括在第一编码单元1500中的多个编码单元的顺序可以是预定的顺序(例如,z扫描顺序1530),并且视频解码装置100可以确定右侧的第二编码单元1510b被划分成奇数个而确定的第三编码单元1520c、1520d及1520e是否满足可按照所述预定的顺序被处理的条件。
根据一实施例,视频解码装置100可以确定包括在第一编码单元1500中的第三编码单元1520a、1520b、1520c、1520d及1520e是否满足可根据预定的顺序被处理的条件,其中该条件与第二编码单元1510a和1510b中的每一个的宽度和高度中的至少一个是否根据第三编码单元1520a、1520b、1520c、1520d及1520e的边界被对半划分有关。例如,当非正方形形状的左侧第二编码单元1510a的高度被对半划分而确定的第三编码单元1520a和1520b满足条件,但是可以确定第三编码单元1520c、1520d及1520e不满足条件,因为当右侧的第二编码单元1510b被划分成三个编码单元而确定的第三编码单元1520c、1520d及1520e的边界无法将右侧的第二编码单元1510b的宽度或高度对半划分,并且视频解码装置100可以在不满足条件时确定扫描顺序的不连续(disconnection),并且基于确定结果而确定在右侧的第二编码单元1510b将被划分成奇数个编码单元。根据一实施例,当划分成奇数个编码单元时,视频解码装置100可以对划分的编码单元中的预定的位置处的编码单元设置预定的限制,并且因为已经在上面通过各种实施例描述了这种限制或预定的位置,所以省略其详细说明。
图16图示根据一实施例的视频解码装置100划分第一编码单元1600而确定至少一个编码单元的过程。根据一实施例,视频解码装置100可以基于通过获得器获得的块形状信息和划分形状信息中的至少一个划分第一编码单元1600。可以将具有正方形形状的第一编码单元1600划分成具有正方形形状的四个编码单元或具有非正方形形状的多个编码单元。例如,参考图16,当块形状信息指示第一编码单元1600是正方形并且划分形状信息指示划分成非正方形编码单元时,视频解码装置100可以将第一编码单元1600划分成多个非正方形编码单元。详细地,当划分形状信息指示通过在水平方向或垂直方向上划分第一编码单元1600来确定奇数个编码单元时,视频解码装置100可以将具有正方形形状的第一编码单元1600划分成奇数个编码单元,即,在垂直方向上划分而确定的第二编码单元1610a、1610b和1610c或者在水平方向上划分而确定的第二编码单元1620a、1620b及1620c。
根据一实施例,视频解码装置100可以确定包括在第一编码单元1600中的第二编码单元1610a、1610b,1610c、1620a、1620b和1620c是否满足按组可以按照预定的顺序处理的条件,其中该条件与第一编码单元1600的宽度和高度中的至少一个是否根据第二编码单元1610a、1610b、1610c、1620a、1620b和1620c的边界被对半划分有关。参考图16,因为当在垂直方向上划分具有正方形形状的第一编码单元1600时确定的第二编码单元1610a、1610b和1610c的边界未将第一编码单元1600的宽度对半划分,所以可以确定第一编码单元1600不满足可以按照预定的顺序被处理的条件。另外,因为在水平方向上划分具有正方形形状的第一编码单元1600而确定的第二编码单元1620a、1620b和1620c的边界未将第一编码单元1600的高度对半划分,所以可以确定第一编码单元1600不满足可以按照预定的顺序被处理的条件。视频解码装置100可以在不满足这种条件时确定扫描顺序的不连续,并且基于确定结果而确定第一编码单元1600将被划分成奇数个编码单元。根据一实施例,视频解码装置100可以对通过划分编码单元而获得的奇数个编码单元中的预定的位置处的编码单元设置预定的限制,并且因为已经在上面通过各种实施例描述了这种限制或预定的位置,所以省略其详细说明。
根据一实施例,视频解码装置100可以通过划分第一编码单元来确定具有各种形状的编码单元。
参考图16,视频解码装置100可以将具有正方形形状的第一编码单元1600和具有非正方形形状的第一编码单元1630或1650划分成具有各种形状的编码单元。
图17图示根据一实施例的当视频编码装置100划分第一编码单元1700而确定的具有非正方形形状的第二编码单元满足预定的条件时第二编码单元可被划分成的形状受到限制。
根据一实施例,视频解码装置100可以基于通过获得器获得的块形状信息和划分形状信息中的至少一个确定将具有正方形形状的第一编码单元1700划分成具有非正方形形状的第二编码单元1710a、1710b、1720a和1720b。可以独立地划分第二编码单元1710a、1710b、1720a和1720b。因此,视频解码装置100可以基于与第二编码单元1710a、1710b、1720a和1720b中的每一个有关的块形状信息和划分形状信息中的至少一个,确定将被划分成多个编码单位或不被划分。根据一实施例,视频解码装置100可以通过在水平方向上划分在垂直方向上划分第一编码单元1700而确定的具有非正方形形状的左侧的第二编码单元1710a,来确定第三编码单元1712a和1712b。只是,当在水平方向上划分左侧的第二编码单元1710a时,视频解码装置100可以设置限制,使得右侧的第二编码单元1710b不能在左侧的第二编码单元1710a被划分的方向相同的水平方向上被划分。当在相同方向即水平方向上划分右侧的第二编码单元1710b而确定第三编码单元1714a和1714b时,左侧的第二编码单元1710a和右侧的第二编码单元1710b分别在水平方向上被独立地划分而确定第三编码单元1712a、1712b、1714a和1714b。然而,这是与基于块形状信息和划分形状信息中的至少一个将第一编码单元1700划分成具有正方形形状的四个第二编码单元1730a、1730b、1730c和1730d相同的结果,并且这在图像解码方面可能是效率低的。
根据一实施例,视频解码装置100可以通过在垂直方向上划分在水平方向上划分第一编码单元1700而确定的具有非正方形形状的第二编码单元1720a或1720b,来确定第二编码单元1722a、1722b、1724a和1724b。只是,当在垂直方向上划分第二编码单元中的一个(例如,上端的第二编码单元1720a)时,视频解码装置100可以因上述原因而设置限制,使得第二编码单元1720a(例如,下端编码单元1720b)不能在与上端第二编码单元1720a被划分的方向相同的垂直方向上被划分。
图18图示根据一实施例的当划分形状信息不能指示划分成四个正方形形状的编码单元时视频解码装置100划分具有正方形形状的编码单元的过程。
根据一实施例,视频解码装置100可以通过基于块形状信息和划分形状信息中的至少一个划分第一编码单元1800,来确定第二编码单元1810a、1810b、1820a、1820b等。划分形状信息可以包括关于编码单元可以被划分成的各种形状的信息,但是可能存在这种关于各种形状的信息不包括用于划分成正方形形状的4个编码单元的信息的情况。根据这种划分形状信息,视频解码装置100不能将具有正方形形状的第一编码单元1800划分成具有正方形形状的四个第二编码单元1830a、1830b、1830c和1830d。视频解码装置100可以基于划分形状信息确定具有非正方形形状的第二编码单元1810a、1810b、1820a、1820b等。
根据一实施例,视频解码装置100可以独立地划分具有正方形形状的第二编码单元1810a、1810b、1820a、1820b等中的每一个。可以经由递归方法按照预定的顺序划分第二编码单元1810a、1810b、1820a、1820b等中的每一个,这可以是与基于块形状信息和划分形状信息中的至少一个划分第一编码单元1800的方法相对应的划分方法。
例如,视频解码装置100可以通过在水平方向上划分左侧的第二编码单元1810a来确定具有正方形形状的第三编码单元1812a和1812b,或者通过在水平方向上划分右侧的第二编码单元1810b来确定具有正方形形状的第三编码单元1814a和1814b。另外,视频解码装置100可以通过在水平方向上划分左侧的第二编码单元1810a和右侧的第二编码单元1810b两者来确定具有正方形形状的第三编码单元1816a、1816b、1816c及1816d。在这种情况下,可以以与当第一编码单元1800被划分成具有正方形的四个第二编码单元1830a、1830a、1830c及1830d时相同的方式确定编码单元。
作为又另一示例,视频解码装置100可以通过在垂直方向上划分上端的第二编码单元1820a来确定具有正方形形状的第三编码单元1822a和1822b,并且通过在垂直方向上划分下端的第二编码单元1820b来确定具有正方形形状的第三编码单元1824a和1824b。另外,视频解码装置100可以通过在垂直方向上划分上端的第二编码单元1820a和下端的第二编码单元1820b来确定具有正方形形状的第三编码单元1822a、1822b、1824a及1824b。在这种情况下,可以以与当第一编码单元1800被划分成具有正方形的四个第二编码单元1830a、1830a、1830c及1830d时相同的方式确定编码单元。
图19图示根据一实施例的多个编码单元之间的处理顺序可以根据划分编码单元的过程而改变。
根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息划分第一编码单元1900。当块形状信息指示正方形形状并且划分形状信息指示第一编码单元1900在水平方向和垂直方向中的至少一个被划分时,视频解码装置100可以划分第一编码单元1900以确定第二编码单元(例如,1910a、1910b、1920a、1920b、1930a、1930b、1930c、1930d等)。参考图19,第一编码单元1900在水平方向或垂直方向上被划分而确定的非正方形形状的第二编码单元1910a、1910b、1920a和1920b可以分别基于关于其的块形状信息和划分形状信息而被独立地划分。例如,视频解码装置100可以通过在水平方向上划分在垂直方向上划分第一编码单元1900而生成的第二编码单元1910a和1910b中的每一个来确定第三编码单元1916a至1916d,或者通过在水平方向上划分在水平方向上划分第一编码单元1900而生成的第二编码单元1920a和1920b来确定第三编码单元1926a、1926b、1926c和1926d。已经在上面参考图17描述了划分第二编码单元1910a、1910b、1920a和1920b的过程,因此省略其详细说明。
根据一实施例,视频解码装置100可以根据预定的顺序来处理编码单元。已经在上面参考图14描述了关于根据预定的顺序来处理编码单元的特征,并且因此省略其详细说明。参考图19,视频解码装置100可以通过划分具有正方形形状的第一编码单元1900来确定具有正方形形状的四个第三编码单元1916a、1916b、1916c、1916d、1926a、1926b、1926c及1926d。根据一实施例,视频解码装置100可以基于第一编码单元1900被划分的形状,确定第三编码单元1916a、1916b、1916c、1916d、1926a、1926b、1926c及1926d的处理顺序。
根据一实施例,视频解码装置100可以通过在水平方向上划分在垂直方向上划分第一编码单元1900而生成的第二编码单元1910a和1910b来确定第三编码单元1916a、1916b、1916c及1916d,并且视频解码装置100按照首先在垂直方向上处理包括在左侧第二编码单元1910a中的第三编码单元1916a和1916b,然后在垂直方向上处理包括在右侧的第二编码单元1910b中的第三编码单元1916c和1916d的顺序1917,来处理第三编码单元1916a、1916b、1916c及1916d。
根据一实施例,视频解码装置100可以通过在水平方向上划分在垂直方向上划分第一编码单元1900而生成的第二编码单元1920a和1920b来确定第三编码单元1926a、1926b、1926c及1926d,并且视频解码装置100按照首先在垂直方向上处理包括在上端第二编码单元1920a中的第三编码单元1926a和1926b,然后在水平方向上处理包括在下端第二编码单元1920b中的第三编码单元1926c和1926d的顺序1927,来处理第三编码单元1926a、1926b、1926c及1926d。
参考图19,第二编码单元1910a、1910b、1920a和1920b均被划分而可以确定具有正方形形状的第三编码单元1916a、1916b、1916c1916d、1926a、1926b、1926c及1926d。在垂直方向上划分而确定的第二编码单元1910a和1910b以及在水平方向划分而确定的第二编码单元1920a和1920b是划分为不同形状的,但是根据此后确定的第三编码单元1916a、1916b、1916c、1916d、1926a、1926b、1926c及1926d,第一编码单元1900结果是划分为具有相同的形状的编码单元。因此,即使基于块形状信息和划分形状信息中的至少一个通过不同的过程来递归地划分编码单元而确定了具有相同形状的编码单元,视频解码装置100也可以按照不同顺序处理确定为相同形状的多个编码单元。
图20图示根据一实施例的当编码单元被递归地划分而确定多个编码单元时随着编码单元的形状和尺寸被改变而确定编码单元的深度的过程。
根据一实施例,视频解码装置100可以根据预定的标准来确定编码单元的深度。例如,预定的标准可以是编码单元的长边的长度。当当前编码单元的长边的长度被划分为比编码单元长边被划分之前的长度的2n倍时,视频解码装置100可以确定当前编码单元的深度增加了编码单元被划分之前的深度的n,其中n>0。在下文中,具有增加深度的编码单元被称为下位深度的编码单元。
参考图20,根据一实施例,视频解码装置100可以通过基于指示正方形形状的块形状信息(例如,块形状信息可以指示“0:SQUARE”)划分具有正方形形状的第一编码单元2000来确定下位深度的第二编码单元2002、第三编码单元2004等。当具有正方形形状的第一编码单元2000的尺寸是2N×2N时,通过将第一编码单元2000的宽度和高度划分1/21倍而确定的第二编码单元2002可以具有N×N的尺寸。另外,通过将第二编码单元2002的宽度和高度划分成1/2大小而确定的第三编码单元2004可以具有N/2×N/2的尺寸。在这种情况下,第三编码单元2004的宽度和高度对应于第一编码单元2000的1/22倍。当第一编码单元2000的深度是D时,具有第一编码单元2000的宽度和高度的1/21倍的第二编码单位的深度可以是D+1,并且具有第一编码单元2000的宽度和高度1/22倍的第三编码单元2004的深度可以是D+2。
根据一实施例,视频解码装置100可以通过基于指示非正方形形状的块形状信息(例如,块形状信息可以指示表示高度比宽度长的非正方形形状的“1:NS_VER”或者表示宽度比高度长的非正方形形状的“2:NS_HOR”)划分具有非正方形形状的第一编码单元2010或2020来确定第二编码单元2012或2022、第三编码单元2014或2024等。
视频解码装置100可以通过划分尺寸为N×2N的第一编码单元2010的宽度和高度中的至少一个来确定第二编码单元(例如,第二编码单元2002、2012、2022等)。换句话说,视频解码装置100可以通过在水平方向上划分第一编码单元2010来确定尺寸为N×N的第二编码单元2002或尺寸为N×N/2的第二编码单元2022,或者通过在水平和垂直方向上划分第一编码单元2010来确定尺寸为N/2×N的第二编码单元2012。
根据一实施例,视频解码装置100可以通过划分尺寸为2N×N的第一编码单元2020的宽度和高度中的至少一个来确定第二编码单元(例如,第二编码单元2002、2012、2022等)。换句话说,视频解码装置100可以通过在垂直方向上划分第一编码单元2020来确定尺寸为N×N的第二编码单元2002或尺寸为N/2×N的第二编码单元2012,或者通过在水平和垂直方向第一编码单元2010来确定尺寸为N×N/2的第二编码单元2022。
根据一实施例,视频解码装置100可以通过划分尺寸为N×N的第二编码单元2002的宽度和高度中的至少一个来确定第三编码单元(例如,第三编码单元2004、2014、2024等)。换句话说,视频解码装置100可以通过在垂直和水平方向上划分第二编码单元20002来确定尺寸为N/2×N/2的第三编码单元2004、尺寸为N/22×N/2的第三编码单元2014或尺寸为N/2×N/22的第三编码单元2024。
根据一实施例,视频解码装置100可以通过划分尺寸为N/2×N的第二编码单元2012的宽度和高度中的至少一个来确定第三编码单元(例如,第三编码单元2004、2014、2024等)。换句话说,视频解码装置100可以将第二编码单元2012在水平方向上划分来确定尺寸为N/2×N/2的第三编码单元2004或者尺寸为N/2×N/22的第三编码单元2024,或者在垂直和水平方向上划分来确定尺寸为N/22×N/2的第三编码单元2014。
根据一实施例,视频解码装置100可以通过划分尺寸为N×N/2的第二编码单元2014的宽度和高度中的至少一个来确定第三编码单元(例如,第三编码单元2004、2014、2014等)。换句话说,视频解码装置100可以通过在垂直方向上划分第二编码单元2012来确定尺寸为N/2×N/2的第三编码单元2004或尺寸为N/22×N/2的第三编码单元2014,或者通过在垂直和水平方向上划分第三编码单元2014来确定尺寸为N/2×N/22的第三编码单元2024。
根据一实施例,视频解码装置100可以在水平或垂直方向上划分具有正方形形状的编码单元(例如,2000、2002、2004)。例如,将尺寸为2N×2N的第一编码单元2000可以在垂直方向上划分来确定尺寸为N×2N的第一编码单元2010,或者可以在水平方向上划分来确定尺寸为2N×N的第一编码单元2020。根据一实施例,当基于编码单元的最长边的长度确定深度时,在水平或垂直方向上划分尺寸为2N×2N的第一编码单元2000、2002或2004而确定的编码单元的深度可以与第一编码单元2000、2002或2004的深度相同。
根据一实施例,第三编码单元2014或2024的宽度和高度可以是第一编码单元2010或2020的宽度和高度的1/22。当第一编码单元2010或2020的深度是D时,作为第一编码单元2010或2020的宽度和高度的1/2的第二编码单元2012或2022的深度可以是D+1,并且作为第一编码单元2010或2020的宽度和高度的1/22的第三编码单元2014或2024的深度可以是D+2。
图21图示根据一实施例的可以根据编码单元的形状和尺寸来确定的深度和用于区分编码单元的部分索引(part index,下称PID)。
根据一实施例,视频解码装置100可以通过划分具有正方形形状的第一编码单元2100来确定具有各种形状的第二编码单元。参考图21,视频解码装置100可以通过根据划分形状信息在垂直方向和水平方向中的至少一个上划分第一编码单元2100来确定第二编码单元2102a、2102b、2104a、2104b、2106a、2106b、2106c和2106d。换句话说,视频解码装置100可以基于第一编码单元2100的划分形状信息确定第二编码单元2102a、2102b、2104a、2104b、2106a、2106b、2106c和2106d。
根据一实施例,关于具有正方形形状的第一编码单元2100的划分形状信息而确定的第二编码单元2102a、2102b、2104a、2104b、2106a、2106b、2106c和2106d的深度可以基于长边的长度被确定。例如,因为具有正方形形状的第一编码单元2100的一边的长度与具有非正方形形状的第二编码单元2102a、2102b、2104a和2104b的长边的长度相同,所以第一编码单元2100以及具有非正方形形状的第二编码单元2102a、2102b、2104a和2104b的深度可以被视为相同的D。另一方面,当视频解码装置100基于划分形状信息将第一编码单元2100划分成具有正方形形状的四个第二编码单元2106a、2106b、2106c及2106d时,具有正方形形状的第二编码单元2106a、2106b、2106c及2106d的一边的长度是第一编码单元2100的一边的长度的1/2,因此第二编码单元2106a、2106b、2106c及2106d的深度可以比第一编码单元2100的深度D深一个深度,即,D+1。
根据一实施例,视频解码装置100可以根据划分形状信息来在水平方向上将高度比宽度长的第一编码单元2110划分成多个第二编码单元2112a和2112b或2114a、2114b及2114c。根据一实施例,视频解码装置100可以根据划分形状信息来在垂直方向上将宽度比高度长的第一编码单元2120划分成多个第二编码单元2122a和2122b或2124a、2124b及2124c。
根据一实施例,根据关于具有非正方形形状的第一编码单元2110或2120的划分形状信息而确定的第二编码单元2112a、2112b、2114a、2114b、2114c、2122a、2122b、2124a、2124b及2124c的深度可以基于长边的长度被确定。例如,因为具有正方形形状的第二编码单元2112a和2112b的一边的长度是具有高度比宽度长的非正方形形状的第一编码单元2110的长边的长度的1/2,所以具有正方形形状的第二编码单元2102a、2102b、2104a和2104b的深度比具有非正方形形状的第一编码单元2110的深度D深一个深度的深度,即,D+1。
另外,视频解码装置100可以基于划分形状信息将具有非正方形形状的第一编码单元2110划分成奇数个第二编码单元2114a、2114b及2114c。奇数个第二编码单元2114a、2114b及2114c可以包括具有非正方形形状的第二编码单元2114a和2114c以及具有正方形形状的第二编码单元2114b。在这种情况下,因为具有非正方形形状的第二编码单元2114a和2114c的长边的长度以及具有正方形形状的第二编码单元2114b的一边的长度是第一编码单元2110的一边的长度的1/2,所以第二编码单元2114a、2114b及2114c的深度可以比第一编码单元2110的深度D深一个深度的深度,即,D+1。视频解码装置100可以以与确定与第一编码单元2110有关的编码单元的深度的上述方式相对应的方式,确定与具有宽度比长度长的非正方形形状的第一编码单元2120有关的编码单元的深度。
根据一实施例,关于确定用于区分编码单元的索引(PID)而言,当划分成奇数个的编码单元不具有相同尺寸时,视频解码装置100可以基于编码单元之间的尺寸比率确定索引。参考图21,划分成奇数个的第二编码单元2114a、2114b及2114c中的位于中心处的第二编码单元2114b可以具有与其它编码单元2114a和2114c相同的宽度,但是具有其它编码单元2114a和2114c的高度两倍的高度。在这种情况下,位于中心处的第二编码单元2114b可以包括两个其它编码单元2114a和2114c。因此,当位于中心处的编码单元2114b的索引(PID)根据扫描顺序为1时,位于下一个顺序的编码单元2114c的索引可以是增加了2的3。换句话说,索引的值可以是不连续的。根据一实施例,视频解码装置100可以基于用于区分编码单元的索引的不连续性,确定划分成奇数个的编码单元是否具有相同尺寸。
根据一实施例,视频解码装置100可以基于用于区分通过将当前编码单元划分而确定的多个编码单元的索引的值,确定是否划分成特定划分形状。参考图21,视频解码装置100可以通过划分具有高度比宽度长的矩形形状的第一编码单元2110来确定偶数个第二编码单元2112a和2112b或奇数个第二编码单元2114a、2114b及2114c。视频解码装置100可以使用指示每个编码单元的索引(PID)来区分多个编码单元。根据一实施例,可以从每个编码单元的预定的位置(例如,左侧上端样本)处的样本获得PID。
根据一实施例,视频解码装置100可以使用用于区分编码单元的索引来确定被划分而确定的编码单元中确定预定的位置处的编码单元。根据一实施例,当关于具有高度比宽度长的矩形形状的第一编码单元2110的划分形状信息指示第一编码单元2110被划分成三个编码单元时,视频解码装置100可以将第一编码单元2110划分成三个编码单元2114a、2114b及2114c。视频解码装置100可以向三个编码单元2114a、2114b及2114c中的每一个分配索引。视频解码装置100可以对奇数个编码单元的索引进行比较以便从这些编码单元中确定中心编码单元。视频解码装置100可以基于编码单元的索引将具有索引中的与中心值相对应的索引的第二编码单元2114b确定为第一编码单元2110被划分而确定的编码单元中的中心位置处的编码单元。根据一实施例,在确定用于区分编码单元的索引时,若编码单元不具有相同尺寸,则视频解码装置100可以基于编码单元之间的尺寸比率确定索引。参考图21,当第一编码单元2110被划分而生成的第二编码单元2114b可以具有与其它编码单元2114a和2114c相同的宽度,但是可以具有其它编码单元2114a和2114c的高度的两倍的高度。在这种情况下,当位于中心处的第二编码单元2114b的索引(PID)是1时,位于下一个顺序的编码单元2114c的索引可以是增加了2的3。因此,在如此均匀地增加时索引的增加幅度变得不同的情况下,视频解码装置100可以确定当前编码单元被划分成包括具有与其它编码单元不同的尺寸的编码单元的多个编码单元。根据一实施例,当划分形状信息指示划分成奇数个编码单元时,视频解码装置100可以将当前编码单元划分成:预定的位置处的编码单元(例如,中心编码单元)具有与其它编码单元不同的尺寸的奇数个编码单元的形状。在这种情况下,视频解码装置100可以通过使用编码单元的索引(PID)来确定具有不同尺寸的中心编码单元。然而,上述的索引、所要确定的预定的位置处的编码单元的尺寸或位置是用于描述一实施例而特定的,其不应被解释为局限于此,并且可以使用编码单元的各种索引以及各种位置和尺寸。
根据一实施例,视频解码装置100可以使用开始编码单元的递归划分的预定的数据单元。
图22图示根据一实施例的根据包括在画面中的多个预定的数据单元来确定多个编码单元。
根据一实施例,预定的数据单元可以被定义为使用块形状信息和划分形状信息中的至少一个开始在其中递归地划分编码单元的数据单元。换句话说,预定的数据单元可以对应于在通过划分当前画面来确定多个编码单元时使用的最上位深度的编码单元。在下文中,为了描述的方便,预定的数据单元被称为基准数据单元。
根据一实施例,基准数据单元可以指示预定的尺寸和形状。根据一实施例,基准编码单元可以包括M×N个样本。这里,M和N可以是相同的,并且可以是被表达为2的乘数的整数。换句话说,基准数据单元可以指示正方形形状或非正方形形状,并且可以之后被划分成整数个编码单元。
根据一实施例,视频解码装置100可以将当前画面划分成多个基准数据单元。根据一实施例,视频解码装置100可以通过使用关于划分当前画面的多个基准数据单元中的每一个的划分形状信息,来划分所述多个基准数据单元。此类基准数据单元的划分过程中可以对应于使用四叉树结构的划分过程。
根据一实施例,视频解码装置100可以预先确定包括在当前画面中的基准数据单元可具有的最小尺寸。因此,视频解码装置100可以确定具有等于或大于最小尺寸的各种尺寸的基准数据单元,并且基于所确定的基准数据单元使用块形状信息和划分形状信息来确定至少一个编码单元。
参考图22,视频解码装置100可以使用具有正方形形状的基准编码单元2200,或者可以使用非正方形形状的基准编码单元2202。根据一实施例,可以根据可以包括至少一个基准编码单元的各种数据单元(例如,序列、画面、条带、条带片段和最大编码单元等)来确定基准编码单元的形状和尺寸。
根据一实施例,视频解码装置100的获得器可以根据各种数据单元从比特流获得关于基准编码单元的形状的信息和关于基准编码单元的尺寸的信息中的至少一个。已经在上面通过图10的划分当前编码单元1000的过程描述了确定包括在具有正方形形状的基准编码单元2200中的至少一个编码单元的过程,并且已经在上面通过图11的划分当前编码单元1100或1150的过程描述了确定包括在具有非正方形形状的基准编码单元2200中的至少一个编码单元的过程,并且因此省略其详细说明。
根据一实施例,为了根据基于预定条件预先确定的一些数据单元来确定基准编码单元的尺寸和形状,视频解码装置100可以使用用于区分基准编码单元的尺寸和形状的索引。换句话说,针对作为所述各种数据单元(例如,序列、画面、条带、条带片段和最大编码单元等)中满足预定条件(例如,尺寸小于或等于条带的数据单元)的数据单元的每个条带、条带段、最大编码单元,获得器可以从比特流仅获得用于识别基准编码单元的尺寸和形状的索引。视频解码装置100可以通过使用索引针对满足所述预定条件的每个数据单元确定基准数据单元的尺寸和形状。当根据具有相对较小尺寸的数据单元从比特流获得并使用关于基准编码单元的形状的信息和关于基准编码单元的尺寸的信息时,比特流的使用效率可能不足,并因此不是直接地获得关于基准编码单元的形状的信息和关于基准编码单元的尺寸的信息,而是可以仅获得并使用索引。在这种情况下,与指示基准编码单元的尺寸和形状的索引相对应的基准编码单元的尺寸和形状中的至少一个可以是预先确定的。换句话说,视频解码装置100可以根据索引来选择预先确定的基准编码单元的尺寸和形状中的至少一个,以便确定作为用于获得索引的准则的包括在数据单元中的基准编码单元的尺寸和形状中的至少一个。
根据一实施例,视频解码装置100可以使用包括在一个最大编码单元中的至少一个基准编码单元。换句话说,划分图像的最大编码单元可以包括至少一个基准编码单元,并且可以通过每个基准编码单元的递归划分过程而确定编码单元。根据一实施例,最大编码单元的宽度和高度中的至少一个可以对应于基准编码单元的宽度和高度中的至少一个的整数倍。根据一实施例,基准编码单元的尺寸可以等于根据四叉树结构被划分n次的最大编码单元的尺寸。换句话说,视频解码装置100可以通过根据四叉树结构来划分最大编码单元n次而确定基准编码单元,并且根据各种实施例,基于块形状信息和划分形状信息中的至少一个划分基准编码单元。
图23图示根据一实施例的用作确定包括在画面2300中的基准编码单元的确定顺序的基准的处理块。
根据一实施例,视频解码装置100可以确定划分画面的至少一个处理块。处理块是包括划分图像的至少一个基准编码单元的数据单元,并且可以以预定的顺序确定包括在处理块中的至少一个基准编码单元。换句话说,在每个处理块中确定的至少一个基准编码单元中的确定顺序可以对应于用于确定基准编码单元的各种顺序中的一种,并且在每个处理块中确定的基准编码单元中的确定顺序可以根据处理块而不同。按处理块确定的基准编码单元的确定顺序可以是各种顺序(诸如,光栅扫描顺序、Z扫描顺序、N扫描顺序、右上对角扫描顺序、水平扫描顺序和垂直扫描顺序等)中的一种,但是可确定的顺序不应解释为限于上述扫描顺序。
根据一实施例,视频解码装置100可以通过获得关于处理块的尺寸的信息来确定包括在图像中的至少一个处理块的尺寸。视频解码装置100可以从比特流获得关于处理块的尺寸的信息以确定包括在图像中的至少一个处理块的尺寸。处理块的尺寸可以是通过关于处理块的尺寸的信息指示的数据单元的预定的尺寸。
根据一实施例,视频解码装置100的获得器可以按照预定的数据单元来从比特流获得关于处理块的尺寸的信息。例如,可以按照图像、序列、画面、条带、条带片段等的数据单元从比特流获得关于处理块的尺寸的信息。换句话说,获得器可以根据此类若干数据单元来从比特流获得关于处理块的尺寸的信息,并且视频解码装置100可以通过使用所获得的关于处理块的尺寸的信息来确定划分画面的至少一个处理块的尺寸,并且这种处理块的尺寸可以是基准编码单元的尺寸的整数倍。
根据一实施例,视频解码装置100可以确定包括在画面2300中的处理块2302和2312的尺寸。例如,视频解码装置100可以基于从比特流获得的关于处理块的尺寸的信息确定处理块的尺寸。参考图23,根据一实施例,视频解码装置100可以将处理块2302和2312的横向尺寸确定为基准编码单元的横向尺寸的四倍,并且将其纵向尺寸确定为基准编码单元的纵向尺寸的四倍。视频解码装置100可以确定至少一个处理块内至少一个基准编码单元被确定的顺序。
根据一实施例,视频解码装置100可以基于处理块的尺寸确定包括在画面2300中的处理块2302和2312中的每一个,并且确定包括在处理块2302和2312中的至少一个基准编码单元的确定顺序。根据一实施例,基准编码单元的确定可以包括确定基准编码单元的尺寸。
根据一实施例,视频解码装置100可以从比特流获得关于包括在至少一个处理块中的至少一个基准编码单元的确定顺序的信息,并且基于所获得的关于确定顺序的信息确定至少一个编码单元被确定的顺序。可以将关于确定顺序的信息定义为在处理块中基准编码单元被确定的顺序或方向。换句话说,可以按处理块独立地确定基准编码单元被确定的顺序。
根据一实施例,视频解码装置100可以按照预定的数据单元从比特流获得关于基准编码单元的确定顺序的信息。例如,获得器可以按照数据单元(诸如图像、序列、画面、条带、条带片段、处理块等)从比特流获得关于基准编码单元的确定顺序的信息。因为关于基准编码单元的确定顺序的信息指示在处理块内基准编码单元被确定的顺序,所以可以按照包括整数个处理块的特定的数据单元获得关于确定顺序的信息。
根据一实施例,视频解码装置100可以基于所确定的顺序确定至少一个基准编码单元。
根据一实施例,获得器可以从比特流获得关于基准编码单元的确定顺序的信息作为与处理块2302和2312有关的信息,并且视频解码装置100可以确定包括在处理块2302和2312中的至少一个基准编码单元的顺序,并且根据编码单元的确定顺序来确定包括在画面2300中的至少一个基准编码单元。参考图23,视频解码装置100可以确定分别与处理块2302和2312有关的至少一个基准编码单元的确定顺序2304和2314。例如,当按照处理块获得了关于基准编码单元的确定顺序的信息时,与处理块2302和2312有关的基准编码单元的确定顺序可以彼此不同。例如,当按照处理块获得了关于基准编码单元的确定顺序的信息时,与处理块2302和2312有关的基准编码单元的确定顺序可以彼此不同。当与处理块2302有关的确定顺序2304是光栅扫描顺序时,可以根据该光栅扫描顺序来确定包括在处理块2302中的基准编码单元。与此相反,当与处理块2312有关的确定顺序2314是光栅扫描顺序的相反顺序时,可以以该光栅扫描顺序的相反顺序确定包括在处理块2312中的基准编码单元。
根据一实施例,视频解码装置100可以对确定的至少一个基准编码单元进行编码。视频解码装置100可以基于通过以上实施例确定的基准编码单元对图像进行解码。对基准编码单元进行解码的方法的示例可以包括对图像进行解码的各种方法。
根据一实施例,视频解码装置100可以从比特流获得并使用指示当前编码单元的形状的块形状信息或指示划分当前编码单元的方法的划分形状信息。可以将块形状信息或划分形状信息包括在与各种数据单元有关的比特流中。例如,视频解码装置100可以使用包括在序列参数集、画面参数集、视频参数集、条带头和条带片段头中的块形状信息或划分形状信息。另外,视频解码装置100可以根据最大编码单元、基准编码单元和处理块,从比特流获得并使用与块形状信息或划分形状信息相对应的语法。
到此为止,以各种实施例为中心说明了本公开。本公开所属的技术领域中具有普通知识的技术人员应理解的是,本公开可以在不脱离本公开的本质特性的范围内以变更的形式实现。因此,应该不是从限制性的角度而从描述性的角度来考虑所公开的实施例。本公开的范围显示在权利要求书内而不是上文中记载的描述,与其等同范围内的所有区别点应被解释为被包括在本公开中。
同时,本公开的实施例可作为计算机程序被编写并且可用使用计算机可读记录介质来执行程序的通用数字计算机加以实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)、光学记录介质(例如,CD-ROM或DVD)等。

Claims (2)

1.一种视频解码方法,包括:
从比特流获得包括一个或更多个有效变换系数的四边形扫描区域的x轴坐标信息和y轴坐标信息;
基于四边形扫描区域中的第一位置是否等于与x坐标和y坐标对应的位置,并基于先前获得的变换系数中的非零变换系数的数量,确定用于第一位置的标记信息的上下文模型,其中,x坐标与x轴坐标信息对应,y坐标与y轴坐标信息对应,标记信息指示变换系数是否为0;
使用上下文模型获得第一位置的标记信息;
基于第一位置的标记信息确定第一位置的变换系数;
使用第一位置的变换系数生成残差块;以及
基于所生成的残差块恢复当前块。
2.一种视频编码方法,包括:
获得当前块的变换系数;
确定当前块中的包括一个或更多个有效变换系数的四边形扫描区域的x坐标和y坐标;
基于四边形扫描区域中的第一位置是否等于与x坐标和y坐标对应的位置,并基于先前获得的变换系数中的非零变换系数的数量,确定用于第一位置的标记信息的上下文模型,其中,标记信息指示变换系数是否为0;
使用上下文模型对标记信息进行熵编码;以及
生成包括与x坐标对应的x轴坐标信息和与y坐标对应的y轴坐标信息的比特流。
CN202310293317.8A 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置 Pending CN116132674A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762598002P 2017-12-13 2017-12-13
US62/598,002 2017-12-13
CN201880089303.1A CN111788830B (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置
PCT/KR2018/003820 WO2019117402A1 (ko) 2017-12-13 2018-03-30 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880089303.1A Division CN111788830B (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置

Publications (1)

Publication Number Publication Date
CN116132674A true CN116132674A (zh) 2023-05-16

Family

ID=66819653

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201880089303.1A Active CN111788830B (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置
CN202310293317.8A Pending CN116132674A (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置
CN202310286386.6A Pending CN116132673A (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880089303.1A Active CN111788830B (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310286386.6A Pending CN116132673A (zh) 2017-12-13 2018-03-30 视频解码方法及其装置以及视频编码方法及其装置

Country Status (3)

Country Link
KR (1) KR102653848B1 (zh)
CN (3) CN111788830B (zh)
WO (1) WO2019117402A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3664449A1 (en) * 2018-12-05 2020-06-10 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
CN112887727B (zh) * 2019-11-29 2023-06-13 腾讯美国有限责任公司 视频编解码方法和电子设备
WO2023193260A1 (zh) * 2022-04-08 2023-10-12 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927733B1 (ko) * 2006-09-20 2009-11-18 한국전자통신연구원 잔여계수의 상관성에 따라 변환기를 선택적으로 이용한부호화/복호화 장치 및 그 방법
DK3101901T3 (en) * 2010-07-09 2017-09-18 Samsung Electronics Co Ltd Method of entropy decoding transformation coefficients
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
JP5733590B2 (ja) * 2011-07-15 2015-06-10 モトローラ モビリティ エルエルシーMotorola Mobility Llc 変換係数レベルを符号化するコンテキストモデリング技法
EP2735154A1 (en) * 2011-07-22 2014-05-28 Motorola Mobility LLC Device and methods for scanning rectangular-shaped transforms in video coding
US9866829B2 (en) * 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
EP3293975A4 (en) * 2015-09-08 2018-10-10 Samsung Electronics Co., Ltd. Device and method for entropy encoding and decoding

Also Published As

Publication number Publication date
CN116132673A (zh) 2023-05-16
KR102653848B1 (ko) 2024-04-02
CN111788830B (zh) 2023-04-04
WO2019117402A1 (ko) 2019-06-20
CN111788830A (zh) 2020-10-16
KR20200088297A (ko) 2020-07-22

Similar Documents

Publication Publication Date Title
KR102517346B1 (ko) 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
KR102466326B1 (ko) 변환 계수 코딩
KR100914160B1 (ko) 골롬-라이스를 이용하는 무손실의 프레임내 인코딩
CN110832865A (zh) 图像编码方法和设备以及图像解码方法和设备
CN111788830B (zh) 视频解码方法及其装置以及视频编码方法及其装置
KR20180093950A (ko) 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
EP3389274A1 (en) Video decoding method and apparatus by chroma-multi-transform, and video encoding method and apparatus by chroma-multi-transform
KR20180107153A (ko) 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
EP3396951A1 (en) Video decoding method and device for same and video encoding method and device for same
AU2002316546A1 (en) Lossless intraframe encoding using golomb-rice
CN111727606B (zh) 视频解码方法及其装置和视频编码方法及其装置
KR20190038910A (ko) 픽처 외곽선의 부호화 단위를 부호화 또는 복호화하는 방법 및 장치
CN115883826A (zh) 用于对图像进行编码/解码的方法和设备
KR20180075558A (ko) 비디오 복호화 방법 및 장치, 그 부호화 방법 및 장치
CN1572119A (zh) 数字图像的选择性色度抽取
CN108293121B (zh) 视频解码方法和设备及其编码方法和设备
US7565024B2 (en) Run length coding and decoding
US7095897B2 (en) Zero length or run length coding decision
US6912070B1 (en) Sub-optimal variable length coding
RU2776254C1 (ru) Кодирование коэффициентов преобразования
RU2782697C1 (ru) Кодирование коэффициентов преобразования
JP2005176169A (ja) 映像符号化方法および装置
KR20180075484A (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
Salomon Approaches to Compression

Legal Events

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