用于对视频进行编码和解码的方法和装置与流程

未命名 09-07 阅读:122 评论:0

用于对视频进行编码和解码的方法和装置
1.本技术为于2019年1月31日提交、申请号为201780047978.5、发明名称为“视频信号处理方法和装置”的中国专利申请的分案申请。所述母案申请的国际申请日为2017年8月3日,国际申请号为pct/kr2017/008412。
技术领域
2.本发明涉及用于处理视频信号的方法和装置。


背景技术:

3.近来,在各种应用领域中对高分辨率和高质量图像例如高清晰度(hd)图像和超高清晰度(uhd)图像的需求已经增加。然而,与常规图像数据相比,更高分辨率和质量的图像数据的数据量增加。因此,当通过使用介质例如常规的有线和无线宽带网络发送图像数据时,或者当通过使用常规的存储介质存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,可以利用高效的图像编码/解码技术。
4.图像压缩技术包括各种技术,各种技术包括:根据当前图片的先前图片或后续图片来对包括在当前图片中的像素值进行预测的帧间预测技术;通过使用当前图片中的像素信息对包括在当前图片中的像素值进行预测的帧内预测技术;将短代码分配给出现频率高的值并且将长代码分配给出现频率低的值的熵编码技术等。可以通过使用这样的图像压缩技术来有效地压缩图像数据,并且图像数据可以被发送或存储。
5.同时,随着对高分辨率图像的需求,也增加了对作为新图像服务的立体图像内容的需求。对用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术进行讨论。


技术实现要素:

