首页 / 专利库 / 视听技术与设备 / 运动补偿预测 / 用于编码/解码图像的方法

用于编码/解码图像的方法

阅读:96发布:2020-05-14

专利汇可以提供用于编码/解码图像的方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种方法,该方法可以选择性地跳过变换以减轻在将当前主要使用的 运动补偿 变换编码图像压缩技术应用于具有 像素 值的急剧空间变化的图像如计算机图像时主要产生的压缩率和图像 质量 的劣化问题,并且可以通过将当前 块 的变换尺寸与最大变换跳过块相互比较来跳过变换,并且提供用于其的高效的 信号 传送技术。该方法包括以下步骤:在确定是否要对与当前块和预测块之间的差相对应的残差信号进行变换时,将当前变换单位(TU)的尺寸与最大变换跳过块的尺寸进行比较;以及基于TU的尺寸与最大变换跳过块的尺寸之间的比较信息来确定是否要执行变换。,下面是用于编码/解码图像的方法专利的具体信息内容。

1.一种图像编码方法,包括以下步骤:
确定最大变换跳过尺寸;
在确定是否要跳过针对与当前块和预测块之间的差相对应的残差信号的变换时,将当前变换单位尺寸与所述最大变换跳过块尺寸的值进行比较;
基于所述当前变换单位尺寸与所述最大变换跳过块尺寸的值之间的比较信息来确定是否要跳过变换;以及
基于所述比较信息来对指示是否要跳过变换的确定结果的标志和表示所述最大变换跳过块尺寸的值的信息进行编码,
其中如果所述当前变换单位尺寸等于或小于最大变换跳过块尺寸的值,则确定是否要跳过变换,并且将所述标志包括在位流中并且对其进行编码。
2.根据权利要求1所述的图像编码方法,其中,对表示所述最大变换跳过块尺寸的值的信息进行编码的步骤包括以下之一:
方法1),用于将所述最大变换跳过块尺寸的值本身包括在位流中;
方法2),用于将所述最大变换跳过块尺寸相对于所述当前变换单位尺寸的相对值包括在位流中;以及
方法3),用于将所述最大变换跳过块尺寸相对于指示能够由编码器使用的所确定的最小变换块尺寸的值的相对值包括在位流中。
3.根据权利要求1所述的图像编码方法,其中,对表示所述最大变换跳过块尺寸的值的信息进行编码的步骤在与残差编码数据传送相比的较高层中进行编码。
4.根据权利要求3所述的图像编码方法,其中,所述较高层包括图片参数集。
5.根据权利要求3所述的图像编码方法,其中,所述较高层包括序列参数集和切片报头至少之一。
6.根据权利要求1所述的图像编码方法,其中,如果指示是否使用变换执行跳过功能本身的标志被启用,变换和量化二者未被确定成不在编码单位级中使用并且所述当前变换单位尺寸等于或小于所述最大变换跳过块尺寸的值,则确定是否要跳过变换,并且将指示是否要跳过变换的确定结果的标志包括在所述位流中并且对其进行编码。
7.根据权利要求1所述的图像编码方法,还包括以下步骤:基于所确定的变换方法来对当前变换块执行变换。
8.一种图像解码方法,包括以下步骤:
从位流获得表示最大变换跳过块尺寸的信息;
基于所获得的信息得到所述最大变换跳过块尺寸;
将当前变换单位尺寸与所述最大变换跳过块尺寸的值进行比较;以及
基于所述当前变换单位尺寸与所述最大变换跳过块尺寸的值之间的比较信息来确定是否要跳过针对当前变换块的逆变换,
其中如果所述当前变换单位尺寸等于或小于所述最大变换跳过块尺寸的值,则读取指示是否要跳过变换的标志,并且基于所述标志的值来执行逆变换或者跳过逆变换的执行。
9.根据权利要求8所述的图像解码方法,其中,所述最大变换跳过块信息以如下方式被接收:1)将所述最大变换跳过块尺寸的值本身包括在位流中;2)将所述最大变换跳过块尺寸与所述当前变换单位尺寸的相对值包括在位流中;或者3)将所述最大变换跳过块尺寸相对于指示能够由编码器使用的所确定的最小变换块尺寸的值的相对值包括在位流中。
10.根据权利要求8所述的图像解码方法,其中,获得所述信息的步骤包括在与残差编码数据传送相比的较高层中获得所述信息。
11.根据权利要求10所述的图像解码方法,其中,所述较高层包括图片参数集。
12.根据权利要求10所述的图像解码方法,其中,所述较高层包括序列参数集和切片报头至少之一。
13.根据权利要求8所述的图像解码方法,其中,如果指示是否使用逆变换执行跳过功能本身的标志被启用,逆变换和逆量化二者未被确定成不在编码单位级中使用,并且所述当前变换单位尺寸等于或小于所述最大变换跳过块尺寸的值,则读取指示是否要跳过逆变换的标志,并且基于所述标志的值来执行逆变换或跳过逆变换的执行。
14.根据权利要求8所述的图像解码方法,其中,如果所述当前变换单位尺寸大于所述最大变换跳过块尺寸的值,则不读取指示是否要跳过逆变换的标志,并且对当前逆变换块执行逆变换。
15.根据权利要求8所述的图像解码方法,还包括以下步骤:基于所确定的逆变换方法来对当前变换块执行逆变换。

说明书全文

用于编码/解码图像的方法

技术领域

[0001] 本发明涉及图像的编码/解码,并且更具体地涉及用于确定是否要跳过变换并且执行编码/解码的方法和装置。

背景技术

