Image encoding/decoding method and apparatus, and recording medium storing bit stream
本申请是申请日为2017年8月1日、申请号为201780047717.3、发明名称为“图像编码/解码方法和设备以及存储比特流的记录介质”的专利申请的分案申请。 附图说明 图1是示出根据本发明的实施例的编码设备的配置的框图。 图2是示出根据本发明的实施例的解码设备的配置的框图。 图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。 图4是示出可包括在编码单元(CU)中的预测单元(PU)的形式的示图。 图5是示出可包括在编码单元(CU)中的变换单元(TU)的形式的示图。 图6是用于解释帧内预测的处理的实施例的示图。 图7是描绘根据本发明的实施例的用于对当前块执行帧内预测的方法的示图。 图8是描绘用于从邻近块推导当前块的帧内预测模式的方法的示图。 图9是描绘可用于当前块的帧内预测的邻近的重建样本线的示例性示图。 图10是描绘重建参考样本的实施例的示图。 图11是描绘重建参考样本的另一实施例的示图。 图12是描绘重建参考样本的另一实施例的示图。 图13是描绘对通过划分当前块而产生的多个预测块进行编码/解码的实施例的示图。 图14是描绘对通过划分当前块而产生的多个预测块进行编码/解码的另一实施例的示图。 图15是描绘使用可用的重建样本替换不可用的重建样本的方法的示图。 图16是描绘使用可用重建样本替换不可用重建样本的另一方法的示图。 图17是描绘在一个或更多个重建样本线被使用的情况下参考样本的填充的示例性示图。 图18是描绘对包括填充的不可用参考样本的参考样本进行滤波的示图。 图19是描绘对包括不可用参考样本的参考样本进行滤波的示图。 图20是描绘从Pref产生1D参考样本阵列p1,ref的实施例的示图。 图21是描绘根据本发明的实施例的帧内预测的示图。 图22是描绘根据本发明的另一实施例的帧内预测的示图。 图23是描绘根据本发明的另一实施例的帧内预测的示图。 技术领域 本发明涉及用于对图像进行编码/解码的方法和设备。具体地,本发明涉及使用帧内预测对图像进行编码/解码的方法和设备、以及存储通过本发明的图像编码方法/设备产生的比特流的记录介质。 具体实施方式 可对本发明进行各种修改,并且存在本发明的各种实施例,其中,各种实施例的示例现在将参考附图被提供并被详细描述。然而,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围中的所有修改、等同物或替代物,但是本发明不限于此。在各个方面,类似的附图标记指代相同或相似的功能。在附图中,为了清楚,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参考了附图,其中,附图通过图示的方式示出了可以实践本发明的特定实施例。足够详细地描述了这些实施例,以使本领域技术人员能够实现本公开。应该理解的是,本公开的各种实施例虽然不同,但不一定是相互排斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可在其他实施例中实现。另外,应当理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求的等同物的全部范围)来限定。 说明书中使用的术语“第一”、“第二”等可用于描述各种组件,但是组件不应被解释为限于这些术语。这些术语仅用于将一个组件与其他组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被命名为“第二”组件,并且“第二”组件也可被类似地命名为“第一”组件。术语“和/或”包括多个项目的组合或多个项目中的任何一个项目。 应当理解,在本说明书中,当元件仅仅被称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”的另一元件时,它可“直接连接到”或“直接耦接到”另一元件,或者在使元件与另一元件之间介入有其他元件的情况下连接到或耦接到另一元件。相反,应该理解,当一个元件被称为“直接耦接”或“直接连接”到另一个元件时,不存在中间元件。 此外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,并不意味着每个构成部分都是以分离的硬件或软件的构成单元而构成的。换言之,为了方便,每个构成部分包括列举的构成部分中的每个。因此,每个构成部分中的至少两个构成部分可以组合以形成一个构成部分,或者一个构成部分可被划分为多个构成部分以执行每个功能。在没有脱离本发明的实质的情况下,组合每个构成部分的实施例和划分一个构成部分的实施例也包括在本发明的范围内。 本说明书中使用的术语仅用于描述特定实施例,并不意图限制本发明。除非在上下文中具有明显不同的含义,否则以单数形式使用的表述包括复数表述。在本说明书中,应理解,诸如“包括”、“具有”等的术语意图表示存在说明书中公开的特征、数字、步骤、动作、元件、部件或其组合,而并不意图排除可能存在或可能添加一个或更多个其他特征、数字、步骤、动作、元素、部件或其组合的可能性。换言之,当特定元素被称为被“包括”时,除了相应元素之外的元素并不被排除,而是附加元素可被包括在本发明的实施例或本发明的范围内。 另外,一些构成部分可能不是执行本发明基本功能的必不可少的构成部分,而是仅改善其性能的选择性构成部分。可通过仅包括用于实现本发明的本质的必不可少的构成部分而不包括用于改善性能的构成部分来实现本发明。仅包括必不可少的构成部分而不包括仅用于提高性能的选择性构成部分的结构也包括在本发明的范围内。 在下文中,将参考附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或结构,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。 另外,在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“图像的编码或解码、或者图像的编码和解码两者”可指“视频的编码或解码、或者视频的编码和解码两者”,并且可指“视频的图像中的一个图像的编码或解码、或者所述一个图像的编码和解码两者”。这里,画面和图像可具有相同的含义。 术语描述 编码器:可指执行编码的设备。 解码器:可指执行解码的设备。 解析:可指通过执行熵解码来确定语法元素的值,或者可指熵解码本身。 块:可指M×N矩阵的样本。这里,M和N是正整数,并且块可指二维形式的样本矩阵。 样本:是块的基本单元,并且可指示根据比特深度(Bd)而范围为从0到2Bd-1的值。在本发明中,样本可指像素。 单元:可指图像的编码和解码的单元。在对图像进行编码和解码时,单元可以是通过对一个图像进行分区而产生的区域。另外,当在编码或解码期间将一个图像分区为子划分单元时,单元可指子划分单元。在对图像进行编码和解码时,可执行针对每个单元的预定处理。可将一个单元分区为尺寸小于该单元的尺寸的子单元。根据功能,单元可指块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、变换单元、变换块等。另外,为了将单元与块相区分,单元可包括亮度分量块、亮度分量块的色度分量块、以及每个颜色分量块的语法元素。单元可具有各种尺寸和形状,并且具体地,单元的形状可以是二维几何图形,例如矩形、正方形、梯形、三角形、五边形等。另外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型、单元尺寸、单元深度、单元的编码和解码顺序等中的至少一个。 重建的邻近单元:可指在空间上/时间上先前编码或解码的重建的单元,并且重建的单元与编码/解码目标单元相邻。这里,重建的邻近单元可指重建的邻近块。 邻近块:可指与编码/解码目标块相邻的块。与编码/解码目标块相邻的块可指具有与编码/解码目标块接触的边界的块。邻近块可表示位于编码/解码目标块的相邻顶点处的块。邻近块可指重建的邻近块。 单元深度:可指单元的被分区程度。在树结构中,根节点可以是最高节点,并且叶节点可以是最低节点。 符号:可指编码/解码目标单元的语法元素、编码参数、变换系数的值等。 参数集:可指比特流的结构中的头信息。参数集可包括视频参数集、序列参数集、画面参数集或适配参数集中的至少一个。另外,参数集可指条带(slice)头信息和并行块(tile)头信息等。 比特流:可指包括编码的图像信息的比特串。 变换单元:可指在对残差信号执行与变换、逆变换、量化、反量化和变换系数编码/解码类似的编码/解码时的基本单元。一个变换单元可被分区为多个小变换单元。变换单元可具有各种尺寸和形状。具体地,变换单元的形状可以是二维几何图形,诸如,矩形、正方形、梯形、三角形、五边形等。 缩放:可指将因子乘以变换系数等级从而可产生变换系数的处理。缩放也可被称为反量化。 量化参数:可指在量化和反量化期间在对变换系数等级进行缩放时使用的值。这里,量化参数可以是被映射到量化的步长大小的值。 增量量化参数:可指预测出的量化参数与编码/解码目标单元的量化参数之间的差值。 扫描:可指对块或矩阵内的系数顺序进行排序的方法。例如,将二维矩阵排序为一维矩阵的操作可被称为扫描,并且将一维矩阵排序为二维矩阵的操作可被称为扫描或逆扫描。 变换系数:可指在执行变换之后产生的系数值。在本发明中,量化的变换系数等级可被称为变换系数,其中,量化的变换系数等级是被应用了量化的变换系数。 非零变换系数:可指值不为0的变换系数,或者可指值不为0的变换系数等级。 量化矩阵:可指在量化和反量化中被使用以便增强图像的主体质量(subjectquality)或对象质量(object quality)的矩阵。量化矩阵可被称为缩放列表。 量化矩阵系数:可指量化矩阵的每个元素。量化矩阵系数可被称为矩阵系数。 默认矩阵:可指在编码器和解码器中预先定义的预定量化矩阵。 非默认矩阵:可指由用户发送/接收而不是在编码器和解码器中预先定义的量化矩阵。 编码树单元:可包括一个亮度分量(Y)编码树单元和相关的两个色度分量(Cb,Cr)编码树单元。可通过使用诸如四叉树、二叉树等的至少一种分区方法来对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的子单元。编码树单元被用作用于指示像素块的术语,其中,像素块是图像的解码/编码处理(如输入图像的分区)中的处理单元。 编码树块:可被用作用于指示Y编码树单元、Cb编码树单元和Cr编码树单元中的一个的术语。 图1是示出根据本发明的实施例的编码设备的配置的框图。 编码设备100可以是视频编码设备或图像编码设备。视频可包括一个或更多个图像。编码设备100可按时间顺序对视频的所述一个或更多个图像进行编码。 参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。 编码设备100可按照帧内模式或帧间模式或者是按照帧内模式和帧间模式两者对输入画面进行编码。另外,编码设备100可通过对输入画面进行编码来产生比特流,并且可输出产生的比特流。当帧内模式被用作预测模式时,切换器115可切换到帧内。当帧间模式被用作预测模式时,切换器115可切换到帧间。这里,帧内模式可被称为帧内预测模式,帧间模式可被称为帧间预测模式。编码设备100可产生输入画面的输入块的预测块。另外,在产生预测块之后,编码设备100可对输入块和预测块之间的残差进行编码。输入画面可被称为当前图像,其中,当前图像是当前编码的目标。输入块可被称为当前块或编码目标块,其中,当前块或编码目标块是当前编码的目标。 当预测模式是帧内模式时,帧内预测单元120可将与当前块相邻的先前编码的块的像素值用作参考像素。帧内预测单元120可通过使用参考像素来执行空间预测,并且可通过使用空间预测来产生输入块的预测样本。这里,帧内预测可指帧内部的预测。 当预测模式是帧间模式时,运动预测单元111可在运动预测处理中从参考画面中搜索与输入块最佳匹配的区域,并且可通过使用搜索到的区域来推导运动矢量。参考画面可被存储在参考画面缓冲器190中。 运动补偿单元112可通过使用运动矢量执行运动补偿来产生预测块。这里,运动矢量可以是用于帧间预测的二维矢量。另外,运动矢量可指示当前画面与参考画面之间的偏移。这里,帧间预测可指帧之间的预测。 减法器125可通过使用输入块和预测块之间的残差来产生残差块。残差块可被称为残差信号。 变换单元130可通过对残差块进行变换来产生变换系数,并且可输出变换系数。这里,变换系数可以是通过对残差块进行变换而产生的系数值。在变换跳过模式下,变换单元130可跳过对残差块的变换。 可通过将量化应用于变换系数来产生量化的变换系数等级。在下文中,在本发明的实施例中,量化的变换系数等级可被称为变换系数。 量化单元140可通过根据量化参数对变换系数进行量化来产生量化的变换系数等级,并且可输出量化的变换系数等级。这里,量化单元140可通过使用量化矩阵来对变换系数进行量化。 熵编码单元150可通过根据概率分布对由量化单元140计算出的值或对在编码处理中计算出的编码参数值等执行熵编码来产生比特流,并且可输出产生的比特流。熵编码单元150可对用于对图像进行解码的信息执行熵编码,并对图像的像素的信息执行熵编码。例如,用于对图像进行解码的信息可包括语法元素等。 当熵编码被应用时,通过将少量比特分配给具有高出现概率的符号并将大量比特分配给具有低出现概率的符号来表示符号,从而减小了编码目标符号的比特流的大小。因此,可通过熵编码来提高图像编码的压缩性能。对于熵编码,熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的编码方法。例如,熵编码单元150可通过使用可变长度编码/码(VLC)表来执行熵编码。另外,熵编码单元150可推导目标符号的二值化方法和目标符号/二进制位的概率模型,并且随后可通过使用推导出的二值化方法或推导出的概率模型来执行算术编码。 为了对变换系数等级进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式系数改变为一维矢量形式。例如,可通过利用右上扫描对块的系数进行扫描,将二维形式系数改变为一维矢量形式。根据变换单元的尺寸和帧内预测模式,可使用垂直方向扫描来在列方向上对二维块形式系数进行扫描,并且可使用水平方向扫描来在行方向上对二维块形式系数进行扫描,而是不使用右上扫描。也就是说,可根据变换单元的尺寸和帧内预测模式确定右上扫描、垂直方向扫描和水平方向扫描中的哪种扫描方法将被使用。 编码参数可包括由编码器编码并被发送到解码器的信息(诸如,语法元素),并且可包括可以在编码或解码过程中推导出的信息。编码参数可指对图像进行编码或解码所必需的信息。例如,编码参数可包括以下项中的至少一个值或组合形式:块尺寸、块深度、块分区信息、单元尺寸、单元深度、单元分区信息、四叉树形式的分区标志、二叉树形式的分区标志、二叉树形式的分区方向、帧内预测模式、帧内预测方向、参考样本滤波方法、预测块边界滤波方法、滤波器抽头、滤波器系数、帧间预测模式、运动信息、运动矢量、参考画面索引、帧间预测方向、帧间预测指示符、参考画面列表、运动矢量预测因子、运动矢量候选列表、关于是否使用运动合并模式的信息、运动合并候选、运动合并候选列表、关于是否使用跳过模式的信息、插值滤波器类型、运动矢量大小、运动矢量表示的准确度、变换类型、变换尺寸、关于是否使用附加(二次)变换的信息、关于是否存在残差信号的信息、编码块模式、编码块标志、量化参数、量化矩阵、环内滤波器信息、关于是否在环内应用滤波器的信息、环内滤波器系数、二值化/逆二值化方法、上下文模型、上下文二进制位、旁路二进制位、变换系数、变换系数等级、变换系数等级扫描方法、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、画面类型、比特深度、以及亮度信号或色度信号的信息。 残差信号可指原始信号与预测信号之间的差。或者,残差信号可以是通过对原始信号与预测信号之间的差进行变换而产生的信号。或者,残差信号可以是通过对原始信号与预测信号之间的差进行变换和量化而产生的信号。残差块可以是块单元的残差信号。 当编码设备100通过使用帧间预测执行编码时,编码的当前画面可用作将在之后被处理的另一图像的参考画面。因此,编码设备100可对编码的当前画面进行解码,并且可将解码的图像存储为参考画面。为了执行解码,可对编码的当前画面执行反量化和逆变换。 量化系数可由反量化单元160反量化,并且可由逆变换单元170进行逆变换。可由加法器175将反量化和逆变换后的系数与预测块相加,由此可产生重建块。 重建块可通过滤波器单元180。滤波器单元180可以将去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建块或重建画面。滤波器单元180可被称为环内滤波器。 去块滤波器可去除在块之间的边界处发生的块失真。为了确定是否操作去块滤波器,可基于块中的若干行或列中包括的像素来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可根据所需的去块滤波强度应用强滤波器或弱滤波器。另外,在应用去块滤波器时,可并行地处理水平方向滤波和垂直方向滤波。 样本自适应偏移可将最佳偏移值与像素值相加,以便补偿编码误差。样本自适应偏移可针对每个像素对去块滤波后的图像与原始图像之间的偏移进行校正。为了对特定图像执行偏移校正,可使用考虑每个像素的边缘信息来应用偏移的方法,或者使用以下方法:将图像的像素分区为预定数量的区域,确定将被执行偏移校正的区域,并将偏移校正应用于确定的区域。 自适应环路滤波器可基于通过对重建画面和原始画面进行比较而获得的值来执行滤波。可将图像的像素分区为预定个组,确定应用于所述预定个组中的每个组的一个滤波器,并且可在所述预定组中的每个组执行不同的滤波。可以针对每个编码单元(CU)发送关于自适应环路滤波器是否被应用于亮度信号的信息。应用于每个块的自适应环路滤波器的形状和滤波器系数可以不同。另外,可应用具有相同形式(固定形式)的自适应环路滤波器,而不管目标块的特性如何。 通过滤波器单元180的重建块可被存储在参考画面缓冲器190中。 图2是示出根据本发明的实施例的解码设备的配置的框图。 解码设备200可以是视频解码设备或图像解码设备。 参考图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波器单元260和参考画面缓冲器270。 解码设备200可接收从编码设备100输出的比特流。解码设备200可在帧内模式或帧间模式下对比特流进行解码。另外,解码设备200可通过执行解码来产生重建画面,并且可以输出重建画面。 当在解码中使用的预测模式是帧内模式时,可将切换器切换到帧内。当在解码中使用的预测模式是帧间模式时,可将切换器切换到帧间。 解码设备200可从输入的比特流获得重建的残差块,并且可产生预测块。当获得了重建的残差块以及预测块时,解码设备200可通过将重建的残差块和预测块相加来产生作为解码目标块的重建块。解码目标块可被称为当前块。 熵解码单元210可通过根据概率分布对比特流执行熵解码来产生符号。产生的符号可包括具有量化的变换系数等级的符号。这里,熵解码的方法可类似于上述熵编码的方法。例如,熵解码的方法可以是上述熵编码的方法的逆过程。 为了对变换系数等级进行解码,熵解码单元210可执行变换系数扫描,从而可将一维矢量形式系数改变为二维块形式。例如,可通过利用右上扫描对块的系数进行扫描,将一维矢量形式系数改变为二维块形式。根据变换单元的尺寸和帧内预测模式,可使用垂直方向扫描和水平方向扫描,而不使用右上扫描。也就是说,可根据变换单元的尺寸和帧内预测模式确定使用右上扫描、垂直方向扫描和水平方向扫描中的哪种扫描方法。 量化的变换系数等级可由反量化单元220进行反量化,并且可由逆变换单元230进行逆变换。量化的变换系数等级被反量化并且被逆变换以便产生重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的变换系数等级。 当使用帧内模式时,帧内预测单元240可通过执行空间预测来产生预测块,其中,空间预测使用与解码目标块相邻的先前解码的块的像素值。 当使用帧间模式时,运动补偿单元250可通过执行使用存储在参考画面缓冲器270中的运动矢量和参考画面两者的运动补偿来产生预测块。 可由加法器255将重建的残差块与预测块相加。通过将重建的残差块与预测块相加而产生的块可通过滤波器单元260。滤波器单元260可将去块滤波器、样本自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建画面。滤波器单元260可输出重建画面。重建画面可被存储在参考画面缓冲器270中,并且可用于帧间预测。 图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将一个单元分区为多个子单元的实施例。 为了有效地对图像进行分区,可在编码和解码中使用编码单元(CU)。这里,编码单元可指进行编码的单元。该单元可以是1)语法元素和2)包括图像样本的块的组合。例如,“单元的分区”可指“与单元相关的块的分区”。块分区信息可包括关于单元深度的信息。深度信息可指示单元被分区的次数或单元的分区程度、或者上述两者。 参照图3,针对每个最大编码单元(LCU)顺序地对图像300进行分区,并且针对每个LCU确定分区结构。这里,LCU和编码树单元(CTU)具有相同的含义。一个单元可具有基于树结构的深度信息,并且可被分层地分区。每个分区出的子单元可具有深度信息。深度信息指示单元被分区的次数或单元的分区程度、或者上述两者,因此,深度信息可包括关于子单元的尺寸的信息。 分区结构可指LCU 310中的编码单元(CU)的分布。CU可以是用于有效地对图像进行编码/解码的单元。可基于一个CU是否将被分区为多个(包括2、4、8、16等的等于或大于2的正整数)来确定分布。分区出的CU的宽度尺寸和高度尺寸可以分别是原始CU的宽度尺寸的一半和原始CU的高度尺寸的一半。或者,根据分区的数量,分区出的CU的宽度尺寸和高度尺寸可分别小于原始CU的宽度尺寸和高度尺寸。分区出的CU可被递归地分区为多个进一步被分区出的CU,其中,在同一分区方法中,进一步被分区出的CU的宽度尺寸和高度尺寸小于分区出的CU的宽度尺寸和高度尺寸。 这里,CU的分区可被递归地执行直到预定深度。深度信息可以是指示CU的尺寸的信息,并且可被存储在每个CU中。例如,LCU的深度可以是0,并且最小编码单元(SCU)的深度可以是预定的最大深度。这里,LCU可以是如上所述的具有最大尺寸的编码单元,并且SCU可以是具有最小尺寸的编码单元。 每当LCU 310开始被分区,并且通过分区减小了CU的宽度尺寸和高度尺寸时,CU的深度增加1。在不能被分区的CU的情况下,对于每个深度,CU可具有2N×2N的尺寸。在可被分区的CU的情况下,具有2N×2N尺寸的CU可被分区为多个N×N尺寸的CU。每当深度增加1时,N的大小减半。 例如,当一个编码单元被分区为四个子编码单元时,四个子编码单元中的一个子编码单元的宽度尺寸和高度尺寸可以分别是原始编码单元的宽度尺寸的一半和原始编码单元的高度尺寸的一半。例如,当32×32尺寸的编码单元被分区为四个子编码单元时,四个子编码单元中的每个子编码单元可具有16×16尺寸。当一个编码单元被分区为四个子编码单元时,编码单元可以以四叉树形式被分区。 例如,当一个编码单元被分区为两个子编码单元时,两个子编码单元中的一个子编码单元的宽度尺寸或高度尺寸可以分别是原始编码单元的宽度尺寸的一半或原始编码单元的高度尺寸的一半。例如,当32×32尺寸的编码单元被垂直分区为两个子编码单元时,两个子编码单元中的每个子编码单元可具有16×32尺寸。例如,当32×32尺寸的编码单元被水平分区为两个子编码单元时,两个子编码单元中的每个子编码单元可具有32×16尺寸。当一个编码单元被分区为两个子编码单元时,编码单元可以以二叉树形式被分区。 参照图3,具有最小深度0的LCU的尺寸可以是64×64像素,并且具有最大深度3的SCU的尺寸可以是8×8像素。这里,可由深度0来表示具有64×64像素的CU(作为LCU),可由深度1来表示具有32×32像素的CU,可由深度2来表示具有16×16像素的CU,可由深度3来表示具有8×8像素的CU(作为SCU)。 另外,可通过CU的分区信息来表示关于CU是否将被分区的信息。分区信息可以是1比特信息。分区信息可被包括在除了SCU之外的所有CU中。例如,当分区信息的值是0时,可不对CU进行分区,并且当分区信息的值是1时,可对CU进行分区。 图4是示出可包括在编码单元(CU)中的预测单元(PU)的形式的示图。 从LCU分区出的多个CU中的不再被分区的CU可被分区为至少一个预测单元(PU)。该过程也可以称为分区。 PU可以是用于预测的基本单元。可在跳过模式、帧间模式和帧内模式中的任何一个模式下对PU进行编码和解码。PU可根据模式以各种形式被分区。 另外,编码单元可不被分区为多个预测单元,并且编码单元和预测单元具有相同的尺寸。 如图4所示,在跳过模式下,CU可不被分区。在跳过模式下,可支持与没有分区的CU具有相同尺寸的2N×2N模式410。 在帧间模式下,可在CU内支持8种分区形式。例如,在帧间模式下,可支持2N×2N模式410、2N×N模式415、N×2N模式420、N×N模式425、2N×nU模式430、2N×nD模式435、nL×2N模式440和nR×2N模式445。在帧内模式下,可支持2N×2N模式410和N×N模式425。 可将一个编码单元分区为一个或更多个预测单元。可将一个预测单元分区为一个或更多个子预测单元。 例如,当一个预测单元被分区为四个子预测单元时,四个子预测单元中的一个子预测单元的宽度尺寸和高度尺寸可以是原始预测单元的宽度尺寸的一半和原始预测单元的高度尺寸的一半。例如,当32×32尺寸的预测单元被分区为四个子预测单元时,四个子预测单元中的每个子预测单元可具有16×16尺寸。当一个预测单元被分区为四个子预测单元时,可以以四叉树形式对预测单元进行分区。 例如,当一个预测单元被分区为两个子预测单元时,两个子预测单元中的一个子预测单元的宽度尺寸或高度尺寸可以是原始预测单元的宽度尺寸的一半或原始预测单元的高度尺寸的一半。例如,当32×32尺寸的预测单元被垂直分区为两个子预测单元时,两个子预测单元中的每个子预测单元可具有16×32尺寸。例如,当32×32尺寸的预测单元被水平分区为两个子预测单元时,两个子预测单元中的每个子预测单元可具有32×16尺寸。当一个预测单元被分区为两个子预测单元时,可以以二叉树形式对预测单元进行分区。 图5是示出可包括在编码单元(CU)中的变换单元(TU)的形式的示图。 变换单元(TU)可以是CU内的用于变换、量化、逆变换和反量化的基本单元。TU可具有正方形形状或矩形形状等。TU可依赖于CU的尺寸或CU的形式、或者CU的尺寸和CU的形式两者被确定。 从LCU分区出的多个CU之中的不再被分区的CU可被分区为至少一个TU。这里,TU的分区结构可以是四叉树结构。例如,如图5所示,可根据四叉树结构将一个CU 510分区一次或更多次。一个CU被分区至少一次的情况可以被称为递归分区。通过进行分区,一个CU 510可由具有各种尺寸的TU形成。或者,可根据对CU进行分区的垂直线的数量或对CU进行分区的水平线的数量、或以上两者,将CU分区为至少一个TU。CU可被分区为彼此对称的TU,或者可被分区为彼此不对称的TU。为了将CU分区为彼此对称的TU,可以用信号发送TU的尺寸/形状的信息,并且可从CU的尺寸/形状的信息推导出TU的尺寸/形状的信息。 另外,编码单元可不被分区为变换单元,并且编码单元和变换单元可具有相同的尺寸。 可将一个编码单元分区为至少一个变换单元,并且可将一个变换单元分区为至少一个子变换单元。 例如,当一个变换单元被分区为四个子变换单元时,四个子变换单元中的一个子变换单元的宽度尺寸和高度尺寸可以分别是原始变换单元的宽度尺寸的一半和原始变换单元的高度尺寸的一半。例如,当32×32尺寸的变换单元被分区为四个子变换单元时,四个子变换单元中的每个子变换单元可具有16×16尺寸。当一个变换单元被分区为四个子变换单元时,变换单元可以以四叉树形式被分区。 例如,当一个变换单元被分区为两个子变换单元时,两个子变换单元中的一个子变换单元的宽度尺寸或高度尺寸可以分别是原始变换单元的宽度尺寸的一半或原始变换单元的高度尺寸的一半。例如,当32×32尺寸的变换单元被垂直分区为两个子变换单元时,两个子变换单元中的每个子变换单元可具有16×32尺寸。例如,当32×32尺寸的变换单元被水平分区为两个子变换单元时,两个子变换单元中的每个子变换单元可具有32×16尺寸。当一个变换单元被分区为两个子变换单元时,变换单元可以以二叉树形式被分区。 当执行变换时,可以通过使用预定变换方法中的至少一个来对残差块进行变换。例如,预定变换方法可包括离散余弦变换(DCT)、离散正弦变换(DST)、KLT等。可通过使用预测单元的帧间预测模式信息、预测单元的帧内预测模式信息、以及变换块的尺寸/形状中的至少一个来确定将哪种变换方法应用于对残差块进行变换。可用信号发送指示变换方法的信息。 图6是用于解释帧内预测的处理的实施例的示图。 帧内预测模式可以是非方向模式或方向模式。非方向模式可以是DC模式或平面模式。方向模式可以是具有特定方向或角度的预测模式,并且方向模式的数量可以是M,其中,M等于或大于1。方向模式可被指示为模式编号、模式值和模式角度中的至少一个。 帧内预测模式的数量可以是N(其中,N等于或大于1),包括非方向模式和方向模式。 帧内预测模式的数量可根据块的尺寸而不同。例如,当该尺寸为4×4或8×8时,该数量可以是67,当该尺寸为16×16时,该数量可以是35,当该尺寸为32×32时,该数量可以是19,当该尺寸为64×64时,该数量可以是7。 无论块的尺寸如何,帧内预测模式的数量都可被固定为N。例如,无论块的尺寸如何,该数量都可被固定为35或67中的至少一个。 帧内预测模式的数量可根据颜色分量的类型而不同。例如,预测模式的数量可根据颜色分量是亮度信号还是色度信号而不同。 可通过使用重建的邻近块中包括的样本值或编码参数来执行帧内编码和/或解码。 为了在帧内预测中对当前块进行编码/解码,可识别重建的邻近块中包括的样本是否可用作编码/解码目标块的参考样本。当存在不能用作编码/解码目标块的参考样本的样本时,通过使用重建的邻近块中包括的样本中的至少一个,将样本值复制和/或内插到不能用作参考样本的样本中,由此,不能用作参考样本的样本可被用作编码/解码目标块的参考样本。 在帧内预测中,基于帧内预测模式和编码/解码目标块的尺寸中的至少一个,可将滤波器应用于参考样本或预测样本中的至少一个。这里,编码/解码目标块可指当前块,并且可指编码块、预测块和变换块中的至少一个。应用于参考样本或预测样本的滤波器的类型可根据帧内预测模式或当前块的尺寸/形状中的至少一个而不同。滤波器的类型可根据滤波器抽头的数量、滤波器系数值或滤波器强度中的至少一个而不同。 在帧内预测模式中的非方向平面模式下,当产生编码/解码目标块的预测块时,可通过根据样本位置使用当前样本的上方参考样本、当前样本的左侧参考样本、当前块的右上方参考样本、以及当前块的左下方参考样本的加权和来产生预测块中的样本值。 在帧内预测模式中的非方向DC模式下,当产生编码/解码目标块的预测块时,可通过当前块的上方参考样本和当前块的左侧参考样本的平均值产生所述预测块。另外,可通过使用参考样本值对编码/解码块中与参考样本相邻的一个或更多个上方行以及一个或更多个左侧列执行滤波。 在帧内预测模式中的多方向模式(角度模式)的情况下,预测块可通过使用右上和/或左下参考样本来产生,并且方向模式可以具有不同的方向。为了产生预测样本值,可执行实数单元的内插。 为了执行帧内预测方法,可从与当前预测块相邻的邻近预测块的帧内预测模式预测当前预测块的帧内预测模式。在通过使用从邻近帧内预测模式预测出的模式信息预测当前预测块的帧内预测模式的情况下,当当前预测块和邻近预测块具有相同的帧内预测模式时,可通过使用预定标志信息发送以下信息:当前预测块和邻近预测块具有相同的帧内预测模式。当当前预测块的帧内预测模式与邻近预测块的帧内预测模式不同时,可通过执行熵编码来对编码/解码目标块的帧内预测模式信息进行编码。 图7是描绘根据本发明的实施例的用于对当前块执行帧内预测的方法的示图。 如图7所示,帧内预测可包括:推导帧内预测模式(S1210),构建参考样本(S1220)并且/或者执行帧内预测(S1230)。 在推导帧内预测模式的步骤(S1210)中,可使用邻近块的帧内预测模式,可从比特流对当前块的帧内预测模式进行解码(例如,熵解码),并且/或者可使用邻近块的编码参数来推导当前块的帧内预测模式。或者,在推导帧内预测模式的步骤(S1210)中,可使用邻近块的帧内预测模式、邻近块的一个或更多个帧内预测模式的组合和/或通过MPM推导出的帧内预测模式来推导当前块的帧内预测模式。 在构建参考样本的步骤(S1220)中,可通过执行参考样本选择和/或参考样本滤波来构建参考样本。 在执行帧内预测的步骤(S1230)中,可使用非方向预测、方向预测、基于位置信息的预测和/或基于亮度/色度信号的预测来对当前块执行帧内预测。在执行帧内预测的步骤(S1230)中,可另外对预测样本执行滤波。如果执行方向预测,则可根据一个或更多个样本单元执行不同的方向预测。例如,一个或更多个样本单元可以是单个样本、样本组、行和/或子块。 在下文中,将更详细地描述推导帧内预测模式的步骤(S1210)。 如前所述,为了推导当前块的帧内预测模式,可使用以下方法中的至少一种方法:使用一个或更多个邻近块的帧内预测模式的方法、从比特流对当前块的帧内预测模式进行解码的方法、以及使用邻近块的编码参数的方法。邻近块可以是在对当前块进行编码/解码之前重建的一个或更多个块。 如果邻近块位于至少一个预定单元的边界(诸如,画面、条带、并行块和编码树单元(CTU))的外部,或者PCM模式或帧间预测已被应用于邻近块,则可确定邻近块不可用。与不可用邻近块相应的帧内预测模式可被DC模式、平面模式或预定帧内预测模式替换。 当前块的尺寸可以是W×H,其中,W和H是正整数并且可以相等或不同。W和/或H可以是例如2、4、8、16、32、64、128、256和512中的至少一个。 图8是描绘用于从邻近块推导当前块的帧内预测模式的方法的示图。 在图8中,在邻近块上标记的a到k可表示邻近块的帧内预测模式或帧内预测模式的数量。用于推导当前块的帧内预测模式的邻近块的位置可以是预定义的固定位置。或者,关于邻近块的位置的信息可通过编码/解码来推导。在本公开中,编码/解码可用于包括熵编码和熵解码。 在使用邻近块的帧内预测模式的情况下,可将邻近块的特定模式推导为当前块的帧内预测模式。例如,可将与当前块的预定位置相邻的邻近块的帧内预测模式i、f、b、g、h、j、l或e推导为当前块的帧内预测模式。预定位置可从比特流被编码/解码,或者可基于编码参数被推导。 或者可选择当前块的一个或更多个邻近块。可基于通过比特流明确地用信号发送的信息来进行选择。或者,可以根据在编码器和解码器之间预设的标准进行选择。可从选择的一个或更多个邻近块的帧内预测模式推导当前块的帧内预测模式。例如,可使用选择的邻近块的帧内预测模式的统计值推导当前块的帧内预测模式。例如,统计值可包括最小值、最大值、平均值、加权平均值、出现最频繁的值和/或中值。 例如,可将邻近块的帧内预测模式b、f、g、i和j中的一部分或全部的统计值推导为当前块的帧内预测模式。 或者,可通过将一个或更多个邻近块的帧内预测模式组合来推导当前块的帧内预测模式。帧内预测模式可被表示为模式编号、模式值和模式角度中的至少一个。例如,可将邻近块的一个或更多个帧内预测模式的平均值推导为当前块的帧内预测模式。两个帧内预测模式的平均值可指两个模式编号之间的中间编号、两个模式值的中值和两个模式角度之间的中间角度中的至少一个。 例如,与和当前块的样本(0,0)相邻的左侧样本和上方样本所属的邻近块的帧内预测模式i和f的模式值的平均值相应的模式可被推导为当前块的帧内预测模式。例如,可通过[等式1]中描述的方法(1)、(2)和(3)中的至少一个来推导当前块的帧内预测模式Pred_mode。 [等式1] Pred_mode=(i+f)>>1(1) Pred_mode=(i+f+1)>>1(2) Pred_mode=(i+f)/2(3) 或者,如果邻近块的帧内预测模式i是非方向模式,则当前块的帧内预测模式可被推导为帧内预测模式i。或者,如果邻近块的帧内预测模式f是方向模式,则当前块的帧内预测模式可被推导为帧内预测模式f。 或者,可将当前块的帧内预测模式推导为与邻近块的帧内预测模式b、f、g、i和j的模式值中的至少一个的平均值相应的模式。例如,可通过[等式2]中描述的方法(1)、(2)、(3)和(4)中的至少一个来推导当前块的帧内预测模式Pred_mode。 [等式2] Pred_mode=(f+g+i+j+2)>>2(1) Pred_mode=(b+f+g+i+j)/5(2) Pred_mode=(i+f+k+l+2)>>2(3) Pred_mode=(b+f+k+i+l)/5(4) 或者,可将与相邻的邻近块的可用帧内预测模式的平均值相应的模式推导为当前块的帧内预测模式。例如,如果当前块的左侧邻近块位于画面、并行块、条带和/或CTU的边界的外部,或者与PCM模式或帧间预测模式中的至少一个相应并因此而不可用,则可将与上方邻近块的帧内预测模式(例如,f和g)的统计值相应的模式推导为当前块的帧内预测模式。 例如,加权平均值或加权和可被用作邻近块的帧内预测模式的统计值。这里,可基于邻近块的帧内预测模式的方向性来分配权重。例如,可预定义或用信号发送被分配了相对大的权重的模式。例如,被分配了相对大的权重的模式可以是垂直方向模式、水平方向模式和非方向模式中的至少一个。可以为这些模式分配相同的权重或不同的权重。例如,可通过下面的[等式3]将帧内预测模式i和f的加权和推导为当前块的帧内预测模式Pred_mode。在下面的[等式3]中,模式f可以是被分配了相对大的权重的模式(例如,垂直方向模式)。 [等式3] Pred_mode=(i+3×f+2)>>2 或者,可基于邻近块的尺寸来确定将用于加权和的权重。例如,如果与当前块相邻的上方块的尺寸大于与当前块相邻的左侧块的尺寸,则可将较大的权重分配给上方邻近块的帧内预测模式。或者,可将较大的权重分配给较小的邻近块的帧内预测模式。 或者,如果邻近块的一个或更多个帧内预测模式是非方向模式,则可将非方向模式推导为当前块的帧内预测模式。或者,可使用除了非方向模式之外的邻近块的帧内预测模式来推导当前块的帧内预测模式。如果邻近块的所有帧内预测模式都是非方向模式,则可将当前块的帧内预测模式推导为DC模式或平面模式中的至少一个。 或者,可基于邻近块的帧内预测模式使用最可能模式(MPM)来推导当前块的帧内预测模式。如果使用MPM,则可对关于当前块的帧内预测模式的一条或更多条信息进行编码/解码。 如果使用MPM,则可配置MPM列表。MPM列表可包括基于邻近块的帧内预测模式推导出的帧内预测模式。MPM列表可包括N个候选模式。N是正整数,并且可根据当前块的尺寸和/或形状而变化。或者,可通过比特流来用信号发送关于N的信息。 例如,使用邻近块的一个或更多个帧内预测模式推导出的当前块的帧内预测模式可以是包括在MPM列表中的候选模式。 在图8所示的示例中,可使用与当前块相邻的在(-1,H-1)、(W-1,-1)、(W,-1)、(-1,H)和(-1,-1)的相同位置处的邻近块的帧内预测模式。例如,MPM列表可按照j、g、平面、DC、l、k和b的顺序产生。或者,MPM列表可按照i、f、平面、DC、l、k和b的顺序产生。重复的模式可在MPM列表中被包括一次。如果由于存在重复的模式而未填满MPM列表,则可基于列表中包括的模式在列表中包括附加候选模式。例如,可将与列表中包括的模式的+N或-N(N是正整数,例如1)相应的模式添加到列表中。或者,可将水平模式、垂直模式、45度模式、135度模式和225度模式中的未包括在列表中的模式中的至少一个添加到该列表。 指示与当前块的帧内预测模式相同的模式是否存在于推导出的MPM列表中的指示符(例如,prev_intra_luma_pred_flag)可被编码在比特流中或者可从比特流被解码。 如果指示符指示在MPM列表中存在与当前块的帧内预测模式相同的模式,则指示该模式是在MPM列表中包括的模式之中的哪个模式的索引信息(例如,mpm_idx)可被编码在比特流中或从比特流被解码。可基于解码的索引信息推导当前块的帧内预测模式。 如果指示符指示在MPM列表中不存在与当前块的帧内预测模式相同的模式,则关于当前块的帧内预测模式的信息可被编码在比特流中或从比特流被解码。可基于解码出的关于当前块的帧内预测模式的信息来推导当前块的帧内预测模式。这里,可按照升序或降序中的至少一个对不包括在MPM列表中的帧内预测模式进行排列。或者,可将不包括在MPM列表中的帧内预测模式之中的一个或更多个帧内预测模式分组为一个或更多个组。例如,可将与包括在MPM列表中的帧内预测模式的+N或-N(N是正整数,例如,1、2或3)相应的模式分组为一个组。这里,组可包括预定数量(例如,8或16个)的帧内预测模式,并且组中包括的模式可不包括在MPM列表中。 或者,可将在推导出的MPM列表中的预定候选推导为当前块的帧内预测模式。例如,可将作为MPM列表中的第一模式的与列表0相应的模式推导为当前块的帧内预测模式。或者,可对与列表中的预定模式相应的索引进行编码/解码,并且可将相应的模式推导为当前块的帧内预测模式。 关于MPM列表的配置,可针对预定尺寸的块产生一个MPM列表。如果预定尺寸的块被划分为多个子块,则多个子块中的每个子块可使用MPM列表。 例如,如果当前块相应于预定尺寸的块,则可针对当前块产生MPM列表。如果当前块被划分为一个或更多个子块,则可使用构建的MPM列表针对每个子块推导帧内预测模式。 关于MPM列表的配置,可针对预定尺寸的块被划分出的子块中的每个子块产生MPM列表。 例如,如果当前块相应于预定尺寸的块,则可使用当前块的邻近块的帧内预测模式针对为当前块的每个子块产生MPM列表。 或者,可使用通过MPM推导出的当前块的帧内预测模式和邻近块的帧内预测模式中的至少一个来推导当前块的帧内预测模式。 例如,如果通过MPM推导出的当前块的帧内预测模式是Pred_mpm,则可通过使用邻近块的一个或更多个帧内预测模式将Pred_mpm改变为特定模式来推导当前块的帧内预测模式。 例如,通过将Pred_mpm与邻近块的帧内预测模式的大小进行比较,可将Pred_mpm增大或减小N。这里,N可以是预定整数,例如+1、+2、+3、0、-1、-2或-3。例如,如果Pred_mpm小于邻近块的帧内预测模式和/或一个或更多个邻近块的帧内预测模式的统计值,则可增大Pred_mpm。或者,如果Pred_mpm大于邻近块的帧内预测模式,则可减小Pred_mpm。或者,可基于Pred_mpm和/或与Pred_mpm比较的值推导当前块的帧内预测模式。 在图8所示的示例中,例如,如果Pred_mpm小于f的模式值,则可将Pred_mpm+1推导为当前块的帧内预测模式。或者,如果Pred_mpm小于f和i的模式值的平均值,则可将Pred_mpm+1推导为当前块的帧内预测模式。或者,如果Pred_mpm小于f和i的模式值的平均值,则可增大Pred_mpm与平均值之间的差值的1/2。例如,可将Pred_mpm+{((f+i+1)>>1-Pred_mpm+1)>>1}推导为当前块的帧内预测模式。 或者,如果Pred_mpm和邻近块的模式中的一个是非方向模式而另一个是方向模式,则可将非方向模式推导为当前块的帧内预测模式,或者可将方向模式推导为当前块的帧内预测模式。 如前所述,可以通过编码/解码来推导当前块的帧内预测模式。这里,可以不使用邻近块的帧内预测模式。例如,可通过对比特流进行熵编码/解码来推导当前块的帧内预测模式。 例如,如果当前块被划分为低层块或子块,则可使用前述用于推导当前块的帧内预测模式的方法中的至少一个来推导子块中的每个子块的帧内预测模式。 当前块的尺寸和子块的尺寸可以是M×N。M和N可以是相同的正整数或不同的正整数。例如,当前块或子块的尺寸可以是CTU、CU、SU(信令单元)、QTMax、QTMin、BTMax、BTMin、4×4、8×8、16×16、32×32、64×64、128×128、256×256、4×8、8×16、16×8、32×64、32×8和4×32中的至少一个。这里,QTMax和QTMin可分别表示允许划分成四叉树的最大尺寸和最小尺寸,并且BTMax和BTMin可分别表示允许划分成二叉树的最大尺寸和最小尺寸。在下文中,子块的尺寸可意指子块的划分结构。 子块尺寸可根据当前块的尺寸而变化。例如,当前块的水平尺寸和垂直尺寸的1/N可以是子块尺寸。N可以是正整数,并且可以是2、4、8、16、32和64中的至少一个。例如,如果当前块的尺寸是32×32并且当前块的水平尺寸和垂直尺寸的1/N中的N是4,则子块尺寸可以是8×8。 或者,子块尺寸可以是预定的固定大小,而与当前块的尺寸无关。例如,子块尺寸可以是最小尺寸,而与当前块的尺寸无关,并且可以是例如4×4。 或者,可基于当前块的邻近块的划分结构来确定子块尺寸。例如,如果相邻的邻近块被划分,则可通过划分当前块来确定子块尺寸。 可基于当前块的邻近块的帧内预测模式来确定子块尺寸。例如,可通过基于邻近块的帧内预测模式变得不同的边界将块划分为子块来确定子块尺寸。 可基于邻近块的编码参数来确定子块尺寸。例如,可通过基于邻近块是帧内编码块还是帧间编码块将块划分成子块来确定子块尺寸。 可将划分当前块所依据的当前块尺寸、子块尺寸和N中的至少一个固定为预定值。 例如,在当前块的预定的固定尺寸是16×16的情况下,如果当前块的尺寸是16×16,则当前块可被划分为子块并且针对每个子块的帧内预测模式可被推导。 例如,在当前块的预定的固定尺寸是CTU并且N是4的情况下,如果当前块的大小是CTU,则可基于子块推导出帧内预测模式,其中,通过将CTU的纬度和经度除以4得到每个子块。 一个或更多个子块可被进一步划分为更小的块。例如,如果当前块的尺寸是32×32并且子块尺寸是16×16,则一个或更多个子块中的每个子块可被划分为更小的块,其中,每个更小的块的尺寸为8×8、4×4、16×8、4×16等。 可对划分当前块所依据的当前块尺寸、子块尺寸和N中的至少一个进行编码/解码。 可对针对当前块的子块的划分结构进行编码/解码。当前块被划分为的子块的尺寸和/或形状可不同。此外,可针对每个子块推导帧内预测模式。 可对指示使用邻近块的帧内预测模式推导当前块的帧内预测模式的指示符(例如,标志)进行编码/解码。例如,指示符可以是NDIP_flag(依赖邻近模式的帧内预测)。可针对当前块或每个子块中的至少一个对指示符进行编码/解码。仅当当前块尺寸或子块尺寸相应于预定尺寸或预定尺寸范围时,才可对指示符进行编码/解码。预定尺寸可以是例如64×64或BTMax。如前所述,当前块可被划分为多个子块。子块的划分结构可被预定义或被编码/解码。 如果针对当前块NDIP_flag是1,则可使用邻近块的帧内预测模式来推导当前块的帧内预测模式或当前块的每个子块的帧内预测模式。在这种情况下,可不对当前块和/或子块的prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、split_flag、QB_flag、quadtree_flag、binarytree_flag和Btype_flag中的至少一个进行编码/解码。 例如,如果针对当前块NDIP_flag是1,则可对当前块的帧内预测模式进行解码,然后可使用解码的帧内预测模式和邻近块的帧内预测模式推导每个子块的帧内预测模式。这里,可不对子块的prev_intra_luma_pred_flag、mpm_idx、rem_intra_luma_pred_mode、intra_chroma_pred_mode、split_flag、QB_flag、quadtree_flag、binarytree_flag和Btype_flag中的至少一个进行编码/解码。 如果针对当前块NDIP_flag为0,则可对与当前块或子块的帧内预测模式和子块的划分信息中的至少一个有关的信息进行编码/解码。 在当前块的子块中,第一子块的帧内预测模式可以以与其他子块不同的方式被推导。第一子块可以是当前块中的多个子块中的一个。例如,第一子块可以是按照Z扫描顺序的第一子块。 第一子块的帧内预测模式可指初始模式。例如,如果每个子块的帧内预测模式被推导为该子块左侧和上方的块的帧内预测模式的平均值,则可以以不同的方法推导初始模式。用于推导初始模式的不同方法可以是根据本发明的用于推导帧内预测模式的方法中的至少一种方法。 例如,可将MPM列表中列出的第N(例如,第一)个模式推导为初始模式。或者,可将当前块的一个或更多个邻近块的帧内预测模式中出现最频的一个帧内预测模式作为初始模式。或者,可将针对当前块编码/解码的帧内预测模式推导为初始模式。或者,可将针对第一子块编码/解码的帧内预测模式推导为初始模式。 关于推导当前块中的子块的帧内预测模式,可以以任意顺序推导一个或更多个子块的帧内预测模式。任意顺序可以是扫描顺序,并且扫描可相应于光栅扫描、右上扫描、垂直扫描、水平扫描、对角线扫描和Z字形扫描中的至少一个。帧内预测模式按照扫描顺序被推导的子块的数量可以是1或更大。可根据邻近块的帧内预测模式自适应地确定所述任意顺序。 现在,将给出参考样本构建步骤S1220的详细描述。 在当前块或具有比当前块更小的尺寸和/或形状的子块的帧内预测中,可构建参考样本以进行预测。在当前块的语境下给出以下描述,并且当前块可表示子块。可以使用与当前块邻近的一个或更多个重建样本或样本组合来构建参考样本。另外,可在构建参考样本时应用滤波。这里,可按照原样使用多个重建样本线上的每个重建样本来构建参考样本。或者,可在同一重建样本线上的样本之间进行滤波之后构建参考样本。或者,可在不同重建样本线上的样本之间进行滤波之后构建参考样本。构建的参考样本可由ref[m,n]表示,并且重建的邻近样本或通过对重建的邻近样本进行滤波而获得的样本可以由rec[m,n]表示。这里,m或n可以是预定的整数值。 图9是描绘可用于当前块的帧内预测的邻近重建样本线的示例性示图。 多个重建样本线可以是例如与当前块邻近的一个或更多个左侧和/或上方重建样本线。可使用一个或更多个重建样本线来构建一个或更多个参考样本。在图9所示的示例中,可通过选择与当前块邻近的多个左侧和/或上方重建样本线中的至少一个来构建用于对4×4当前块进行帧内预测的参考样本。这里,可使用相同或不同的重建样本线来构建左侧参考样本和上方参考样本。在图9所示的示例中,在除了水平、垂直和/或对角线方向之外的方向预测模式下,可使用一个重建样本线上的一个或更多个重建样本来针对当前块构建参考样本。 例如,在当前块的尺寸为W(宽度)×H(高度)的情况下,如果当前块中的左上样本的位置是(0,0),则最靠近样本位置的左上参考样本的相对位置为可被设置为(-1,-1)。为了推导当前块的参考样本,可使用一个或更多个邻近重建样本的加权和。这里,可考虑从重建样本到当前块的距离以及当前块的帧内预测模式的方向性。 例如,当使用与当前块邻近的一个或更多个重建样本线针对当前编码块构建参考样本时,可通过根据距当前块的距离以及当前块的帧内预测模式的方向性分配不同的权重来构建参考样本。下面的[等式4]描述了使用与当前块邻近的两个重建样本线以利用加权和构建参考样本的示例。可基于关于当前块的信息(当前块的帧内预测模式、尺寸、形状和/或划分信息)和/或关于邻近块的信息(邻近块的帧内预测模式、尺寸、形状和/或划分信息)来计算加权和。例如,可考虑以上信息中的至少一条信息选择应用于加权和的滤波器(例如,3抽头滤波器、5抽头滤波器、7抽头滤波器和/或N抽头滤波器)。 [等式4] ref[-1,-1]=(rec[-2,-1]+2×rec[-1,-1]+rec[-1,-2]+2)>>2 ref[x,-1]=(rec[x,-2]+3×rec[x,-1]+2)>>2,(x=0~W+H-1) ref[-1,y]=(rec[-2,y]+3×rec[-1,y]+2)>>2,(y=0~W+H-1) 或者,可基于距当前块的距离或当前块的帧内预测模式中的至少一个,使用多个重建样本的平均值、最大值、最小值、中值和出现最频繁的值中的至少一个来构建参考样本。使用的多个重建样本可以是来自相同或不同重建样本线的经过滤波的重建样本。 或者,可基于同一重建样本线和/或彼此不同的重建样本线上的多个连续的重建样本的值的改变(变化)来构建参考样本。例如,可基于以下项中的至少一个来构建参考样本:两个连续的重建样本的值之间的差值是否等于或大于阈值、两个连续的重建样本的值是连续地变化还是不连续地变化、等等。例如,如果rec[-1,-1]和rec[-2,-1]之间的差值等于或大于阈值,则ref[-1,-1]可被确定为rec[-1,-1]、或通过以分配给rec[-1,-1]的预定权重应用加权平均而获得的值。例如,如果当多个连续的重建样本较接近当前块时,多个连续的重建样本的值每次改变n,则参考样本ref[-1,-1]可被确定为rec[-1,-1]-n。 例如,可通过使用与当前块邻近的一个或更多个重建样本线根据距当前块的距离和/或方向性分配不同权重,构建当前编码块的帧内预测块。例如,如图9所示,如果与当前块邻近的一个或更多个重建样本线的数量是4,四个重建样本线全部都可用,并且当前块的帧内预测方向是左上对角线(45度),则可使用四个重建样本rec[-4,-4]、rec[-3,-3]、rec[-2,-2]和rec[-1,-1]的加权和来推导当前块中的样本位置(0,0)的预测样本Pred(0,0)。如前所述,为了计算加权和,可根据关于当前块的信息(当前块的帧内预测模式、尺寸、形状和/或划分信息)和/或关于邻近块的信息(邻近块的帧内预测模式、尺寸、形状和/或划分信息)中的至少一个来自适应地选择滤波器的精度。应用于加权和的计算的滤波器的抽头长度可等于或不同于所使用的一个或更多个重建样本线的数量。在图9所示的示例中,例如,可使用下面的[等式5]推导Pred(0,0)。 [等式5] Pred(0,0)=(w1×rec[-4,-4]+w2×rec[-3,-3]+w3×rec[-2,-2]+w4×rec[-1,-1]) 在[等式5]中,权重w1至w4的总和可以是或可以不是1。另外,权重中的每个权重可以是正的或负的。例如,如果用于计算加权和的滤波器的精度是4比特,则可执行移位来避免十进制计算中涉及的舍入误差。例如,在下面的[等式6]中,权重w1可以是1,权重w2可以是2,权重w3可以是5,并且权重w4可以是8。此外,可应用4的移位和8的偏移(1<<(移位-1))。 [等式6] Pred(0,0)=(w1×rec[-4,-4]+w2×rec[-3,-3]+w3×rec[-2,-2]+w4×rec[-1,-1]+偏移)>>移位 例如,在构建预测样本之前,可对来自每个重建样本线或彼此不同的重建样本线的一个或更多个重建样本rec[-1,-1]、rec[-2,-2]、rec[-3,-3]和rec[-4,-4]执行参考样本滤波,并且可使用滤波后的值计算加权和。这里,可通过基于关于当前块的信息(当前块的帧内预测模式、尺寸、形状和/或划分信息)和/或关于邻近块的信息(邻近块的帧内预测模式、尺寸、形状和/或划分信息)中的至少一个选择性地应用任何滤波器(例如,3抽头滤波器、5抽头滤波器、7抽头滤波器和N抽头滤波器中的至少一个)来执行参考样本滤波。 例如,当使用与当前块邻近的一个或更多个重建样本线构建预测样本时,可考虑距当前块的距离和/或根据帧内预测模式的方向性,使用在重建样本线上的一个或更多个重建样本的平均值、最大值、最小值、中值或出现最频繁的值中的至少一个来构建预测样本。这里,针对所使用的多个重建样本线上的重建样本,对每个重建样本线或彼此不同的重建样本线执行参考样本滤波,并且可通过使用滤波后的值计算平均值、最大值、最小值、中值或出现最频繁的值以产生预测块。 例如,在从邻近重建样本rec[m,n]检测到与当前块最相似的重建块之后,可使用从重建块获取的信息来执行帧内预测。关于与当前块最相似的块的至少一条位置信息(m,n)可被熵编码/熵解码,或者可通过在解码器和编码器中执行相同的操作被隐式地推导。 例如,可从重建样本预测与当前块最相似的预测块,并且可使用当前块和从邻近的重建样本检测到的与当前块最相似的预测块之间的差来产生当前块的残差信号。 例如,在从重建样本推导出与当前块最相似的预测块之后,与推导出的重建样本邻近的一个或更多个重建样本线可被用作当前块的参考样本。或者,可使用以下项中的至少一项来推导当前块的参考样本:当前块的一个或多个参考样本线、与最相似于当前块的预测块邻近的一个或更多个参考样本线。 例如,可以使用以下项的加权和来构建当前编码块的参考样本:被确定为是可用于当前块的一个或更多个参考样本线之中最佳的一个参考样本线、以及被确定为是与从重建样本推导出的与当前块最相似的预测块邻近的一个或更多个参考样本线之中最佳的一个参考样本线。 例如,可从在可用于当前块的一个或更多个参考样本线中选择的一个参考样本线构建当前块的上方参考样本。此外,可从在与从重建样本推导出的与当前块最相似的预测块邻近的一个或更多个参考样本线中选择的一个参考样本线构建当前块的左侧参考样本。选择的一个参考样本线可以是被确定为是一个或更多个参考样本线之中最佳的参考样本线。 例如,可通过对当前块执行帧内预测来获取第一残差信号,可通过将从帧内预测获得的最佳帧内预测模式应用于从重建样本推导出的与当前块最相似的预测块来获取第二残差信号。可使用第一残差信号与第二残差信号之间的差来产生当前块的残差信号。 对于每个重建样本线,参考样本线的长度可以不同。例如,重建样本线n可被构建为比重建样本线n-1长或短m个样本。 或者,可通过根据帧内预测模式的移位来重建每个参考样本线。例如,在帧内预测模式所参考的位置处不存在参考样本的情况下,可将相应的参考样本线移位,使得可在该位置处存在参考样本。可基于帧内预测模式、预测角度和/或参考样本线的位置来确定哪个参考样本线将被移位或者被移位多少。 如上所述,可对指示是仅使用最接近的参考样本线还是使用多个参考样本线来构建参考样本的信息进行编码/解码。例如,可以以序列级别、画面级别、条带级别、并行块级别、CTU级别、CU级别、PU级别和TU级别中的至少一个对该信息进行编码/解码。另外,可以以更高级别用信号发送关于多个参考样本线的可用性的信息。 可选择参考样本以用于对当前块进行帧内预测。例如,可使用紧邻当前块的左侧参考样本和/或上方参考样本。或者,可通过搜索位于已经重建的左侧列和/或上方行中的所有可用重建样本来针对当前块构建最佳参考样本。 图10是描绘重建参考样本的实施例的示图。在图10中,由粗线围绕的部分表示当前块。此外,每个网格表示一个样本,并且网格的阴影可表示样本的样本值。也就是说,具有相似阴影的网格可对应于具有相似样本值的样本。 如图10的(a)所示,当前块上方的参考样本可与当前块具有相对低的相关性。在这种情况下,可从位于当前块上方的行中的所有可用重建样本中检测与当前块具有高相关性的参考样本。可使用检测到的具有高相关性的参考样本来重建当前块的上方参考样本或对当前块进行帧内预测所需的所有参考样本。在图10的(a)中所示的示例中,可将上方行中在位置a到位置b处的参考样本检测为具有高相关性的参考样本。然后,如图10的(b)所示,可通过对检测到的具有高相关性的参考样本进行移位来重建当前块的上方参考样本。 在图10所示的示例中,关于参考样本移位的信息(即,关于水平移位的信息)可具有正整数值或负整数值。另外,关于参考样本移位的信息的默认值可以是0。关于参考样本移位的信息可被编码/解码,或者可在编码器/解码器中被隐式地推导。 例如,在当前块中的左上样本的位置是(0,0)的情况下,如果最佳上方参考样本位于位置(-1,-1)的左侧,则关于参考样本移位的信息可具有负值。此外,如果最佳上方参考样本位于位置(-1,-1)的右侧,则关于参考样本移位的信息可具有正值。或者,该信息可以以与上述情况相反的方式而具有负号和正号。此外,可基于除位置(-1,-1)之外的任何参考样本来确定负号和正号。 可根据以下项之中的至少一条编码信息确定用于对参考样本进行移位的单位:当前块和/或邻近块的帧内预测模式、块尺寸和形状、以及/或者变换单元的尺寸、形状和/或划分信息。例如,参考样本可以以一个像素或任何数量的像素为单位被移位。 例如,如果当前块中的左上样本的相对位置是(0,0),则可在关于(-1,-1)的搜索范围内使用预定单位构建当前块的最佳上方参考样本。预定单位可以是一个像素和基于块尺寸的单位中的至少一个。基于块尺寸的单位可以是例如块尺寸的1/2或1/4。此外,块可以是包括变换块的任何类型的块。搜索范围可以是包括可用于当前块的所有上方重建样本的区域。或者搜索范围可在编码器/解码器中被预先定义。或者关于搜索范围的信息可被编码/解码,或者可在编码器/解码器中以相同的方式被隐式地推导。 例如,当前块的尺寸可以是8×8,并且移位单位可以是当前块尺寸的1/2,即4。在这种情况下,编码器/解码器可通过每次在配置的搜索范围内移动四个像素来重建最佳上方参考样本。这里,例如,为了对一个像素单位(四个像素)的移位进行编码,关于参考样本移位的信息可具有值1。例如,为了对两个像素单位(8个像素)的移位进行编码,关于参考样本移位的信息可具有值2。 例如,当前块的尺寸可以是8×8,并且移位单位可以是当前块尺寸的1/4,即2。在这种情况下,编码器/解码器可通过每次在配置的搜索范围内移动两个像素来重建最佳上方参考样本。这里,例如,为了对一个像素单位(两个像素)的移位进行编码,关于参考样本移位的信息可具有值1。 图11是描绘重建参考样本的另一实施例的示图。在图11中,由粗线围绕的部分表示当前块。此外,每个网格表示一个样本,并且网格的阴影可表示样本的样本值。也就是说,具有相似阴影的网格可相应于具有相似样本值的样本。 如图11的(a)所示,位于当前块的左侧的参考样本可与当前块具有相对低的相关性。在这种情况下,可从位于当前块的左侧列中的所有可用重建样本中检测与当前块具有高相关性的参考样本。可使用检测到的具有高相关性的参考样本来重建当前块的左侧参考样本或对当前块进行帧内预测所需的所有参考样本。在图11的(a)所示的示例中,可将左侧列中在位置a到位置b处的参考样本检测为具有高相关性的参考样本。然后,如图11的(b)所示,可通过对检测到的具有高相关性的参考样本进行移位来重建当前块的左侧参考样本。 在图11所示的示例中,关于参考样本移位的信息(即,关于垂直移位的信息)可以具有正整数值或负整数值。另外,关于参考样本移位的信息的默认值可以是0。关于参考样本移位的信息可被编码/解码,或者可在编码器/解码器中被隐式地推导。 例如,在当前块中的左上样本的位置是(0,0)的情况下,如果最佳上方参考样本位于位置(-1,-1)的上方,则关于参考样本移位的信息可具有负值。此外,如果最佳上方参考样本位于位置(-1,-1)的下方,则关于参考样本移位的信息可具有正值。或者,该信息可以以与上述情况相反的方式而具有负号和正号。此外,可基于除位置(-1,-1)之外的任何参考样本来确定负号和正号。 可根据以下项之中的至少一条编码信息确定用于对参考样本进行移位的单位:当前块和/或邻近块的帧内预测模式、块尺寸和形状、以及/或者变换单元的尺寸、形状和/或划分信息。例如,参考样本可以以一个像素或任何数量的像素为单位被移位。 例如,如果当前块中的左上样本的相对位置是(0,0),则可在关于(-1,-1)的搜索范围内使用预定单位构建当前块的最佳左侧参考样本。预定单位可以是一个像素和基于块尺寸的单位中的至少一个。基于块尺寸的单位可以是例如块尺寸的1/2或1/4。此外,块可以是包括变换块的任何类型的块。搜索范围可以是包括可用于当前块的所有左侧重建样本的区域。或者搜索范围可在编码器/解码器中被预先定义。或者关于搜索范围的信息可被编码/解码,或者可在编码器/解码器中以相同的方式被隐式地推导。 例如,当前块的尺寸可以是8×8,并且移位单位可以是当前块尺寸的1/2,即4。在这种情况下,编码器/解码器可通过每次在配置的搜索范围内移动四个像素来重建最佳左侧参考样本。这里,例如,为了对一个像素单位(四个像素)的移位进行编码,关于参考样本移位的信息可具有值1。例如,为了对两个像素单位(8个像素)的移位进行编码,关于参考样本移位的信息可具有值2。 例如,当前块的尺寸可以是8×8,并且移位单位可以是当前块尺寸的1/4,即2。在这种情况下,编码器/解码器可通过每次在配置的搜索范围内移动两个像素来重建最佳左侧参考样本。这里,例如,为了对一个像素单位(两个像素)的移位进行编码,关于参考样本移位的信息可具有值1。 针对当前块的参考样本的移位可应用于位于上方行中的可用重建样本或位于左侧列中的可用重建样本。或者,移位可应用于位于上方行中的可用重建样本和位于左侧列中的可用重建样本两者。或者,参考样本的移位可应用于亮度分量和色度分量中的至少一个信号分量。 针对当前块的参考样本的移位可同时应用于位于左侧和/或上侧的可用重建样本。例如,基于相同的移位信息的正方向的移位可意味着位于上侧的重建样本的向右方向的移位、以及位于左侧的重建样本的向上方向的移位。 当使用与当前块邻近的一个或更多个重建样本线重建当前块的参考样本时,也可应用通过参考样本的移位来重建参考样本。 例如,当使用一个或更多个重建样本线重建当前块的参考样本时,对于重建样本线中的每个重建样本线,根据本发明的参考样本的移位可被应用于上方向和左方向中的至少一个以重建参考样本。编码器可从使RD基本代价函数最小的任何重建样本线构建当前块的参考样本。 例如,当使用一个或更多个重建样本线重建当前块的参考样本时,可通过在由一个或更多个重建样本线配置的区域内应用参考样本的移位来重建参考样本。例如,当可用的上方和/或左侧重建样本多达四条线时,可在由四条重建样本线配置的区域内搜索当前块的最优上方和/或左侧参考样本。在这种情况下,根据水平和/或垂直方向的移位的信息(例如,运动信息)可被编码/解码以被发送,或者可在编码器/解码器被隐式地推导。 当使用一个或更多个重建样本线重建当前块的参考样本时,将被重建的参考样本可按照任意单位(像素或任何块尺寸单位)被划分,并且针对每个单位(间隔)从不同的重建样本线被重建。 当对在任意位置(上侧或左侧)的参考样本进行移位时,如果当前块所需的所有参考样本在移位后的位置处可用,则可执行参考样本的移位。或者,如果当前块所需的参考样本中的全部或部分在移位后的位置处不可用,则可在使用邻近的可用参考样本填充不可用参考样本之后执行参考样本的移位。例如,参考样本的全部或部分位于画面、并行块、条带、CTU和/或CU的边界的外部,相应的参考样本可被确定为不可用。 在构建用于对当前编码块进行帧内预测的参考样本之后,可通过以一个或更多个参考样本为单位交换和/或替换参考样本来重建当前编码块的参考样本。 图12是描绘重建参考样本的另一实施例的示图。在图12中,由粗线围绕的部分表示当前块。此外,每个网格表示一个样本,并且网格的阴影可表示样本的样本值。也就是说,具有相似阴影的网格可相应于具有相似样本值的样本。 如图12的(a)所示,在构建参考样本之后,可对均包括四个像素的部分A和部分B的参考样本进行互换或替换。例如,可互换或替换参考样本,以便重建与当前块具有高相关性的参考样本。例如,如图12的(b)所示,可用部分B的值来替换部分A的值。或者部分A的参考样本可与部分B的参考样本互换。 在当前块的帧内预测中,可根据当前块的尺寸和/或形状将当前块划分为一个或更多个预测块。当针对预测块参考相同的参考样本时,可并行执行当前块中的一个或更多个预测块的帧内预测。 图13是描绘对通过划分当前块而产生的多个预测块进行编码/解码的实施例的示图。 如图13所示,8×8的当前块可被划分为两个8×4的预测块。在每个预测块的帧内预测中,可使用与用于第一预测块的上方参考样本相同的参考样本,对第二预测块执行帧内预测。结果是,可同时执行第一预测块和第二预测块的帧内编码/解码。 图14是描绘对通过划分当前块而产生的多个预测块进行编码/解码的另一实施例的示图。 在图13所示的示例中,用于第一预测块的上方参考样本可与第二预测块具有低相关性。考虑到这一点,在图14所示的示例中,在用于第一预测块的上方参考样本被补偿之后,经过补偿的上方参考样本作为用于第二预测块的上方参考样本被参考。例如,如图14所示,可基于通过对用于第一预测块的上方参考样本进行补偿而获得的参考样本来对第二预测块进行编码/解码。这里,可从邻近重建样本计算用于补偿的补偿值。例如,补偿值可以是左侧重建样本a和b之间的差值A(A=a-b)。可按原样使用补偿值,或者在编码器/解码器中根据相同的规则将补偿值缩放到任何大小之后使用补偿值。 在针对一个或更多个块并行执行帧内预测的情况下,前述方法也是可用的。例如,假设图13和图14中所示的预测块中的每个预测块是(8×4)的块,则可根据前述方法使用相同参考样本并行地执行帧内预测。 如果针对一个或更多个块并行执行帧内预测,则第二预测块(或下方块)的右上样本可能不可用。在这种情况下,可复制第一预测块(或上方块)的右上参考样本。或者,可通过对第一预测块(或上方块)的右上参考样本进行补偿来推导第二预测块(或下方块)的参考样本。用于补偿的补偿值可以是从邻近重建样本计算出的差值A或缩放后的差值A'。 在参考图14描述的示例中,可以基于当前块、第一预测块和/或第二预测块的形状、尺寸和/或位置、任意标准样本的位置、和/或当前预测样本的位置来确定用于计算补偿值的邻近重建样本和/或用于缩放的缩放因子。 图13和14示出了水平划分当前块的情况。然而,可将当前块垂直划分为一个或更多个预测块。如果当前块被垂直划分为多个预测块并且每个预测块被并行处理,则可按照与参照图13和图14描述的方式相似的方式从第一预测块的左侧参考样本推导出第二预测块的左侧参考样本。在这种情况下,也可对第一预测块的左侧参考样本进行补偿。此外,用于补偿的补偿值可以是邻近重建样本之间的水平差值或缩放后的差值。 在按照前述各种方法构建参考样本之后,可将根据率失真优化具有最小代价函数值的编码模式确定为当前块的帧内预测模式。 指示已经按照前述各种方法中的至少一个构建了参考样本和/或预测样本的信息可被编码/解码,或者可在编码器/解码器中被隐式地推导。如果对关于参考样本移位的信息进行显式地编码/解码,则可使用以下熵编码方法中的至少一个。另外,在对熵编码后的信息进行二值化之后,可最后通过CABAC(ae(v))对二值化后的信息进行编码/解码。 -截断的莱斯二值化方法 -第K阶指数哥伦布二值化方法 -有限的第K阶指数哥伦布二值化方法 -固定长度二值化方法 -一元二值化方法 -截断的一元二值化方法 在选择参考样本时,可执行关于包括参考样本和/或填充的块的可用性的决定。例如,如果包括参考样本的块可用,则可使用参考样本。同时,如果包括参考样本的块不可用,则可通过填充用一个或更多个可用的邻近参考样本来替换不可用的参考样本。 如果参考样本存在于画面边界、并行块边界、条带边界、CTB边界和预定边界中的至少一个的外部,则可确定参考样本不可用。 在通过CIP(约束的帧内预测)对当前块进行编码的情况下,如果包括参考样本的块按照帧间预测模式被编码/解码,则可确定参考样本不可用。 图15是描绘用于使用可用的重建样本替换不可用的重建样本的方法的示图。 如果确定邻近的重建样本不可用,则可使用邻近的可用重建样本来替换不可用样本。例如,如图15所示,在存在可用样本和不可用样本的情况下,可使用一个或更多个可用样本替换不可用样本。 可按照预定顺序用可用样本的样本值替换不可用样本的样本值。与不可用样本相邻的可用样本可被用于替换不可用样本。在不存在相邻的可用样本的情况下,可使用第一个出现的可用样本或最接近的可用样本。不可用样本的替换顺序可以是从最左下方到最右上方的顺序。或者,不可用样本的替换顺序可以是从最右上方到最左下方的顺序。或者,不可用样本的替换顺序可以是从最左上方到最右上方和/或最左下方的顺序。或者,不可用样本的替换顺序可以是最右上方和/或最左下方到最左上方的顺序。 如图15所示,可按照从最左下方样本位置0到最右上方样本的顺序替换不可用样本。在这种情况下,可用第一个出现或最接近的可用样本a的值来替换前四个不可用样本的值。可用最后一个可用样本b的值来替换接下来的13个不可用样本的值。 或者,可使用可用样本的组合来替换不可用样本。例如,可使用与不可用样本的两端相邻的可用样本的平均值来替换不可用样本。例如,在图15中,可以用可用样本a的值填充前四个不可用样本,并且可以用可用样本b和可用样本c的平均值填充接下来的13个不可用样本。或者,可以用可用样本b的值和可用样本c的值之间的任意值来填充这13个不可用样本。在这种情况下,可以用差值来替换不可用样本。例如,当不可用样本更靠近可用样本a时,可以用与可用样本a的值接近的值来替换不可用样本的值。类似地,当不可用样本更接近可用样本b时,可以用与可用样本b的值接近的值来替换不可用样本的值。也就是说,可基于从不可用样本到可用样本a和/或b的距离来确定不可用样本的值。 为了替换不可用的样本,可选择性地应用包括上述方法的多种方法中的一种或多种。可通过包括在比特流中的信息来用信号发送用于替换不可用样本的方法,或者可使用由编码器和解码器预先确定的方法。或者,可通过预定方案推导出用于替换不可用样本的方法。例如,可基于可用样本a和b的值之间的差值和/或不可用样本的数量来选择用于替换不可用样本的方法。例如,可基于两个可用样本的值之间的差值与阈值之间的比较、和/或不可用样本的数量与阈值之间的比较来选择用于替换不可用样本的方法。例如,如果两个可用样本的值之间的差值大于阈值,并且/或者如果不可用样本的数量大于阈值,则可用不同的值来替换不可用样本的值。 可基于预定单位选择用于替换不可用样本的方法。例如,可基于例如视频、序列、画面、条带、并行块、CTU、CU、PU和TU中的至少一个来选择用于替换不可用样本的方法。这里,用于替换不可用样本的方法的选择可基于以下信息:基于预定单位用信号发送的信息或基于预定单位推导出的信息。或者可应用由编码器和解码器预先确定的方法。 图16是描绘用于使用可用重建样本替换不可用重建样本的另一方法的示图。 在图16所示的示例中,当前块的尺寸是8×8,并且在上方参考样本之中的包括在当前块的右上方的块C中的八个样本是不可用的。如图16的(a)所示,可以用与这8个不可用样本最接近的可用样本的样本值b来替换这8个不可用样本的值。或者如图16的(b)所示,可用值b'替换而不用值b来替换这八个不可用样本的值。 可例如基于块B中包括的参考样本的梯度来推导值b'。为了计算值b',例如,可使用以下伪代码。 [表1] 首先,可计算块B中包括的参考样本的平均值。如果当前块的尺寸是8×8,则在计算平均时可使用在当前块上方的八个重建样本。随后,可考虑计算的平均值和样本值b之间的梯度来推导b'。 在计算出计算的平均值与样本值b之间的差值delta之后,如果差值delta大于0,则可认为块B中包括的八个参考样本的值逐渐减小。因此,可通过反映样本值b的减量来推导b'。如果差值delta小于0,则可认为块B中包括的八个参考样本的值逐渐增加。因此,可通过反映样本值b的增量来推导b'。 在伪代码中,平均值avg.可以是与当前块的宽度一样多的可用参考样本的平均值。也就是,在图16中,avg.可以是块B中包括的八个参考样本的平均值。然而,在计算平均值时使用的参考样本的数量不限于此。例如,在图16中,可使用块B中包括的八个参考样本中的至少一个来计算平均值。例如,avg.可以是不可用参考样本附近的K个可用参考样本的平均值。例如,可仅从块B中包括的八个参考样本之中的四个右侧参考样本计算平均值。 此外,使用一个可用参考样本的样本值b计算伪代码中的差值delta,其不应被解释为限制。例如,可使用块B中包括的八个参考样本中的至少一个来计算差值delta。例如,用于计算差值delta的至少一个参考样本可以是不可用的参考样本附近的P个可用参考样本。例如,P个参考样本的平均值可用作差值delta。用于计算差值delta的可用参考样本的数量P可小于用于计算平均值的可用参考样本的数量K。 此外,可使用任何其他统计值来代替用于推导差值delta的K个可用参考样本的平均值和/或P个可用参考样本的平均值。统计值可以是例如加权平均值、最大值、最小值、中值或出现最频繁的值中的至少一个。如果使用加权平均值,则可基于可用参考样本和/或不可用参考样本中的每个的位置来确定权重。例如,权重可与可用参考样本和不可用参考样本之间的距离成反比。 可通过给可用参考样本的样本值b补偿与差值delta相应的梯度来计算值b'。用于补偿的补偿值可以是差值delta或通过使用缩放因子对差值delta进行缩放而获得的值scaled_delta。值scaled_delta可大于或小于delta。 在图16的(a)所示的示例中,可以用可用参考样本的样本值a来替换位于当前块的左下方的八个不可用参考样本的值。或者,根据参考图16的(b)描述的方法,可以用样本值a'替换位于当前块的左下方的八个不可用参考样本的值。这些方法可应用于上方参考样本和左侧参考样本中的全部或仅应用于一个方向。可以基于指定当前块的尺寸、形状和帧内预测模式的编码信息来确定所述方法被应用于的方向。 此外,在图16所示的示例中,可统一用值a'或b'来替换右上或左下不可用参考样本的值。或者,可通过逐渐缩放最初获得的差值delta,将不同的值应用于不可用参考样本。 在使用与当前块邻近的至少一个重建样本线的情况下,还可自适应地应用填充方法。 图17是描绘在一个或更多个重建样本线被使用的情况下参考样本的填充的示例性示图。 如果使用多个(例如,多达4个)重建样本线针对当前编码块产生参考样本,则在每个重建样本线上的右上参考样本或左下参考样本可能不可用。在按照前述方法针对不可用参考样本产生了参考样本之后,可将在RD方面最优的重建样本线设置为当前块的参考样本。 在图17所示的示例中,在使用多达4个重建样本线针对当前块产生参考样本的情况下,虚线框中的重建样本可能不可用。可使用四个重建样本线上的可用重建样本之中的最外侧的可用重建样本(粗实线框中的重建样本)的信息,针对不可用的右上重建样本或左下重建样本的位置生成参考样本。 例如,为了产生位于当前块的右上方的不可用参考样本,可使用当前块的右上方的粗实线框中的四个可用重建样本中的至少一个。例如,可通过使用右上方粗实线框中的N个可用重建样本的最大值、最小值、中值、平均值、加权平均值和出现最频繁的值中的至少一个来填充非参考样本。N可以是例如4。 类似地,在当前块的左下方的粗实线框中的四个可用重建样本中的至少一个可用于在当前块的左下方的不可用参考样本。 或者,在图17所示的示例中,包括或不包括粗实线框中的可用重建样本的一个或更多个可用参考样本可用于产生不可用参考样本。 对于构建的一个或更多个参考样本,可基于当前块的帧内预测模式、尺寸和/或形状中的至少一个以不同的方式确定是否应用滤波和/或滤波类型。并且,滤波可被应用于亮度分量和色度分量中的至少一个分量。 对于多个参考样本线,例如,可不同地确定是否应用滤波。例如,滤波可被应用于第一相邻参考样本线,并且滤波可不被应用于第二相邻参考样本线。 此外,例如,经过滤波的值和未经滤波的值两者都可用于同一参考样本。例如,可以根据当前块的帧内预测模式、尺寸和/或形状中的至少一个来选择和应用3抽头滤波器、5抽头滤波器、7抽头滤波器和N抽头滤波器中的至少一个不同的滤波器。这里,N可以是整数。 例如,在通过使用邻近可用参考样本的值将不可用样本的值替换为相同值的情况下,尽管进行参考样本滤波,但是值被替换为相同的值的参考样本的经过滤波的参考样本值可以都是相等的。此外,由于经过滤波的参考样本值是相等的,因此,如果使用参考样本值的加权和对当前块执行帧内预测,则可始终获得相同的预测样本值。因此,在上述情况下,可通过跳过参考样本滤波操作和/或跳过推导预测样本值的操作来减小编码器/解码器的计算量。 图18是描绘对包括填充的不可用参考样本的参考样本进行滤波的示图。 如图18的(a)所示,当前块的左下和右上不可用参考样本可由任何值填充。在图18中,与当前块邻近的左上样本的位置是(-1,-1)。图18的(b)示出了一维阵列中的邻近左下和右上参考样本。在图18的(b)中所示的一维阵列的参考样本中,可不对经过填充的左下和右上参考样本进行滤波。这里,经过填充的左下样本包括在块A中,并且经过填充的右上样本包括在块B中。可对除了经过填充的左下和右上参考样本之外的其余样本进行滤波。如前所述,可根据关于当前块的信息和/或关于邻近块的信息(帧内预测模式、块尺寸、块形状、变换单元的尺寸和/或划分信息)中的至少一个,从3抽头滤波器、5抽头滤波器、7抽头滤波器和N抽头滤波器中选择至少一个不同的滤波器。这里,N可以是整数。在参照图18描述的示例中,一维阵列的大小是(4×nTbs+1),其中,nTbs可以是当前块或变换块的宽度或高度。 图19是描绘对包括不可用参考样本的参考样本进行滤波的示图。例如,如果当前块的尺寸是8×8并且块A中包括的左下参考样本和块B中的右上参考样本不可用,则可使用邻近可用参考样本的值,用相同的值替换不可用参考样本。 图19的(a)示出对包括经过填充的参考样本的所有参考样本进行滤波的示例,图19的(b)示出对除了经过填充的参考样本之外的参考样本进行滤波的示例。 如图19的(b)所示,用相同值替换的参考样本可不经过参考样本滤波。这里,参考样本滤波可仅被应用于除了块A或块B的参考样本之外的其余参考样本。或者,参考样本滤波可仅被应用于除了块A或块B的参考样本之外的其余参考样本之中的除了最左侧和/或最右侧的参考样本之外的参考样本。如前所述,可根据关于当前块的信息和/或关于邻近块的信息(帧内预测模式、块大小、块形状、变换单元的尺寸和/或划分信息)中的至少一个,从3抽头滤波器、5抽头滤波器、7抽头滤波器和N抽头滤波器中选择至少一个不同的滤波器。这里,N可以是整数。 例如,在使用可用参考样本的值用相同值替换不可用参考样本的值之后,可使用相同的参考样本值来执行帧内预测。在这种情况下,可跳过根据距离和/或方向性计算加权和的操作。 在使用与当前块邻近的一个或更多个重建样本线的情况下,如果每个重建样本线包括不可用参考样本,则可应用参考图19描述的方法。 如果按照前述方法中的至少一种方法对参考样本进行填充或滤波,则可以对指示填充或滤波的信息进行编码/解码,或者可在编码器/解码器中隐式地推导指示填充或滤波的信息。如果对该信息进行显式地编码/解码,则可使用以下熵编码方法中的至少一个。另外,在对熵编码后的信息进行二值化之后,可最后通过CABAC(ae(v))对二值化后的信息进行编码/解码。 -截断的莱斯二值化方法 -第K阶指数哥伦布二值化方法 -有限的第K阶指数哥伦布二值化方法 -固定长度二值化方法 -一元二值化方法 -截断的一元二值化方法 现在,将给出执行帧内预测的步骤的详细描述(S1230)。 可基于推导出的帧内预测模式和参考样本对当前块或子块执行帧内预测。在以下详细描述中,当前块可表示子块。 例如,可以执行非方向帧内预测作为帧内预测。非方向模式可以是例如DC模式和平面模式中的至少一种。 如果非方向模式是DC模式,则可使用构建的参考样本中的一个或更多个参考样本的平均值来执行帧内预测。这里,可将滤波应用于位于当前块的边界处的一个或多个预测样本。平均值的数量可以是1或更大,并且可根据用于预测的目标样本的位置使用不同的平均值来执行预测。可根据当前块的尺寸或形状中的至少一个来使用不同的参考样本。例如,如果块的尺寸大于预定尺寸,则可使用一个相邻的参考样本线,而如果块的尺寸小于预定尺寸,则可使用两个相邻的参考样本线。 如果非方向模式是平面模式,则可使用根据当前块中的用于帧内预测的目标样本的位置考虑距构建的一个或更多个参考样本的距离而计算出的加权和来执行帧内预测。 作为帧内预测,例如,可执行方向帧内预测。方向模式可以是例如水平模式、垂直模式和具有预定角度的模式中的至少一个。 如果方向模式是水平和/或垂直模式,则可使用位于在用于帧内预测的目标样本的位置处的水平和/或垂直线上的至少一个参考样本来执行帧内预测。 如果方向模式是具有预定角度的模式,则可使用位于相对于用于帧内预测的目标样本的位置呈预定角度的线上和与该线相邻的一个或更多个样本,执行帧内预测。这里,可使用N个参考样本。N可以是正整数(诸如,2、3、4、5和6),并且可通过应用N抽头滤波器(诸如,2抽头滤波器、3抽头滤波器、4抽头滤波器、5抽头滤波器和6抽头过滤器)执行帧内预测。这里,可使用一个或更多个参考样本线,并且可将不同的滤波器类型应用于每个参考样本线。可通过计算通过将滤波器应用于每条线而获得的值的加权平均来执行帧内预测。用于方向预测的参考样本线的数量可根据方向模式、当前块的尺寸和当前块的形状中的至少一个而不同。 或者可基于位置信息来执行帧内预测。可对位置信息进行编码/解码,并且可将该位置处的重建样本块推导为当前块的帧内预测块。或者,可将由解码器搜索到的与当前块类似的块推导为当前块的帧内预测块。 或者,可基于亮度信号和/或色度信号来执行帧内预测。例如,可使用当前块的重建的亮度信号来执行针对色度信号的帧内预测。例如,可使用当前块的一个重建的色度信号Cb来执行针对另一色度信号Cr的帧内预测。 可通过组合地使用前述各种帧内预测方法中的一个或更多个来执行帧内预测。例如,可通过使用预定的非方向帧内预测模式预测出的块和使用预定的方向帧内预测模式预测出的块的加权和来针对当前块构建帧内预测块。这里,可根据当前块的帧内预测模式、块尺寸、形状和/或样本位置中的至少一个来应用不同的权重。 或者,关于一个或更多个帧内预测模式的组合使用,可使用以下值的加权和来构建预测块:使用当前块的帧内预测模式预测出的值、以及使用包括在MPM列表中的预定模式预测出的值。 或者,可使用一个或更多个参考样本集来执行帧内预测。例如,可使用以下块的加权和对当前块执行帧内预测:使用通过不向构建的参考样本应用滤波而获得的参考样本进行帧内预测的块、以及使用通过向构建的参考样本应用滤波而获得的参考样本进行帧内预测的块。 在帧内预测的处理中,可使用邻近的重建样本来执行滤波操作。这里,可根据当前块的帧内预测模式、块尺寸、形状和/或样本位置中的至少一个来执行或不执行滤波操作。滤波操作可包括在帧内预测处理中,因此作为一个步骤执行。 在通过将当前块划分为子块并使用邻近块的帧内预测模式推导每个子块的帧内预测模式来执行帧内预测时,可将滤波应用于当前块的每个子块。例如,可将低通滤波器应用于整个当前块。或者,可将滤波器应用于位于每个子块的边界上的样本。或者可将滤波器应用于每个子块的预测块或重建块,并且滤波器所应用于的子块的一个或更多个样本可在后续子块的帧内预测中被使用。 在将当前块划分为子块并对每个子块执行帧内预测时,每个子块可指编码/解码块、预测块和变换块中的至少一个。例如,如果当前块的尺寸为64×64并且子块的尺寸为16×16,则可推导出作为每个子块的预测块的帧内预测模式,并且/或者可对预测块执行帧内预测。如果一个或更多个子块中的每个子块被进一步划分为8×8或4×4的块,则8×8或4×4的块中的每个块可以是变换块,并且可使用16×16的块的帧内预测模式对通过进一步划分而获得的块执行帧内预测。 在方向帧内预测中,可使用N个方向模式中的至少一个来对当前块进行编码/解码。这里,N可以是正整数,诸如,33或65。 在方向帧内预测中,可根据方向预测模式来重建构建的参考样本。例如,如果方向预测模式是使用左侧参考样本和上方参考样本中的全部的模式,则可用左侧参考样本或上方参考样本构建单向阵列。 图20是描绘从Pref产生1D参考样本阵列p1,ref的实施例的示图。 例如,如图20所示,可使用左侧参考样本中的一个或更多个来构建上方参考样本的1D阵列。可根据方向模式使用左侧样本之外的不同样本构建上方参考样本。可通过移动左侧参考样本来构建上方参考样本,或者可通过使用一个或更多个左侧参考样本的加权和来构建上方参考样本。 在方向帧内预测中,可执行基于实数的插值预测。例如,如下,可基于与每个方向预测模式相应的角度参数(intraPredAngle),根据当前块中的样本的位置来确定用于预测样本插值的偏移(iIdx)和/或权重(iFact)。 例如,假设以1/32像素为单位进行插值,则可通过以下[等式7]确定具有垂直方向的方向模式的偏移和权重。 [等式7] iIdx=((y+1)×intraPredAngle)>>5 iFact=((y+1)×intraPredAngle)&31 可根据[等式7]中的iFact的值来确定不同的预测样本值。例如,如果iFact不为0,则参考样本阵列P1,ref中的预测位置不是基于整数的位置(完整样本位置),而是基于实数的位置。因此,可通过下面的[等式8],使用与实数位置相邻的多个参考样本(例如,两个左右相邻参考样本)来产生目标样本位置(x,y)处的预测样本值。这里,多个相邻参考样本可以是4个或6个左右相邻参考样本。 [等式8] 预测样本[x][y]=((32-iFact)×p1,ref[x+iIdx+1]+iFact×p1,ref[x+iIdx+2]+16)>>5 例如,如果iFact是0,则可通过下面的[等式9]产生预测样本值。或者,可使用参考样本阵列P1,ref和左右参考样本来应用3抽头[1/4:2/4:1/4]滤波器。 [等式9] 预测样本[x][y]=p1,ref[x+iIdx+1] 在方向预测模式中的水平模式和/或垂直模式中的至少一个的情况下,可不对参考样本执行滤波。另外,参考样本可不需要插值预测。此外,由于仅使用上方参考样本或左侧参考样本就能够进行预测,因此可不需要为参考样本构建一维阵列的处理。 现在,将给出根据本发明的执行非方向预测的步骤的描述。 在平面模式下,可通过根据当前块中的目标帧内预测样本的位置考虑距一个或更多个构建的参考样本的距离计算加权和,执行帧内预测。 图21是描绘根据本发明的实施例的帧内预测的示图。 当前块的尺寸可以是8×8,并且当前块的帧内预测模式可以是平面模式。在平面模式下,如图21所示,可使用当前块的右上参考样本TR和左下参考样本BL的加权和来推导当前块中的右下样本K。可根据关于当前块的信息和/或关于邻近块的信息(帧内预测模式、块尺寸、形状、变换单元的尺寸和/或划分信息)中的至少一个来计算加权和。在图21所示的示例中,使用TR和BL的加权和来推导样本K,其不应被解释为限制。例如,可通过TR和BL的平均值、最小值、最大值或任何加权和来推导样本K。 在图21所示的示例中,在用BL替换包括在当前块的底部行中(在块A中)的样本并且用TR替换包括在当前块的右侧列中(在块B中)的样本之后,可将在当前块中的位置(x,y)处的目标预测样本预测为基于该样本的位置的加权和。例如,可使用[等式10]。 [等式10] pred[x,y]=(b×L+a×TR+d×T+c×BL+8)>>4 或者,在另一实施例中,例如,可将包括在当前块内的底部行(块A)中的样本推导为根据BL和K的距离的加权和,并且可将包括在当前块内的右侧列(块B)中的样本推导为根据TR和K的距离的加权和。并且,可将在当前块内的任意位置(x,y)处的预测目标样本预测为基于每个样本的位置的加权和。这里,例如,可使用[等式10],并且可分别使用根据TR和K的距离的加权和以及根据BL和K的距离的加权和,而不是TR值和BL值。 图22是描绘根据本发明的另一实施例的帧内预测的示图。 如图22所示,可按照平面模式和DC模式的组合执行帧内预测,以便针对当前块产生帧内预测块。 在图22中,粗实线表示8×8的当前块。 如图22的(a)所示,在使用与当前块邻近的参考样本中的至少一个计算出平均值之后,可基于邻近参考样本对在当前块内的左侧列和上方行中的边界像素(阴影像素)执行基于3抽头或2抽头的滤波。例如,在滤波中使用的滤波器可具有在图22的(a)中右侧所示的形状中的任何形状。 随后,如图22的(b)所示,在使用与当前块邻近的参考样本中的至少一个计算出平均值DCVal之后,可对包括与当前块的中心邻近的一个或更多个样本的目标预测块(在下文中,称为“中心块”)执行帧内预测。目标预测块可以与8×8的当前块相同,或者目标预测块的尺寸和/或形状可以更小,例如,2×2、3×3、4×4等。 例如,如在平面模式下,可使用当前块的右上参考样本TR和左下参考样本BL的加权和来推导当前块中的右下样本K。可根据关于当前块的信息和/或关于邻近块的信息(帧内预测模式、块尺寸、形状、变换单元的尺寸和/或划分信息)中的至少一个来计算加权和。使用TR和BL的加权和推导出样本K,这不应被解释为限制。例如,可通过TR和BL的平均值、最小值、最大值或任何加权和来推导样本K。 例如,可用BL替换包括在当前块的底部行中(在块A中)的样本,并且可用TR替换包括在当前块的右侧列中(在块B中)的样本。或者,可将包括在当前块的底部行中(在块A中)的样本推导出为根据BL和K的距离的加权和,并且可将包括在当前块的右侧列中(在块B中)的样本推导为根据TR和K的距离的加权和。 随后,可预测当前块的中心块的左侧、右侧、上方和下方的块(图22的(c)中用“1”标记的块)。然后,可对其余块(在图22的(d)中用“2”标记的块)执行帧内预测。例如,可独立地或并行地对其余块执行按照像素的帧内预测。 如前所述,可预测当前块中的边缘像素和任意尺寸的中心块。此外,在每个子块包括至少一个目标预测样本的情况下,可使用已经预测出的邻近样本值中的至少一个来执行按照子块的帧内预测。可根据关于当前块和/或相邻块的信息(帧内预测模式、块尺寸、形状、变换单元的尺寸和/或划分信息)中的至少一个来执行帧内预测。 例如,图22的(c)中所示的四个子块(用“1”标记的块)中的每个子块具有关于根据上述方法对中心、上方、下方、左侧和/或右侧执行的预测的信息。因此,可独立地或并行地对每个子块执行帧内预测。也可例如通过计算加权和,基于关于已经执行帧内预测的邻近样本的信息,对图22的(d)中示出的四个子块(用“2”标记的块)进行独立或并行的按照子块的帧内预测。 图23是描绘根据本发明另一实施例的帧内预测的示图。 在针对当前块产生了参考样本之后,可根据当前块的尺寸和/或形状将当前块划分为一个或更多个子块。随后,可通过改变子块的位置来执行帧内预测。参照图23描述的方法可应用于非方向预测以及方向预测。 例如,如图23所示,可针对8×8的当前块执行帧内预测。这里,在将通过划分当前块获得的四个子块的位置随机改变之后,可执行帧内预测。尽管图23中所示的当前块被划分为四个子块,但是当前块的划分不限于此。当前块可被划分为N个子块,其中,N等于或大于2。 例如,当前块可被划分为四个子块。另外,在根据在编码器/解码器中定义的相同规则在通过划分当前块而获得的每个子块中对当前块内的样本值进行重新排序之后,可执行帧内预测。 例如,在将当前块划分为两个或更多个子块之后,可改变子块的位置或者可重新排序子块的编码样本。或者,可同时执行子块的位置的改变和子块中的样本的重新排序。 指示已按照参考图21、图22和图23描述的方法中的至少一个方法执行了帧内预测的信息可被编码/解码,或者可在编码器/解码器中被隐式地推导出。如果对该信息进行显式地编码/解码,则可使用下面的熵编码方法中的至少一个。另外,在对熵编码后的信息进行二值化之后,可最后通过CABAC(ae(v))对二值化后的信息进行编码/解码。 -截断的莱斯二值化方法 -第K阶指数哥伦布二值化方法 -有限的第K阶指数哥伦布二值化方法 -固定长度二值化方法 -一元二值化方法 -截断的一元二值化方法 可以针对亮度信号和色度信号中的每个执行帧内编码/解码处理。例如,在帧内编码/解码处理中,可将推导帧内预测模式、划分块、构建参考样本和执行帧内预测中的至少一种方法不同地应用于亮度信号和色度信号。 可针对亮度信号和色度信号相同地执行帧内编码/解码处理。例如,在帧内编码/解码处理被应用于亮度信号时,推导帧内预测模式、划分块、构建参考样本和执行帧内预测中的至少一个可被相同地应用于色度信号。 所述方法可以以相同的方式在编码器和解码器中被执行。例如,在帧内编码/解码处理中,可在编码器和解码器中相同地应用推导帧内预测模式、划分块、构建参考样本和执行帧内预测中的至少一种方法。另外,在编码器和解码器中应用这些方法的顺序可以不同。例如,在对当前块执行帧内编码/解码时,编码器可对通过在构建参考样本之后执行至少一个帧内预测而确定的帧内预测模式进行编码。 可根据编码块、预测块、块和单元中的至少一个的尺寸来应用本发明的实施例。这里,尺寸可被定义为最小尺寸和/或最大尺寸以便应用实施例,并且可被定义为实施例所应用于的固定尺寸。另外,在第一尺寸下可应用第一实施例,在第二尺寸下可应用第二实施例。也就是说,可根据尺寸多次应用实施例。另外,仅当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,才可应用本发明的实施例。也就是说,可仅在块尺寸在预定范围内时应用实施例。 例如,仅当编码/解码目标块的尺寸等于或大于8×8时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或大于16×16时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或大于32×32时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或大于64×64时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或大于128×128时,才可应用实施例。例如,仅当编码/解码目标块的尺寸是4×4时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或小于8×8时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或小于16×16时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或大于8×8并且等于或小于16×16时,才可应用实施例。例如,仅当编码/解码目标块的尺寸等于或大于16×16并且等于或小于64×64时,才可应用实施例。 可根据时间层来应用本发明的实施例。可用信号发送用于标识可应用实施例的时间层的标识符,并且可将实施例应用于由标识符指定的时间层。这里,标识符可被定义为指示可应用实施例的最小层和/或最大层,并且可被定义为指示可应用实施例的特定层。 例如,仅当当前画面的时间层是最低层时,才可应用实施例。例如,仅当当前画面的时间层标识符是零时,才可应用实施例。例如,仅当当前画面的时间层标识符等于或大于1时,才可应用实施例。例如,仅当当前画面的时间层是最高层时,才可应用实施例。 如在本发明的实施例中所描述的,在参考画面列表构建和参考画面列表修改的处理中使用的参考画面集可使用参考画面列表L0、L1、L2和L3中的至少一个。 根据本发明的实施例,当去块滤波器计算边界强度时,可使用编码/解码目标块的至少一个到最多N个运动矢量。这里,N指示等于或大于1的正整数,诸如,2、3、4等。 在运动矢量预测中,当运动矢量具有16像素(16-pel)单位、8像素(8-pel)单位、4像素(4-pel)、整数像素(整数-pel)单位、1/2像素(1/2-pel)单位、1/4像素(1/4-pel)单位、1/8像素(1/8-pel)单位、1/16像素(1/16-pel)单位、1/32像素(1/32-pel)单位和1/64像素(1/64-pel)单位中的至少一个时,可应用本发明的实施例。另外,在执行运动矢量预测时,可针对每个像素单位可选地使用运动矢量。 可定义可应用本发明的实施例的条带类型,并且可根据条带类型应用本发明的实施例。 例如,当条带类型是T(三向预测)-条带时,预测块可通过使用至少三个运动矢量被产生,并且可通过计算至少三个预测块的加权和被用作编码/解码目标的最终预测块。例如,当条带类型是Q(四向预测)-条带时,预测块可通过使用至少四个运动矢量被产生,并且可通过计算至少四个预测块的加权和被用作编码/解码目标块的最终预测块。 本发明的实施例可应用于使用运动矢量预测的帧间预测和运动补偿方法、以及使用跳过模式、合并模式等的帧间预测和运动补偿方法。 应用本发明的实施例的块的形状可具有正方形形状或非正方形形状。 在上述实施例中,基于具有一系列步骤或单元的流程图描述了这些方法,但是本发明不限于这些步骤的顺序。相反,一些步骤可以与其他步骤同时或以不同顺序执行。另外,本领域普通技术人员应该理解,在不影响本发明的范围的情况下,流程图中的步骤不排除彼此,并且其他步骤可被添加到流程图中,或者步骤中的一些步骤可从流程图中删除。 实施例包括示例的各个方面。不可能描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求的范围内的所有替换、修改和改变。 可以以可由各种计算机组件执行并记录在计算机可读记录介质中的程序指令的形式实现本发明的实施例。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明特别设计和构造的或者对于计算机软件技术领域中的普通技术人员公知的。计算机可读记录介质的示例包括磁记录介质(诸如硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被特别构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)和闪存等)。程序指令的示例不仅包括由编译器格式化的机器语言代码,而且包括可由计算机使用解释器实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作或者反之亦然,以进行根据本发明的处理。 尽管已经在特定项目(诸如,详细元件以及有限的实施例和附图)方面描述了本发明,但是仅提供它们以帮助更一般地理解本发明,并且本发明不限于上述实施例。本发明所属领域的技术人员将理解,可从以上描述进行各种修改和改变。 因此,本发明的精神不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。 工业适用性 本发明可在对图像进行编码/解码时使用。 背景技术 近来,在各种应用领域中对高分辨率且高质量图像(诸如高清(HD)图像和超高清(UHD)图像)的需求已经增加。然而,与传统的图像数据相比,更高分辨率且更高质量的图像数据的数据量有所增加。因此,当通过使用诸如传统有线和无线宽带网络的介质发送图像数据时,或者当通过使用传统存储介质存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,需要高效的图像编码/解码技术以获得更高分辨率且更高质量的图像。 图像压缩技术包括各种技术,包括:从当前画面的先前画面或后续画面预测包括在当前画面中的像素值的帧间预测技术;通过使用当前画面中的像素信息来预测当前画面中包括的像素值的帧内预测技术;用于压缩残差信号能量的变换和量化技术;将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术等。图像数据可通过使用这样的图像压缩技术被有效地压缩,并且可被发送或存储。 发明内容 技术问题 本发明的一个目的是提供一种用于对图像进行编码和解码以提高压缩效率的方法和设备。 本发明的另一个目的是提供一种用于使用帧内预测对图像进行编码和解码以提高压缩效率的方法和设备。 本发明的另一个目的是提供一种存储通过本发明的图像编码方法/设备产生的比特流的记录介质。 技术方案 根据本发明的一种图像解码方法可包括:推导当前块的帧内预测模式;选择与当前块邻近的至少一个重建样本线;使用包括在所述至少一个重建样本线中的至少一个重建样本来构建参考样本;并且基于帧内预测模式和参考样本针对当前块执行帧内预测。 在本发明的图像解码方法中,所述至少一个重建样本线可包括与当前块的上侧和左侧相邻的重建样本线中的至少一个。 在本发明的图像解码方法中,可基于当前块的尺寸、形状和帧内预测模式中的至少一个来确定与当前块的上侧和左侧相邻的重建样本线的数量。 在本发明的图像解码方法中,可使用所述至少一个重建样本的加权和来推导参考样本。 在本发明的图像解码方法中,可基于帧内预测模式以及当前块与重建样本线之间的距离中的至少一个来执行加权和。 在本发明的图像解码方法中,构建参考样本的步骤还可包括:从包括在与当前块邻近的上方行和左侧列中的至少一个中的重建样本中搜索与当前块相似的重建样本;并且用搜索到的重建样本替换重建样本线中包括的至少一个重建样本。 本发明的图像解码方法还可包括将当前块划分为多个子块,并且可根据基于当前块构建的参考样本,针对所述多个子块中的每个子块执行帧内预测。 在本发明的图像解码方法中,当使用基于当前块构建的参考样本针对所述多个子块中的一个子块执行帧内预测时,可在对不与所述一个子块邻近的参考样本进行补偿之后执行帧内预测。 在本发明的图像解码方法中,执行帧内预测的步骤可包括:使用所述至少一个重建样本,预测当前块内的包括在右侧列中的样本、包括在底部行中的样本和右下样本中的至少一个样本;并且使用预测出的所述至少一个样本预测当前块内的其余样本。 根据本发明的一种图像解码设备可包括帧内预测器,其中,帧内预测器被配置为:推导当前块的帧内预测模式,选择与当前块邻近的至少一个重建样本线,使用包括在所述至少一个重建样本线中的至少一个重建样本构建参考样本,并且基于帧内预测模式和参考样本针对当前块执行帧内预测。 根据本发明的一种图像编码方法可包括:确定当前块的帧内预测模式;选择与当前块邻近的至少一个重建样本线;使用包括在所述至少一个重建样本线中的至少一个重建样本构建参考样本;并且基于帧内预测模式和参考样本针对当前块执行帧内预测。 在本发明的图像编码方法中,所述至少一个重建样本线可包括与当前块的上侧和左侧相邻的重建样本线中的至少一个。 在本发明的图像编码方法中,可基于当前块的尺寸、形状和帧内预测模式中的至少一个来确定与上侧和左侧相邻的重建样本线的数量。 在本发明的图像编码方法中,可使用所述至少一个重建样本的加权和来推导参考样本。 在本发明的图像编码方法中,可基于帧内预测模式以及当前块与重建样本线之间的距离中的至少一个来执行加权和。 在本发明的图像编码方法中,构建参考样本的步骤可包括:从包括在与当前块邻近的上方行和左侧列中的至少一个中的重建样本中搜索与当前块相似的重建样本;并且用搜索到的重建样本替换重建样本线中包括的至少一个重建样本。 本发明的图像编码方法还可包括将当前块划分为多个子块,并且可根据基于当前块构建的参考样本,针对所述多个子块中的每个子块执行帧内预测。 在本发明的图像编码方法中,当使用基于当前块构建的参考样本针对所述多个子块中的一个子块执行帧内预测时,可在对不与所述一个子块邻近的参考样本进行补偿之后执行帧内预测。 根据本发明的一种图像编码设备可包括帧内预测器,其中,帧内预测器被配置为:确定当前块的帧内预测模式,选择与当前块邻近的至少一个重建样本线,使用包括在所述至少一个重建样本线中的至少一个重建样本构建参考样本,并且基于帧内预测模式和参考样本针对当前块执行帧内预测。 根据本发明的一种记录介质可存储通过图像编码方法产生的比特流,其中,所述图像编码方法可包括:确定当前块的帧内预测模式;选择与当前块邻近的至少一个重建样本线;使用包括在所述至少一个重建样本线中的至少一个重建样本构建参考样本;并且基于帧内预测模式和参考样本针对当前块执行帧内预测。 有益效果 根据本发明,可提供一种用于对图像进行编码和解码以提高压缩效率的方法和设备。 根据本发明,可提供一种用于使用帧内预测对图像进行编码和解码以提高压缩效率的方法和设备。 根据本发明,可提供一种存储通过本发明的图像编码方法/设备产生的比特流的记录介质。 The invention provides an image encoding/decoding method and apparatus, and a recording medium storing a bit stream. An image decoding method according to the present invention comprises the steps of: deriving an intra prediction mode of a current block; selecting at least one reconstructed sample line adjacent to the current block; establishing a reference sample using at least one reconstruction sample included in the at least one reconstruction sample line; and performing intra prediction for the current block based on the intra prediction mode and the reference sample. 1.一种图像解码方法,包括: 推导当前块的帧内预测模式; 确定用于所述当前块的帧内预测的参考样本的搜索范围; 在所述参考样本的所述搜索范围中确定用于所述当前块的所述帧内预测的所述参考样本; 通过基于所述帧内预测模式和所述参考样本对所述当前块执行所述帧内预测来生成预测块;以及 基于所述预测块重构所述当前块, 其中,所述参考样本在所述搜索范围中彼此分开预定样本单位, 其中,所述预定样本单位是基于所述当前块的尺寸确定的,以及 其中,所述当前块是通过使用四叉树划分方法或二叉树划分方法中的至少一个划分编码树块而获得的。 2.根据权利要求1所述的方法, 其中,基于所述当前块的所述帧内预测模式和所述当前块的尺寸确定所述搜索范围。 3.根据权利要求1所述的方法, 其中,所述预定样本单位是基于所述当前块的尺寸确定的。 4.根据权利要求1所述的方法, 其中,所述预定样本单位被确定为所述当前块的尺寸的一半或四分之一。 5.一种图像编码方法,包括: 确定当前块的帧内预测模式; 确定用于所述当前块的帧内预测的参考样本的搜索范围; 在所述参考样本的所述搜索范围中确定用于所述当前块的所述帧内预测的所述参考样本; 通过基于所述帧内预测模式和所述参考样本对所述当前块执行所述帧内预测来生成预测块;以及 基于所述预测块重构所述当前块, 其中,所述参考样本在所述搜索范围中彼此分开预定样本单位, 其中,所述预定样本单位是基于所述当前块的尺寸确定的,以及 其中,所述当前块是通过使用四叉树划分方法或二叉树划分方法中的至少一个划分编码树块而获得的。 6.根据权利要求5所述的方法, 其中,基于所述当前块的所述帧内预测模式和所述当前块的尺寸确定所述搜索范围。 7.根据权利要求5所述的方法, 其中,所述预定样本单位是基于所述当前块的尺寸确定的。 8.根据权利要求5所述的方法, 其中,所述预定样本单位被确定为所述当前块的尺寸的一半或四分之一。 9.一种用于发送通过图像编码方法生成的比特流的方法,所述编码方法包括: 确定当前块的帧内预测模式; 确定用于所述当前块的帧内预测的参考样本的搜索范围; 在所述参考样本的所述搜索范围中确定用于所述当前块的所述帧内预测的所述参考样本; 通过基于所述帧内预测模式和所述参考样本对所述当前块执行所述帧内预测来生成预测块;以及 基于所述预测块重构所述当前块, 其中,所述参考样本在所述搜索范围中彼此分开预定样本单位, 其中,所述预定样本单位是基于所述当前块的尺寸确定的,以及 其中,所述当前块是通过使用四叉树划分方法或二叉树划分方法中的至少一个划分编码树块而获得的。 10.根据权利要求9所述的方法, 其中,基于所述当前块的所述帧内预测模式和所述当前块的尺寸确定所述搜索范围。 11.根据权利要求9所述的方法, 其中,所述预定样本单位是基于所述当前块的尺寸确定的。 12.根据权利要求9所述的方法, 其中,所述预定样本单位被确定为所述当前块的尺寸的一半或四分之一。