6.技术问题
7.本发明的目的是提供用于在编码/解码视频信号时对编码/解码目标块有效地执行帧内预测的方法和装置。
8.本发明的目的是提供用于通过在编码/解码视频信号时选择多个参考线中的至少之一来对编码/解码目标块执行帧内预测的方法和装置。
9.本发明的目的是提供用于在编码/解码视频信号时基于具有预定形状或具有等于或大于预定尺寸的尺寸的块来得到参考线的方法和装置。
10.本发明的目的是提供在编码/解码视频信号时将帧内滤波器应用于多个参考线中的至少之一的方法和装置。
11.本发明的目的是提供用于在编码/解码视频信号时根据用于当前块的帧内预测的参考线自适应地确定帧内预测模式或帧内预测模式的数目的方法和装置。
12.本发明要实现的技术目的不限于上述技术问题。并且,本领域技术人员将从以下
描述中明显地理解未提及的其他技术问题。
13.技术解决方案
14.根据本发明的用于对视频信号解码的方法和装置可以:针对当前块得到多个参考样本线;选择多个参考样本线中的至少两个;以及基于所选择的参考样本线来执行对当前块的帧内预测。
15.根据本发明的用于对视频信号编码的方法和装置可以:针对当前块得到多个参考样本线;选择多个参考样本线中的至少两个;以及基于所选择的参考样本线来执行对当前块的帧内预测。
16.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,选择多个参考样本线中的至少两个可以对应于针对当前块的每个预定区域选择不同的参考样本线。
17.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以在与当前块的边界邻近的第一区域与除第一区域以外的第二区域之间选择不同的参考样本线。
18.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以根据当前块的帧内预测模式来确定边界。
19.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于参考样本的加权和运算来获得当前块的预测样本,参考样本中的每一个包括在不同的样本线中。
20.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于当前块的帧内预测模式、预测样本与参考样本之间的距离或包括参考样本的参考样本线的位置中的至少之一来确定应用于参考样本中的每一个的权重。
21.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于具有预定形状或具有等于或大于预定尺寸的尺寸的块来得到多个参考样本线,该块包括当前块。
22.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,当前块可以与包括在具有预定形状或具有等于或大于预定尺寸的尺寸的块中的邻近块共享多个参考样本线。
23.上面对本发明简要概述的特征仅是下面对本发明的详细描述的说明性方面,但不限制本发明的范围。
24.有益效果
25.根据本发明,可以对编码/解码目标块执行有效的帧内预测。
26.根据本发明,可以通过选择多个参考线中的至少之一来执行对编码/解码目标块的帧内预测。
27.根据本发明,可以基于具有预定形状或具有等于或大于预定尺寸的尺寸的块来得到参考线。
28.根据本发明,帧内滤波器可以应用于多个参考线中至少之一。
29.根据本发明,可以根据用于当前块的帧内预测的参考线自适应地确定帧内预测模式或帧内预测模式的数目。
30.本发明可获得的效果不限于上述效果,并且本领域技术人员可以从以下描述中清楚地理解未提及的其他效果。
附图说明
31.图1是示出根据本发明的实施方式的用于对视频进行编码的装置的框图。
32.图2是示出根据本发明的实施方式的用于对视频进行解码的装置的框图。
33.图3是示出根据本发明的实施方式的基于树结构对编码块进行分层划分的示例的图。
34.图4是示出根据本发明的实施方式的允许基于二叉树的划分的划分类型的图。
35.图5是示出根据本发明的实施方式的仅允许预定类型的基于二叉树的划分的示例的图。
36.图6是用于说明根据应用本发明的实施方式的与二叉树划分的允许数目有关的信息被编码/解码的示例的图。
37.图7是示出根据本发明的实施方式的可应用于编码块的划分模式的图。
38.图8是示出根据本发明的实施方式的用于对视频进行编码/解码的装置的预定义的帧内预测模式的类型的图。
39.图9是示出根据本发明的实施方式的一种扩展帧内预测模式的图。
40.图10是简要示出根据本发明的实施方式的帧内预测方法的流程图。
41.图11是示出根据本发明的实施方式的基于邻近样本的差异信息来对当前块的预测样本进行校正的方法的图。
42.图12和图13是示出根据本发明的实施方式的基于预定的校正滤波器对预测样本进行校正的方法的图。
43.图14示出了根据应用本发明的实施方式的用于帧内预测的参考样本的范围。
44.图15至图17示出了根据本发明的实施方式的对参考样本进行滤波的示例。
45.图18是示出根据本发明的实施方式的多个参考样本线的图。
46.图19是示出根据本发明的实施方式的根据当前块的形状确定扩展参考线的使用的示例的图。
47.图20是示出根据本发明的基于扩展参考线执行帧内预测的方法的流程图。
48.图21是示出根据本发明的用于非正方形块的多个参考线的图。
49.图22是用于说明用位于距不可用参考样本的最短距离处的可用参考样本替换不可用参考样本的示例的图。
50.图23和图24是用于说明根据不可用参考样本和包括在与不可用参考样本相同的参考线中的可用参考样本之间的距离自适应地确定可用参考样本的位置的实施方式的图。
51.图25和图26是示出根据应用本发明的实施方式的用于得到参考线的平均值的参考样本的图。
52.图27是示出使用多个参考线获得预测样本的示例的图。
53.图28是用于说明基于解码目标样本的位置信息确定参考线的示例的图。
54.图29是示出使用基于预定形状的块得到的参考样本来执行帧内预测的示例的图。
55.图30是示出使用基于预定形状的块得到的多个参考线来执行帧内预测的示例的图。
56.图31是示出根据应用本发明的实施方式的获得残差样本的处理的流程图。
具体实施方式
57.可以对本发明进行各种修改并且存在本发明的各种实施方式,现在将参照附图提供其示例并且详细描述。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的全部修改、等同物或替代方案。类似的附图标记表示附图中描述的类似元件。
58.说明书中使用的术语“第一”、“第二”等可以用于描述各种部件,但是部件不应被解释为受这些术语的限制。术语仅用于区分一个部件与其他部件。例如,在不偏离本发明的范围的情况下,“第一”部件可以被称为“第二”部件,并且“第二”部件也可以被类似地称为“第一”部件。术语“和/或”包括多个项的组合或者多个术语中的任意一个术语。
59.将理解的是,当在本说明书中元件被简称为“连接至”或“耦接至”另一元件而不是“直接连接至”或“直接耦接至”另一元件时,它可以“直接连接至”或“直接耦接至”另一元件,或者在有其他元件介于其间的情况下被连接至或耦接至另一元件。相反地,应该理解的是,当元件被称为“直接耦接”或“直接连接”至另一元件时,不存在中间元件。
60.本说明书中使用的术语仅用于描述特定实施方式,而并不旨在限制本发明。以单数使用的表述包含复数的表述,除非该表述在上下文中有明显不同的含义。在本说明书中,应当理解的是,诸如“包括”、“具有”等的术语意在指示本说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不意在排除可以存在或可以添加一个或更多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。
61.在下文中,将参照附图详细描述本发明的优选实施方式。在下文中,附图中的相同组成元件用相同的附图标记表示,并且将省略对相同元件的重复描述。
62.图1是示出根据本发明的实施方式的用于对视频进行编码的装置的框图。
63.参照图1,用于对视频进行编码的装置(100)可以包括:图片划分模块(110)、预测模块(120,125)、变换模块(130)、量化模块(135)、重排模块(160)、熵编码模块(165)、逆量化模块(140)、逆变换模块(145)、滤波器模块(150)和存储器(155)。
64.图1所示的组成部分被独立地示出,以便表示在用于对视频进行编码的装置中的彼此不同的特征功能。因此,这并不意味着每个组成部分都是以单独的硬件或软件的组成单元组成。换言之,为了方便起见,每个组成部分包括列举的组成部分中的每一个。因此,每个组成部分的至少两个组成部分可以被组合,以形成一个组成部分,或者一个组成部分可以被分成多个组成部分以执行每个功能。在不偏离本发明的本质的情况下,组合每个组成部分的实施方式和分割一个组成部分的实施方式也被包括在本发明的范围内。
65.此外,组分中的一些可能不是执行本发明的基本功能的必不可少的组分,而是仅用于改进本发明的性能的可选组分。可以通过排除用于改进性能的组分而仅包括用于实现本发明的实质的必不可少的组成部分来实现本发明。排除仅用于改进性能的可选组分而仅包括必不可少的组分的结构也被包括在本发明的范围内。
66.图片划分模块(110)可以将输入图片划分成一个或更多个处理单元。此处,处理单元可以是预测单元(pu)、变换单元(tu)或编码单元(cu)。图片划分模块(110)可以将一个图片划分成多个编码单元、预测单元和变换单元的组合,并且可以通过使用预定标准(例如,成本函数)选择编码单元、预测单元和变换单元的一个组合来对图片进行编码。
67.例如,一个图片可以被划分成多个编码单元。可以使用递归树结构(例如,四叉树
结构)来将图片划分成编码单元。在一个图片或最大编码单元作为根的情况下被划分成其他编码单元的编码单元可以用与所划分的编码单元的数目对应的子节点进行划分。由于预定限制不再被划分的编码单元用作叶节点。亦即,当假设对于一个编码单元仅正方形划分可行时,一个编码单元可以最多被划分成四个其他编码单元。
68.在下文中,在本发明的实施方式中,编码单元可以意指执行编码的单元或者执行解码的单元。
69.预测单元可以是被划分成在单个编码单元中具有相同尺寸的正方形或矩形形状的分区(partition)之一,或者预测单元可以是被划分成使得在单个编码单元中具有不同的形状/尺寸的分区之一。
70.当基于编码单元生成要经受帧内预测的预测单元并且编码单元不是最小编码单元时,可以在不将编码单元划分成多个预测单元n
×
n的情况下执行帧内预测。
71.预测模块(120,125)可以包括执行帧间预测的帧间预测模块(120)和执行帧内预测的帧内预测模块(125)。可以确定对于预测单元是执行帧间预测还是帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动向量、参考图片等)。此处,要经受预测的处理单元可以与预测方法和详细内容被确定的处理单元不同。例如,可以由预测单元确定预测方法、预测模式等,并且可以由变换单元执行预测。所生成的预测块与原始块之间的残差值(残差块)可以被输入至变换模块(130)。此外,用于预测的预测模式信息、运动向量信息等可以与残差值一起由熵编码模块(165)进行编码,并且可以被传送至用于对视频进行解码的装置。当使用特定编码模式时,可以通过按原样对原始块进行编码而不通过预测模块(120,125)生成预测块来传送至用于对视频进行解码的装置。
72.帧间预测模块(120)可以基于当前图片的先前图片或后续图片中至少之一的信息来预测预测单元,或者在一些情况下,可以基于当前图片中的一些编码区域的信息来预测预测单元。帧间预测模块(120)可以包括参考图片插值模块、运动预测模块以及运动补偿模块。
73.参考图片插值模块可以从存储器(155)接收参考图片信息,并且可以根据参考图片来生成整像素或小于整像素的像素信息。在亮度像素的情况下,可以使用具有不同滤波器系数的基于dct的8抽头插值滤波器,来以1/4像素为单位生成整像素或小于整像素的像素信息。在色度信号的情况下,可以使用具有不同滤波器系数的基于dct的4抽头插值滤波器,来以1/8像素为单位生成整像素或小于整像素的像素信息。
74.运动预测模块可以基于由参考图片插值模块插值的参考图片来执行运动预测。作为用于计算运动向量的方法,可以使用诸如基于全搜索的块匹配算法(fbma)、三步搜索(tss)和新三步搜索算法(nts)等的各种方法。运动向量可以具有基于插值像素的以1/2像素或1/4像素为单位的运动向量值。运动预测模块可以通过改变运动预测方法来预测当前预测单元。作为运动预测方法,可以使用各种方法,例如跳过方法、合并方法、amvp(高级运动向量预测)方法、帧内块复制方法等。
75.帧内预测模块(125)可以基于与作为当前图片中的像素信息的当前块邻近的参考像素信息来生成预测单元。在当前预测单元的邻近块是要经受帧间预测的块并且因此参考像素是要经受帧间预测的像素时,可以使用要经受帧内预测的邻近块的参考像素信息来代替要经受帧间预测的块中包括的参考像素。亦即,当参考像素不可用时,可以使用可用参考
像素中的至少一个参考像素来代替不可用的参考像素信息。
76.帧内预测中的预测模式可以包括根据预测方向使用参考像素信息的方向预测模式和在执行预测时不使用方向信息的非方向预测模式。用于预测亮度信息的模式可以与用于预测色度信息的模式不同,并且为了预测色度信息,可以利用用于预测亮度信息的帧内预测模式信息或者预测的亮度信号信息。
77.在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸相同时,可以基于位于预测单元的左侧、左上侧和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用n
×
n划分的帧内预测可以仅用于最小编码单元。
78.在帧内预测方法中,可以在根据预测模式将ais(自适应帧内平滑)滤波器应用于参考像素之后生成预测块。应用于参考像素的ais滤波器的类型可以变化。为了执行帧内预测方法,可以根据与当前预测单元邻近的预测单元的帧内预测模式来预测当前预测单元的帧内预测模式。在通过使用根据邻近预测单元预测的模式信息来预测当前预测单元的预测模式中,在当前预测单元的帧内预测模式与邻近预测单元的帧内预测模式相同时,可以使用预定的标记信息来传送指示当前预测单元和邻近预测单元的预测模式彼此相等的信息。在当前预测单元的预测模式与邻近预测单元的预测模式不同时,可以执行熵编码,以对当前块的预测模式信息进行编码。
79.此外,可以基于由预测模块(120,125)生成的预测单元来生成包括与残差值有关的信息的残差块,残差值是要经受预测的预测单元与预测单元的原始块之间的差。所生成的残差块可以被输入到变换模块(130)。
80.变换模块(130)可以通过使用变换方法(例如,离散余弦变换(dct)、离散正弦变换(dst)和klt)来对残差块(其包括与由预测模块(120,125)生成的预测单元和原始块之间的残差值有关的信息)进行变换。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是否应用dct、dst或klt以便对残差块进行变换。
81.量化模块(135)可以对由变换模块(130)变换到频域的值进行量化。量化系数可以取决于图片的重要性或块而变化。由量化模块(135)计算的值可以被提供至逆量化模块(140)和重排模块(160)。
82.重排模块(160)可以对经量化的残差值的系数进行重排。
83.重排模块(160)可以通过系数扫描方法将呈二维块形式的系数变为呈一维向量形式的系数。例如,重排模块(160)可以使用锯齿形扫描方法从dc系数扫描至高频域中的系数,以便将系数变为一维向量形式。取决于变换单元的尺寸和帧内预测模式,可以使用沿列方向扫描呈二维块形式的系数的垂直方向扫描或沿行方向扫描呈二维块形式的系数的水平方向扫描来代替锯齿形扫描。亦即,可以取决于变换单元的尺寸和帧内预测模式来确定使用锯齿形扫描、垂直方向扫描和水平方向扫描中的哪种扫描方法。
84.熵编码模块(165)可以基于由重排模块(160)计算的值来执行熵编码。熵编码可以使用各种编码方法,例如,指数哥伦布(golomb)编码、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)。
85.熵编码模块(165)可以对来自重排模块(160)以及预测模块(120,125)的各种信息(例如,编码单元的块类型信息和残差值系数信息、预测模式信息、划分单元信息、预测单元
信息、变换单元信息、运动向量信息、参考帧信息、块插值信息、滤波信息等)进行编码。
86.熵编码模块(165)可以对从重排模块(160)输入的编码单元的系数进行熵编码。
87.逆量化模块(140)可以对由量化模块(135)量化的值进行逆量化,并且逆变换模块(145)可以对由变换模块(130)变换的值进行逆变换。由逆量化模块(140)和逆变换模块(145)生成的残差值可以与预测模块(120,125)的帧内预测模块、运动补偿模块和运动估计模块预测的预测单元组合,使得可以生成重构块。
88.滤波器模块(150)可以包括去块滤波器、偏移校正单元以及自适应环路滤波器(alf)中的至少之一。
89.去块滤波器可以去除由于在重构图片中的块之间的边界而出现的块失真。为了确定是否执行去块,在块的若干行或列中包括的像素可以是确定是否对当前块应用去块滤波器的基础。当对块应用去块滤波器时,可以取决于所需的去块滤波强度来应用强滤波器或弱滤波器。此外,在应用去块滤波器时,可以并行地处理水平方向滤波和垂直方向滤波。
90.偏移校正模块可以在要经受去块的图片中以像素为单位校正与原始图片的偏移。为了对特定图片执行偏移校正,可以使用考虑每个像素的边缘信息来施加偏移的方法,或者可以使用下述方法:将图片的像素划分为预定数目的区域、确定要执行偏移的区域,并且对所确定的区域施加偏移。
91.可以基于通过将经滤波的重构图片与原始图片进行比较而获得的值来执行自适应环路滤波(alf)。在图片中包括的像素可以被分成预定组,可以确定要应用于组中的每个组的滤波器,并且可以针对每个组来单独地执行滤波。可以通过编码单元(cu)传送与是否应用alf和亮度信号有关的信息。用于alf的滤波器的形状和滤波器系数可以取决于每个块而不同。此外,无论应用目标块的特征如何,都可以应用采用相同形状(固定形状)的用于alf的滤波器。
92.存储器(155)可以存储通过滤波器模块(150)计算的重构块或图片。可以在执行帧间预测时将所存储的重构块或图片提供至预测模块(120,125)。
93.图2是示出根据本发明的实施方式的用于对视频进行解码的装置的框图。
94.参照图2,用于对视频进行解码的装置(200)可以包括:熵解码模块(210)、重排模块(215)、逆量化模块(220)、逆变换模块(225)、预测模块(230,235)、滤波器模块(240)以及存储器(245)。
95.当从用于对视频进行编码的装置输入视频比特流时,可以根据用于对视频进行编码的装置的逆过程来对输入比特流进行解码。
96.熵解码模块(210)可以根据由用于对视频进行编码的装置的熵编码模块进行的熵编码的逆过程来执行熵解码。例如,对应于由用于对视频进行编码的装置执行的方法,可以应用各种方法,例如,指数哥伦布编码、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)。
97.熵解码模块(210)可以对与由用于对视频进行编码的装置执行的帧内预测和帧间预测有关的信息进行解码。
98.重排模块(215)可以基于在用于对视频进行编码的装置中使用的重排方法对由熵解码模块(210)熵解码的比特流执行重排。重排模块可以将呈一维向量形式的系数重构和重排为呈二维块形式的系数。重排模块(215)可以接收与在用于对视频进行编码的装置中
执行的系数扫描相关的信息,并且可以基于在用于对视频进行编码的装置中执行的扫描顺序经由对系数进行逆扫描的方法来执行重排。
99.逆量化模块(220)可以基于从用于对视频进行编码的装置接收到的量化参数和块的经重排的系数来执行逆量化。
100.逆变换模块(225)可以执行逆变换,即,逆dct、逆dst和逆klt,这是由变换模块对用于对视频进行编码的装置的量化结果执行的变换(即dct、dst和klt)的逆过程。可以基于由用于对视频进行编码的装置确定的传输单元来执行逆变换。用于对视频进行解码的装置的逆变换模块(225)可以根据多条信息(例如,预测方法、当前块的尺寸、预测方向等)来选择性地执行变换方案(例如,dct、dst、klt)。
101.预测模块(230,235)可以基于与从熵解码模块(210)接收到的预测块生成有关的信息和从存储器(245)接收到的先前解码的块或图片信息来生成预测块。
102.如上所述,类似于用于对视频进行编码的装置的操作,在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸相同时,可以基于位于预测单元的左侧、左上侧和顶部的像素对预测单元执行帧内预测。在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用n
×
n划分的帧内预测可以仅用于最小编码单元。
103.预测模块(230,235)可以包括预测单元确定模块、帧间预测模块以及帧内预测模块。预测单元确定模块可以从熵解码模块(210)接收各种信息(例如,预测单元信息、帧内预测方法的预测模式信息、与帧间预测方法的运动预测有关的信息等),可以将当前编码单元分成预测单元,并且可以确定对预测单元执行帧间预测还是帧内预测。通过使用从用于对视频进行编码的装置接收到的当前预测单元的帧间预测中所需的信息,帧间预测模块(230)可以基于包括当前预测单元的当前图片的先前图片或后续图片中至少之一的信息来对当前预测单元执行帧间预测。替选地,可以基于包括当前预测单元的当前图片中的一些预先重构区域的信息来执行帧间预测。
104.为了执行帧间预测,可以针对编码单元确定将跳过模式、合并模式、amvp模式和帧间块复制模式中的哪一个用作为在编码单元中包括的预测单元的运动预测方法。
105.帧内预测模块(235)可以基于当前图片中的像素信息来生成预测块。当预测单元是要经受帧内预测的预测单元时,可以基于从用于对视频进行编码的装置接收到的预测单元的帧内预测模式信息来执行帧内预测。帧内预测模块(235)可以包括自适应帧内平滑(ais)滤波器、参考像素插值模块以及dc滤波器。ais滤波器对当前块的参考像素执行滤波,并且可以根据当前预测单元的预测模式来确定是否应用滤波器。可以通过使用从用于对视频进行编码的装置接收到的ais滤波器信息和预测单元的预测模式来对当前块的参考像素执行ais滤波。在当前块的预测模式是不执行ais滤波的模式时,可以不应用ais滤波器。
106.当预测单元的预测模式是基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值模块可以对参考像素进行插值,以生成整像素或小于整像素的参考像素。在当前预测单元的预测模式是在没有对参考像素进行插值的情况下生成预测块的预测模式时,可以不对参考像素进行插值。在当前块的预测模式是dc模式时,dc滤波器可以通过滤波来生成预测块。
107.重构块或图片可以被提供至滤波器模块(240)。滤波器模块(240)可以包括去块滤
波器、偏移校正模块以及alf。
108.可以从用于对视频进行编码的装置接收与是否将去块滤波器应用于对应的块或图片有关的信息以及与在应用去块滤波器时应用强滤波器和弱滤波器中的哪个滤波器有关的信息。用于对视频进行解码的装置的去块滤波器可以从用于对视频进行编码的装置接收与去块滤波器有关的信息,并且可以对对应的块执行去块滤波。
109.偏移校正模块可以基于在执行编码时应用于图片的偏移值信息和偏移校正的类型来对重构图片执行偏移校正。
110.可以基于从用于对视频进行编码的装置接收到的与是否应用alf有关的信息、alf系数信息等对编码单元应用alf。alf信息可以被提供为被包括在特定参数集中。
111.存储器(245)可以存储重构图片或块以用作参考图片或块,并且可以将重构图片提供至输出模块。
112.如上所述,在本发明的实施方式中,为了便于说明,编码单元用作表示用于编码的单元的术语,然而,编码单元可以用作执行解码以及编码的单元。
113.此外,当前块可以表示要被编码/解码的目标块。并且,取决于编码/解码步骤,当前块可以表示编码树块(或编码树单元)、编码块(或编码单元)、变换块(或变换单元)、预测块(或预测单元)等。
114.可以通过将图片划分成具有正方形形状或非正方形形状的基本块来对图片进行编码/解码。此时,基本块可以称为编码树单元。编码树单元可以被定义为序列或切片(slice)内允许的最大尺寸的编码单元。可以通过序列参数集、图片参数集或切片头部来用信号发送与编码树单元是具有正方形形状还是具有非正方形形状有关的信息或与编码树单元的尺寸有关的信息。编码树单元可以被划分成更小尺寸的分区。此时,如果假设通过划分编码树单元而生成的分区的深度是1,则通过划分具有深度1的分区而生成的分区的深度可以被定义为2。亦即,通过在编码树单元中划分具有深度k的分区而生成的分区可以被定义为具有深度k+1。
115.通过划分编码树单元而生成的任意尺寸的分区可以被定义为编码单元。编码单元可以被递归地划分或划分成用于执行预测、量化、变换或环内滤波等的基本单元。例如,通过划分编码单元而生成的任意尺寸的分区可以被定义为编码单元,或者可以被定义为变换单元或预测单元,其是用于执行预测、量化、变换或环内滤波等的基本单元。
116.可以基于垂直线和水平线中至少之一来执行编码树单元或编码单元的划分。此外,划分编码树单元或编码单元的垂直线或水平线的数目可以是至少一个或更多个。例如,可以使用一个垂直线或一个水平线将编码树单元或编码单元划分成两个分区,或者可以使用两个垂直线或两个水平线将编码树单元或编码单元划分成三个分区。替选地,可以通过使用一个垂直线和一个水平线将编码树单元或编码单元划分成具有1/2的高度和宽度的四个分区。
117.当使用至少一个垂直线或至少一个水平线将编码树单元或编码单元划分成多个分区时,分区可以具有统一的尺寸或不同的尺寸。替选地,任何一个分区可以具有与剩余分区不同的尺寸。
118.在下面描述的实施方式中,假设编码树单元或编码单元被划分成四叉树结构或二叉树结构。然而,也可以使用更大数目的垂直线或更大数目的水平线来划分编码树单元或
编码单元。
119.图3是示出根据本发明的实施方式的基于树结构对编码块进行分层划分的示例的图。
120.以预定的块单元对输入视频信号进行解码。用于对输入视频信号进行解码的这样的默认单元是编码块。编码块可以是执行帧内/帧间预测、变换以及量化的单元。此外,以编码块为单位确定预测模式(例如,帧内预测模式或帧间预测模式),并且在编码块中包括的预测块可以共享所确定的预测模式。编码块可以是具有在8
×
8至64
×
64范围内的任意尺寸的正方形或非正方形块,或者可以是具有128
×
128、256
×
256或更大的尺寸的正方形或非正方形块。
121.具体地,可以基于四叉树和二叉树中至少之一来对编码块进行分层划分。此处,基于四叉树的划分可以意指将2n
×
2n的编码块划分成四个n
×
n的编码块,并且基于二叉树的划分可以意指将一个编码块划分成两个编码块。即使执行基于二叉树的划分,也可能在较低深度中存在正方形形状的编码块。
122.可以对称地执行或者非对称地执行基于二叉树的划分。基于二叉树划分的编码块可以是正方形块或非正方形块,例如,矩形形状。例如,允许基于二叉树的划分的划分类型可以包括以下项中至少之一:对称类型的2n
×
n(水平方向非正方形编码单元)或n
×
2n(垂直方向非正方形编码单元);非对称类型的nl
×
2n;nr
×
2n;2n
×
nu或2n
×
nd。
123.基于二叉树的划分可以限制地被允许为对称或非对称类型划分之一。在这种情况下,用正方形块构造编码树单元可以与四叉树cu划分对应,并且用对称非正方形块构造编码树单元可以与二叉树划分对应。用正方形块和对称非正方形块构造编码树单元可以与四叉树cu划分和二叉树cu划分对应。
124.可以对不再执行基于四叉树的划分的编码块执行基于二叉树的划分。可以对基于二叉树被划分的编码块不再执行基于四叉树的划分。
125.此外,可以根据较高深度的划分类型来确定较低深度的划分。例如,如果在两个或更多个深度允许基于二叉树的划分,则可以在较低深度仅允许与较高深度的二叉树划分相同的类型。例如,如果使用2n
×
n类型执行较高深度中的基于二叉树的划分,则也使用2n
×
n类型执行较低深度中的基于二叉树的划分。替选地,如果使用n
×
2n类型执行较高深度中的基于二叉树的划分,则也使用n
×
2n类型执行较低深度中的基于二叉树的划分。
126.相比之下,也可以在较低深度中仅允许与较高深度的二叉树划分类型不同的类型。
127.可以仅将特定类型的基于二叉树的划分限制为用于序列、切片、编码树单元或编码单元。作为示例,对于编码树单元,可以仅允许2n
×
n类型或n
×
2n类型的基于二叉树的划分。可以在编码器或解码器中预定义可用划分类型。或者,与可用划分类型有关或与不可用划分类型有关的信息可以被编码,然后通过比特流被用信号发送。
128.图5是示出仅允许特定类型的基于二叉树的划分的示例的图。图5的(a)示出了仅允许n
×
2n类型的基于二叉树的划分的示例,并且图5的(b)示出了仅允许2n
×
n类型的基于二叉树的划分的示例。为了实现基于四叉树或二叉树的自适应划分,可以使用下述信息:指示基于四叉树的划分的信息、与允许基于四叉树的划分的编码块的尺寸/深度有关的信息、指示基于二叉树的划分的信息、与允许基于二叉树的划分的编码块的尺寸/深度有关的信
息、与不允许基于二叉树的划分的编码块的尺寸/深度有关的信息、与是沿垂直方向还是沿水平方向执行基于二叉树的划分有关的信息等。
129.此外,可以针对编码树单元或特定编码单元获得与允许二叉树划分的次数、允许二叉树划分的深度或允许二叉树划分的深度的数目有关的信息。信息可以以编码树单元或编码单元为单位被编码,并且可以通过比特流被发送至解码器。
130.例如,可以通过比特流对指示允许二叉树划分的最大深度的语法“max_binary_depth_idx_minus1”进行编码/解码。在这种情况下,max_binary_depth_idx_minus1+1可以指示允许二叉树划分的最大深度。
131.参照图6中所示的示例,在图6中,已经针对深度为2的编码单元和深度为3的编码单元执行二叉树划分。因此,可以通过比特流对以下项中至少之一进行编码/解码:指示已经执行编码树单元中的二叉树划分的次数(即,2次)的信息、指示在编码树单元中已经允许二叉树划分的最大深度(即,深度3)的信息或在编码树单元中已经执行二叉树划分的深度的数目(即,2个(深度2和深度3))。
132.作为另一示例,可以针对每个序列或每个切片获得与允许二叉树划分的次数、允许二叉树划分的深度或允许二叉树划分的深度的数目有关的信息中至少之一。例如,信息可以以序列、图片或切片单元为单位被编码,并且通过比特流被发送。因此,第一切片中的二叉树划分的数目、第一切片中允许二叉树划分的最大深度或在第一切片中执行二叉树划分的深度的数目中至少之一可以与第二切片不同。例如,在第一切片中,可能仅针对一个深度允许二叉树划分,而在第二切片中,可能针对两个深度允许二叉树划分。
133.作为另一示例,可以根据切片或图片的时间级别标识符(temporalid)不同地设置允许二叉树划分的次数、允许二叉树划分的深度或允许二叉树划分的深度的数目。此处,时间级别标识符(temporalid)用于标识具有视图、空间、时间或质量中至少之一的可扩展性的多个视频层中的每一个。
134.如图3所示,可以基于四叉树将划分深度(拆分深度)为k的第一编码块300划分成多个第二编码块。例如,第二编码块310至340可以是具有第一编码块的半宽度和半高度的正方形块,并且第二编码块的划分深度可以增加至k+1。
135.划分深度为k+1的第二编码块310可以被划分为划分深度为k+2的多个第三编码块。可以通过根据划分方法选择性地使用四叉树和二叉树中之一来执行第二编码块310的划分。此处,可以基于指示基于四叉树的划分的信息和指示基于二叉树的划分的信息中至少之一来确定划分方法。
136.当基于四叉树对第二编码块310进行划分时,第二编码块310可以被划分成具有第二编码块的半宽度和半高度的四个第三编码块310a,并且第三编码块310a的划分深度可以增加至k+2。相比之下,当基于二叉树对第二编码块310进行划分时,第二编码块310可以被划分成两个第三编码块。此处,两个第三编码块中的每一个可以是具有第二编码块的半宽度和半高度中之一的非正方形块,并且划分深度可以增加至k+2。可以根据划分方向将第二编码块确定为水平方向或垂直方向的非正方形块,并且可以基于关于是沿垂直方向还是沿水平方向执行基于二叉树的划分的信息来确定划分方向。
137.同时,第二编码块310可以被确定为不再基于四叉树或二叉树进行划分的叶编码块。在这种情况下,叶编码块可以用作预测块或变换块。
138.类似于第二编码块310的划分,第三编码块310a可以被确定为叶编码块,或者可以基于四叉树或二叉树被进一步划分。
139.同时,基于二叉树被划分的第三编码块310b可以基于二叉树被进一步划分成垂直方向的编码块(310b-2)或水平方向的编码块(310b-3),并且相关编码块的划分深度可以增加至k+3。替选地,第三编码块310b可以被确定为不再基于二叉树进行划分的叶编码块(310b-1)。在该情况下,编码块(310b-1)可以用作预测块或变换块。然而,可以基于以下信息中至少之一来限制性地执行上述划分处理:与允许基于四叉树的划分的编码块的尺寸/深度有关的信息、与允许基于二叉树的划分的编码块的尺寸/深度有关的信息以及与不允许基于二叉树的划分的编码块的尺寸/深度有关的信息。
140.表示编码块的尺寸的候选的数目可以被限制为预定数目,或者预定单元中的编码块的尺寸可以具有固定值。作为示例,序列中或图片中的编码块的尺寸可以被限制为具有256
×
256、128
×
128或32
×
32。可以通过序列头部或图片头部来用信号发送指示序列中或图片中的编码块的尺寸的信息。
141.作为基于四叉树和二叉树的划分的结果,编码单元可以表示为任意尺寸的正方形或矩形形状。
142.使用跳过模式、帧内预测、帧间预测或跳过方法中至少之一来对编码块进行编码。一旦确定了编码块,就可以通过编码块的预测划分来确定预测块。可以通过指示编码块的划分类型的划分模式(part_mode)来执行编码块的预测划分。可以根据编码块的划分模式来确定预测块的尺寸或形状。例如,根据划分模式确定的预测块的尺寸可以等于或小于编码块的尺寸。
143.图7是示出当通过帧间预测对编码块进行编码时可以应用于编码块的划分模式的图。
144.当通过帧间预测对编码块进行编码时,可以将8个划分模式中之一应用于编码块,如图4所示的示例中那样。
145.当通过帧内预测对编码块进行编码时,可以将划分模式part_2n
×
2n或划分模式part_n
×
n应用于编码块。
146.当编码块具有最小尺寸时,可以应用part_n
×
n。此处,可以在编码器和解码器中预定义编码块的最小尺寸。或者,可以经由比特流用信号发送与编码块的最小尺寸有关的信息。例如,可以通过切片头部用信号发送编码块的最小尺寸,使得可以按照切片定义编码块的最小尺寸。
147.通常,预测块可以具有从64
×
64到4
×
4的尺寸。然而,当通过帧间预测对编码块进行编码时,可以进行限制使得预测块不具有4
×
4的尺寸,以便在执行运动补偿时减小存储器带宽。
148.图8是示出根据本发明的实施方式的用于对视频进行编码/解码的装置的预定义的帧内预测模式的类型的图。
149.用于对视频进行编码/解码的装置可以使用预定义的帧内预测模式之一来执行帧内预测。用于帧内预测的预定义的帧内预测模式可以包括非方向预测模式(例如,平面模式、dc模式)和33个方向预测模式。
150.替选地,为了提高帧内预测的准确性,可以使用多于33个方向预测模式的更大数
目的方向预测模式。亦即,可以通过对方向预测模式的角度进行细分来限定m个扩展的方向预测模式(m》33),并且可以使用33个预定义的方向预测模式中至少之一来得到具有预定角度的方向预测模式。
151.可以使用比图8中所示的35个帧内预测模式更大数目的帧内预测模式。例如,通过对方向预测模式的角度进行细分或通过使用预定数目的方向预测模式中至少之一得到具有预定角度的方向预测模式,可以使用比35个帧内预测模式更大数目的帧内预测模式。此时,使用比35个帧内预测模式更大数目的帧内预测模式可以被称为扩展的帧内预测模式。
152.图9示出了扩展的帧内预测模式的示例,并且扩展的帧内预测模式可以包括两个非方向预测模式和65个扩展的方向预测模式。相同数目的扩展帧内预测模式可以用于亮度分量和色度分量,或者可以针对每个分量使用不同数目的帧内预测模式。例如,67个扩展的帧内预测模式可以用于亮度分量,并且35个帧内预测模式可以用于色度分量。
153.替选地,取决于色度格式,可以在执行帧内预测时使用不同数目的帧内预测模式。例如,在4:2:0格式的情况下,67个帧内预测模式可以用于亮度分量以执行帧内预测并且35个帧内预测模式可以用于色度分量。在4:4:4格式的情况下,67个帧内预测模式可以用于亮度分量和色度分量二者,以执行帧内预测。
154.替选地,取决于块的尺寸和/或形状,可以使用不同数目的帧内预测模式来执行帧内预测。亦即,取决于pu或cu的尺寸和/或形状,可以使用35个帧内预测模式或67个帧内预测模式来执行帧内预测。例如,当cu或pu具有小于64
×
64的尺寸或者被非对称地划分时,可以使用35个帧内预测模式来执行帧内预测。当cu或pu的尺寸等于或大于64
×
64时,可以使用67个帧内预测模式来执行帧内预测。对于intra_2n
×
2n,可以允许65个方向帧内预测模式,而对于intra_n
×
n,仅可以允许35个方向帧内预测模式。
155.可以针对每个序列、图片或切片不同地设置应用扩展的帧内预测模式的块的尺寸。例如,设置成:将扩展的帧内预测模式应用于在第一切片中具有大于64
×
64的尺寸的块(例如,cu或pu)。另一方面,设置成:将扩展的帧内预测模式应用于在第二切片中具有大于32
×
32的尺寸的块。可以以序列、图片或切片为单位用信号发送表示应用扩展的帧内预测模式的块的尺寸的信息。例如,指示应用扩展的帧内预测模式的块的尺寸的信息可以被定义为通过取块尺寸的对数然后减去整数4而获得的“log2_extended_intra_mode_size_minus4”。例如,如果log2_extended_intra_mode_size_minus4的值为0,则其可以指示扩展的帧内预测模式可以应用于尺寸等于或大于16
×
16的块。并且如果log2_extended_intra_mode_size_minus4的值是1,则其可以指示扩展的帧内预测模式可以应用于尺寸等于或大于32
×
32的块。
156.如上所述,可以考虑块的尺寸或形状、色度格式和颜色分量中至少之一来确定帧内预测模式的数目。此外,也可以根据块的尺寸或形状、颜色格式和颜色分量中至少之一来确定用于确定要被编码/解码的当前块的帧内预测模式的帧内预测模式候选的数目(例如,mpm的数目)。将结合附图描述确定要编码/解码的当前块的帧内预测模式的方法和使用所确定的帧内预测模式执行帧内预测的方法。
157.图10是简要示出根据本发明的实施方式的帧内预测方法的流程图。
158.参照图10,可以在步骤(s1000)处确定当前块的帧内预测模式。
159.具体地,可以基于候选列表和索引来得到当前块的帧内预测模式。此处,候选列表
包括多个候选,并且可以基于与当前块邻近的邻近块的帧内预测模式来确定多个候选。邻近块可以包括位于当前块的顶部、底部、左侧、右侧以及角部的块中至少之一。索引可以指定候选列表的多个候选之一。由索引指定的候选可以被设置为当前块的帧内预测模式。
160.用于邻近块中的帧内预测的帧内预测模式可以被设置为候选。此外,具有与邻近块的帧内预测模式的方向性相似的方向性的帧内预测模式可以被设置为候选。此处,可以通过向邻近块的帧内预测模式加上预定的恒定值或者从邻近块的帧内预测模式减去预定的恒定值来确定具有相似的方向性的帧内预测模式。预定的恒定值可以是整数,例如,一、二或更大。
161.候选列表还可以包括默认模式。默认模式可以包括平面模式、dc模式、垂直模式和水平模式中至少之一。在考虑可以包括在当前块的候选列表中的候选的最大数目的情况下,可以自适应地添加默认模式。
162.可以包括在候选列表中的候选的最大数目可以是三、四、五、六或更大。可以包括在候选列表中的候选的最大数目可以是在用于对视频进行编码/解码的装置中预设的固定值,或者可以基于当前块的特性而可变地确定。特性可以意指块的位置/尺寸/形状、块可以使用的帧内预测模式的数目/类型、颜色类型、颜色格式等。替选地,可以单独地用信号发送指示可以包括在候选列表中的候选的最大数目的信息,并且可以使用该信息来可变地确定可以包括在候选列表中的候选的最大数目。可以在序列级别(level)、图片级别、切片级别和块级别中至少之一中用信号发送指示候选的最大数目的信息。
163.当选择性地使用扩展的帧内预测模式和35个预定义的帧内预测模式时,邻近块的帧内预测模式可以被变换成与扩展的帧内预测模式对应的索引,或者被变换成与35个帧内预测模式对应的索引,由此可以得到候选。为了变换成索引,可以使用预定义的表,或者可以使用基于预定值的缩放操作。此处,预定义的表可以定义不同的帧内预测模式组(例如,扩展的帧内预测模式和35个帧内预测模式)之间的映射关系。
164.例如,当左侧邻近块使用35个帧内预测模式并且左侧邻近块的帧内预测模式是10(水平模式)时,它可以被变换成与扩展的帧内预测模式中的水平模式对应的索引16。
165.替选地,当顶部邻近块使用扩展的帧内预测模式并且顶部邻近块的帧内预测模式具有索引50(垂直模式)时,它可以被变换成与35个帧内预测模式中的垂直模式相对应的索引26。
166.基于上述确定帧内预测模式的方法,可以针对亮度分量和色度分量中的每一个来独立地得到帧内预测模式,或者可以根据亮度分量的帧内预测模式来得到色度分量的帧内预测模式。
167.具体地,如下表1所示,可以基于亮度分量的帧内预测模式来确定色度分量的帧内预测模式。
168.[表1]
[0169][0170]
在表1中,intra_chroma_pred_mode意指被用信号发送以指定色度分量的帧内预测模式的信息,并且intrapredmodey指示亮度分量的帧内预测模式。
[0171]
参照图10,在步骤(s1010)处,可以得到用于当前块的帧内预测的参考样本。
[0172]
具体地,可以基于当前块的邻近样本来得到用于帧内预测的参考样本。邻近样本可以是邻近块的重构样本,并且重构样本可以是在应用环内滤波器之前的重构样本,或者在应用环内滤波器之后的重构样本。
[0173]
在当前块之前重构的邻近样本可以用作参考样本,并且基于预定的帧内滤波器滤波的邻近样本可以用作参考样本。使用帧内滤波器对邻近样本进行的滤波也可以称为参考样本平滑。帧内滤波器可以包括第一帧内滤波器(其被应用于位于同一水平线上的多个邻近样本)和第二帧内滤波器(其被应用于位于同一垂直线上的多个邻近样本)中至少之一。取决于邻近样本的位置,可以选择性地应用第一帧内滤波器和第二帧内滤波器中之一,或者可以应用这两种帧内滤波器。此时,第一帧内滤波器或第二帧内滤波器的至少一个滤波器系数可以是(1,2,1),但不限于此。
[0174]
可以基于当前块的帧内预测模式和当前块的变换块的尺寸中至少之一来自适应地执行滤波。例如,在当前块的帧内预测模式是dc模式、垂直模式或水平模式时,可以不执行滤波。当变换块的尺寸是n
×
m时,可以不执行滤波。此处,n和m可以是相同的值或不同的值,或者可以是4、8、16或更大的值。例如,如果变换块的尺寸是4
×
4,则可以不执行滤波。替选地,可以基于将预定义的阈值与当前块的帧内预测模式和垂直模式(或水平模式)之间的差进行比较的结果来选择性地执行滤波。例如,在当前块的帧内预测模式与垂直模式之间的差大于阈值时,可以执行滤波。如表2所示,可以针对变换块的每个尺寸来限定阈值。
[0175]
[表2]
[0176] 8x8变换16x16变换32x32变换阈值710
[0177]
帧内滤波器可以被确定为在用于对视频进行编码/解码的装置中预定义的多个帧内滤波器候选中之一。为此,可以用信号发送在多个帧内滤波器候选中指定当前块的帧内滤波器的索引。替选地,可以基于以下项中至少之一来确定帧内滤波器:当前块的尺寸/形状、变换块的尺寸/形状、与滤波器强度有关的信息以及邻近样本的变化。
[0178]
参照图10,在步骤(s1020)处,可以使用参考样本和当前块的帧内预测模式来执行
帧内预测。
[0179]
亦即,可以使用在步骤s500处确定的帧内预测模式和在步骤s510处得到的参考样本来获得当前块的预测样本。然而,在帧内预测的情况下,可能使用邻近块的边界样本,并且因此可能降低预测图片的质量。因此,可以对通过上述预测处理生成的预测样本执行校正处理,并且将参照图11至图13来详细描述校正处理。然而,校正处理不限于仅应用于帧内预测样本,并且校正处理可以应用于帧间预测样本或重构样本。
[0180]
图11是示出根据本发明的实施方式的基于邻近样本的差异信息来对当前块的预测样本进行校正的方法的图。
[0181]
可以基于当前块的多个邻近样本的差异信息来校正当前块的预测样本。可以对当前块中的所有预测样本执行校正,或者可以对预定的部分区域中的预测样本执行校正。部分区域可以是一行/列或多行/列,并且这些可以是用于在用于对视频进行编码/解码的装置中进行校正的预设区域。例如,可以对位于当前块的边界处的一行/列执行校正,或者可以对来自当前块的边界的多个行/列执行校正。替选地,可以基于帧内预测模式和当前块的尺寸/形状中至少之一来可变地确定部分区域。
[0182]
邻近样本可以属于位于当前块的顶部、左侧和左上角的邻近块。用于校正的邻近样本的数目可以是二、三、四或更大。可以取决于作为当前块中的校正目标的预测样本的位置来可变地确定邻近样本的位置。替选地,无论作为校正目标的预测样本的位置如何,邻近样本中的一些样本可以具有固定的位置,并且取决于作为校正目标的预测样本的位置,其余邻近样本可以具有可变的位置。
[0183]
邻近样本的差异信息可以意指邻近样本之间的差异样本,或者可以意指通过将差异样本缩放预定的恒定值(例如,一、二、三等)而获得的值。此处,可以在考虑作为校正目标的预测样本的位置、包括作为校正目标的预测样本的行或列的位置、预测样本在行或列内的位置等的情况下确定预定的恒定值。
[0184]
例如,在当前块的帧内预测模式是垂直模式时,如式1所示,可以使用左上侧邻近样本p(-1,-1)和与当前块的左边界邻近的邻近样本p(-1,y)之间的差异样本来获得最终预测样本。
[0185]
[式1]
[0186]
p