[0002] 按照诸如H.264或高效率图像编码(HEVC)的运动补偿变换编码图像压缩技术,始终执行变换。然而,如果其视频将被压缩的相应内的空间像素值的变化程度非常大或急剧,则即使执行变换,视频能量集中在低频上的程度也并不大。在压缩处理中,如果保持低频分量并且移除高频分量或对高频分量应用强量化,则图片质量可能会严重劣化。特别地,在由计算机产生的人造视频的情况下,这样的问题是显著的。在这种情况下,如果不执行变换并且在空间域执行编码而不是如在现有的方法中那样始终执行变换,则压缩性能变得较好或者图像质量的劣化可以被显著降低。然而,在现有的视频压缩方法中,不管视频的属性如何,始终需要执行变换。如果应用现有的视频压缩方法,始终存在图片质量劣化或压缩比降低的问题。
[0003] 为了避免这样的问题,可以考虑将指示是否要跳过变换的标志插入压缩数据中,使得针对每个变换块指示是否要跳过变换。然而,如果针对每个变换块发送标志,则信号传送所消耗的开销增加,产生了另一问题。
[0004] 作为这样的问题的解决方案,已知一种用于仅在当前变换块尺寸(TU 尺寸)是4×4时通过信号传送确定是否要跳过变换的标志的方法。在这样的技术中,在大于4×4的变换块中不跳过变换并且仅在变换块是4×4时选择性地跳过变换的执行。因此,仅在4×4变换块的情况下发送标志。如果使用最近开发的RQT技术,则可以使用划分成四叉树的多个尺寸的 RQT变换技术来自适应地并且分级地确定适用于每个块的变换块尺寸。在这样的技术中,如果作为检查特定块内的视频的特性的结果而确定变换的效用是小的,则可以通过将块划分成更细微的变换块尺寸并且执行变换来将这样的低效率问题限制于某些变换块。由于最小变换块尺寸是4×4,所以如果现在考虑的变换块尺寸是4×4,则不再执行划分变换。
因此,即使在这种情况下,也确定是否要跳过变换并且传送指示确定的结果的标志,使得解码器知道是否要跳过变换的执行。在这种情况下,存在以下优点:针对标志所消耗的开销可以被降低并且在变换的效用较低的情况下跳过变换。
[0005] 同时,在当前视频压缩技术中,每个编码器自主地可以自适应确定要由解码器使用的最小变换块尺寸。在特定应用中,最小变换块尺寸可以被确定成除4×4之外的另外尺寸,例如8×8或16×16。如果由编码器确定的最小变换块尺寸(在下文中被称为STU)是8×8或更大,则当前技术具有甚至在任何情形下都不能跳过块变换的执行的技术缺点。换言之,在这种情况下,由于视频内的块的变换效率非常低,所以必须忍受压缩比的降低或图片质量的劣化,这是因为存在以下问题:尽管跳过变换是更有利的,但在使用当前技术的情况下不能跳过变换。
[0006] 同时,根据视频的特性,具有低效率变换问题的变换块的尺寸可以以各种方式不同。低效率变换问题通常可能在4×4变换块中产生,这是因为最小变换块尺寸是4×4,但根据视频的特性,也可能在8×8、16×16或32×32 变换块中产生低效率问题。换言之,如果根据现有的技术仅在4×4变换块中考虑低效率问题并且跳过变换,则可能会产生诸如在一些视频中压缩比降低或图片质量劣化的问题。

发明内容

[0007] 技术问题
[0008] 用于解决问题的本发明的目的在于提供实现以下功能的编码器和解码器:检查当前(变换)块的尺寸是否等于或小于由编码器(或用户)确定的可以允许变换跳过的最大变换块尺寸(这在下文中被称为最大变换跳过块尺寸并且确定是对当前变换块执行变换(在执行编码时)处理或逆变换(在执行解码时)处理还是跳过变换处理。
[0009] 本发明的另一目的在于提供编码器和解码器,该编码器和解码器可以传递将用于指示最大变换跳过块尺寸的Log2MaxTrafoSizeSkip值定义在与残差编码数据传送相比的较高层(例如,它可以是序列参数集(SPS)、图片参数集(PPS)或切片报头中选择的任何一个层)中的信息,并且可以根据当前(变换)块的尺寸等于或小于由编码器(或用户)确定的可用Log2MaxTrafoSizeSkip来更灵活地控制是否要跳过变换的执行。
[0010] 本发明的另一目的在于提供实现以下功能的编码器和解码器:限制 Log2MaxTrafoSizeSkip值使得Log2MaxTrafoSizeSkip值等于或大于由编码器确定的最小变换块尺寸(STU);并且基于编码器的确定的结果来控制是否要跳过块变换(在解码器的情况下为逆变换)的执行,即使在 STU大于4×4的情况下也是如此。
[0011] 技术方案
[0012] 用于实现该目的的本发明的图像编码方法可以包括以下步骤:在确定是否要跳过针对与当前块和预测块之间的差相对应的残差信号的变换时,将当前变换单位(TU)尺寸与最大变换跳过块尺寸的值进行比较;以及基于TU尺寸与最大变换跳过块尺寸的值之间的比较信息来确定是否要跳过变换。
[0013] 图像编码方法还可以包括基于比较信息来对指示是否要跳过变换的确定结果的标志进行编码的步骤。
[0014] 用于对最大变换跳过块信息进行编码的方法可以包括以下方法之一:方法1),用于将最大变换跳过块尺寸的值本身包括在位流中;方法2),用于将最大变换跳过块尺寸与当前TU尺寸的相对值包括在位流中;以及方法3),用于将最大变换跳过块尺寸相对于指示能够由编码器使用的所确定的最小变换块尺寸的值的相对值包括在位流中。
[0015] 还可以包括发送将最大变换跳过块尺寸的值定义在与残差编码数据传送相比的较高层中的信息的步骤。
[0016] 该较高层可以包括图片参数集。
[0017] 该较高层可以包括序列参数集和切片报头至少之一。
[0018] 最大变换跳过块尺寸的值可以被设置在由编码器确定的最小变换单位(STU)的尺寸与最大变换块的尺寸之间。
[0019] 如果当前TU尺寸等于或小于最大变换跳过块尺寸的值,则可以确定是否要跳过变换并且可以将指示是否要跳过变换的确定的标志包括在位流中并且对其进行编码。
[0020] 如果指示是否使用了变换执行跳过功能本身的标志被启用,变换和量化二者未被确定成不在编码单位(CU)级中使用,并且当前TU尺寸等于或小于最大变换跳过块尺寸的值,则可以确定是否要跳过变换,并且可以将指示是否要跳过变换的确定结果的标志包括在位流中并且对其进行编码。
[0021] 如果当前TU尺寸大于当前最大变换跳过块尺寸的值,则可以确定要对当前变换块执行变换而不生成指示是否要跳过变换的标志。
[0022] 还可以包括基于所确定的变换方法来对当前变换块执行变换的步骤。
[0023] 用于实现该目的的本发明的图像编码装置可以包括:比较单元,在确定是否要跳过针对与当前块和预测块之间的差相对应的残差信号的变换时将当前变换单位(TU)尺寸与最大变换跳过块尺寸的值进行比较;以及确定单元,基于TU尺寸与最大变换跳过块尺寸的值之间的比较信息来确定是否要跳过变换。
[0024] 用于实现该目的的本发明的图像解码方法可以包括以下步骤:在对经逆量化的变换系数执行逆变换时,将当前变换单位(TU)尺寸与最大变换跳过块尺寸的值进行比较;以及基于TU尺寸与最大变换跳过块尺寸的值之间的比较信息来确定是否要跳过针对当前变换块的逆变换。
[0025] 最大变换跳过块信息可以通过如下方式被接收:1)将最大变换跳过块尺寸的值本身包括在位流中;2)将最大变换跳过块尺寸与当前TU尺寸的相对值包括在位流中;或者3)将最大变换跳过块尺寸相对于指示能够由编码器使用的所确定的最小变换块尺寸的值的相对值包括在位流中。
[0026] 还可以包括接收将最大变换跳过块尺寸的值定义在与残差编码数据传送相比的较高层中的信息的步骤。
[0027] 该较高层可以包括图片参数集。
[0028] 该较高层可以包括序列参数集和切片报头至少之一。
[0029] 最大变换跳过块尺寸的值可以被设置在由编码器确定的最小变换单位(STU)的尺寸与最大变换块的尺寸之间。
[0030] 如果当前TU尺寸等于或小于最大变换跳过块尺寸的值,则可以读取指示是否要跳过逆变换的标志,并且可以基于该标志的值来执行逆变换或跳过执行逆变换。
[0031] 如果指示是否使用了逆变换执行跳过功能本身的标志被启用,逆变换和逆量化二者未被确定成不在编码单位(CU)级中使用并且当前TU尺寸等于或小于最大变换跳过块尺寸的值,则可以读取指示是否要跳过逆变换的标志,并且可以基于该标志的值来执行逆变换或跳过执行逆变换。
[0032] 如果当前TU尺寸大于最大变换跳过块尺寸的值,则可以不读取指示是否要跳过逆变换的标志并且可以对当前逆变换块执行逆变换。
[0033] 还可以包括基于所确定的逆变换方法来对当前变换块执行逆变换的步骤。
[0034] 用于实现该目的的本发明的图像解码装置可以包括:比较单元,在对经逆量化的变换系数执行逆变换时将当前变换单位(TU)尺寸与最大变换跳过块尺寸的值进行比较;以及确定单元,基于TU尺寸与最大变换跳过块尺寸的值之间的比较信息来确定是否要跳过针对当前变换块的逆变换。
[0035] 有益效果
[0036] 根据本发明,可以提高编码效率并且还可以提高主观图像质量,这是因为将当前TU尺寸与Log2MaxTrafoSizeSkip值进行比较并且更灵活且有效地通过信号发送确定是否要跳过逆变换的信息。
[0037] 此外,根据本发明,如果由于要被压缩的视频的相应块内的空间像素值的变化程度非常大或急剧而执行变换,视频能量被集中在低频上的程度也并不大,以及如果在通常保持低频分量并且移除高频分量或在压缩处理中应用强量化时图片质量严重劣化,则限制Log2MaxTrafoSizeSkip值使得其等于或大于STU的尺寸,以及基于编码器的确定结果在没有大开销的情况下经济地指示是否要跳过块变换的执行,尽管STU大于4×4。因此,存在以下优点:可以增加视频压缩比或可以使图片质量的劣化最小。
[0038] 特别是在由计算机生成的人造视频的情况下,这些优点变得显著。附图说明
[0039] 图1是示出根据实施方式的图像编码装置的配置的框图
[0040] 图2是示出根据实施方式的图像解码装置的配置的框图。
[0041] 图3是示意性示出根据本发明的实施方式的用于基于最大变换跳过块尺寸来确定是否要跳过变换并且执行编码的方法的流程图
[0042] 图4是示意性示出根据本发明的实施方式的用于基于最大变换跳过块尺寸来确定是否要跳过逆变换并且执行解码的方法的流程图。

具体实施方式