(0,y)=p(0,y)+((p(-1,y)-p(-1,-1))>>1对于y=0...n-1
[0187]
例如,在当前块的帧内预测模式是水平模式时,如式2所示,可以使用左上侧邻近样本p(-1,-1)和与当前块的上边界邻近的邻近样本p(x,-1)之间的差异样本来获得最终预测样本。
[0188]
[式2]
[0189]
p

(x,0)=p(x,0)+((p(x,-1)-p(-1,-1))>>1对于x=0...n-1
[0190]
例如,在当前块的帧内预测模式是垂直模式时,可以使用左上侧邻近样本p(-1,-1)和与当前块的左边界邻近的邻近样本p(-1,y)之间的差异样本来获得最终预测样本。此处,差异样本可以被添加至预测样本,或者差异样本可以被缩放预定的恒定值,并且然后被添加至预测样本。可以取决于行和/或列来不同地确定在缩放时使用的预定的恒定值。例如,可以如式3和式4所示校正预测样本。
[0191]
[式3]
[0192]
p

(0,y)=p(0,y)+((p(-1,y)-p(-1,-1))>>1对于y=0...n-1
[0193]
[式4]
[0194]
p

(1,y)=p(1,y)+((p(-1,y)-p(-1,-1))>>2对于y=0...n-1
[0195]
例如,在当前块的帧内预测模式是水平模式时,可以使用左上侧邻近样本p(-1,-1)和与当前块的上边界邻近的邻近样本p(x,-1)之间的差异样本来如在垂直模式的情况下描述的那样获得最终预测样本。例如,可以如式5和式6所示校正预测样本。
[0196]
[式5]
[0197]
p

(x,0)=p(x,0)+((p(x,-1)-p(-1,-1))>>1对于x=0...n-1
[0198]
[式6]
[0199]
p

(x,1)=p(x,1)+((p(x,-1)-p(-1,-1))>>2对于x=0...n-1
[0200]
图12和图13是示出根据本发明的实施方式的基于预定的校正滤波器对预测样本进行校正的方法的图。
[0201]
可以基于作为校正目标的预测样本的邻近样本和预定的校正滤波器来校正预测样本。此处,邻近样本可以通过当前块的方向预测模式的角度线来指定,或者邻近样本可以是与作为校正目标的预测样本位于同一角度线上的至少一个样本。此外,邻近样本可以是当前块中的预测样本,或者可以是在当前块之前重构的邻近块中的重构样本。
[0202]
可以基于以下项中至少之一来确定校正滤波器的滤波器系数、强度和抽头数目中至少之一:作为校正目标的预测样本的位置、作为校正目标的预测样本是否位于当前块的边界上、当前块的帧内预测模式、方向预测模式的角度、邻近块的预测模式(帧间模式或帧内模式)以及当前块的尺寸/形状。
[0203]
参照图12,当方向预测模式具有索引2或34时,可以使用位于作为校正目标的预测样本的左下侧的至少一个预测/重构样本和预定的校正滤波器来获得最终预测样本。此处,左下侧处的预测/重构样本可以属于包括作为校正目标的预测样本的线的先前线。左下侧处的预测/重构样本可以属于与当前样本相同的块,或者属于与当前块邻近的邻近块。
[0204]
可以仅对位于块边界处的线执行用于预测样本的滤波,或者可以对多个线执行用于预测样本的滤波。可以使用以下校正滤波器:其中,针对每个线,滤波器抽头数目和滤波器系数中至少之一是不同的。例如,(1/2,1/2)滤波器可以用于最接近块边界的左侧第一线,(12/16,4/16)滤波器可以用于第二线,(14/16,2/16)滤波器可以用于第三线,并且(15/16,1/16)滤波器可以用于第四线。
[0205]
替选地,当方向预测模式具有索引3至6或30至33时,可以如图13所示对块边界执行滤波,并且可以使用3抽头校正滤波器来校正预测样本。可以使用作为校正目标的预测样本的左下侧样本、左下侧样本的底部样本以及将作为校正目标的预测样本作为输入的3抽头校正滤波器来执行滤波。可以基于方向预测模式来不同地确定由校正滤波器使用的邻近样本的位置。可以根据方向预测模式来不同地确定校正滤波器的滤波器系数。
[0206]
取决于是以帧间模式还是帧内模式对邻近块进行编码,可以应用不同的校正滤波器。与当邻近块以帧间模式被编码时相比,当邻近块以帧内模式被编码时,可以使用对预测样本给予更多权重的滤波方法。例如,在帧内预测模式是34的情况下,当邻近块以帧间模式被编码时,可以使用(1/2,1/2)滤波器,并且当邻近块以帧内模式被编码时,可以使用(4/16,12/16)滤波器。
[0207]
当前块中要滤波的线的数目可以取决于当前块(例如,编码块或预测块)的尺寸/形状而变化。例如,在当前块的尺寸等于或小于32
×
32时,可以仅对块边界处的一个线执行滤波;否则,可以对包括块边界处的一个线的多个线执行滤波。
[0208]
图12和图13基于使用图7中的35个帧内预测模式的情况,但是还可以等同地/类似地应用于使用扩展的帧内预测模式的情况。
[0209]
图14示出了根据应用本发明的实施方式的用于帧内预测的参考样本的范围。
[0210]
可以使用基于在邻近块中包括的重构样本得到的参考样本来执行对当前块的帧内预测。此处,重构样本意指在对当前块进行编码/解码之前完成编码/解码。例如,可以基于参考样本p(-1,-1)、p(-1,y)(0《=y《=2n-1)和p(x,-1)(0《=x《=2n-1)中至少之一来执行对当前块的帧内预测。此时,基于当前块的帧内预测模式(例如,帧内预测模式的索引、方向性、角度等)或与当前块相关的变换块的尺寸中至少之一来选择性地执行对参考样本的滤波。
[0211]
可以使用在编码器和解码器中预定义的帧内滤波器来执行对参考样本的滤波。例如,可以使用滤波器系数为(1,2,1)的帧内滤波器或滤波器系数为(2,3,6,3,2)的帧内滤波器,以得到用于在帧内预测中使用的最终参考样本。
[0212]
替选地,可以选择多个帧内滤波器候选中至少之一,以对参考样本执行滤波。此处,多个帧内滤波器候选可以在滤波器强度、滤波器系数或抽头数目(例如,滤波器系数的数目、滤波器长度)中的至少一个上彼此不同。可以在序列、图片、切片或块级别中至少之一中限定多个帧内滤波器候选。亦即,包括当前块的序列、图片、切片或块可以使用相同的多个帧内滤波器候选。
[0213]
在下文中,为了便于说明,假设多个帧内滤波器候选包括第一帧内滤波器和第二帧内滤波器。还假设第一帧内滤波器是(1,2,1)3抽头滤波器,并且第二帧内滤波器是(2,3,6,3,2)5抽头滤波器。
[0214]
当通过应用第一帧内滤波器对参考样本进行滤波时,可以如式7所示得到经滤波的参考样本。
[0215]
[式7]
[0216]
p(-1,-1)=(p(-1,0)+2p(-1,-1)+p(0,-1)+2)>>2
[0217]
p(-1,y)=(p(-1,y+1)+2p(-1,y)+p(-1,y-1)+2)>>2
[0218]
p(x,-1)=(p(x+1,-1)+2p(x,-1)+p(x-1,-1)+2)>>2
[0219]
当通过应用第二帧内滤波器对参考样本进行滤波时,可以如以下式8所示得到经滤波的参考样本。
[0220]
[式8]
[0221]
p(-1,-1)=(2p(-2,0)+3p(-1,0)+6p(-1,-1)+3p(0,-1)+2p(0,-2)+8)>>4
[0222]
p(-1,y)=(2p(-1,y+2)+3p(-1,y+1)+6p(-1,y)+3p(-1,y-1)+2p(-1,y-2)+8)>>4
[0223]
p(x,-1)=(2p(x+2,-1)+3p(x+1,-1)+6p(x,-1)+3p(x-1,-1)+2p(x-2,-1)+8)>>4
[0224]
在以上式7和式8中,x可以是0到2n-2之间的整数,并且y可以是0到2n-2之间的整数。
[0225]
替选地,基于参考样本的位置,可以确定多个帧内滤波器候选中之一,并且可以通过使用所确定的一个帧内滤波器候选来执行对参考样本的滤波。例如,第一帧内滤波器可以应用于在第一范围中包括的参考样本,并且第二帧内滤波器可以应用于在第二范围中包括的参考样本。此处,第一范围和第二范围可以基于以下项来区分:它们是否与当前块的边界邻近,它们是否位于当前块的顶侧或左侧,或者它们是否与当前块的角部邻近。例如,如图15所示,通过如式7所示应用第一帧内滤波器来执行对与当前块的边界邻近的参考样本(p(-1,-1)、p(-1,0)、p(-1,1)、...、p(-1,n-1)和p(0,-1)、p(1,-1)、...)的滤波,并且通过如式8所示应用第二参考滤波器来执行对不与当前块的边界邻近的其他参考样本的滤波。可以基于用于当前块的变换类型来选择多个帧内滤波器候选中的一个帧内滤波器候选,并且使用所选择的一个帧内滤波器候选对参考样本执行滤波。此处,变换类型可以意指(1)变换方案诸如dct、dst或klt、(2)变换模式指示符诸如2d变换、1d变换或非变换或者(3)变换的数目诸如第一变换和第二变换。在下文中,为了便于描述,假设变换类型意指变换方案诸如dct、dst和klt。
[0226]
例如,如果使用dct对当前块进行编码,则可以使用第一帧内滤波器来执行滤波,并且如果使用dst对当前块进行编码,则可以使用第二帧内滤波器来执行滤波。或者,如果使用dct或dst对当前块进行编码,则可以使用第一帧内滤波器来执行滤波,并且如果使用klt对当前块进行编码,则可以使用第二帧内滤波器来执行滤波。
[0227]
可以使用基于当前块的变换类型和参考样本的位置选择的滤波器来执行滤波。例如,如果使用dct对当前块进行编码,则可以通过使用第一帧内滤波器来对参考样本p(-1,-1)、p(-1,0),p(-1,1)、...、p(-1,n-1)和p(0,-1)、p(1,-1)、...、p(n-1,-1)执行滤波,并且可以通过使用第二帧内滤波器来对其他参考样本执行滤波。如果使用dst对当前块进行编码,则可以通过使用第二帧内滤波器来对参考样本p(-1,-1),p(-1,0)、p(-1,1)、...,p(-1,n-1)和p(0,-1)、p(1,-1)、...、p(n-1,-1)执行滤波,并且可以通过使用第一帧内滤波器来对其他参考样本执行滤波。
[0228]
可以基于包括参考样本的邻近块的变换类型是否与当前块的变换类型相同来选择多个帧内滤波器候选中的一个帧内滤波器候选,并且可以使用所选择的帧内滤波器候选来执行滤波。例如,在当前块与邻近块使用相同的变换类型时,使用第一帧内滤波器执行滤波,并且在当前块与邻近块的变换类型彼此不同时,第二帧内滤波器可以用于执行滤波。
[0229]
可以基于邻近块的变换类型来选择多个帧内滤波器候选中的任何一个帧内滤波器候选,并且使用所选择的一个帧内滤波器候选对参考样本执行滤波。亦即,可以考虑包括参考样本的块的变换类型来选择特定的滤波器。例如,如图16所示,如果与当前块的左/左下邻近的块是使用dct进行编码的块,并且与当前块的上/右上邻近的块是使用dst进行编码的块,则通过应用第一帧内滤波器对与当前块的左/左下邻近的参考样本执行滤波,并且通过应用第二帧内滤波器来对与当前块的上/右上邻近的参考样本执行滤波。
[0230]
在预定区域的单元中,可以限定可在相应区域中使用的滤波器。在本文中,预定区域的单元可以是序列、图片、切片、块组(例如,编码树单元的行)或块(例如,编码树单元)中的任何一个,或者,可以限定共享一个或更多个滤波器的另外的区域。可以通过使用映射到包括当前块的区域的滤波器来对参考样本进行滤波。
[0231]
例如,如图17所示,可以使用ctu单元中的不同滤波器对参考样本执行滤波。在这
种情况下,可以经由序列参数集(sps)或图片参数集(pps)用信号发送指示在序列或图片中是否使用相同滤波器的信息、用于每个ctu的滤波器的类型、在可用的帧内滤波器候选中指定在相应的ctu中使用的滤波器的索引。
[0232]
可以以编码单元为单位应用上述帧内滤波器。例如,可以通过将第一帧内滤波器或第二帧内滤波器应用于编码单元周围的参考样本来执行滤波。
[0233]
当确定当前块的帧内预测模式时,可以使用与当前块邻近的参考样本来执行帧内预测。例如,可以通过对参考样本求平均来生成当前块的预测样本,或者可以通过考虑帧内预测模式的方向性而在特定方向上复制参考样本来生成当前块的预测样本。如上面在参照图14的示例中描述的那样,可以从在与当前块邻近的邻近块中包括的重构样本得到当前块的参考样本(例如,p(-1,-1)、p(-1,y)(0《=y《=2n-1)、p(x,-1)(0《=x《=2n-1)。
[0234]
此时,当确定在与当前块邻近的邻近块中包括的样本不可用作参考样本时,可以使用可以用作参考样本的样本替换不能用作参考样本的样本。例如,在邻近块中包括的样本的位置在图片外部、邻近块中包括的样本存在于与当前块不同的切片中或邻近块中包括的样本包括在由帧间预测编码的块中的情况下,可以将邻近样本确定为不可用。此处,可以基于以下信息来确定在通过帧间预测编码的块中包括的样本是否不可用,该信息指示在执行当前块的帧内预测时是否使用在通过帧间预测编码的块中包括的样本作为参考样本。此处,信息可以是1比特标志(例如,“constrained_intra_prediction_flag”),但不限于此。例如,当“constrained_intra_prediction_flag”的值是1时,在通过帧间预测编码的块中包括的样本可以被确定为不可用作参考样本。在下文中,不能用作参考样本的样本将被称为不可用参考样本,并且可以用作参考样本的样本将被称为可用参考样本。
[0235]
在图14所示的示例中,当确定位于最左下方的样本(例如,p(-1,2n-1))不可用时,可以用第一个可用的参考样本(其通过以预定顺序扫描可用样本首先被搜索到)来替换位于最左下方的样本。此处,可以从与最左下方样本邻近的样本起顺序地执行扫描顺序。例如,在图14所示的示例中,当样本p(-1,2n-1)不可用时,可以按p(-1,-2n-2)至p(-1,1)、p(-1,0)至p(2n-1,-1)的顺序执行扫描。可以用作为扫描结果找到的第一可用参考样本替换p(-1,2n-1)。
[0236]
在除了位于最左下方的邻近样本以外的左侧邻近样本不可用的情况下,可以用与左侧邻近样本的底部邻近的邻近样本替换左侧邻近样本。例如,p(-1,2n-1)与p(-1,-1)之间的不可用参考样本p(-1,y)可以用参考样本p(-1,y+1)替换。
[0237]
在顶部邻近样本不可用的情况下,可以用与顶部邻近样本的左侧邻近的邻近样本替换顶部邻近样本。例如,p(0,-1)与p(2n-1,-1)之间的不可用参考样本p(x,-1)可以用参考样本p(x-1,-1)替换。
[0238]
参考当前块的帧内预测的参考样本集可以被称为“参考线(reference line)”(或“帧内参考线”或“参考样本线”)。此处,参考线可以表示由一行和/或一列组成的参考样本集。例如,在图14所示的示例中,“参考线”可以表示包括p(-1,2n-1)到p(-1,-1)、p(0,-1)到p(2n-2,-1)的参考样本集。
[0239]
可以根据当前块的帧内预测模式基于在参考线中包括的参考样本来执行对当前块的帧内预测。例如,如果当前块的帧内预测模式是dc模式,则可以使用在参考线中包括的参考样本的平均和/或加权预测来生成预测信号。在当前块的帧内预测模式是dc模式时,可
以根据式9来获得当前块的预测样本。
[0240]
式9
[0241]
p(0,0)=(p(-1,0)+p(0,-1)+2*dcval)>>2
[0242]
p(x,0)=(p(x,-1)+3*dcval)>>2
[0243]
p(0,y)=(p(-1,y)+3*dcval)>>2
[0244]
在式9中,可以基于在参考线中包括的参考样本中的除了p(-1,-1)以外的剩余参考样本的平均值来生成dcval。
[0245]
平面模式在没有强边缘的平滑区域中提供有效的预测效率,并且有效地改善块边界的不连续性或块边界的图像质量劣化。在当前块的帧内预测模式是平面模式时,可以使用与当前块的右上角邻近的参考样本和具有与水平方向临时预测样本相同的y坐标的参考样本来获得当前块的水平方向临时预测样本,并且可以使用与当前块的左下角邻近的参考样本和具有与垂直方向临时预测样本相同的x坐标的参考样本来获得当前块的垂直方向临时预测样本。例如,可以通过根据式10获得当前块的水平方向临时预测样本和垂直方向临时预测样本。
[0246]
[式10]
[0247]
ph(x,y)=(n-1-x)*p(-1,y)+(x+1)*p(n,-1)
[0248]
pv(x,y)=(n-1-y)*p(x,-1)+(y+1)*p(-1,n)
[0249]
可以通过以下方式来生成当前块的预测样本:对水平方向临时预测样本和垂直方向临时预测样本进行求和,然后将求和结果移位根据当前块的尺寸确定的值。例如,可以根据式11获得当前块的预测样本。
[0250]
[式11]
[0251]
p(x,y)=(ph(x,y)+pv(x,y)+n)>>(log2(n)+1)
[0252]
可以使用多个参考线中的至少一个参考线来执行对当前块的帧内预测。多个参考线的长度可以全部或部分相同,或者可以设置为彼此不同。
[0253]
例如,假设当前块具有w
×
h的尺寸,第k参考线可以包括p(-k,-k)、位于与p(-k,-k)相同的行中的参考样本(例如,从p(k+1,-k)到p(w+h+2(k-1),-k)的参考样本或从p(-k+1,-k)到p(2w+2(k-1),-k)的参考样本)以及位于与p(-k,-k)相同的列中的参考样本(例如,从p(-k,-k+1)到p(-k,w+h+2(k-1))的参考样本或从p(-k,-k+1)到p(-k,2h+2(k-1))的参考样本)。
[0254]
图18例示了多个参考样本线。如在图18中所示的示例中那样,当与当前块的边界邻近的第一参考线被称为“参考线0”时,第k参考线可以被设置为与第(k-1)参考线邻近。
[0255]
替选地,与图18中所示的示例不同,还可以将所有参考线配置成具有相同数目的参考样本。
[0256]
可以通过选择多个参考线中至少之一并且基于在所选择的参考线中包括的参考样本来执行对当前块的帧内预测。通过如上所述的那样从多个参考线候选中选择至少一个参考线来执行帧内预测可以被称为“使用扩展参考样本的帧内预测方法”或“扩展帧内预测方法”。此外,多个参考线可以称为“扩展参考线”。
[0257]
可以基于通过比特流用信号发送的信息来确定是否基于扩展参考线来执行帧内预测。此处,信息可以是1比特标志,但不限于此。与是否基于扩展参考线执行帧内预测有关
的尺寸时,与第(k-1)参考线相比,第k参考线可以进一步包括八个(具体地,水平方向上4个以及垂直方向上4个)参考样本。
[0269]
参照图18,由于当前块尺寸的大小是4
×
4,所以例示了第一参考样本包括总共9个参考样本,并且第二参考样本包括总共13(=9+2
×
2)个参考样本。
[0270]
在当前块是非正方形时,可以根据当前块的水平和垂直长度来确定包括在参考线中的参考样本的数目。
[0271]
例如,图21是例示非正方形块的多个参考线的图。通过比较图18和图21进行描述,随着当前块的宽度减小至1/2,在参考线0中包括的除了左上参考样本之外的顶部参考样本的数目从8减少为4。
[0272]
亦即,根据图18和图21,当假设当前块具有w
×
h的尺寸时,第k参考线可以包括总共2{(w+h)+2(k-1)}+1个参考样本,这些参考样本包括w+h+2(k-1)个顶部参考样本(或2w+2(k-1)个顶部参考样本)(即水平方向参考样本)、w+h+2(k-1)个左侧参考样本(或2h+2(k-1)个左侧参考样本)(即垂直方向参考样本)和左上侧参考样本。
[0273]
可以基于在当前块之前被编码/解码的重构样本来得到在参考线中包括的参考样本。例如,可以得到与参考样本位于相同位置处的重构样本作为参考样本。此时,如果在重构样本中包括不能用于当前块的帧内预测的不可用样本,则可以用邻近可用样本替换不可用样本。替换不可用参考样本的邻近可用样本可以是包括在与不可用参考样本相同的参考线中的重构样本,或者可以是包括在与不可用参考样本不同的参考线中的重构样本。
[0274]
例如,当基于扩展参考线执行帧内预测时,如果参考线中的参考样本的位置在图片之外或在与当前块不同的切片中,或者如果重构样本包括在通过帧间预测被编码的块中,则可以确定样本不可用作当前块的参考样本。当设置为不使用在通过帧间预测被编码的块中包括的重构样本作为参考样本时(例如,当constrained_intra_prediction_flag的值为1时),在通过帧间预测被编码的块中包括的重构样本可以被确定为不可用。
[0275]
或者,如果设置为通过帧内预测被编码的块应该比通过帧间预测被编码的块更早地被解码,则当通过帧内预测被编码的块被解码时,可能尚未重构通过帧间预测被编码的块。因此,如果通过帧内预测被编码的块的解码顺序在通过帧间预测被编码的块之前,则可以将在通过帧间预测被编码的块中包括的样本确定为不可用参考样本。
[0276]
可以考虑不可用参考样本的位置、不可用参考样本与可用参考样本之间的距离等来确定用于替换不可用参考样本的参考样本。例如,可以用与不可用参考样本具有最短距离的可用参考样本来替换不可用参考样本。亦即,以下可用参考样本可以代替不可用参考样本:该可用参考样本具有最短距离,并且通过将包括在与不可用参考样本相同的参考线中的可用参考样本与不可用样本之间的距离(第一偏移)和包括在与包括不可用参考样本的参考线不同的参考线中的可用参考样本与不可用样本之间的距离(第二偏移)进行比较来选择该可用参考样本。替选地,位于不可用参考样本的预定方向上的可用参考样本可以替换不可用参考样本。此处,预定方向可以是编码器/解码器中的预定义方向(例如,左、右、上或下)。可以根据不可用参考样本的位置来不同地设置预定义方向。
[0277]
在图22所示的示例中,描绘了在参考线0中包括的不可用参考样本与在参考线0中包括的可用参考样本之间的距离是4,并且在参考线0中包括的不可用参考样本与在参考线2中包括的可用参考样本之间的距离是2。因此,可以通过使用在参考线2中包括的可用参考
样本来代替在参考线0中包括的不可用样本。
[0278]
如果第一偏移和第二偏移相同,则可以使用包括在与不可用参考样本相同的参考线中的可用参考样本来替换不可用参考样本。
[0279]
可以仅当包括在与不可用参考样本相同的参考线中的可用样本与不可用参考样本之间的距离(即,第一偏移)等于或大于n时,使用包括在与不可用参考样本不同的参考线中的可用参考样本来替换不可用参考样本。替选地,即使在第一偏移等于或大于n的情况下,可以仅在第二偏移小于第一偏移时,才使用包括在与不可用参考样本不同的参考线中的可用参考样本来替换不可用参考样本。此处,n可以表示1或更大的整数。
[0280]
如果第一偏移不等于或大于n,则可以使用包括在与不可用参考样本相同的参考线中的可用参考样本来替换不可用参考样本。
[0281]
图23和图24示出了在n为2时用可用参考样本替换不可用参考样本的示例。如果在参考线0中包括的不可用参考样本与在参考线0中包括的可用参考样本之间的距离是2,则如在图23中所示的示例中那样,可以使用在参考线1中包括的可用参考样本来替换在参考线0中包括的不可用参考样本。
[0282]
另一方面,如果在参考线0中包括的不可用参考样本与在参考线0中包括的可用参考样本之间的距离是1,则如在图24中所示的示例中那样,可以使用在参考线0中包括的可用参考样本来替换在参考线0中包括的不可用参考样本。
[0283]
可以使用包括在与不可用参考样本相同的参考线中的可用参考样本或包括在与包括不可用参考样本的参考线邻近的参考线中的可用参考样本来替换不可用参考样本。此处,与包括不可用参考样本的参考线邻近的参考线可以指的是与包括不可用参考样本的参考线具有1的索引差的参考线。替选地,可以用包括在与包括不可用参考样本的参考线具有为2或更大的索引差的参考线中的可用参考样本替换不可用的参考样本。
[0284]
替选地,可以使用以下参考线中包括的可用参考样本来替换不可用参考样本,该参考线与包括不可用参考样本的参考线相比具有更大的索引值或具有更小的索引值。例如,如果使用与包括不可用参考样本的参考线相比具有更大的索引值的参考线,则可以使用位于不可用参考样本的左侧或顶部的参考样本来替换不可用参考样本
[0285]
可以在预定方向上执行对可用参考样本的搜索以替换不可用参考样本。例如,可以仅使用包括在与不可用参考样本相同的参考线中的参考样本之中的位于不可用样本的顶部、底部、左侧或右侧的方向上的参考样本来替换不可用参考样本。替选地,可以仅使用包括在与不可用参考样本不同的参考线中的参考样本之中的位于不可用样本的顶部、底部、左侧或右侧的方向上的参考样本来替换不可用样本。
[0286]
根据本发明的实施方式,可以基于具有预定尺寸或预定形状的块来得到参考样本、参考线或参考线候选。随后,将参照图29和图30来描述对其的详细描述。
[0287]
解码器可以基于比特流对指定多个参考线中至少之一的索引信息进行解码(s2020)。例如,如果如图18所示的示例中那样存在4个参考线作为可选候选,则索引信息可以指定4个参考线中至少之一。
[0288]
可以基于当前块的尺寸、当前块的类型、当前块的帧内预测模式、邻近块中的索引信息或者当前块的帧内预测模式与预定帧内预测模式之间的差异等来自适应地确定用于对当前块执行帧内预测的参考线。
[0289]
此外,针对当前块的帧内预测选择的参考线的数目可以具有固定值,或者可以根据当前块的尺寸、形状或帧内预测模式来自适应地确定。
[0290]
当确定多个参考线中的至少一个参考线时,解码器可以使用确定的参考线对当前块执行帧内预测(s2030)。在这种情况下,可以根据当前块的帧内预测模式的方向性或帧内预测模式的类型中至少之一来得到在所选择的参考线中的当前块的帧内预测中使用的参考样本的位置和/或范围。
[0291]
例如,在当前块的帧内预测模式是dc模式时,可以基于在所确定的参考线中包括的参考样本的一部分或全部的平均值(dcval)来生成当前块的预测样本。参照图25和图26,将详细描述在参考线中包括的参考样本的平均值的计算。
[0292]
替选地,在当前块的帧内预测模式是方向模式时,可以基于在所确定的参考线中包括的参考样本中由方向模式指定的参考样本来生成当前块的预测样本。此时,如果从预测样本朝向由方向模式指示的方向延伸的线段指向参考样本之间,则可以基于位于由线段(其朝向由方向模式指示的方向延伸)指示的点的两侧的第二参考样本和第一参考样本的加权和(加权预测)生成当前块的预测样本。
[0293]
在当前块的帧内预测模式是dc模式时,需要计算在参考线中包括的参考样本的平均值(dcval),以便对当前块执行预测。此时,可以仅使用在第k参考线中包括的参考样本的一部分来计算第k参考线中的参考样本的平均值。此时,用于得到平均值的参考样本的数目对于每个参考线可以是相同的,或者对于每个参考线可以是不同的。
[0294]
替选地,可以使用在第k参考线中包括的所有参考样本来得到第k参考线中的参考样本的平均值。替选地,可以基于当前块的尺寸、当前块的形状或参考线的位置来确定是否使用第k参考线中的参考样本的一部分来得到平均值或者使用第k参考线中的所有参考样本来得到平均值。
[0295]
图25是示出用于得到参考线的平均值的参考样本的图。
[0296]
图25示出了使用在参考线中包括的参考样本的一部分来得到第k参考线的参考样本平均值的示例。例如,如图25中所示的示例,可以使用除了与当前块的左上角邻近的参考样本之外的顶部参考样本和左侧参考样本来计算与当前块(即,图25中所示的参考线0)邻近的第一参考线的参考样本平均值。亦即,在当前块的尺寸是n
×
n时,可以使用总共4n个参考样本——例如2n个顶部参考样本和2n个左侧参考样本——来计算第一参考线的平均值。
[0297]
用于计算第k参考线的参考样本平均值的参考样本的数目可以与用于计算第一参考线的参考样本平均值的参考样本的数目相同。此时,用于计算第k参考线的平均值的参考样本的位置可以与用于计算第一参考线的参考样本平均值的参考样本的位置对应。
[0298]
与第一参考线的参考样本对应的第k参考线中的参考样本可以与第一参考线的参考样本具有相同的x坐标或相同的y坐标。例如,与在第一参考线中包括的顶部参考样本p(i,j)对应的在第k参考线中包括的顶部参考样本的坐标可以是p(i,j-k+1),p(i,j-k+1)与p(i,j)具有相同的x坐标。例如,与在第一参考线中包括的左侧参考样本p(i,j)对应的在第k参考线中的左侧参考样本的坐标可以是p(i-k+1,j),p(i-k+1,j)与p(i,j)具有相同的y坐标。
[0299]
在图25中,示出了与第一参考线中的上部参考样本和左侧参考样本对应的第二参考线至第四参考线的参考样本。可以使用图25中所示的参考样本来计算每个参考线的参考
样本平均值。
[0300]
在图25中,假设当前块具有正方形形状,但是即使当前块具有非正方形形状,也可以照原样应用上述实施方式。例如,在当前块是具有w
×
h尺寸的非正方形块时,可以使用总共2(w+h)个参考样本(例如2w个顶部参考样本和2h个左侧参考样本)来计算每个参考线的参考样本平均值。因此,如在图26中所示的示例中那样,用于计算第k参考线的平均值的参考样本的数目可以与用于计算第一参考线的平均值的参考样本的数目具有相同的值。此外,用于计算第k参考线的平均值的参考样本的位置可以与用于计算第一参考线的参考样本平均值的参考样本的位置对应。
[0301]
在图25和图26中,使用多达当前块的宽度的两倍的顶部参考样本和多达当前块的高度的两倍的左侧参考样本来计算参考线的参考样本平均值。可以使用比图25和图26中所示的参考样本更少数目或更多数目的参考样本来计算参考线的参考样本平均值。例如,可以使用与当前块的宽度相同数目的顶部参考样本以及与当前块的高度相同数目的左侧参考样本来计算参考线的参考样本平均值。
[0302]
可以通过取决于当前块的形状和参考样本的位置向参考样本分配不同的权重来计算参考线的参考样本平均值。例如,如果当前块具有正方形形状,则可以通过向顶部参考样本和左侧参考样本分配相同的权重来计算参考样本平均值。另一方面,在当前块具有非正方形形状时,可以通过向顶部参考样本和左侧参考样本中之一分配较大权重来计算参考样本平均值。例如,如果当前块的高度大于宽度,则可以通过向顶部参考样本分配比向左侧参考样本分配的权重更大的权重来计算平均值。另一方面,在当前块的宽度大于高度时,可以通过向左侧参考样本分配比向顶部参考样本分配的权重更大的权重来计算平均值。
[0303]
例如,在当前块的尺寸是n/2
×
n时,第k参考线的平均值dcval可以通过下面式12来计算。
[0304]
[式12]
[0305][0306]
例如,在当前块的尺寸是n
×
n/2时,第k参考线的平均值dcval可以通过下面的式13来计算。
[0307]
[式13]
[0308][0309]
在式12和式13中,k可以被设置为1与max_intra_line_idx_minus2+2之间的值。
[0310]
如在以上示例中那样,可以使用第k帧内参考线的参考样本中的与在第一帧内参考线中包括的参考样本对应的参考样本来计算平均值。此时,可以基于预定权重来计算平均值。此处,可以基于第一帧内参考线和第k帧内参考线与当前块的距离来得到权重。
[0311]
在通过图20描述的示例中,例示了在生成多个参考线之后对指定多个参考线中之一的索引信息进行解码。代替得到多个参考线,也可以在对指定多个参考线之一的索引信息进行解码之后仅获得由索引信息指定的参考线。
[0312]
在通过图20描述的实施方式中,描述了:使用多个参考线中的由索引信息指定的
至少一个参考线来执行对当前块的帧内预测。亦即,可以使用一个参考线或两个或更多个参考线来执行对当前块的帧内预测。可以基于从比特流用信号发送的信息、当前块的尺寸、当前块的类型、当前块的帧内预测模式、当前块的帧内预测模式是否是非方向性的或者当前块的帧内预测模式与预定帧内预测模式之间的差异等来确定是否在对当前块执行帧内预测时使用两个或更多个参考线。
[0313]
可以通过从比特流用信号发送的多个索引信息来指定两个或更多个参考线。例如,在设置为使用两个参考线时,可以通过第一索引信息指定两个参考线中的任何一个,而另一个参考线可以通过第二索引信息指定。
[0314]
替选地,两个或更多个参考线可以在空间上连续。在这种情况下,可以通过比特流用信号发送用于指定两个或更多个参考线中的任何一个的索引信息。如果通过索引信息选择两个或更多个参考线中的任何一个,则可以基于与所选择的参考线的空间邻接来自动选择剩余参考线。例如,当设置为使用两个参考线并且索引信息指示“参考线0”时,那么可以基于参考线0和与参考线0邻近的参考线1来执行当前块的帧内预测。
[0315]
当设置为使用多个参考线时,可以基于在多个参考线中包括的参考样本的平均值、最大值、最小值或加权和来执行对当前块的帧内预测。
[0316]
例如,假设当前块的帧内预测模式是方向模式(即,角度模式),可以基于第一参考样本和第二参考样本生成当前块的预测样本,第一参考样本和第二参考样本中的每一个都包括在不同参考线中。此处,包括第一参考样本的第一参考线和包括第二参考样本的第二参考线可以被定位成彼此邻近,但本发明不限于此。此外,可以通过当前块的帧内预测模式确定第一参考样本的位置和第二参考样本的位置。替选地,第一参考样本和第二参考样本也可以被定位成彼此邻近。可以考虑第一参考样本和第二参考样本的加权和来生成当前块的预测样本,或者可以基于第一参考样本和第二个参考样本的平均值、最小值或最大值来生成当前块的预测样本。
[0317]
图27是示出使用多个参考线获得预测样本的示例的图。
[0318]
可以基于使用多个参考线生成的样本值来得到当前块的预测样本。例如,可以基于参考样本的最小值、最大值、平均值或加权平均值中至少之一来生成当前块的预测样本,参考样本中的每一个包括在不同的参考线中。如果假设使用图27中所示的示例中的参考线0和参考线1来执行对当前块的帧内预测,则可以基于参考线0中包括的参考样本与参考线1中包括的参考样本之间的最小值、最大值、平均值或加权和来获得当前块的预测样本。
[0319]
此时,属于用于预测当前块中的解码目标样本的不同参考线的参考样本的数目可以相同或不同。例如,在图27所示的示例中,可以使用在参考线0中包括的n个参考样本和在参考线1中包括的m个(m是与n相同或不同的自然数)参考样本来获得在当前块中包括的解码目标样本的预测值。
[0320]
当基于属于不同参考线的参考样本的加权和来预测解码目标样本时,可以基于当前块的帧内预测模式(例如,帧内预测模式的模式值、方向性或角度等)、解码目标样本与参考样本之间的距离或包括参考样本的参考线的位置中至少之一来确定应用于参考样本中的每个参考样本的权重。替选地,应用于属于不同参考线的参考样本的权重可以是根据帧内预测模式(例如,帧内预测模式的模式值、方向性或角度等)预定义的固定值。
[0321]
此外,可以根据当前块的帧内预测模式(例如,帧内预测模式的模式值、方向性或
角度)来确定在加权和运算中使用的参考样本的位置。例如,在当前块的帧内预测模式指示右上对角线方向时,可以基于在参考线0中包括的(1,-1)处的参考样本与在参考线1中包括的(2,-2)处的参考样本之间的加权和运算来预测位于当前块中的(0,0)处的解码目标样本。
[0322]
替选地,可以基于使用多个参考线中的至少一个参考线的第一帧内预测和使用多个参考线中的至少一个参考线的第二帧内预测来生成当前块的预测样本。此处,用于第一帧内预测的参考线和用于第二帧内预测的参考线可以彼此不同。例如,如果使用多个参考线中的一部分执行第一帧内预测,则可以使用剩余参考线来执行第二帧内预测。此外,用于第一帧内预测的帧内预测模式和用于第二帧内预测的帧内预测模式可以相同或不同。
[0323]
可以基于通过执行第一帧内预测生成的第一预测样本和通过执行第二帧内预测生成的第二预测样本来生成当前块的预测样本。例如,可以基于第一预测样本和第二预测样本的最小值、最大值、平均值或加权和来生成预测样本。
[0324]
可以通过选择多个参考线来执行当前块的帧内预测。此时,可以针对当前块中的每个预定单元不同地选择参考线。例如,可以以块中的样本单元、行/列单元或预定区域单元为单位确定参考线。因此,即使两个解码目标样本包括在同一块中,也可以基于不同的参考线来预测其中每一个。
[0325]
具体地,可以基于解码目标样本的位置信息来确定参考线。此处,解码目标样本的位置信息可以包括:解码目标样本的x轴位置、解码目标样本的y轴位置、包括解码目标样本的行、包括解码目标样本的列、解码目标样本是否位于当前块的角部处、解码目标样本是否包括在当前块中的预定区域中等。
[0326]
根据解码目标样本的位置信息不仅可以不同地确定参考线的位置而且还可以不同地确定参考线的数目或参考线的长度。例如,即使两个解码目标样本包括在同一块中,也可以基于不同数目的参考线来预测其中每一个。
[0327]
图28是用于说明基于解码目标样本的位置信息确定参考线的示例的图。
[0328]
可以在与当前块的特定边界邻近的解码目标样本与除所述解码目标样本以外的剩余解码目标样本之间使用不同的参考线。例如,在图28中所示的示例中,可以基于第二参考线(图28中的参考线1)来预测在当前块的第一行中包括的解码目标样本。另一方面,可以基于第一参考线(图28中的参考线0)来预测在第二行和第三行中包括的解码目标样本。
[0329]
此处,可以基于当前块的帧内预测模式来确定特定边界。例如,在当前块的帧内预测模式具有垂直方向或具有与垂直方向类似的方向时,特定边界可以是当前块的顶部边界(或左边界、右边界或底部边界)。另一方面,在当前块的帧内预测模式具有水平方向或具有与水平方向类似的方向时,特定边界可以是当前块的左边界(或顶部边界、底部边界或右边界)。此处,具有与垂直方向或水平方向类似的方向的帧内预测模式可以意指与垂直方向或水平方向的帧内预测模式的模式值的差在预定范围内。
[0330]
代替图28中所示的示例,可以以样本、行、列或预定区域为单位使用不同的参考线。
[0331]
也可以编码和传送用于针对当前块中的每个预定单元选择参考线的信息。例如,可以以样本、行、列或预定区域为单位对识别多个参考线中的任何一个的信息进行编码。
[0332]
如在图27和图28中所示的示例中那样,可以基于多个参考线执行对当前块的帧内
预测。此时,如图27所示的示例中那样,可以以块为单位确定参考线,或者可以由小于块的单元来确定参考线,如图28所示的示例中那样。可以基于经由比特流用信号发送的信息来确定是否以块或小于块的区域为单位确定参考线。此处,信息可以是1比特标志,然而本发明不限于此。替选地,可以基于当前块的尺寸、形状或帧内预测模式中至少之一来自适应地确定用于确定参考线的单位。
[0333]
根据本发明的实施方式,可以基于具有预定形状的块或具有等于或大于预定尺寸的尺寸的块来得到参考线或参考样本。此处,预定形状可以表示宽度与高度之比等于或大于预定值的正方形块或非正方形块。如果当前块不具有预定形状或者不具有等于或大于预定尺寸的尺寸,则可以使用基于具有预定形状的块或具有等于或大于预定尺寸的尺寸的块得到的参考线或参考样本来执行当前块的帧内预测。因此,包括在具有预定形状的块或具有等于或大于预定尺寸的尺寸的块中的多个块(例如,多个编码块、多个变换块或多个预测块)可以共享基于具有预定形状的块或具有等于或大于预定尺寸的尺寸的块得到的参考线或参考样本。
[0334]
图29是示出使用基于预定形状的块得到的参考样本来执行帧内预测的示例的图。为了便于说明,假设基于正方形块得到单个参考线。
[0335]
可以使用基于包括非正方形块的正方形块得到的参考样本来预测非正方形块。例如,如果编码块是具有正方形块的1/2的宽度或长度的非正方形块,则可以根据基于正方形块得到的参考样本来执行编码块的帧内预测。
[0336]
如果基于预定形状的块或具有等于或大于预定尺寸的尺寸的块得到参考线或参考样本,则包括在预定形状的块或具有等于或大于预定尺寸的尺寸的块中的块可以共享参考线或参考样本。例如,在图29中,非正方形形状的编码块0和非正方形形状的编码块1可以共享基于正方形块得到的参考样本。
[0337]
根据本发明的实施方式,可以基于具有预定形状的块或具有等于或大于预定尺寸的尺寸的块来得到多个参考线。因此,包括在具有预定形状的块或具有等于或大于预定尺寸的尺寸的块中的多个块可以共享基于具有预定形状的块或具有等于或大于预定尺寸的尺寸的块得到的多个参考线候选。
[0338]
图30是示出使用基于预定形状的块得到的多个参考线执行帧内预测的示例的图。
[0339]
可以使用在基于包括非正方形块的正方形块得到的多个参考线中的至少一个参考线中包括的参考样本来预测非正方形块。例如,如果编码块是具有正方形块的1/2的宽度或长度的非正方形块,则可以根据基于正方形块得到的多个参考线中至少之一来执行编码块的帧内预测。
[0340]
当基于具有预定形状的块或具有等于或大于预定尺寸的尺寸的块得到多个参考线时,包括在具有预定形状的块或具有等于或大于预定尺寸的尺寸的块中的块可以共享多个参考线候选。例如,在图30中,基于正方形块得到的多个参考线可以被设置为针对具有非正方形形状的编码块0和具有非正方形形状的编码块1的参考线候选。
[0341]
包括在具有预定形状的块或具有等于或大于预定尺寸的尺寸的块中的多个块可以单独地确定参考线。例如,在图30所示的示例中,编码块0可以基于针对编码块0编码的索引信息来选择多个参考线中至少之一,并且编码块1可以基于针对编码块1编码的索引信息来选择多个参考线中至少之一。
[0342]
替选地,也可以强制包括在具有预定形状的块或具有等于或大于预定尺寸的尺寸的块中的多个块使用相同的参考线。例如,在图30所示的示例中,如果基于在参考线0中包括的参考样本执行对编码块0的帧内预测,则也可以基于在参考线0中包括的参考样本来执行对编码块1的帧内预测。
[0343]
可以根据包括在预定形状的块或具有等于或大于预定尺寸的尺寸的块中的多个块中的每个块的形状或尺寸来确定是允许每个块单独地选择参考线还是限制每个块单独地选择参考线。例如,当要对2n
×
n或n
×
2n的非正方形编码块执行帧内预测时,如果2n(即,宽度或高度)大于阈值k,则可以允许单独地选择块的参考线。另一方面,如果2n小于阈值k,则可以限制单独地选择块的参考线。
[0344]
根据本发明的一个实施方式,可以定义共享相同参考样本、相同参考线或相同参考线候选的块的单元。此时,块的单元可以具有在编码器/解码器中预先设置的尺寸和/或形状。替选地,可以在编码器中对定义块的单元的信息进行编码,然后将其用信号发送给解码器。该信息可以指示块的单元的宽度/高度、划分深度或尺寸。在块的单元中包括的多个块可以共享相同参考样本、相同参考线或相同参考线候选。此时,可以基于块的单元得到或者可以基于在块的单元中包括的多个块中至少之一得到参考样本或至少一个参考线。
[0345]
可以对在参考线中包括的参考样本执行参考样本平滑。亦即,多个滤波器中至少之一可以用于对在参考线中包括的参考样本进行滤波。可以基于未滤波的参考样本或滤波的参考样本来执行对当前块的帧内预测。
[0346]
可以对多个参考线中的所有参考线或多个参考线的一部分执行参考样本平滑。例如,可以对多个参考线中的用于当前块的帧内预测的参考线——例如,由索引信息指定的参考线——执行参考样本平滑。
[0347]
可以基于当前块的尺寸、帧内预测模式的类型、帧内预测模式的方向性、参考线的位置、参考线的数目或参考线之间的变化中至少之一来自适应地确定是否执行参考样本平滑。参考线之间的变化可以表示在不同参考线中包括的参考样本之间的差值。例如,如果当前块的预测块的尺寸是4
×
4,或者如果当前块的帧内预测模式是dc模式,则可以省略参考样本平滑。
[0348]
此外,可以根据当前块的尺寸、帧内预测模式的类型、帧内预测模式的方向性、参考线的位置、参考线的数目或参考线之间的变化中至少之一来自适应地确定应用滤波器的次数或滤波器的类型。例如,当与当前块有关的预测块的尺寸等于或小于32
×
32并且当前块的帧内预测模式不具有水平方向、与水平方向类似的方向、垂直方向或与垂直方向类似的方向时,可以使用第一帧内滤波器来执行参考滤波器平滑。另一方面,当与当前块有关的预测块的尺寸等于或大于32
×
32并且参考样本之间的变化等于或小于预定值(即,参考样本的值的改变不大)时,可以使用第二帧内滤波器来执行参考样本平滑。
[0349]
当使用第一帧内滤波器对在参考线中包括的参考样本进行滤波时,可以如式14所示得到经滤波的参考样本。
[0350]
[式14]
[0351]
p(-1,-1)=(p(-1,0)+2*p(-1,-1)+p(0,-1)+2)>>2
[0352]
p(-1,y)=(p(-1,y+1)+2*p(-1,y)+p(-1,y-1)+2)>>2
[0353]
p(x,-1)=(p(x+1,-1)+2*p(x,-1)+p(x-1,-1)+2)>>2
[0354]
当使用第二帧内滤波器对在参考线中包括的参考样本进行滤波时,可以如式15所示得到经滤波的参考样本。
[0355]
[式15]
[0356]
p(-1,y)=((2n-y)*p(-1,-1)+(y+1)*p(-1,2n+2k-1)+n/2)>>n
[0357]
p(x,-1)=((2n-x)*p(-1,-1)+(x+1)*p(2n+2k-1,-1)+n/2)>>n
[0358]
在上面的式14和式15中,x可以具有0到2n-2(k-1)之间的值,并且y可以具有0到2n-2(k-1)之间的值。此处,k表示参考线的索引,并且n表示当前块的尺寸。
[0359]
替选地,可以根据参考线可变地确定帧内滤波器的类型或应用帧内滤波器的次数。例如,可以根据参考线的索引或位置应用不同的帧内滤波器。或者,可以根据参考线所属的组应用不同的帧内滤波器。此处,不同的滤波器可以在滤波器的长度、滤波器系数或滤波器强度中至少之一上彼此不同。
[0360]
作为示例,多个参考线可以被分类成至少一个组。此时,每个组可以包括至少一个参考线。可以基于参考线的索引、参考线的数目或参考线之间的邻接中至少之一来执行分组。例如,可以基于诸如参考线的索引是否是偶数或者参考线的索引是否等于或大于预定值的因素将多个参考线分类成至少一个组。
[0361]
例如,在当前块使用第一参考线或第二参考线中至少之一时,可以使用第一帧内滤波器来执行帧内参考平滑。另一方面,在当前块使用第三参考线或第四参考线中至少之一时,可以使用第二帧内滤波器来执行帧内参考平滑。此处,第一帧内滤波器和第二帧内滤波器可以在滤波器系数、滤波器抽头或滤波器强度中的至少一个上彼此不同。例如,第一帧内滤波器的滤波器系数可以是(1,2,1),并且第二帧内滤波器的滤波器系数可以是(2,12,2)。
[0362]
可以基于当前块的尺寸、帧内预测模式的类型、帧内预测模式的方向性、参考线的位置、参考线的数目中至少之一来确定要应用于参考线的滤波器类型。并且,可以基于列举的元素将在确定的滤波器类型中包括的滤波器之一应用于参考线。此处,可以根据滤波器长度(抽头的数目)、滤波器系数或滤波器强度中至少之一来对滤波器类型进行分类。例如,第一类型滤波器可以具有彼此相同的滤波器长度,但是可以具有与第二类型滤波器不同的滤波器长度。
[0363]
例如,当与当前块有关的预测块的尺寸等于或小于32
×
32并且当前块的帧内预测模式不具有水平方向、与水平方向类似的方向、垂直方向或与垂直方向类似的方向时,可以确定使用第一滤波器类型。并且,在当前块使用第一参考线或第二参考线中至少之一时,可以使用在第一帧内滤波器类型中包括的第一帧内滤波器来执行参考样本平滑。另一方面,在当前块使用第三参考线或第四参考线中至少之一时,可以使用在第一帧内滤波器类型中包括的第二帧内滤波器来执行参考样本平滑。此时,第一帧内滤波器和第二帧内滤波器的滤波器长度相同,而滤波器系数不同。例如,第一帧内滤波器的滤波器系数可以是(1,2,1),并且第二帧内滤波器的滤波器系数可以是(2,12,2)。
[0364]
可以根据是否使用扩展参考线来可变地确定可用帧内预测模式的数目。亦即,取决于是否使用扩展参考线,可以以序列、切片、编码树单元、编码单元或预测单元为单位使用不同数目的方向帧内预测模式。
[0365]
由于当使用扩展参考线时帧内预测的效率增大,所以即使当与不使用扩展参考线
时相比使用较少数目的帧内预测模式时,在执行有效的帧内预测方面也不存在问题。因此,取决于是否使用扩展参考线,可以确定是使用n个方向预测模式还是少于n个方向预测模式。例如,可以设置为:当使用扩展参考线时使用基本帧内预测模式(即,33个方向帧内预测模式),并且当不使用扩展参考线时使用扩展帧内预测模式(即,65个方向帧内预测模式)。
[0366]
可以根据用于帧内预测的参考线的位置来限制可用于当前块的帧内预测模式的类型或数目。
[0367]
例如,随着当前块与参考线之间的距离增大,当前块与参考线之间的不连续性增加。因此,随着当前块与参考线之间的距离增大,使用非方向预测模式(诸如dc模式或平面模式)的帧内预测的效率降低。因此,可以设置为:当使用距当前块的距离等于或大于预定阈值的参考线时,不使用包括dc模式或平面模式中至少之一的非方向预测模式。例如,当用于当前块的帧内预测的参考线的索引等于或大于l时,可以不使用包括dc模式和平面模式中至少之一的非方向预测模式。此处,l是包括0的整数,并且可以是0、1、2、3等。
[0368]
替选地,可以根据用于当前块的帧内预测的帧内参考线的位置来调整可用帧内预测模式的数目。例如,当用于当前块的帧内预测的参考线的索引等于或大于l时,可以使用基本帧内预测模式,并且当参考线的索引小于l时,可以使用扩展帧内预测模式。例如,如果l是2,则扩展帧内预测模式(即,67个帧内预测模式)可以用于第一参考线或第二参考线,并且基本帧内预测模式(即,35个帧内预测模式)可以用于第三参考线或第四参考线。
[0369]
取决于当前块的帧内预测模式或可用于当前块的帧内预测模式的数目,可以限制可用于针对当前块被选择的参考线。例如,在当前块的帧内预测模式是诸如dc模式或平面模式的非方向预测模式时,可以设置的是,具有等于或大于l的索引的参考线不用于当前块的帧内预测。
[0370]
主要关于解码处理描述了上述实施方式,然而可以如所描述的那样以相同的顺序或以相反的顺序来执行编码处理。
[0371]
图31是示出根据应用本发明的实施方式的获得残差样本的处理的流程图。
[0372]
首先,可以获得当前块的残差系数(s3110)。解码器可以通过系数扫描方法获得残差系数。例如,解码器可以使用曲线(jig-zag)扫描、垂直扫描或水平扫描来执行系数扫描,并且可以以二维块的形式获得残差系数。
[0373]
可以对当前块的残差系数执行逆量化(s3120)。
[0374]
可以确定是否跳过对当前块的反量化残差系数的逆变换(s3130)。具体地,解码器可以确定是否跳过当前块的水平方向或垂直方向中的至少一个方向上的逆变换。当确定在当前块的水平方向或垂直方向中的至少一个方向上应用逆变换时,可以通过对当前块的反量化残差系数进行逆变换来获得当前块的残差样本。此处,可以使用dct、dst和klt中至少之一来执行逆变换。
[0375]
当在当前块的水平方向和垂直方向两者上都跳过逆变换时,不在当前块的水平方向和垂直方向上执行逆变换。在这种情况下,可以通过用预定值缩放反量化残差系数来获得当前块的残差样本。
[0376]
跳过水平方向上的逆变换意味着:不在水平方向上执行逆变换,而是在垂直方向上执行逆变换。此时,可以在水平方向上执行缩放。
[0377]
跳过垂直方向上的逆变换意味着:不在垂直方向上执行逆变换,而是在水平方向
上执行逆变换。此时,可以在垂直方向上执行缩放。
[0378]
可以根据当前块的划分类型确定是否可以针对当前块使用逆变换跳过技术。例如,如果通过基于二叉树的划分生成当前块,则可以针对当前块限制逆变换跳过方案。因此,当通过基于二叉树的划分生成当前块时,可以通过对当前块进行逆变换来获得当前块的残差样本。此外,当通过基于二叉树的划分生成当前块时,可以省略对指示是否跳过逆变换的信息(例如,transform_skip_flag)进行的编码/解码。
[0379]
替选地,当通过基于二叉树的划分生成当前块时,可以将逆变换跳过方案限制到水平方向或垂直方向中至少之一。此处,可以基于从比特流解码的信息来确定逆变换跳过方案被限制的方向,或者可以基于当前块的尺寸、当前块的形状或当前块的帧内预测模式中至少之一来自适应地确定逆变换跳过方案被限制的方向。
[0380]
例如,在当前块是宽度大于高度的非正方形块时,可以仅在垂直方向上允许逆变换跳过方案,而在水平方向上限制逆变换跳过方案。亦即,在当前块是2n
×
n时,在当前块的水平方向上执行逆变换,并且可以在垂直方向上选择性地执行逆变换。
[0381]
另一方面,在当前块是高度大于宽度的非正方形块时,可以仅在水平方向上允许逆变换跳过方案,而在垂直方向上限制逆变换跳过方案。亦即,在当前块是n
×
2n时,在当前块的垂直方向上执行逆变换,并且可以在水平方向上选择性地执行逆变换。
[0382]
与上述示例相反,在当前块是宽度大于高度的非正方形块时,可以仅在水平方向上允许逆变换跳过方案,并且在当前块是高度大于宽度的非正方形块时,可以仅在垂直方向上允许逆变换跳过方案。
[0383]
可以通过比特流用信号发送指示是否跳过关于水平方向的逆变换的信息或指示是否跳过关于垂直方向的逆变换的信息。例如,指示是否跳过水平方向上的逆变换的信息是1比特标志'“hor_transform_skip_flag”,并且指示是否跳过垂直方向上的逆变换的信息是1比特标志“ver_transform_skip_flag”。编码器可以根据当前块的形状对“hor_transform_skip_flag”或“ver_transform_skip_flag”中至少之一进行编码。此外,解码器可以通过使用“hor_transform_skip_flag”或“ver_transform_skip_flag”中至少之一来确定是否跳过水平方向或垂直方向上的逆变换。
[0384]
可以设置为:根据当前块的划分类型跳过用于当前块的任何一个方向的逆变换。例如,如果通过基于二叉树的划分生成当前块,则可以跳过水平方向或垂直方向上的逆变换。亦即,如果通过基于二叉树的划分生成当前块,则可以在不对指示是否跳过当前块的逆变换的信息(例如,transform_skip_flag、hor_transform_skip_flag、ver_transform_skip_flag)进行编码/解码的情况下确定在水平方向或垂直方向中的至少一个方向上跳过用于当前块的逆变换。
[0385]
尽管已经基于一系列步骤或流程图描述了上述实施方式,但是它们不限制本发明的时序顺序,并且可以根据需要同时或以不同顺序执行。此外,构成上述实施方式中的框图的部件(例如,单元、模块等)中的每一个可以由硬件装置或软件以及多个部件来实现。或者,可以通过单个硬件装置或软件来组合并实现多个部件。上述实施方式可以以程序指令的形式实现,所述程序指令可以通过各种计算机部件执行并记录在计算机可读记录介质中。计算机可读记录介质可以包括程序命令、数据文件、数据结构等之一或其组合。计算机可读介质的示例包括磁介质(诸如硬盘、软盘和磁带)、光学记录介质(诸如cd-rom和dvd)、
磁光介质(诸如光磁软盘)、介质和专门配置成存储和执行程序指令的硬件装置(诸如rom、ram、快闪存储器)等。硬件装置可以被配置成作为一个或更多个软件模块操作,以用于执行根据本发明的过程,反之亦然。
[0386]
工业应用性
[0387]
本发明可以被应用于能够对视频进行编码/解码的电子装置。
[0388]
关于包括以上实施例的实施方式,还公开下述的技术方案:
[0389]
项目1.一种用于对视频进行解码的方法,所述方法包括:
[0390]
针对当前块得到多个参考样本线;
[0391]
选择所述多个参考样本线中的至少两个;以及
[0392]
基于所选择的参考样本线执行对所述当前块的帧内预测。
[0393]
项目2.根据项目1所述的方法,其中,选择所述多个参考样本线中的至少两个包括:针对所述当前块的每个预定区域选择不同的参考样本线。
[0394]
项目3.根据项目2所述的方法,其中,在与所述当前块的边界邻近的第一区域与除所述第一区域以外的第二区域之间选择不同的参考样本线。
[0395]
项目4.根据项目3所述的方法,其中,根据所述当前块的帧内预测模式来确定所述边界。
[0396]
项目5.根据项目1所述的方法,其中,基于参考样本的加权和运算来获得所述当前块的预测样本,所述参考样本中的每一个包括在不同的样本线中。
[0397]
项目6.根据项目5所述的方法,其中,基于所述当前块的帧内预测模式、所述预测样本与参考样本之间的距离或包括参考样本的参考样本线的位置中的至少之一来确定应用于所述参考样本中的每一个的权重。
[0398]
项目7.根据项目1所述的方法,其中,基于具有预定形状或具有等于或大于预定尺寸的尺寸的块来得到所述多个参考样本线,所述块包括所述当前块。
[0399]
项目8.根据项目7所述的方法,其中,所述当前块与包括在具有预定形状或具有等于或大于预定尺寸的尺寸的所述块中的邻近块共享所述多个参考样本线。
[0400]
项目9.一种用于对视频进行编码的方法,所述方法包括:
[0401]
针对当前块得到多个参考样本线;
[0402]
选择所述多个参考样本线中的至少两个;以及
[0403]
基于所选择的参考样本线执行对所述当前块的帧内预测。
[0404]
项目10.根据项目9所述的方法,其中,选择所述多个参考样本线中的至少两个包括:针对所述当前块的每个预定区域选择不同的参考样本线。
[0405]
项目11.根据项目10所述的方法,其中,在与所述当前块的边界邻近的第一区域与除所述第一区域以外的第二区域之间选择不同的参考样本线。
[0406]
项目12.根据项目11所述的方法,其中,根据所述当前块的帧内预测模式来确定所述边界。
[0407]
项目13.根据项目9所述的方法,其中,基于具有预定形状或具有等于或大于预定尺寸的尺寸的块来得到所述多个参考样本线,所述块包括所述当前块。
[0408]
项目14.根据项目13所述的方法,其中,所述当前块与包括在具有预定形状或具有等于或大于预定尺寸的尺寸的所述块中的邻近块共享所述多个参考样本线。
[0409]
项目15.一种用于对视频进行解码的装置,所述装置包括:
[0410]
帧内预测单元,用于针对当前块得到多个参考样本线,选择所述多个参考样本线中的至少两个,并且基于所选择的参考样本线来执行对所述当前块的帧内预测。

技术特征:
1.一种用于对图像进行解码的方法,所述方法包括:从比特流中对指定当前块的参考样本线的索引信息进行解码;基于所述索引信息,在多个参考样本线中选择所述当前块的参考样本线;以及基于所述当前块的帧内预测模式和所选择的参考样本线来对所述当前块执行帧内预测,其中,当所选择的参考样本线的索引大于预定值时,非方向模式不可用作所述当前块的帧内预测模式,其中,所述非方向模式包括dc模式或平面模式中的至少一个,其中,从包括多个候选的候选列表得到所述当前块的帧内预测模式,并且其中,基于与所述当前块邻近的邻近块的帧内预测模式来确定所述多个候选。2.根据权利要求1所述的方法,其中,所述方法还包括:基于所选择的参考样本线的索引来确定是否将帧内滤波器应用于所选择的参考样本线。3.根据权利要求2所述的方法,其中,当确定将所述帧内滤波器应用于所选择的参考样本线时,通过使用所选择的参考样本线中包括的邻近参考样本来对所选择的参考样本线中包括的参考样本进行滤波。4.根据权利要求1所述的方法,其中,当不可用的参考样本被包括在所选择的参考样本线中时,使用所选择的参考样本线中包括的可用参考样本来替换所述不可用的参考样本。5.根据权利要求1所述的方法,其中,当所述当前块的帧内预测模式具有右上对角线方向或左下对角线方向时,通过使用在与所述当前块邻近的邻近块中包括的参考样本来对从所述帧内预测得到的预测样本进行修改。6.根据权利要求5所述的方法,其中,所述参考样本包括位于与所述当前块的帧内预测模式的预测方向相反的方向上的至少一个样本。7.一种用于对图像进行编码的方法,所述方法包括:在多个参考样本线中选择当前块的参考样本线;基于所述当前块的帧内预测模式和所选择的参考样本线来对所述当前块执行帧内预测;以及对指定所选择的参考样本线的索引信息进行编码,其中,当所选择的参考样本线的索引大于预定值时,非方向模式不可用作所述当前块的帧内预测模式,其中,所述非方向模式包括dc模式或平面模式中的至少一个,其中,从包括多个候选的候选列表得到所述当前块的帧内预测模式,并且其中,基于与所述当前块邻近的邻近块的帧内预测模式来确定所述多个候选。8.根据权利要求7所述的方法,其中,所述方法还包括:基于所选择的参考样本线的索引来确定是否将帧内滤波器应用于所选择的参考样本线。9.根据权利要求8所述的方法,其中,当确定将所述帧内滤波器应用于所选择的参考样本线时,通过使用所选择的参考样本线中包括的邻近参考样本来对所选择的参考样本线中包括的参考样本进行滤波。10.根据权利要求7所述的方法,其中,当不可用的参考样本被包括在所选择的参考样本线中时,使用所选择的参考样本线中包括的可用参考样本来替换所述不可用的参考样
本。11.根据权利要求7所述的方法,其中,当所述当前块的帧内预测模式具有右上对角线方向或左下对角线方向时,通过使用在与所述当前块邻近的邻近块中包括的参考样本来对从所述帧内预测得到的预测样本进行修改。12.根据权利要求11所述的方法,其中,所述参考样本包括位于与所述当前块的帧内预测模式的预测方向相反的方向上的至少一个样本。13.一种图像数据的传送方法,包括:生成所述图像数据的比特流,其中,所述比特流通过以下方式生成:在多个参考样本线中选择当前块的参考样本线;基于所述当前块的帧内预测模式和所选择的参考样本线来对所述当前块执行帧内预测;以及对指定所选择的参考样本线的索引信息进行编码;以及传送所述比特流,其中,当所选择的参考样本线的索引大于预定值时,非方向模式不可用作所述当前块的帧内预测模式,其中,所述非方向模式包括dc模式或平面模式中的至少一个,其中,从包括多个候选的候选列表得到所述当前块的帧内预测模式,并且其中,基于与所述当前块邻近的邻近块的帧内预测模式来确定所述多个候选。14.一种计算机可读存储介质,其中,所述计算机可读存储介质中的指令在由至少一个处理器执行时使所述至少一个处理器执行根据权利要求1至6中任一项所述的用于对图像进行解码的方法或者根据权利要求7至12中任一项所述的用于对图像进行编码的方法。

技术总结
本公开涉及用于对视频进行编码和解码的方法和装置。根据本发明的图像解码方法可以包括:针对当前块引起多个参考样本线的步骤;选择多个参考样本线中的两个或更多个的步骤;以及基于所选择的两个或更多个参考样本线执行对当前块的帧内预测的步骤。对当前块的帧内预测的步骤。对当前块的帧内预测的步骤。


技术研发人员:李培根
受保护的技术使用者:株式会社KT
技术研发日:2017.08.03
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