[0043] 用于实施本发明的最佳方式
[0044] 本发明可以以各种方式来修改并且可以被实现成具有若干实施方式。在附图中示出并且详细地描述具体实施方式。
[0045] 然而,要理解的是,本发明并非旨在限制于特定实施方式,并且本发明包括落入本发明的精神和技术范围内的所有各种修改方案、等同方案和替代方案。
[0046] 诸如第一和第二的术语可以用于描述各种元件,但元件不应受术语的限制。术语仅用于区分一个元件与另一元件。例如,第一元件可以被称为第二元件而不背离本发明的范围。同样地,第二元件可以被称为第一元件。术语“和/或”包括多个相关和图示术语的组合或者多个相关和图示术语中的任何一个。
[0047] 当说一个元件“连接”或“耦接”至另一元件时,应当理解的是,一个元件可以直接地连接或耦接至另一元件,但两个元件之间可以存在第三元件。相反,当描述一个元件“直接地连接”或“直接地耦接”至另一元件时,应当理解的是,两个元件之间不存在第三元件。
[0048] 在本申请中使用的术语仅用于描述具体实施方式,而并非旨在限制本发明。除非在上下文中另外明确地规定,否则单数的表述包括复数的表述。在本申请中,诸如“包括”或“具有”的术语旨在指定说明书中描述的特征、数字、步骤、操作、元件或部件或者它们的组合存在,但不应当被理解成它们排除预先存在或可能增添一个或更多个其他特征、数字、步骤、操作、元件、部件或它们的组合。
[0049] 除非另有规定,本文所使用的术语,包括技术术语或科技术语,具有与本发明所属的技术领域中的技术人员通常理解的意义相同的意义。除非另有规定,否则诸如字典中通常使用和定义的术语等术语应当被解释为具有与在相关技术背景中使用的意义相同的意义,而不应当被解释为具有理想或过分的正式意义。
[0050] 在下文中,参照附图来更详细地描述本发明的优选实施方式。在描述本发明时,为了有助于一般的理解,在整个附图中,相同的附图标记用于表示相同的元件并且跳过对相同的元件的冗余描述。
[0051] 图像编码装置的配置
[0052] 图1是示出根据实施方式的图像编码装置的配置的框图。
[0053] 参照图1,图像编码装置100包括间预测单元110、帧内预测单元 120、开关125、减法器130、变换单元135、量化单元140、熵编码单元 150、逆量化单元160、逆变换单元170、加法器175、滤波器单元180和图片缓冲器190。
[0054] 图像编码装置100可以以帧内模式或帧间模式对输入图像执行编码并且输出位流。在帧内模式的情况下,开关125切换至帧内模式。在帧间模式的情况下,开关125切换至帧间模式。在针对输入图像的输入块生成预测块之后,图像编码装置100可以对输入块和预测块执行残差编码。
[0055] 在帧内模式的情况下,帧内预测单元120可以通过使用与当前块相邻的已编码块的像素值执行空间预测来生成预测块。
[0056] 在帧间模式的情况下,帧间预测单元110可以针对与运动估计处理中的输入块相对应的区域来搜索存储在图片缓冲器190中的参考图像并且计算运动向量。帧间预测单元110可以通过使用运动向量和存储在图片缓存器190中的参考图像执行运动补偿来生成预测块。
[0057] 减法器130可以基于输入块与所生成的预测块之间的差来生成残差块。变换单元135可以对残差块执行变换并且输出变换系数。此外,量化单元140可以基于量化参数来对输入的变换系数进行量化并且输出经量化的系数。
[0058] 熵编码单元150可以基于由量化单元140计算的值或在编码处理中计算的编码参数值来执行熵编码并且输出位流。
[0059] 由于图像编码装置100执行帧间预测编码,所以当前编码图像需要被解码并且被存储以便用作参考图像。因此,经量化的系数可以在逆量化单元160中经历逆量化并且可以在逆变换单元170中经历逆变换。经逆量化和逆变换的系数可以通过加法器175加至预测块,因此可以生成恢复块。
[0060] 恢复块经历滤波器单元180。滤波器单元180可以将解块滤波器、采样自适应偏移(SAO)和自适应环路滤波器(ALF)中的一个或更多个应用于恢复块或恢复图片。已经历滤波器单元180的恢复块可以被存储在图片缓冲器190中。
[0061] 图像解码装置的配置
[0062] 图2是示出根据实施方式的图像解码装置的配置的框图。
[0063] 参照图2,图像解码装置200包括熵解码单元210、逆量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、滤波器单元260 和图片缓冲器270。
[0064] 图像解码装置200可以接收由编码装置输出的位流,可以以帧内模式或帧间模式执行解码并且可以输出重构图片,即恢复图片。在帧内模式的情况下,开关可以切换至帧内模式。在帧间模式的情况下,开关可以切换至帧间模式。
[0065] 在从输入的位流获得重构的残差块并且生成预测块之后,图像解码装置200可以通过将恢复的残差块与预测块相加来生成重构块,即恢复块。
[0066] 熵解码单元210根据概率分布来对输入的位流执行熵编码。可以通过熵编码来生成经量化(变换)的系数。
[0067] 经量化的系数在逆量化单元220中经历逆量化并且在逆变换单元230 中经历逆变换。在经量化的系数经历逆量化/逆变换之后,可以生成恢复的残差块。
[0068] 在帧内模式的情况下,帧内预测单元240可以通过使用与当前块相邻的已解码块的像素值执行空间预测来生成预测块。
[0069] 在帧间模式的情况下,帧间预测单元250可以通过使用运动向量和存储在图片缓冲器270中的参考图像执行运动补偿来生成预测块。
[0070] 恢复的残差块与预测块通过加法器255相加。被相加的块经历滤波器单元260。滤波器单元260可以将解块滤波器、SAO和ALF中的至少一个应用于恢复块或恢复图片。滤波器单元260可以输出重构图片,即恢复图片。恢复图片可以存储在图片缓冲器270中并且用于帧间预测。
[0071] 在下文中,块可以是指图像编码单位和图像解码单位。因此,在本说明书中,根据情况,块可以是指编码单位(CU)、预测单位(PU)或变换单位(TU)。此外,在本说明书中,编码/解码目标块可以用作包括以下二者的意义:在执行变换/逆变换情况下的变换/逆变换目标块和在执行预测情况下的预测目标块。
[0072] 普通残差信号变换处理
[0073] 同时,在对与原始块和预测块之间的差对应的残差信号执行变换时,常规编码器基于当前TU尺寸通过信号传送确定是否要跳过变换的标志。
[0074] 如果当前TU尺寸是4×4,则常规编码器可以通过信号传送确定是否要跳过变换的标志。如果当前TU尺寸大于4×4,则常规编码器不发送确定是否要跳过变换的标志(因此,始终执行变换)。
[0075] 当标志为1时,解码器不对残差信号执行变换。当解码器为0时,解码器对残差信号执行变换。
[0076] 在现有技术中,选择性地跳过执行变换的技术以如下方式来实现。此外,在现有技术中,指示是否要跳过变换的信息以如下方式来传送。
[0077] 在Picture_parameter_set(图片参数集)中,通过 transform_skip_enabled_flag(变换跳过启用标志)来指示是否使用变换执行跳过功能本身。
[0078] 在这种情况下,如果transform_skip_enabled_flag=1,则在每个残差块中存在transform_skip_flag(变换跳过标志),即指示是否要跳过变换的标志信息。在表1中列出了残差块的语法。如表1所示,根据现有技术,仅在变换块的尺寸为4×4时可以存在transform_skip_flag。即,如果变换块的尺寸大于4×4,则存在基本上不能使用变换执行跳过功能的缺点。 transform_skip_flag的值为1的变换块数据不经历逆变换处理,这是因为它意味着在编码时已经跳过变换。在表2中给出了transform_skip_flag 的更详细的描述。
[0079]
[0080] [表1]
[0081]
[0082]
[0083] [表2]
[0084]
[0085] 此外,在表3中示出了根据现有技术的逆变换过程。
[0086] [表3]
[0087]
[0088] 根据现有技术,如果在高级语法中设置的STU大于4×4(即,如果 log2TrafoSize>2),则存在以下问题:不能跳过变换的执行。
[0089] 为了解决上述问题,本发明提供了一种方法,其能够基于由编码器确定的最大变换跳过块尺寸来确定是否要跳过变换并且跳过变换处理,即使由编码器确定的最大变换块尺寸是变化的也是如此。
[0090] 最大变换块跳过块尺寸用于对其的变换处理可以被跳过的变换块尺寸。最大变换跳过块尺寸可以使用块尺寸本身来表示或使用以2为底的对数值来表示。例如,如果最大变换跳过块尺寸是16×16,则可以表示成最大变换跳过块尺寸=16,或者可以表示成最大变换跳过块尺寸=log2(16)=4。在本说明书中,为了便于简单描述,实际块尺寸(例如,16×16 或32×32的表述)或实际块尺寸的对数值(例如,4或5的表述,即以2 为底16或32的对数值)可互换地用于描述最大变换跳过块尺寸而无疑问困惑。就是说,为了便于描述,最大变换块尺寸使用以2为底的对数来指示,并且其值被称为Log2MaxTrafoSizeSkip。为了便于描述,这样的描述方法除了描述最大变换跳过块尺寸以外,还可互换地用于以相同的方式来表示块或变换块的尺寸。
[0091] -如果当前块的尺寸等于或小于Log2MaxTrafoSizeSkip值并且在压缩的位流(或数据)上通过信号传送相应的信息,则编码器确定是否要跳过变换。
[0092] -如果当前块的尺寸等于或小于Log2MaxTrafoSizeSkip值,则解码器从压缩的位流(或数据)读取指示是否要跳过逆变换的标志。如果标志的值是1,则解码器跳过逆变换的执行,并且如果标志是0,则解码器执行逆变换(根据对标志的值的定义,与执行变换有关的0和1的意义可以相反)。
[0093] 图像编码方法
[0094] 图3是示意性地示出根据本发明的实施方式的用于基于最大变换跳过块尺寸来确定是否要跳过变换并且执行编码的流程图。图3所示的步骤中的每个步骤可以在参照图1所描述的图像编码装置的相应元件内执行。
[0095] 编码器可以通过对当前编码目标块执行帧内预测或帧间预测来生成预测块,然后获得与当前编码目标块和预测块之间的差对应的残差信号。在这种情况下,编码器可以基于变换块单位来执行用于变换残差信号的处理,并且该处理可以根据诸如图3的方法来执行。
[0096] 首先,在获得残差信号之后执行变换时,编码器将当前变换块的尺寸与最大变换跳过块尺寸的值进行比较(S310)。最大变换跳过块尺寸的值的传送是通过在与残差编码数据传送相比的较高层(例如,图片参数集、序列参数集或切片报头)中传递最大变换跳过块尺寸 (Log2MaxTrafoSizeSkip)的值(或能够确定该值的信息)来实现的。最大变换跳过块尺寸调整可以允许变换跳过的最大TU尺寸。
[0097] 此外,限制Log2MaxTrafoSizeSkip值使得其等于或大于由编码器确定的最小变换单位(STU)的尺寸,并且如果STU的尺寸大于4×4,则基于编码器的确定结果来控制是否要跳过块变换的执行。例如,如果STU 的尺寸是8×8,则最大变换跳过块尺寸可以从8×8开始并且可以被设置成高达最大变换块的尺寸(例如,这被假设为32×32)(在这种情况下, Log2MaxTrafoSizeSkip值可以是3至5)。例如,在这种情况下,用户或编码器可以将Log2MaxTrafoSizeSkip确定成4。在这种情况下,对于仅针对8×8或16×16的块尺寸而言,可以跳过块变换。同样地,对于另一示例,如果STU的尺寸是16×16,则最大变换跳过块尺寸可以从16×16 开始并且可以被设置成32×32,即最大变换块的尺寸(在这样情况下, Log2MaxTrafoSizeSkip值是4至5)。如果用户或编码器已经设置 Log2MaxTrafoSizeSkip=4,则仅对于16×16的块尺寸而言,可以跳过块变换。
[0098] 如果当前变换块的尺寸小于或等于最大变换跳过块尺寸,则编码器确定是否要跳过对当前变换块的变换(S320)。在这种情况下,当对当前变换块执行变换时,当前变换块变成变换块数据。如果跳过变换,则当前变换块可以是指像素域数据。就是说,为了避免术语的模糊,术语“变换块”用作综合包括两个概念的概念。
[0099] 在这种情况下,可以使用标志以便提供是否要跳过对当前变换块的变换的通知。此外,可以基于该标志的值来执行变换或跳过变换。如果当前  TU尺寸大于Log2MaxTrafoSizeSkip值,则不通过信号传送提供是否要跳过变换的通知的标志,并且始终执行变换。
[0100] 例如,可以使用transform_skip_flag(变换跳过标志),即指示是否要跳过变换的标志。如果transform_skip_flag的值为1,则它可以指示已经跳过变换而未对当前变换块执行变换。如果transform_skip_flag的值是0,则它可以指示已经对当前变换块执行了变换。
[0101] 如果当前变换块的尺寸等于或小于最大变换块跳过块尺寸,则可以基于是否要跳过对当前变换块的变换的确定结果来对指示是否要跳过变换的标志(例如,transform_skip_flag)进行编码并且将其传送至解码器。在这种情况下,如果指示是否要跳过变换的标志(例如, transform_skip_flag)的值为1(S330),则编码器跳过执行对当前变换块的变换(S340)。否则,编码器对当前变换块执行变换(S345)。
[0102] 同时,如果作为在步骤S310处的确定的结果,当前变换块的尺寸大于最大变换跳过块尺寸,则编码器对当前块执行变换(S345)。在这种情况下,不对指示是否要跳过变换的标志(例如,transform_skip_flag)进行编码并且不向解码器传送标志信息。
[0103] 位流的配置
[0104] 根据本发明的位流被配置成如下。
[0105] [表4]
[0106]
[0107] 在这种情况下,编码器需要向解码器通知Log2MaxTrafoSizeSkip信息。用于指示压缩位流中的指示最大变换跳过块尺寸(或Log2MaxTrafoSizeSkip)的信息的实现方法可以是各种各样的。
[0108] 第一实现示例是用于指示位流中的不具有任何改变的 Log2MaxTrafoSizeSkip值本身的方法。用于这样的方法的语法信息被称为log2_max_transform_block_size_transform_skip(log2最大变换块尺寸变换跳过)。例如,如果可以允许变换跳过的最大变换块尺寸是4×4,则以2为底的作为变换块一个边的长度的4的对数值是2。因此,第一实现示例是用于在压缩位流中设置语法元素,即 log2_max_transform_block_size_transform_skip,并且发送2作为语法元素的值的实现方法(方法1)。
[0109] 用 于 指 示 在 压 缩 的 位 流 中 的 指 示 最 大 变 换 跳 过 块 尺 寸 (或 Log2MaxTrafoSizeSkip)的信息的另一实现方法如下。最大变换跳过块尺寸相对于4×4变换块尺寸的相对值可以被表示为以2为底的对数值。该值被称为log2_max_transform_skip_block_size_minus2(log2最大变换跳过块尺寸减2)。该方面的详细示例如下。如果可以允许变换跳过的最大变换块尺寸是8×8,则其中8和4以2为底数的对数值分别是3和2,并且 3与2之间的差,即3-2,是1。因此,该方法是用于设置压缩位流中的被称为log2_max_transform_skip_block_size_minus2并且发送1作为语法元素的值的实现方法(方法2)。方法2是有利的,这是因为 log2_max_transform_skip_block_size_minus2值具有不是负数的属性并且因而在执行编码时可以降低该值被错误设置的可能性。
[0110] 用 于 指 示 在 压 缩 的 位 流 中 的 指 示 最 大 变 换 跳 过 块 尺 寸 (或 Log2MaxTrafoSizeSkip)的信息的另一实现方法如下。最大变换块尺寸相对于由编码器确定的指示最小变换块尺寸的值(该值的对数表述被设为 Log2MinTrafoSize)的相对值可以被指示(为了方便起见,这被称为偏移值)。在这种情况下,该偏移值可以被指示而无任何改变。替选地,该值可以被表示成以2为底的对数值(在位流中指示该值的语法元素被称 log2_max_transform_block_size_transform_skip_minus_min_transform (log2最大变换块尺寸变换跳过减最小变换))。这方面的详细示例如下。如果可以允许变换跳过的最大变换块尺寸是8×8并且由编码器确定的可用最小变换块尺寸是4×4,则以2为底8和4的对数值分别是3和2,并且3与2之间的差,即3-2,是1。因此,该方法是用于将偏移值(或 log2_max_transform_block_size_transform_skip_minus_min_transform) 指示为1的实现方法(方法3)。如同方法2,由于偏移值(或 log2_max_transform_block_size_transform_skip_minus_min_transform) 具有不是负数的属性并且因此在执行编码时可以降低该值被错误地设置的可能性,所以方法3是便利的。
[0111] 通过这样的各种实现示例,Log2MaxTrafoSizeSkip信息最终可以被确定为使用通过压缩数据或位流的相应值传递的信息的下式之一。
[0112] Log2MaxTrafoSizeSkip=log2_max_transform_block_size_transform _skip[0113] Log2MaxTrafoSizeSkip=log2_max_transform_skip_block_size_minu s2+2[0114] Log2MaxTrafoSizeSkip=Log2MinTrafoSize+ log2_max_transform_block_size_transform_skip_minus_min_transform
[0115] 为了便于描述,基本上描述了在指示表6的位流的配置的示例中使用 log2_max_transform_skip_block_size_minus2来指示 Log2MaxTrafoSizeSkip信息。
[0116] 根据上述语法,将执行变换的当前块的尺寸是N=2(log2TrafoSize)。在这种情况下,变换块尺寸(即TU尺寸)是N×N。使用在Picture_parameter_set 中允许使用的以下语法元素 (log2_max_transform_skip_block_size_minus2)来指示指示最大变换跳过块尺寸的信息(Log2MaxTrafoSizeSkip)。在这种情况下,如下确定 Log2MaxTrafoSizeSkip的尺寸。
[0117] Log2MaxTrafoSizeSkip=log2_max_transform_skip_block_size_minu s2+2[0118] 根据本发明的实施方式,如下式来限制 log2_max_transform_skip_block_size_minus2。
[0119] log2_max_transform_skip_block_size_minus2>=log2_min_transform _block_size_minus2..........(1)
[0120] 在这种情况下,语法元素(log2_min_transform_block_size_minus2) 是指示由编码器允许使用并且在序列参数集(Sequence_parameter_set) 中指示的最小变换块(STU)的尺寸的信息。
[0121] 在位流中指示语法元素(log2_min_transform_block_size_minus2) 的实现示例如下(作为更详细的实现示例,示出了用于指示图片参数集 (Picture_parameter_set)层中的语法元素的方法)。
[0122] [表5]
[0123] Picture_parameter_set....
transform_skip_enabled_flag
if(transform_skip_enabled_flag)
log2_max_transform_skip_block_size_minus2
....
[0124] transform_skip_enabled_flag(变换跳过启用标志),即表5的语法元素,是向解码器通知是否使用变换跳过功能本身的标志。如果在给定图片中禁用变换跳过功能本身(如果transform_skip_enabled_flag=0),则通过不专考虑是否要跳过变换而仅需要执行变换。因此,不传送 log2_max_transform_skip_block_size_minus2信息。就是说,仅当 transform_skip_enabled_flag=1时,传送 log2_max_transform_skip_block_size_minus2信息(从编码器的度来看)。从解码器的角度来看,即仅当transform_skip_enabled_flag=1时,解码器从位流读取log2_max_transform_skip_block_size_minus2。
[0125] 作为位流中的log2_max_transform_skip_block_size_minus2语法元素的另一实现示例,用于指示Sequence_parameter_set层中的 log2_max_transform_skip_block_size_minus2语法元素的方法如下。
[0126] [表6]
[0127] Sequence_parameter_set....
log2_max_transform_skip_block_size_minus2
....
[0128] 在Sequence_parameter_set层中指示上述信息的实现示例中,可以传送诸如图7的关于跳过块变换的信息。
[0129] [表7]
[0130] Picture_parameter_set....
transform_skip_enabled_flag
....
[0131] 在两个实现示例中,已经基本上描述了传送 log2_max_transform_skip_block_size_minus2信息以便指示 Log2MaxTrafoSizeSkip值的示例。同样地,如果使用log2_max_transform_block_size_transform_skip或log2_max_transform_block_size_transform_skip_minus_min_transform,即上述另一实现方法,以便指示Log2MaxTrafoSizeSkip值,则以替换两个实现示例中的相应的log2_max_transform_skip_block_size_minus2信息的方式,相同的实现可以也是可能的。
[0132] 根据本发明执行编码的处理总结如下。如果 transform_skip_enabled_flag被禁用(即是0),则不执行转换跳过处理,这是因为针对相应图片的块变换跳过本身已经被完全地禁用。
[0133] 1步骤:接收与当前块和预测块之间的差相对应的残差信号。
[0134] 2步骤:将当前TU尺寸与Log2MaxTrafoSizeSkip值进行比较。
[0135] 3步骤:如果当前TU尺寸等于或小于Log2MaxTrafoSizeSkip值,则执行以下步骤。
[0136] 3-1步骤:确定是否要跳过块变换。
[0137] 3-2步骤:在压缩的位流上通过信号传送指示是否要跳过所确定的块变换的确定结果的标志(如果确定执行变换,则通过信号传送标志=1。如果确定变换跳过,则通过信号传送标志=0)。
[0138] 4步骤:如果当前TU尺寸大于Log2MaxTrafoSizeSkip值或者如果确定执行块变换,则执行变换(在这种情况下,如果当前TU尺寸大于 Log2MaxTrafoSizeSkip值,则不通过信号传送标志)。在这种情况下,如果确定变换跳过,则不执行变换。
[0139] 图像解码方法
[0140] 图4是示意性示出根据本发明的实施方式的基于最大变换跳过块尺寸来确定是否要跳过变换并且执行解码的方法的流程图。图4的步骤中的每个步骤可以在参照图2所描述的图像解码装置的相应元件内执行。
[0141] 参照图4,解码器接收经逆量化的变换系数(S410)。如果经逆量化的变换系数经历逆变换,则经逆量化的变换系数是变换系数,或者如果逆变换被跳过,则经逆量化的变换系数是像素域中的数据。因此,在本说明书中,经逆量化的变换系数可以用作以下意义,该意义综合包括在逆变换被执行时的变换系数和在逆变换被跳过时像素域中的数据值。
[0142] 此外,解码器将当前变换块的尺寸与最大变换跳过块尺寸进行比较(S420)。如以上在编码器中那样,当执行逆变换时,当前变换块变成变换块数据,但当逆变换被跳过时,当前块可以是指像素域数据。就是说,为了避免使术语模糊,术语“变换块”用作综合包括两个概念的概念。
[0143] 此外,解码器将当前变换块的尺寸与最大变换跳过块尺寸进行比较 (S420)。即,解码器对从编码器接收的关于最大变换跳过块尺寸的信息进行解码并且确定当前变换块的尺寸是否等于或小于最大变换跳过块尺寸。例如,如果关于最大变换跳过块尺寸的信息已被表示为“log2_max_transform_skip_block_size_minus2”,则可以对“log2_max_transform_skip_block_size_minus2”进行解码,然后可以将最大变换跳过块尺寸(log2_max_transform_skip_block_size_minus2+2) 与当前变换块的尺寸(log2TrafoSize)进行比较。在这种情况下,已经描述了已接收到作为“log2_max_transform_skip_block_size_minus2”的最大变换跳过块尺寸信息的示例,但是当使用“log2_max_transform_block_size_transform_skip”或“log2_max_transform_block_size_transform_skip_minus_min_transfor m”时,以替换“log2_max_transform_skip_block_size_minus2”信息这样的方式,相同实现也是可能的。
[0144] 如果当前变换块尺寸等于或小于最大变换跳过块尺寸,则解码器可以对指示是否要跳过逆变换的标志(例如,transform_skip_flag)进行解码 (S430)。
[0145] 解码器确定解码的标志(例如,transform_skip_flag)信息是否为1 (S440)并且基于确定的结果来执行逆变换(S450)或跳过逆变换处理 (S455)。
[0146] 例如,如果解码的标志指示已经跳过变换处理(例如,如果 transform_skip_flag的值为1)(S440),则解码器不执行逆变换(S450)。如果解码的标志指示已经执行了变换(例如,如果transform_skip_flag 的值为0)(S440),则解码器执行逆变换(S455)。
[0147] 同时,如果在步骤S420处当前变换块尺寸大于最大变换跳过块尺寸,则解码器不对指示是否要跳过逆变换的标志(例如,transform_skip_flag) 进行解码并且可以对当前变换块执行逆变换(S455)。
[0148] 本发明可以提供以下方法用于指示是否要使用基于最大变换跳过块尺寸来跳过变换处理的功能本身,例如参照图3所描述的功能本身;以及基于最大变换跳过块尺寸来跳过逆变换处理的功能本身,例如参照图4 所描述的功能本身。例如,编码器可以使用基于最大变换跳过块尺寸指示是否使用变换处理跳过功能的标志。在解码处理中,准确的逆处理需要根据编码处理来执行。如果基于最大变换跳过块尺寸指示是否使用变换跳过功能的标志指示在编码处理中使用了变换处理跳过功能,则同样地,这意味着在解码处理中基于最大变换跳过块尺寸来使用逆变换处理跳过功能。标志信息可以被设置在图片参数集(PPS)中并且被传送至解码器。替选地,标志信息可以被设置在序列参数集(SPS)或切片报头中并且被传送至解码器。
[0149] 根据本发明来执行解码的处理总结如下。
[0150] 1步骤:将当前TU尺寸与Log2MaxTrafoSizeSkip值进行比较。
[0151] 2步骤:如果当前TU尺寸等于或小于Log2MaxTrafoSizeSkip值,则执行以下步骤。
[0152] 2-1步骤:从压缩的图像数据中读取指示是否要跳过逆变换的标志。
[0153] 2-2步骤:如果标志为1,则不执行逆变换。
[0154] 2-3步骤:如果标志为0,则执行逆变换。
[0155] 3步骤:如果当前TU尺寸大于Log2MaxTrafoSizeSkip尺寸。
[0156] 3-1步骤:执行逆变换(不从压缩的图像数据中读取指示是执行逆变换还是跳过逆变换的标志)。
[0157] 为了执行本发明的解码处理,则可以另外地执行以下执行处理。
[0158] 从picture_parameter_set中读取transform_skip_enabled_flag。如果 transform_skip_enabled_flag=1,则另外地读取 log2_max_transform_skip_block_size_minus2。此外,执行以下处理。
[0159] Log2MaxTrafoSizeSkip=log2_max_transform_skip_block_size_minu s2+2[0160] 作为用于执行本发明的解码处理的另一实现示例,可以执行以下执行处理。
[0161] [表8]
[0162]Sequence_parameter_set
....
log2_max_transform_skip_block_size_minus2
....
[0163] 从sequence_parameter_set中读取log2_max_transform_skip_block_size_minus2。此外,从 picture_parameter_set中读取transform_skip_enabled_flag。此后,执行以下处理。
[0164] if(transform_skip_enabled_flag)
[0165] Log2MaxTrafoSizeSkip=log2_max_transform_skip_block_size_minu s2+2[0166] else
[0167] Log2MaxTrafoSizeSkip=2
[0168] 尽管以上已经对本发明的一些实施方式进行说明,但本领域技术人员将理解的是,在不背离所附权利要求限定的本发明的技术内容和范围的情况下可以以各种方式对本发明进行修改。因此,本发明的实施方式的将来改变将不背离本发明的技术。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