RU2798770C1 - Method and device for image decoding based on intra prediction in image coding system - Google Patents

Method and device for image decoding based on intra prediction in image coding system Download PDF

Info

Publication number
RU2798770C1
RU2798770C1 RU2022118819A RU2022118819A RU2798770C1 RU 2798770 C1 RU2798770 C1 RU 2798770C1 RU 2022118819 A RU2022118819 A RU 2022118819A RU 2022118819 A RU2022118819 A RU 2022118819A RU 2798770 C1 RU2798770 C1 RU 2798770C1
Authority
RU
Russia
Prior art keywords
prediction
current block
intra
sample
prediction mode
Prior art date
Application number
RU2022118819A
Other languages
Russian (ru)
Inventor
Сунми ЙОО
Дзаехо ЛИ
Дзангвон ЧОЙ
Дзунгдонг СЕО
Дзин ХЕО
Original Assignee
ЭлДжи ЭЛЕКТРОНИКС ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЭлДжи ЭЛЕКТРОНИКС ИНК. filed Critical ЭлДжи ЭЛЕКТРОНИКС ИНК.
Application granted granted Critical
Publication of RU2798770C1 publication Critical patent/RU2798770C1/en

Links

Images

Abstract

FIELD: computer technology for decoding video data.
SUBSTANCE: intra-prediction mode is one of the directional intra-prediction modes with a prediction angle greater than 0, whereas based on the size of the current block, which is greater than or equal to the first specific value, the interpolation filter for the target sample is output as a Gaussian filter, and based on the current block size being smaller than the first specific value and the prediction angle of the intra-prediction mode being smaller than the second specific value, the interpolation filter for the target sample is output as a cube filter, and whereas, based on the current block size being smaller than the first specific value and the prediction angle of the intra-prediction mode being not smaller than the second specific value, the interpolation filter for the target sample is output as a Gaussian filter.
EFFECT: increase in efficiency of video decoding.
5 cl, 14 dwg, 3 tbl

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ РАСКРЫТИЕ FIELD OF TECHNOLOGY TO WHICH THE DISCLOSURE RELATED

[1] Настоящее раскрытие относится к методу кодирования видео, и более конкретно, к способу и устройству декодирования видео на основе интра–предсказания в системе кодирования видео.[1] The present disclosure relates to a video coding method, and more specifically, to a method and apparatus for decoding video based on intra-prediction in a video coding system.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИPRIOR ART

[2] Потребности в изображениях высокого разрешения и высокого качества, таких как изображения HD (высокого разрешения) и изображения UHD (сверхвысокого разрешения), возрастают в различных областях. Так как данные изображения имеют высокое разрешение и высокое качество, количество информации или битов, подлежащих передаче, увеличивается относительно унаследованных данных изображения. Поэтому, когда данные изображения передаются с использованием носителя, такого как традиционная проводная/беспроводная широкополосная линия, или данные изображения хранятся с использованием существующего носителя хранения, затраты на их передачу и хранение увеличиваются.[2] Demands for high resolution and high quality images such as HD (high definition) images and UHD (super high definition) images are increasing in various areas. Since the image data has high resolution and high quality, the amount of information or bits to be transmitted increases relative to the legacy image data. Therefore, when image data is transmitted using a medium such as a conventional wired/wireless broadband line, or image data is stored using an existing storage medium, the cost of its transmission and storage increases.

[3] Соответственно, существует потребность в высокоэффективном методе сжатия изображений для эффективной передачи, хранения и воспроизведения информации изображений высокого разрешения и высокого качества.[3] Accordingly, there is a need for a highly efficient image compression method for efficiently transmitting, storing, and reproducing high-resolution, high-quality image information.

Краткое описание сущности изобретенияBrief description of the essence of the invention

[4] Настоящее раскрытие обеспечивает способ и устройство для повышения эффективности кодирования изображений.[4] The present disclosure provides a method and apparatus for improving image coding efficiency.

[5] Настоящее раскрытие также обеспечивает способ и устройство интра–предсказания для выбора интерполяционного фильтра для целевой выборки в текущем блоке.[5] The present disclosure also provides an intra-prediction method and apparatus for selecting an interpolation filter for a target sample in the current block.

[6] Настоящее раскрытие также обеспечивает способ и устройство для выполнения интра–предсказания на основе интерполяционного фильтра для выбранной целевой выборки.[6] The present disclosure also provides a method and apparatus for performing intra-prediction based on an interpolation filter for a selected target sample.

[7] В одном аспекте, обеспечен способ декодирования видео, выполняемый устройством декодирования. Способ включает в себя выведение режима интра–предсказания текущего блока; выведение соседних выборок, включающих в себя левые соседние выборки и верхние соседние выборки текущего блока; выведение опорных выборок для предсказания целевой выборки текущего блока среди соседних выборок на основе положения целевой выборки и угла предсказания режима интра–предсказания; определение интерполяционного фильтра для целевой выборки; и выведение выборки предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок.[7] In one aspect, a video decoding method performed by a decoding apparatus is provided. The method includes deriving the intra-prediction mode of the current block; deriving adjacent samples including left adjacent samples and top adjacent samples of the current block; deriving reference samples for predicting a target sample of the current block among neighboring samples based on the position of the target sample and the prediction angle of the intra-prediction mode; determining an interpolation filter for the target sample; and deriving a prediction sample of the target sample based on the interpolation filter and the reference samples.

[8] В другом аспекте, обеспечено устройство декодирования для выполнения декодирования изображения. Устройство декодирования включает в себя: энтропийный декодер, получающий информацию предсказания для текущего блока; и модуль предсказания, выводящий режим интра–предсказания текущего блока; выводящий соседние выборки, включающие в себя левые соседние выборки и верхние соседние выборки текущего блока, выводящий опорные выборки для предсказания целевой выборки среди соседних выборок на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания, определяющий интерполяционный фильтр для целевой выборки и выводящий выборку предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок.[8] In another aspect, a decoding apparatus is provided for performing image decoding. The decoding apparatus includes: an entropy decoder obtaining prediction information for the current block; and a prediction module outputting the intra-prediction mode of the current block; outputting adjacent samples including the left adjacent samples and top neighboring samples of the current block, outputting reference samples for predicting the target sample among neighboring samples based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode, determining an interpolation filter for the target sample, and outputting a prediction sample of the target sample based on the interpolation filter and the reference samples.

[9] В другом аспекте, обеспечен способ кодирования видео, выполняемый устройством кодирования. Способ включает в себя: определение режима интра–предсказания для текущего блока; выведение соседних выборок, включающих в себя левые соседние выборки и верхние соседние выборки текущего блока; выведение опорных выборок для предсказания целевой выборки текущего блока среди соседних выборок на основе положения целевой выборки и угла предсказания режима интра–предсказания; определение интерполяционного фильтра для целевой выборки; выведение выборки предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок; и генерирование информации предсказания для текущего блока, кодирование сгенерированной информации предсказания и выведение кодированной информации предсказания.[9] In another aspect, a video encoding method performed by an encoding device is provided. The method includes: determining an intra-prediction mode for the current block; deriving adjacent samples including left adjacent samples and top adjacent samples of the current block; deriving reference samples for predicting a target sample of the current block among neighboring samples based on the position of the target sample and the prediction angle of the intra-prediction mode; determining an interpolation filter for the target sample; deriving a prediction sample of the target sample based on the interpolation filter and the reference samples; and generating prediction information for the current block, encoding the generated prediction information, and outputting the encoded prediction information.

[10] В другом аспекте, обеспечено устройство кодирования видео. Устройство кодирования включает в себя: модуль предсказания, определяющий режим интра–предсказания для текущего блока, выводящий соседние выборки, включающие в себя левые соседние выборки и верхние соседние выборки текущего блока, выводящий опорные выборки для предсказания целевой выборки среди соседних выборок на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания, определяющий интерполяционный фильтр для целевой выборки, и выводящий выборку предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок; и энтропийный кодер, генерирующий информацию предсказания для текущего блока, кодирующий сгенерированную информацию предсказания и выводящий кодированную информацию предсказания.[10] In another aspect, a video encoding device is provided. The coding device includes: a prediction module that determines the intra-prediction mode for the current block, outputs neighboring samples, including left neighboring samples and top neighboring samples of the current block, outputs reference samples for predicting the target sample among neighboring samples based on the position of the target sample a current block and prediction angle of the intra-prediction mode, determining an interpolation filter for the target sample, and outputting a prediction sample of the target sample based on the interpolation filter and the reference samples; and an entropy encoder generating prediction information for the current block, encoding the generated prediction information, and outputting the encoded prediction information.

[11] В соответствии с настоящим раскрытием, предсказание может выполняться на целевой выборке на основе интерполяционного фильтра, выбранного в соответствии с информацией размера текущего блока, информацией о расстоянии до опорной выборки, и/или информацией режима предсказания, причем опорная выборка в положении дробной выборки для целевой выборки может точно генерироваться, чтобы улучшить точность предсказания для текущего блока, и остаток для текущего блока может быть уменьшен, чтобы повысить эффективность кодирования.[11] According to the present disclosure, prediction may be performed on a target sample based on an interpolation filter selected according to current block size information, distance to a reference sample information, and/or prediction mode information, with the reference sample at a fractional sample position for the target sample may be accurately generated to improve the prediction accuracy for the current block, and the residual for the current block may be reduced to improve coding efficiency.

[12] В соответствии с настоящим раскрытием, поскольку интерполяционный фильтр для целевой выборки может выбираться на основе различных условий, описанных выше, количество битов информации касательно выбора интерполяционного фильтра может быть уменьшено, тем самым увеличивая точность предсказания текущего блока и повышая эффективность кодирования текущего блока.[12] According to the present disclosure, since the interpolation filter for the target sample can be selected based on various conditions described above, the number of bits of information regarding the selection of the interpolation filter can be reduced, thereby increasing the prediction accuracy of the current block and improving the coding efficiency of the current block.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[13] Фиг. 1 представляет собой схематичную диаграмму, иллюстрирующую конфигурацию устройства кодирования видео, к которому применимо настоящее раскрытие.[13] FIG. 1 is a schematic diagram illustrating the configuration of a video encoding apparatus to which the present disclosure applies.

[14] Фиг. 2 иллюстрирует другой пример устройства кодирования видео, к которому применимо настоящее раскрытие.[14] FIG. 2 illustrates another example of a video encoding device to which the present disclosure applies.

[15] Фиг. 3 иллюстрирует пример процесса выполнения интра–предсказания в устройстве кодирования.[15] FIG. 3 illustrates an example of the process of performing intra-prediction in an encoder.

[16] Фиг. 4 представляет собой схематичную диаграмму, иллюстрирующую конфигурацию устройства декодирования видео, к которому применимо настоящее раскрытие.[16] FIG. 4 is a schematic diagram illustrating the configuration of a video decoding apparatus to which the present disclosure applies.

[17] Фиг. 5 иллюстрирует другой пример устройства декодирования видео, к которому применимо настоящее раскрытие.[17] FIG. 5 illustrates another example of a video decoding apparatus to which the present disclosure applies.

[18] Фиг. 6 иллюстрирует пример процесса выполнения интра–предсказания в устройстве декодирования.[18] FIG. 6 illustrates an example of a process for performing intra-prediction in a decoder.

[19] Фиг. 7 иллюстрирует пример левых соседних выборок и верхних соседних выборок, используемых для интра–предсказания текущего блока.[19] FIG. 7 illustrates an example of left neighbor samples and top neighbor samples used for intra-prediction of the current block.

[20] Фиг. 8 иллюстрирует пример интра–направленных режимов для 65 направлений предсказания.[20] FIG. 8 illustrates an example of intra-directional modes for 65 prediction directions.

[21] Фиг. 9 иллюстрирует пример, в котором выборки предсказания целевой выборки выводятся на основе целочисленных выборок, смежных слева и справа от опорной выборки, когда положение опорной выборки, расположенной в направлении предсказания направленного режима интра–предсказания, является положением дробной выборки.[21] FIG. 9 illustrates an example in which target sample prediction samples are derived based on integer samples adjacent to the left and right of the reference sample when the position of the reference sample located in the prediction direction of the directional intra-prediction mode is a fractional sample position.

[22] Фиг. 10 иллюстрирует пример выбора интерполяционного фильтра на основе размера текущего блока и режима интра–предсказания.[22] FIG. 10 illustrates an example of selecting an interpolation filter based on the current block size and intra-prediction mode.

[23] Фиг. 11 иллюстрирует пример выбора интерполяционного фильтра на основе расстояния между целевой выборкой текущего блока и опорной выборкой.[23] FIG. 11 illustrates an example of selecting an interpolation filter based on the distance between the target sample of the current block and the reference sample.

[24] Фиг. 12 иллюстрирует пример выведения опорной выборки целевой выборки текущего блока на основе множества интерполяционных фильтров и выведения выборки предсказания целевой выборки на основе опорной выборки.[24] FIG. 12 illustrates an example of deriving a reference sample of the target sample of the current block based on a plurality of interpolation filters, and deriving a prediction sample of the target sample based on the reference sample.

[25] Фиг. 13 схематично иллюстрирует способ кодирования видео в соответствии с настоящим раскрытием.[25] FIG. 13 schematically illustrates a video encoding method according to the present disclosure.

[26] Фиг. 14 схематично иллюстрирует способ декодирования видео в соответствии с настоящим раскрытием.[26] FIG. 14 schematically illustrates a video decoding method according to the present disclosure.

Описание примерных вариантов осуществленияDescription of Exemplary Embodiments

[27] Настоящее раскрытие может быть модифицировано в различных формах, и его конкретные варианты осуществления будут описаны и проиллюстрированы на чертежах. Однако варианты осуществления не предназначены для ограничения раскрытия. Термины, применяемые в следующем описании, используются, чтобы описывать конкретные варианты осуществления, но не предназначены для ограничения раскрытия. Выражение в единственном числе включает в себя выражение во множественном числе, если это явно читается по–разному. Термины, такие как “включать в себя” и “иметь”, предназначены для указания, что признаки, числа, этапы, операции, элементы, компоненты или их комбинации, используемые в следующем описании, существуют, и, таким образом, должно быть понятно, что не исключена возможность существования или добавления одного или нескольких других признаков, чисел, этапов, операций, элементов, компонентов или их комбинаций.[27] The present disclosure may be modified in various forms, and specific embodiments thereof will be described and illustrated in the drawings. However, the embodiments are not intended to limit the disclosure. The terms used in the following description are used to describe specific embodiments, but are not intended to limit the disclosure. A singular expression includes a plural expression if it is clearly read differently. Terms such as "comprise" and "have" are intended to indicate that the features, numbers, steps, operations, elements, components, or combinations thereof used in the following description exist, and thus it should be understood that the possibility of the existence or addition of one or more other features, numbers, steps, operations, elements, components, or combinations thereof is not excluded.

[28] При этом, элементы на чертежах, описанные в раскрытии, показаны независимо в целях удобства для объяснения разных конкретных функций и не означают, что элементы воплощаются независимыми аппаратными средствами или независимым программным обеспечением. Например, два или более элементов из таких элементов могут комбинироваться, чтобы образовывать один элемент, или один элемент может разделяться на множество элементов. Варианты осуществления, в которых элементы комбинируются и/или разделяются, принадлежат раскрытию без отклонения от концепции раскрытия.[28] That said, the elements in the drawings described in the disclosure are shown independently for purposes of convenience to explain various specific functions, and do not imply that the elements are implemented by independent hardware or independent software. For example, two or more elements of such elements may be combined to form one element, or one element may be split into multiple elements. Embodiments in which elements are combined and/or separated belong to the disclosure without deviating from the concept of the disclosure.

[29] Далее, варианты осуществления настоящего раскрытия будут описаны подробно со ссылкой на прилагаемые чертежи. Кроме того, аналогичные ссылочные позиции используются, чтобы указывать подобные элементы на всех чертежах, и одни и те же описания подобных элементов будут опущены.[29] Next, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In addition, like reference numerals are used to refer to like elements throughout the drawings, and the same descriptions of like elements will be omitted.

[30] В настоящей спецификации, термин “картинка” обычно обозначает единицу, представляющую изображение в конкретное время, вырезка представляет собой единицу, составляющую часть картинки. Одна картинка может быть составлена из множества вырезок, и термины “картинка” и “вырезка” могут использоваться взаимозаменяемым образом, если требуют конкретные обстоятельства.[30] In the present specification, the term "picture" usually refers to a unit representing an image at a particular time, a slice is a unit constituting a part of a picture. One picture may be composed of multiple cutouts, and the terms “picture” and “cutout” may be used interchangeably as the specific circumstances require.

[31] Пиксел или пел (элемент изображения) может означать минимальную единицу, составляющую одну картинку (или изображение). Дополнительно, “выборка” может использоваться как термин, соответствующий пикселу. Выборка может, в общем, представлять пиксел или пиксельное значение, может представлять только пиксел (пиксельное значение) компонента яркости и может представлять только пиксел (пиксельное значение) компонента цветности.[31] A pixel or pel (picture element) can mean the smallest unit that makes up one picture (or image). Additionally, "sample" can be used as a term corresponding to a pixel. The sample may generally represent a pixel or pixel value, may represent only a pixel (pixel value) of a luminance component, and may represent only a pixel (pixel value) of a chrominance component.

[32] Единица указывает основную единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области и информации, связанной с областью. Опционально, термин “единица” может использоваться взаимозаменяемым образом с такими терминами, как блок, область или тому подобное. В обычном случае, блок M×N может представлять набор выборок или коэффициентов преобразования, упорядоченных в M столбцов и N строк.[32] The unit indicates the basic unit of image processing. The item may include at least one of the specific area and information associated with the area. Optionally, the term “unit” may be used interchangeably with terms such as block, area, or the like. Typically, an M×N block may represent a set of samples or transform coefficients arranged in M columns and N rows.

[33] Фиг. 1 кратко иллюстрирует структуру устройства кодирования видео, к которому применимо настоящее раскрытие.[33] FIG. 1 briefly illustrates the structure of a video encoding device to which the present disclosure applies.

[34] Со ссылкой на фиг. 1, устройство 100 кодирования видео может включать в себя модуль разделения 105 картинки, модуль предсказания 110, процессор 120 остатка, сумматор 150, фильтр 255 и память 160. Процессор 120 остатка включает в себя вычитатель 121, преобразователь 122, модуль квантования 123, модуль перегруппировки 124, модуль деквантования 125, обратный преобразователь 126.[34] With reference to FIG. 1, the video encoding device 100 may include a picture splitter 105, a prediction module 110, a residual processor 120, an adder 150, a filter 255, and a memory 160. The residual processor 120 includes a subtractor 121, a converter 122, a quantizer 123, a rearrangement module. 124, dequantization module 125, inverse converter 126.

[35] Модуль разделения 105 картинки может разделять входную картинку на по меньшей мере одну единицу обработки.[35] The picture splitter 105 may split the input picture into at least one processing unit.

[36] В одном примере, единица обработки может упоминаться как единица кодирования (CU). В этом случае единица кодирования может рекурсивно разбиваться от наибольшей единицы кодирования (LCU) в соответствии со структурой квадродерева/двоичного дерева (QTBT). Например, одна единица кодирования может быть разбита на множество единиц кодирования большей глубины на основе структуры квадродерева и/или структуры двоичного дерева. В этом случае, например, структура квадродерева может применяться первой, и структура двоичного дерева может применяться позже. Альтернативно, структура двоичного дерева может применяться первой. Процедура кодирования в соответствии с настоящим раскрытием может выполняться на основе конечной единицы кодирования, которая далее не разбивается. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования или тому подобного, в зависимости от характеристик изображения, или единица кодирования может рекурсивно разбиваться на единицы кодирования более низкой глубины при необходимости, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру, такую как предсказание, преобразование и реконструкция, которые будут описаны ниже.[36] In one example, a processing unit may be referred to as a coding unit (CU). In this case, the coding unit may recursively split from the largest coding unit (LCU) according to the quadtree/binary tree (QTBT) structure. For example, one coding unit may be split into multiple coding units of greater depth based on a quadtree structure and/or a binary tree structure. In this case, for example, the quadtree structure may be applied first, and the binary tree structure may be applied later. Alternatively, the binary tree structure may be applied first. An encoding procedure according to the present disclosure may be performed based on a final coding unit that is not split further. In this case, the largest coding unit may be used as the final coding unit based on coding efficiency or the like, depending on the characteristics of the image, or the coding unit may be recursively split into lower-depth coding units as necessary, and the coding unit having the optimal size , can be used as the final coding unit. Here, the encoding procedure may include a procedure such as prediction, transformation, and reconstruction to be described below.

[37] В другом примере, единица обработки может включать в себя единицу кодирования (CU), единицу предсказания (PU) или единицу преобразования (TU). Единица кодирования может разбиваться от наибольшей единицы кодирования (LCU) на единицы кодирования большей глубины в соответствии со структурой квадродерева. В этом случае, наибольшая единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования на основе эффективности кодирования или тому подобного, в зависимости от характеристик изображения, или единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины при необходимости, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Когда наименьшая единица кодирования (SCU) установлена, единица кодирования может не разбиваться на единицы кодирования меньшие, чем наименьшая единица кодирования. Здесь, конечная единица кодирования относится к единице кодирования, которая разделена или разбита до единицы предсказания или единицы преобразования. Единица предсказания представляет собой единицу, которая разделена из единицы кодирования и может представлять собой единицу предсказания выборки. Здесь, единица предсказания может разделяться на подблоки. Единица преобразования может быть разделена от единицы кодирования в соответствии со структурой квадродерева и может представлять собой единицу для выведения коэффициента преобразования и/или единицу для выведения остаточного сигнала из коэффициента преобразования. Далее, единица кодирования может упоминаться как блок кодирования (CB), единица предсказания может упоминаться как блок предсказания (PB), и единица преобразования может упоминаться как блок преобразования (TB). Блок предсказания или единица предсказания могут относиться к конкретной области в форме блока в картинке и могут включать в себя массив выборок предсказания. Также, блок преобразования или единица преобразования могут относиться к конкретной области в форме блока в картинке и могут включать в себя коэффициент преобразования или массив остаточных выборок.[37] In another example, a processing unit may include a coding unit (CU), a prediction unit (PU), or a transformation unit (TU). A coding unit may be partitioned from the largest coding unit (LCU) into deeper coding units according to the quadtree structure. In this case, the largest coding unit may be directly used as the final coding unit based on coding efficiency or the like, depending on the characteristics of the image, or the coding unit may be recursively split into coding units of greater depth as necessary, and the coding unit having the optimum size , can be used as the final coding unit. When the smallest coding unit (SCU) is set, the coding unit may not be split into coding units smaller than the smallest coding unit. Here, the final coding unit refers to a coding unit that is divided or partitioned into a prediction unit or a transformation unit. A prediction unit is a unit that is divided from a coding unit, and may be a sample prediction unit. Here, the prediction unit may be divided into sub-blocks. The transform unit may be separated from the coding unit according to the quadtree structure, and may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from a transform coefficient. Further, a coding unit may be referred to as a coding block (CB), a prediction unit may be referred to as a prediction block (PB), and a transformation unit may be referred to as a transform block (TB). A prediction block or prediction unit may refer to a specific area in the form of a block in a picture and may include an array of prediction samples. Also, a transform block or transform unit may refer to a specific area in the form of a block in picture and may include a transform coefficient or an array of residual samples.

[38] Модуль предсказания 110 может выполнять предсказание на целевом блоке обработки (далее, текущий блок) и может генерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока. Единица предсказания, выполняемого в модуле предсказания 110, может представлять собой блок кодирования или может представлять собой блок преобразования или может представлять собой блок предсказания.[38] The prediction module 110 may perform prediction on a target processing block (hereinafter, the current block) and may generate a predicted block including prediction samples for the current block. A unit of prediction performed in prediction unit 110 may be a coding block, or may be a transform block, or may be a prediction block.

[39] Модуль предсказания 110 может определять, применяется ли внутрикадровое (интра–) предсказание или применяется межкадровое (интер–) предсказание к текущему блоку. Например, модуль предсказания 110 может определять, следует ли применять интра–предсказание или интер–предсказание в единице CU.[39] The prediction module 110 may determine whether intra-frame (intra-) prediction is applied or inter-frame (inter-) prediction is applied to the current block. For example, prediction module 110 may determine whether to apply intra-prediction or inter-prediction in a CU.

[40] В случае интра–предсказания, модуль предсказания 110 может выводить выборку предсказания для текущего блока на основе опорной выборки вне текущего блока в картинке, которой принадлежит текущий блок (далее, текущая картинка). В этом случае, модуль предсказания 110 может выводить выборку предсказания на основе среднего или интерполяции соседних опорных выборок текущего блока (случай (i)) или может выводить выборку предсказания на основе опорной выборки, существующей в конкретном направлении (предсказания), как выборку предсказания среди соседних опорных выборок текущего блока (случай (ii)). Случай (i) может называться ненаправленным режимом или не–угловым режимом, а случай (ii) может называться направленным режимом или угловым режимом. В интра–предсказании, режимы предсказания могут включать в себя, в качестве примера, 33 направленных режима и по меньшей мере два ненаправленных режима. Ненаправленные режимы могут включать в себя режим DC и планарный режим. Модуль предсказания 110 может определять режим предсказания, подлежащий применению к текущему блоку, с использованием режима предсказания, применимого к соседнему блоку.[40] In the case of intra-prediction, the prediction module 110 may output a prediction sample for the current block based on a reference sample outside the current block in the picture to which the current block (hereinafter, the current picture) belongs. In this case, the prediction module 110 may output a prediction sample based on an average or interpolation of neighboring reference samples of the current block (case (i)) or may output a prediction sample based on a reference sample existing in a particular direction (prediction) as a prediction sample among neighboring reference samples of the current block (case (ii)). Case (i) may be referred to as non-directional mode or non-angular mode, and case (ii) may be referred to as directional mode or angular mode. In intra-prediction, the prediction modes may include, by way of example, 33 directional modes and at least two non-directional modes. The non-directional modes may include a DC mode and a planar mode. The prediction module 110 may determine the prediction mode to be applied to the current block using the prediction mode applicable to the adjacent block.

[41] В случае интер–предсказания, модуль предсказания 110 может выводить выборку предсказания для текущего блока на основе выборки, заданной вектором движения на опорной картинке. Модуль предсказания 110 может выводить выборку предсказания для текущего блока путем применения любого одного из режима пропуска, режима объединения и режима предсказания вектора движения (MVP). В случае режима пропуска и режима объединения, модуль предсказания 110 может использовать информацию движения соседнего блока как информацию движения текущего блока. В случае режима пропуска, в отличие от режима объединения, разница (остаток) между выборкой предсказания и исходной выборкой не передается. В случае режима MVP, вектор движения соседнего блока используется в качестве предсказателя вектора движения и, таким образом, используется в качестве предсказателя вектора движения текущего блока, чтобы вывести вектор движения текущего блока.[41] In the case of inter-prediction, the prediction module 110 may output a prediction sample for the current block based on the sample specified by the motion vector in the reference picture. The prediction module 110 may output a prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode. In the case of the skip mode and the join mode, the prediction unit 110 may use the motion information of the neighboring block as the motion information of the current block. In the case of the skip mode, unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted. In the case of the MVP mode, the motion vector of the neighboring block is used as a motion vector predictor, and thus is used as the motion vector predictor of the current block to derive the motion vector of the current block.

[42] В случае интер–предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя временной соседний блок, может также называться соотнесенной (совмещенной) картинкой (colPic). Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация, такая как информация режима предсказания и информация движения, может (энтропийно) кодироваться и затем выводиться в форме потока битов.[42] In the case of inter-prediction, a neighbor block may include a spatial neighbor block existing in the current picture and a temporal neighbor block existing in the reference picture. A reference picture including a temporal neighboring block may also be referred to as a collated picture (colPic). The motion information may include a motion vector and a reference picture index. Information such as prediction mode information and motion information may be (entropy) encoded and then output in the form of a bitstream.

[43] Когда информация движения временного соседнего блока используется в режиме пропуска и режиме объединения, самая верхняя картинка в списке опорных картинок может использоваться в качестве опорной картинки. Опорные картинки, включенные в список опорных картинок, могут быть выровнены на основе разницы счета порядка картинок (POC) между текущей картинкой и соответствующей опорной картинкой. POC соответствует порядку отображения и может отличаться от порядка кодирования.[43] When the motion information of the temporal neighbor block is used in the skip mode and the join mode, the topmost picture in the reference picture list may be used as the reference picture. The reference pictures included in the reference picture list may be aligned based on a picture order count (POC) difference between the current picture and the corresponding reference picture. The POC corresponds to the display order and may differ from the encoding order.

[44] Вычитатель 121 генерирует остаточную выборку, которая представляет собой разницу между исходной выборкой и выборкой предсказания. Если применяется режим пропуска, остаточная выборка может не генерироваться, как описано выше.[44] The subtractor 121 generates a residual sample, which is the difference between the original sample and the prediction sample. If the skip mode is applied, the residual sample may not be generated as described above.

[45] Преобразователь 122 преобразует остаточные выборки в единицах блока преобразования, чтобы генерировать коэффициент преобразования. Преобразователь 122 может выполнять преобразование на основе размера соответствующего блока преобразования и режима предсказания, применяемого к блоку кодирования или блоку предсказания, пространственно перекрывающемуся с блоком преобразования. Например, остаточные выборки могут быть преобразованы с использованием ядра преобразования дискретного синусного преобразования (DST), если интра–предсказание применяется к блоку кодирования или блоку предсказания, перекрывающемуся с блоком преобразования, и блок преобразования представляет собой остаточный массив 4×4 и преобразуется с использованием ядра преобразования дискретного косинусного преобразования (DCT) в других случаях.[45] Transformer 122 transforms the residual samples in transform block units to generate a transform coefficient. Transformer 122 may perform transformation based on the size of the corresponding transform block and the prediction mode applied to the coding block or prediction block spatially overlapping with the transform block. For example, residual samples can be transformed using a discrete sine transform (DST) transform kernel if intra-prediction is applied to a coding block or prediction block overlapping with a transform block, and the transform block is a 4x4 residual array and transformed using the kernel discrete cosine transform (DCT) transformations in other cases.

[46] Модуль квантования 123 может квантовать коэффициенты преобразования, чтобы генерировать квантованные коэффициенты преобразования.[46] The quantization module 123 may quantize the transform coefficients to generate quantized transform coefficients.

[47] Модуль перегруппировки 124 перегруппировывает квантованные коэффициенты преобразования. Модуль перегруппировки 124 может перегруппировывать квантованные коэффициенты преобразования в форме блока в одномерный вектор посредством способа сканирования коэффициентов. Хотя модуль перегруппировки 124 описан как отдельный компонент, модуль перегруппировки 124 может представлять собой часть модуля квантования 123.[47] The rearrangement module 124 rearranges the quantized transform coefficients. The rearrangement module 124 may rearrange the quantized block-shaped transform coefficients into a one-dimensional vector by means of a coefficient scan method. Although rearrangement module 124 is described as a separate component, rearrangement module 124 may be part of quantization module 123.

[48] Энтропийный кодер 130 может выполнять энтропийное кодирование на квантованных коэффициентах преобразования. Энтропийное кодирование может включать в себя способ кодирования, например, экспоненциальное кодирование Голомба, контекстно–адаптивное кодирование переменной длины (CAVLC), контекстно–адаптивное двоичное арифметическое кодирование (CABAC) или тому подобное. Энтропийный кодер 130 может выполнять кодирование совместно или отдельно на информации (например, значении синтаксического элемента или т.п.), требуемой для реконструкции видео, в дополнение к квантованным коэффициентам преобразования. Энтропийно–кодированная информация может передаваться или сохраняться в единице слоя сетевой абстракции (NAL) в форме потока битов.[48] Entropy encoder 130 may perform entropy encoding on the quantized transform coefficients. Entropy coding may include a coding method such as exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), or the like. The entropy encoder 130 may perform encoding jointly or separately on information (eg, the value of a syntax element or the like) required for video reconstruction, in addition to the quantized transform coefficients. Entropy-encoded information may be transmitted or stored in a network abstraction layer (NAL) unit in the form of a bit stream.

[49] Модуль обратного квантования 125 обратно квантует значения (коэффициенты преобразования), квантованные модулем квантования 123, и обратный преобразователь 126 обратно преобразует значения, обратно квантованные модулем обратного квантования 125, чтобы сгенерировать остаточную выборку.[49] The inverse quantizer 125 inversely quantizes the values (transform coefficients) quantized by the quantizer 123, and the inverse converter 126 inversely transforms the values inversely quantized by the inverse quantizer 125 to generate a residual sample.

[50] Сумматор 140 суммирует остаточную выборку с выборкой предсказания, чтобы реконструировать картинку. Остаточная выборка может суммироваться с выборкой предсказания в единицах блока, чтобы сгенерировать реконструированный блок. Хотя сумматор 140 описан как отдельный компонент, сумматор 140 может представлять собой часть модуля предсказания 110. При этом сумматор 140 может упоминаться как модуль реконструкции или генератор реконструированных блоков.[50] The adder 140 adds the residual sample with the prediction sample to reconstruct the picture. The residual sample may be summed with the prediction sample in block units to generate a reconstructed block. Although adder 140 is described as a separate component, adder 140 may be part of prediction module 110. In this case, adder 140 may be referred to as a reconstruction module or reconstructed block generator.

[51] Фильтр 150 может применять фильтрацию устранения блочности и/или адаптивное к выборке смещение к реконструированной картинке. Артефакты на границе блока на реконструированной картинке или искажение при квантовании могут быть скорректированы посредством фильтрации устранения блочности и/или адаптивного к выборке смещения. Адаптивное к выборке смещение может применяться в единицах выборки после того, как фильтрация устранения блочности завершена. Фильтр 150 может применять адаптивный контурный фильтр (ALF) к реконструированной картинке. ALF может применяться к реконструированной картинке, к которой была применена фильтрация устранения блочности и/или адаптивное к выборке смещение.[51] Filter 150 may apply deblocking filtering and/or sample-adaptive bias to the reconstructed picture. Block boundary artifacts in the reconstructed picture or quantization distortion can be corrected by deblocking filtering and/or sample-adaptive bias. The sample-adaptive bias may be applied in sample units after the deblocking filtering is completed. Filter 150 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to a reconstructed picture to which deblocking filtering and/or a sample-adaptive offset has been applied.

[52] Память 160 может хранить реконструированную картинку (декодированную картинку) или информацию, необходимую для кодирования/декодирования. Здесь, реконструированная картинка может представлять собой реконструированную картинку, отфильтрованную фильтром 150. Сохраненная реконструированная картинка может использоваться в качестве опорной картинки для (интер–) предсказания других картинок. Например, память 160 может хранить (опорные) картинки, используемые для интер–предсказания. Здесь, картинки, используемые для интер–предсказания, могут указываться в соответствии с набором опорных картинок или списком опорных картинок.[52] The memory 160 may store a reconstructed picture (decoded picture) or information necessary for encoding/decoding. Here, the reconstructed picture may be the reconstructed picture filtered by the filter 150. The stored reconstructed picture may be used as a reference picture for (inter-) prediction of other pictures. For example, memory 160 may store (reference) pictures used for inter-prediction. Here, pictures used for inter-prediction may be specified according to a reference picture set or a reference picture list.

[53] Фиг. 2 иллюстрирует другой пример устройства кодирования видео, к которому применимо настоящее раскрытие.[53] FIG. 2 illustrates another example of a video encoding device to which the present disclosure applies.

[54] Со ссылкой на фиг. 2, устройство кодирования видео включает в себя модуль интра–предсказания, опорный сглаживатель 200, модуль предсказания 210, постфильтр 220, преобразователь 230 и устройство квантования 240. Здесь, модуль интра–предсказания может включать в себя опорный сглаживатель 200, модуль предсказания 210 и постфильтр 220.[54] With reference to FIG. 2, the video encoding device includes an intra-prediction module, a reference smoother 200, a prediction module 210, a post-filter 220, a transformer 230, and a quantizer 240. Here, the intra-prediction module may include a reference smoother 200, a prediction module 210, and a post-filter. 220.

[55] Когда интра–предсказание применяется к текущему блоку, опорный сглаживатель 200 может выполнять процесс сглаживания на левых соседних выборках и верхних соседних выборках, используемых для интра–предсказания текущего блока в картинке (далее упоминается как текущая картинка), которой принадлежит текущий блок, на основе размера текущего блока, информации режима интра–предсказания и значения выборки. Соответственно, можно предотвратить визуальные артефакты в отношении выборок предсказания текущего блока, которые могут возникать из–за разницы между значениями выборки левых соседних выборок и верхних соседних выборок.[55] When intra-prediction is applied to the current block, the reference smoother 200 may perform a smoothing process on the left neighboring samples and the top neighboring samples used for intra-prediction of the current block in the picture (hereinafter referred to as the current picture) to which the current block belongs, based on the current block size, intra-prediction mode information, and sample value. Accordingly, it is possible to prevent visual artifacts with respect to the prediction samples of the current block, which may occur due to the difference between the sample values of the left neighbor samples and the upper neighbor samples.

[56] Модуль предсказания 210 может (i) выводить выборку предсказания на основе среднего или интерполяции левых соседних выборок и верхних соседних выборок текущего блока или (ii) может выводить выборки предсказания на основе соседних выборок, присутствующих в конкретном направлении (предсказания) относительно выборок предсказания среди левых соседних выборок и верхних соседних выборок. Случай (i) может называться ненаправленным режимом или неугловым режимом, и случай (ii) может называться направленным режимом или угловым режимом. В интра–предсказании, режим предсказания может иметь 33 направленных режима предсказания и по меньшей мере два ненаправленных режима. Ненаправленный режим может включать в себя режим предсказания DC и планарный режим (Planar mode). Модуль предсказания 210 может также определять режим предсказания, применяемый к текущему блоку с использованием режима предсказания, применяемого к соседнему блоку.[56] Prediction module 210 may (i) derive a prediction sample based on an average or interpolation of the left neighbor samples and top neighbor samples of the current block, or (ii) can derive prediction samples based on neighbor samples present in a particular direction (prediction) relative to the prediction samples. among left neighbor samples and top neighbor samples. Case (i) may be referred to as non-directional mode or non-angular mode, and case (ii) may be referred to as directional mode or angular mode. In intra-prediction, the prediction mode can have 33 directional prediction modes and at least two non-directional modes. The non-directional mode may include a DC prediction mode and a Planar mode. The prediction module 210 may also determine the prediction mode applied to the current block using the prediction mode applied to the adjacent block.

[57] Модуль постфильтра 220 может избирательно выполнять фильтрацию пост–обработки, чтобы уменьшить прерывность между текущим блоком и соседними выборками в соответствии с режимом предсказания, в котором выводится выборка предсказания текущего блока. После этого, устройство кодирования может выводить, в качестве остаточной выборки, разницу между выборкой предсказания и исходной выборкой, и преобразователь 230 может преобразовывать остаточную выборку в единицы блоков, чтобы генерировать коэффициенты преобразования. Также, устройство квантования 240 может квантовать коэффициенты преобразования, чтобы генерировать квантованные коэффициенты преобразования.[57] The post-filter module 220 may selectively perform post-processing filtering to reduce discontinuity between the current block and neighboring samples according to the prediction mode in which the prediction sample of the current block is output. Thereafter, the encoder may output, as a residual sample, the difference between the prediction sample and the original sample, and the transformer 230 may transform the residual sample into units of blocks to generate transform coefficients. Also, quantizer 240 may quantize the transform coefficients to generate quantized transform coefficients.

[58] Фиг. 3 иллюстрирует пример процесса выполнения интра–предсказания в устройстве кодирования. Устройство кодирования может выполнять интра–предсказание, чтобы генерировать выборку предсказания текущего блока (S300). Выборка предсказания может называться сигналом предсказания или сигналом интра–предсказания. Конкретно, устройство кодирования может сглаживать левые соседние выборки и верхние соседние выборки (т.е. выполнять на них процесс сглаживания), используемые для интра–предсказания текущего блока, на основе размера текущего блока, информации режима и значения выборки (S310). После этого, как описано выше, устройство кодирования может выполнять предсказание в соответствии с режимом интра–предсказания, чтобы генерировать выборку предсказания (S320), и выполнять фильтрацию пост–обработки, чтобы уменьшить прерывность между текущим блоком и соседними выборками (S330). Устройство кодирования может генерировать, в качестве остаточной выборки, разницу между выборкой предсказания и исходной выборкой (S340) и преобразовывать остаточную выборку в единицы блоков, чтобы генерировать коэффициенты преобразования. Дополнительно, устройство кодирования может квантовать коэффициенты преобразования, чтобы генерировать квантованные коэффициенты преобразования (S360), и энтропийно кодировать квантованные коэффициенты преобразования, чтобы выполнить сигнализацию (S370).[58] FIG. 3 illustrates an example of a process for performing intra-prediction in an encoder. The encoder may perform intra prediction to generate a prediction sample of the current block (S300). The prediction sample may be referred to as a prediction signal or an intra-prediction signal. Specifically, the encoder may smooth the left neighbor samples and the top neighbor samples (i.e., perform a smoothing process on them) used for intra-prediction of the current block based on the current block size, the mode information, and the sample value (S310). Thereafter, as described above, the coding device may perform prediction according to the intra-prediction mode to generate a prediction sample (S320), and perform post-processing filtering to reduce discontinuity between the current block and adjacent samples (S330). The encoder may generate, as a residual sample, a difference between the prediction sample and the original sample (S340), and transform the residual sample into units of blocks to generate transform coefficients. Further, the encoder may quantize the transform coefficients to generate quantized transform coefficients (S360), and entropy encode the quantized transform coefficients to perform signaling (S370).

[59] Фиг. 4 кратко иллюстрирует структуру устройства декодирования видео, к которому применимо настоящее раскрытие.[59] FIG. 4 briefly illustrates the structure of a video decoding apparatus to which the present disclosure applies.

[60] Со ссылкой на фиг. 4, устройство декодирования видео 400 может включать в себя энтропийный декодер 410, процессор 420 остатка, модуль предсказания 430, сумматор 440, фильтр 450 и память 460. Процессор 420 остатка может включать в себя модуль перегруппировки 421, модуль обратного квантования 422, обратный преобразователь 423.[60] With reference to FIG. 4, video decoder 400 may include an entropy decoder 410, a residual processor 420, a prediction module 430, an adder 440, a filter 450, and a memory 460. .

[61] Когда поток битов, включающий в себя информацию видео, введен, устройство 400 декодирования видео может реконструировать видео в ассоциации с процессом, посредством которого информация видео обрабатывается в устройстве кодирования видео.[61] When a bitstream including video information is input, the video decoding apparatus 400 may reconstruct the video in association with the process by which the video information is processed in the video encoding apparatus.

[62] Например, устройство 400 декодирования видео может выполнять декодирование видео с использованием единицы обработки, применяемой в устройстве кодирования видео. Таким образом, блок единиц обработки декодирования видео может представлять собой, например, единицу кодирования и, в другом примере, единицу кодирования, единицу предсказания или единицу преобразования. Единица кодирования может разбиваться из наибольшей единицы кодирования в соответствии со структурой квадродерева и/или структурой двоичного дерева.[62] For example, the video decoding apparatus 400 may perform video decoding using a processing unit applied in the video encoding apparatus. Thus, a block of video decoding processing units may be, for example, a coding unit and, in another example, a coding unit, a prediction unit, or a transformation unit. The coding unit may be split from the largest coding unit according to a quadtree structure and/or a binary tree structure.

[63] Единица предсказания и единица преобразования могут дополнительно использоваться в некоторых случаях, и в этом случае, блок предсказания представляет собой блок, выводимый или разделяемый из единицы кодирования, и может представлять собой единицу предсказания выборки. Здесь, единица предсказания может разделяться на подблоки. Единица преобразования может разбиваться из единицы кодирования в соответствии со структурой квадродерева и может представлять собой единицу, которая выводит коэффициент преобразования, или единицу, которая выводит остаточный сигнал из коэффициента преобразования.[63] A prediction unit and a transformation unit may be additionally used in some cases, in which case, a prediction block is a block outputted or divided from a coding unit, and may be a sample prediction unit. Here, the prediction unit may be divided into sub-blocks. A transform unit may be partitioned from a coding unit according to a quadtree structure, and may be a unit that outputs a transform coefficient or a unit that outputs a residual signal from a transform coefficient.

[64] Энтропийный декодер 410 может анализировать поток битов, чтобы вывести информацию, требуемую для реконструкции видео или реконструкции картинки. Например, энтропийный декодер 410 может декодировать информацию в потоке битов на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC, CABAC или тому подобное, и может выводить значение синтаксического элемента, требуемое для реконструкции видео, и квантованное значение коэффициента преобразования в отношении остатка.[64] The entropy decoder 410 may parse the bit stream to derive information required for video reconstruction or picture reconstruction. For example, the entropy decoder 410 may decode information in the bitstream based on an encoding method such as exponential Golomb coding, CAVLC, CABAC, or the like, and may output a syntax element value required for video reconstruction and a quantized transform coefficient value with respect to the remainder.

[65] Более конкретно, способ энтропийного кодирования CABAC может принимать бин, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием декодирования информации целевого синтаксического элемента и декодирования информации соседних и декодирования целевых блоков или информации символа/бина, декодированного на предыдущем этапе, предсказывать вероятность генерации бина в соответствии с определенной контекстной моделью и выполнять арифметическое декодирование бина, чтобы генерировать символ, соответствующий каждому значению синтаксического элемента. Здесь, способ энтропийного декодирования CABAC может обновлять контекстную модель с использованием информации символа/бина, декодированного для контекстной модели следующего символа/бина после определения контекстной модели.[65] More specifically, the CABAC entropy coding method may receive a bin corresponding to each syntax element in the bitstream, determine the context model using decoding the target syntax element information and decoding the neighboring information, and decoding the target blocks or the character/bin information decoded in the previous step. , predict the probability of generating a bin according to a certain context model, and perform arithmetic decoding of the bin to generate a character corresponding to each value of the syntax element. Here, the CABAC entropy decoding method can update the context model using the information of the symbol/bin decoded for the context model of the next symbol/bin after determining the context model.

[66] Информация о предсказании среди информации, декодированной в энтропийном декодере 410, может быть предоставлена на модуль предсказания 450, и остаточные значения, то есть квантованные коэффициенты преобразования, на которых было выполнено энтропийное декодирование посредством энтропийного декодера 410, могут вводиться в модуль перегруппировки 421.[66] Prediction information among the information decoded in the entropy decoder 410 may be provided to the prediction unit 450, and the residual values, i.e., quantized transform coefficients on which entropy decoding has been performed by the entropy decoder 410, may be input to the rearrangement unit 421 .

[67] Модуль перегруппировки 421 может перегруппировывать квантованные коэффициенты преобразования в форму двумерного блока. Модуль перегруппировки 421 может выполнять перегруппировку, соответствующую сканированию коэффициентов, выполняемому устройством кодирования. Хотя модуль перегруппировки 421 описан как отдельный компонент, модуль перегруппировки 421 может представлять собой часть модуля обратного квантования 422.[67] The rearrangement module 421 may rearrange the quantized transform coefficients into a two-dimensional block form. The rearrangement module 421 may perform rearrangement corresponding to the coefficient scan performed by the encoder. Although the rearrangement module 421 is described as a separate component, the rearrangement module 421 may be part of the inverse quantization module 422.

[68] Модуль обратного квантования 422 может деквантовать квантованные коэффициенты преобразования на основе параметра (де)квантования, чтобы вывести коэффициент преобразования. В этом случае, информация для вывода параметра квантования может сигнализироваться от устройства кодирования.[68] An inverse quantizer 422 may dequantize the quantized transform coefficients based on the (de)quantization parameter to derive a transform coefficient. In this case, information for outputting the quantization parameter may be signaled from the encoder.

[69] Обратный преобразователь 423 может обратно преобразовывать коэффициенты преобразования, чтобы вывести остаточные выборки.[69] The inverse transform 423 may inversely transform the transform coefficients to derive residual samples.

[70] Модуль предсказания 430 может выполнять предсказание на текущем блоке и может генерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока. Единица предсказания, выполняемого в модуле предсказания 430, может представлять собой блок кодирования или может представлять собой блок преобразования или может представлять собой блок предсказания.[70] Prediction module 430 may perform prediction on the current block and may generate a predicted block including prediction samples for the current block. A unit of prediction performed in prediction unit 430 may be a coding block, or may be a transform block, or may be a prediction block.

[71] Модуль предсказания 430 может определять, следует ли применить интра–предсказание или интер–предсказание, на основе информации о предсказании. В этом случае, единица для определения того, что будет использовано из интра–предсказания и интер–предсказания, может отличаться от единицы для генерирования выборки предсказания. К тому же, единица для генерирования выборки предсказания может также отличаться в интер–предсказании и интра–предсказании. Например, то, что будет применяться из интер–предсказания и интра–предсказания, может определяться в единице CU. Дополнительно, например, в интер–предсказании, выборка предсказания может генерироваться посредством определения режима предсказания в единице PU, а в интра–предсказании выборка предсказания может генерироваться в единице TU путем определения режима предсказания в единице PU.[71] Prediction module 430 may determine whether intra-prediction or inter-prediction should be applied based on the prediction information. In this case, the unit for determining what will be used from intra-prediction and inter-prediction may be different from the unit for generating the prediction sample. In addition, the unit for generating the prediction sample may also be different in inter-prediction and intra-prediction. For example, what will be applied from inter-prediction and intra-prediction may be specified in the CU. Further, for example, in inter-prediction, a prediction sample may be generated by determining a prediction mode in a PU, and in intra-prediction, a prediction sample may be generated in a TU by determining a prediction mode in a PU.

[72] В случае интра–предсказания, модуль предсказания 430 может выводить выборку предсказания для текущего блока на основе соседней опорной выборки на текущей картинке. Модуль предсказания 430 может выводить выборку предсказания для текущего блока путем применения направленного режима или ненаправленного режима на основе соседней опорной выборки текущего блока. В этом случае, режим предсказания, подлежащий применению к текущему блоку, может определяться путем использования режима интра–предсказания соседнего блока.[72] In the case of intra-prediction, prediction module 430 may derive a prediction sample for the current block based on an adjacent reference sample in the current picture. Prediction module 430 may derive a prediction sample for the current block by applying a steered mode or a non-directional mode based on an adjacent reference sample of the current block. In this case, the prediction mode to be applied to the current block may be determined by using the adjacent block's intra-prediction mode.

[73] В случае интер–предсказания, модуль предсказания 430 может выводить выборку предсказания для текущего блока на основе выборки, заданной в опорной картинке в соответствии с вектором движения. Модуль предсказания 430 может выводить выборку предсказания для текущего блока с использованием одного из режима пропуска, режима объединения и режима MVP. Здесь, информация движения, требуемая для интер–предсказания текущего блока, обеспечиваемая посредством устройства кодирования видео, например, вектор движения и информация об индексе опорной картинки, может быть получена или выведена на основе информации о предсказании.[73] In the case of inter-prediction, the prediction module 430 may output a prediction sample for the current block based on the sample specified in the reference picture according to the motion vector. Prediction module 430 may output a prediction sample for the current block using one of skip mode, merge mode, and MVP mode. Here, motion information required for inter-prediction of the current block provided by the video encoding device, such as motion vector and reference picture index information, can be obtained or derived based on the prediction information.

[74] В режиме пропуска и режиме объединения, информация движения соседнего блока может использоваться в качестве информации движения текущего блока. Здесь, соседний блок может включать в себя пространственный соседний блок и временной соседний блок.[74] In the skip mode and the merge mode, the motion information of the neighboring block can be used as the motion information of the current block. Here, the neighbor block may include a spatial neighbor block and a temporal neighbor block.

[75] Модуль предсказания 430 может конструировать список кандидатов объединения с использованием информации движения доступных соседних блоков и использовать информацию, указанную индексом объединения в списке кандидатов объединения, в качестве вектора движения текущего блока. Индекс объединения может сигнализироваться посредством устройства кодирования. Информация движения может включать в себя вектор движения и опорную картинку. Когда информация движения временного соседнего блока используется в режиме пропуска и режиме объединения, самая верхняя картинка в списке опорных картинок может использоваться в качестве опорной картинки.[75] Prediction module 430 may construct a merge candidate list using motion information of available neighboring blocks, and use the information indicated by a merge index in the merge candidate list as a motion vector of the current block. The union index may be signaled by the encoder. The motion information may include a motion vector and a reference picture. When the motion information of the temporal neighbor block is used in the skip mode and the merge mode, the topmost picture in the reference picture list may be used as the reference picture.

[76] В случае режима пропуска, разница (остаток) между выборкой предсказания и исходной выборкой не передается, в отличие от режима объединения.[76] In the case of the skip mode, the difference (residual) between the prediction sample and the original sample is not transmitted, unlike the merge mode.

[77] В случае режима MVP, вектор движения текущего блока может выводиться с использованием вектора движения соседнего блока в качестве модуля предсказания вектора движения. Здесь, соседний блок может включать в себя пространственный соседний блок и временной соседний блок.[77] In the case of the MVP mode, the motion vector of the current block may be output using the motion vector of the neighboring block as the motion vector prediction unit. Here, the neighbor block may include a spatial neighbor block and a temporal neighbor block.

[78] Когда применяется режим объединения, например, список кандидатов объединения может генерироваться с использованием вектора движения реконструированного пространственного соседнего блока и/или вектора движения, соответствующего блоку Col, который представляет собой временной соседний блок. Вектор движения блока–кандидата, выбранного из списка кандидатов объединения, используется в качестве вектора движения текущего блока в режиме объединения. Вышеупомянутая информация о предсказании может включать в себя индекс объединения, указывающий блок–кандидат, имеющий лучший вектор движения, выбранный из блоков–кандидатов, включенных в список кандидатов объединения. Здесь, модуль предсказания 430 может выводить вектор движения текущего блока с использованием индекса объединения.[78] When the merge mode is applied, for example, the merge candidate list may be generated using the motion vector of the reconstructed spatial neighbor block and/or the motion vector corresponding to the Col block, which is the temporal neighbor block. The motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block in merge mode. The above prediction information may include a merging index indicating a candidate block having a better motion vector selected from the candidate blocks included in the merging candidate list. Here, the prediction module 430 may output the motion vector of the current block using the union index.

[79] Когда режим MVP (предсказание вектора движения) применяется в качестве другого примера, список кандидатов модуля предсказания вектора движения может генерироваться с использованием вектора движения реконструированного пространственного соседнего блока и/или вектора движения, соответствующего блоку Col, который представляет собой временной соседний блок. То есть вектор движения реконструированного пространственного соседнего блока и/или вектор движения, соответствующий блоку Col, который представляет собой временной соседний блок, могут использоваться в качестве кандидатов вектора движения. Вышеупомянутая информация о предсказании может включать в себя индекс вектора движения предсказания, указывающий лучший вектор движения, выбранный из кандидатов вектора движения, включенных в список. Здесь, модуль предсказания 430 может выбирать вектор движения предсказания текущего блока из кандидатов вектора движения, включенных в список кандидатов вектора движения, с использованием индекса вектора движения. Модуль предсказания устройства кодирования может получать разницу векторов движения (MVD) между вектором движения текущего блока и модулем предсказания вектора движения, кодировать MVD и выводить закодированную MVD в форме потока битов. То есть MVD может быть получена путем вычитания модуля предсказания вектора движения из вектора движения текущего блока. Здесь, модуль предсказания 430 может получать вектор движения, включенный в информацию о предсказании, и выводить вектор движения текущего блока путем сложения разницы векторов движения с модулем предсказания вектора движения. К тому же, модуль предсказания может получать или выводить индекс опорной картинки, указывающий опорную картинку, из вышеупомянутой информации о предсказании.[79] When the MVP (motion vector prediction) mode is applied as another example, the motion vector prediction module candidate list may be generated using the motion vector of the reconstructed spatial neighbor block and/or the motion vector corresponding to the Col block, which is the temporal neighbor block. That is, the motion vector of the reconstructed spatial neighbor block and/or the motion vector corresponding to the Col block, which is the temporal neighbor block, can be used as motion vector candidates. The above prediction information may include a prediction motion vector index indicating the best motion vector selected from the motion vector candidates included in the list. Here, the prediction unit 430 may select a prediction motion vector of the current block from the motion vector candidates included in the motion vector candidate list using the motion vector index. The encoder predictor may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, encode the MVD, and output the encoded MVD in the form of a bitstream. That is, MVD can be obtained by subtracting the motion vector prediction modulus from the motion vector of the current block. Here, the prediction module 430 may obtain a motion vector included in the prediction information and output the motion vector of the current block by adding the motion vector difference with the motion vector predictor. Also, the prediction unit can obtain or output a reference picture index indicating the reference picture from the above prediction information.

[80] Сумматор 440 может суммировать остаточную выборку с выборкой предсказания, чтобы реконструировать текущий блок или текущую картинку. Сумматор 440 может реконструировать текущую картинку путем суммирования остаточной выборки с выборкой предсказания в единицах блока. Когда применяется режим пропуска, остаток не передается, и, таким образом, выборка предсказания может становиться реконструированной выборкой. Хотя сумматор 440 описан как отдельный компонент, сумматор 440 может представлять собой часть модуля предсказания 430. При этом сумматор 440 может упоминаться как модуль реконструкции или генератор реконструированных блоков.[80] The adder 440 may add the residual sample with the prediction sample to reconstruct the current block or the current picture. Adder 440 may reconstruct the current picture by summing the residual sample with the prediction sample in block units. When the skip mode is applied, no residual is transmitted, and thus the prediction sample can become a reconstructed sample. While adder 440 is described as a separate component, adder 440 may be part of prediction module 430. In this case, adder 440 may be referred to as a reconstructor or reconstructed block generator.

[81] Фильтр 450 может применять фильтрацию устранения блочности, адаптивное смещение выборки и/или ALF к реконструированной картинке. Здесь, адаптивное смещение выборки может применяться в единицах выборки после фильтрации устранения блочности. ALF может применяться после фильтрации устранения блочности и/или применения адаптивного смещения выборки.[81] Filter 450 may apply deblocking filtering, adaptive sample bias, and/or ALF to the reconstructed picture. Here, an adaptive sampling bias may be applied in sampling units after deblocking filtering. ALF may be applied after deblocking filtering and/or applying adaptive sampling bias.

[82] Память 460 может хранить реконструированную картинку (декодированную картинку) или информацию, необходимую для декодирования. Здесь, реконструированная картинка может представлять собой реконструированную картинку, отфильтрованную посредством фильтра 450. Например, память 460 может хранить картинки, используемые для интер–предсказания. Здесь, картинки, используемые для интер–предсказания, могут указываться в соответствии с набором опорных картинок или списком опорных картинок. Реконструированная картинка может использоваться в качестве опорной картинки для других картинок. Память 460 может выводить реконструированные картинки в порядке вывода.[82] Memory 460 may store a reconstructed picture (decoded picture) or information needed for decoding. Here, the reconstructed picture may be a reconstructed picture filtered by filter 450. For example, memory 460 may store pictures used for inter-prediction. Here, pictures used for inter-prediction may be specified according to a reference picture set or a reference picture list. The reconstructed picture can be used as a reference picture for other pictures. Memory 460 may output the reconstructed pictures in output order.

[83] Фиг. 5 иллюстрирует другой пример устройства декодирования видео, к которому применяется настоящее раскрытие.[83] FIG. 5 illustrates another example of a video decoding apparatus to which the present disclosure applies.

[84] Со ссылкой на фиг. 5, устройство кодирования видео включает в себя модуль интра–предсказания, опорный сглаживатель 500, модуль предсказания 810, постфильтр 520, модуль обратного квантования 530 и обратный преобразователь 540. Здесь, модуль интра–предсказания может включать в себя опорный сглаживатель 500, модуль предсказания 510 и постфильтр 520. Модуль интра–предсказания может выводить выборку предсказания для текущего блока путем применения направленного режима или ненаправленного режима на основе соседней опорной выборки текущего блока. Здесь, режим предсказания, подлежащий применению к текущему блоку, может определяться с использованием режима интра–предсказания соседнего блока.[84] With reference to FIG. 5, the video encoding apparatus includes an intra-prediction module, a reference smoother 500, a prediction module 810, a post-filter 520, an inverse quantization module 530, and an inverse transform 540. Here, the intra-prediction module may include a reference smoother 500, a prediction module 510 and a post-filter 520. The intra-prediction module may derive a prediction sample for the current block by applying a directional mode or a non-directional mode based on an adjacent reference sample of the current block. Here, the prediction mode to be applied to the current block may be determined using the neighboring block's intra-prediction mode.

[85] Конкретно, когда интра–предсказание применяется к текущему блоку, опорный сглаживатель 500 может выполнять процесс сглаживания на левых соседних выборках и верхних соседних выборках, используемых для интра–предсказания текущего блока в картинке (далее упоминаемой как текущая картинка), которой принадлежит текущий блок, на основе размера текущего блока, режима предсказания и значения выборки. Таким образом, возможно предотвратить визуальные артефакты в отношении выборок предсказания текущего блока, которые могут возникать из–за разниц между значениями выборки левых соседних выборок и верхних соседних выборок.[85] Specifically, when intra-prediction is applied to the current block, the reference smoother 500 may perform a smoothing process on the left neighbor samples and the top neighbor samples used to intra-predict the current block in the picture (hereinafter referred to as the current picture) to which the current picture belongs. block, based on the current block size, prediction mode, and sample value. Thus, it is possible to prevent visual artifacts with respect to the prediction samples of the current block, which may occur due to differences between the sample values of the left neighbor samples and the top neighbor samples.

[86] Модуль предсказания 510 может выводить выборку предсказания на основе среднего или интерполяции левых соседних выборок и верхних соседних выборок текущего блока (случай (i)) или может выводить выборку предсказания на основе соседней выборки, присутствующей в конкретном направлении (предсказания) относительно выборки предсказания среди левых соседних выборок и верхних соседних выборок (случай (ii)). Случай (i) может называться ненаправленным режимом или неугловым режимом, а случай (ii) может называться направленным режимом или угловым режимом. В интра–предсказании, режим предсказания может включать в себя, например, 33 направленных режима предсказания и по меньшей мере два ненаправленных режима. Ненаправленные режимы могут включать в себя режим предсказания DC и планарный режим. Модуль предсказания 510 может определять режим предсказания, подлежащий применению к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.[86] The prediction module 510 may derive a prediction sample based on an average or interpolation of the left neighbor samples and the top neighbor samples of the current block (case (i)) or may output a prediction sample based on a neighbor sample present in a particular direction (prediction) relative to the prediction sample among the left neighbor samples and the top neighbor samples (case (ii)). Case (i) may be referred to as non-directional mode or non-angular mode, and case (ii) may be referred to as directional mode or angular mode. In intra-prediction, the prediction mode may include, for example, 33 directional prediction modes and at least two non-directional modes. The non-directional modes may include a DC prediction mode and a planar mode. The prediction module 510 may determine the prediction mode to be applied to the current block using the prediction mode applied to the adjacent block.

[87] Модуль постфильтра 520 может избирательно выполнять фильтрацию пост–обработки, чтобы уменьшить прерывность между текущим блоком и соседними выборками в соответствии с режимом предсказания, в котором выводится выборка предсказания текущего блока. После этого, модуль обратного квантования 530 может обратно квантовать квантованные коэффициенты преобразования, принятые от устройства кодирования, и обратный преобразователь 540 может обратно преобразовывать обратно квантованные коэффициенты преобразования, чтобы генерировать остаточные выборки в единицах блоков. Устройство декодирования может восстанавливать текущий блок, закодированный на основе интра–предсказания, на основе остаточной выборки и выборки предсказания.[87] Post-filter module 520 may selectively perform post-processing filtering to reduce discontinuity between the current block and adjacent samples according to the prediction mode in which the prediction sample of the current block is output. Thereafter, inverse quantizer 530 may inversely quantize the quantized transform coefficients received from the encoder, and inverse transform 540 may inversely transform the inversely quantized transform coefficients to generate residual samples in units of blocks. The decoder may recover the current intra-prediction coded block based on the residual sample and the prediction sample.

[88] Фиг. 6 иллюстрирует пример процесса выполнения интра–предсказания в устройстве декодирования. Устройство декодирования энтропийно декодирует энтропийно закодированную информацию, принятую посредством потока битов, чтобы получить квантованные коэффициенты преобразования (S600). Далее, устройство декодирования может обратно квантовать квантованные коэффициенты преобразования, чтобы получить коэффициенты преобразования (S610), и обратно преобразовывать коэффициенты преобразования, чтобы генерировать остаточную выборку в единицах блоков (S620). Далее, устройство декодирования может выполнять интра–предсказание, чтобы генерировать выборку предсказания текущего блока (S630). Выборка предсказания может упоминаться как сигнал предсказания или сигнал интра–предсказания. Конкретно, устройство декодирования может выполнять процесс сглаживания на левых соседних выборках и верхних соседних выборках, используемых для интра–предсказания текущего блока, на основе размера текущего блока, режима предсказания и значения выборки (S640). После этого, устройство декодирования может выполнять предсказание в соответствии с режимом интра–предсказания, чтобы генерировать выборку предсказания, как описано выше (S650), и выполнять фильтрацию пост–обработки, чтобы уменьшить прерывность между текущим блоком и соседними выборками (S660). Устройство декодирования может суммировать выборку предсказания и остаточную выборку, чтобы генерировать реконструированную выборку текущего блока (S670).[88] FIG. 6 illustrates an example of a process for performing intra-prediction in a decoder. The decoding apparatus entropy decodes the entropy encoded information received by the bit stream to obtain quantized transform coefficients (S600). Further, the decoding apparatus may inversely quantize the quantized transform coefficients to obtain transform coefficients (S610), and inversely transform the transform coefficients to generate a residual sample in units of blocks (S620). Next, the decoding apparatus may perform intra-prediction to generate a prediction sample of the current block (S630). The prediction sample may be referred to as a prediction signal or an intra-prediction signal. Specifically, the decoding apparatus may perform a smoothing process on the left neighbor samples and the top neighbor samples used for intra-prediction of the current block based on the current block size, the prediction mode, and the sample value (S640). Thereafter, the decoding apparatus may perform prediction according to the intra-prediction mode to generate a prediction sample as described above (S650) and perform post-processing filtering to reduce discontinuity between the current block and adjacent samples (S660). The decoder may add the prediction sample and the residual sample to generate a reconstructed sample of the current block (S670).

[89] Когда предсказание выполняется на текущем блоке, как описано выше, предсказание может выполняться на основе режима интра–предсказания. Например, интра–предсказание может выполняться на основе соседней выборки, которая уже была закодирована/декодирована во время декодирования текущего блока. То есть выборка предсказания текущего блока может быть реконструирована с использованием левых соседних выборок и верхних соседних выборок текущего блока. Левые соседние выборки и верхние соседние выборки могут быть представлены, как показано на фиг. 7.[89] When prediction is performed on the current block as described above, prediction may be performed based on the intra-prediction mode. For example, intra-prediction may be performed based on a neighboring sample that has already been coded/decoded at the time of decoding the current block. That is, the prediction sample of the current block can be reconstructed using the left neighbor samples and the top neighbor samples of the current block. Left neighbor samples and top neighbor samples can be represented as shown in FIG. 7.

[90] Фиг. 7 иллюстрирует пример левых соседних выборок и верхних соседних выборок, используемых для интра–предсказания текущего блока. Когда интра–предсказание выполняется на текущем блоке, режим интра–предсказания в отношении текущего блока может выводиться, и выборка предсказания в отношении текущего блока может генерироваться с использованием по меньшей мере одной из левых соседних выборок и верхних соседних выборок в соответствии с режимом интра–предсказания. Левые соседние выборки и верхние соседние выборки, используемые для интра–предсказания текущего блока, могут подвергаться процессу сглаживания на основе размера текущего блока, режима предсказания и значения выборки. То есть фильтрация может выполняться, чтобы уменьшить разницу между значениями выборки левых соседних выборок и верхних соседних выборок на основе размера текущего блока, режима предсказания и значений выборки. Таким образом, можно предотвратить визуальные артефакты в отношении выборок предсказания текущего блока, которые могут возникать из–за разниц между значениями выборки левых соседних выборок и верхних соседних выборок.[90] FIG. 7 illustrates an example of left neighbor samples and top neighbor samples used for intra-prediction of the current block. When intra-prediction is performed on the current block, the intra-prediction mode on the current block may be output, and a prediction sample on the current block may be generated using at least one of the left neighbor samples and the top neighbor samples according to the intra prediction mode . Left neighbor samples and top neighbor samples used for intra-prediction of the current block may be subjected to a smoothing process based on the current block size, prediction mode, and sample value. That is, filtering may be performed to reduce the difference between the sample values of the left neighbor samples and the top neighbor samples based on the current block size, the prediction mode, and the sample values. Thus, it is possible to prevent visual artifacts with respect to the prediction samples of the current block, which may occur due to differences between the sample values of the left neighbor samples and the top neighbor samples.

[91] Здесь, режима интра–предсказания может включать в себя два ненаправленных режима интра–предсказания и 33 направленных режима интра–предсказания. Ненаправленные режимы интра–предсказания могут включать в себя планарный режим интра–предсказания и режим интра–предсказания DC, и направленные режимы интра–предсказания могут включать в себя режимы интра–предсказания #2–#34. Планарный режим интра–предсказания может упоминаться как планарный режим, и режим интра–предсказания DC может упоминаться как режим DC. Режим интра–предсказания #10 может указывать горизонтальный режим интра–предсказания или горизонтальный режим, режим интра–предсказания #26 указывает вертикальный режим интра–предсказания или вертикальный режим, на основе которого направление предсказания направленного интра–режима может быть выражено углом. Другими словами, относительный угол, соответствующий каждому режиму интра–предсказания, может быть выражен со ссылкой на горизонтальный опорный угол 0°, соответствующий режиму интра–предсказания #10, и относительный угол, соответствующий каждому режиму интра–предсказания, может быть выражен со ссылкой на вертикальный опорный угол 0°, соответствующий режиму интра–предсказания #26.[91] Here, the intra-prediction mode may include two non-directional intra-prediction modes and 33 directional intra-prediction modes. The non-directional intra-prediction modes may include a planar intra-prediction mode and a DC intra-prediction mode, and the directional intra-prediction modes may include intra-prediction modes #2-#34. The planar intra-prediction mode may be referred to as the planar mode, and the DC intra-prediction mode may be referred to as the DC mode. Intra-prediction mode #10 may indicate a horizontal intra-prediction mode or a horizontal mode, intra-prediction mode #26 indicates a vertical intra-prediction mode or a vertical mode, based on which the prediction direction of the directional intra-mode can be expressed by an angle. In other words, the relative angle corresponding to each intra-prediction mode can be expressed with reference to the 0° horizontal reference angle corresponding to intra-prediction mode #10, and the relative angle corresponding to each intra-prediction mode can be expressed with reference to vertical reference angle of 0° corresponding to intra-prediction mode #26.

[92] Дополнительно, требование для видео высокого качества повышается, и чтобы повысить эффективность кодека видео, число направлений направленного интра–предсказания может увеличиваться до 65. То есть режим интра–предсказания может включать в себя два ненаправленных режима интра–предсказания и 65 направленных режимов интра–предсказания. Ненаправленные режимы интра–предсказания могут включать в себя планарный режим интра–предсказания и режим интра–предсказания DC, и направленные режимы интра–предсказания могут включать в себя режимы интра–предсказания #2–#66.[92] Further, the requirement for high quality video is increased, and in order to improve the performance of the video codec, the number of directional intra-prediction directions may be increased to 65. That is, the intra-prediction mode may include two non-directional intra-prediction modes and 65 directional modes. intra-predictions. The non-directional intra-prediction modes may include a planar intra-prediction mode and a DC intra-prediction mode, and the directional intra-prediction modes may include intra-prediction modes #2-#66.

[93] Фиг. 8 иллюстрирует интра–направленные режимы 65 направлений предсказания.[93] FIG. 8 illustrates the intra-directional modes of the 65 prediction directions.

[94] Со ссылкой на фиг. 8, режимы интра–предсказания, имеющие горизонтальную направленность, и режимы интра–предсказания, имеющие вертикальную направленность, могут быть классифицированы на основе режима интра–предсказания #34, имеющего верхнее левое диагональное направление предсказания. H и V на фиг. 8 представляют горизонтальную направленность и вертикальную направленность, соответственно, и числа от –32 до 32 представляют смещения на 1/32 единицы в положениях сетки выборок. Режимы интра–предсказания #2–#33 имеют горизонтальную направленность, и режимы интра–предсказания #34–#66 имеют вертикальную направленность. Режим интра–предсказания #18 и режим интра–предсказания #50 представляют горизонтальный режим интра–предсказания и вертикальный режим интра–предсказания, соответственно, на основе чего направление предсказания углового режима интра–предсказания может быть выражено углом. Другими словами, относительный угол, соответствующий каждому режиму интра–предсказания, может быть выражен на основе горизонтального опорного угла 0°, соответствующего режиму интра–предсказания #18, и относительный угол, соответствующий каждому режиму интра–предсказания, может быть выражен на основе вертикального опорного угла 0°, соответствующего режиму интра–предсказания #50.[94] With reference to FIG. 8, the intra-prediction modes having a horizontal directionality and the intra-prediction modes having a vertical directionality can be classified based on the #34 intra-prediction mode having an upper left diagonal prediction direction. H and V in FIG. 8 represent horizontal directivity and vertical directivity, respectively, and numbers from -32 to 32 represent offsets of 1/32 units in sample grid positions. Intra-prediction modes #2-#33 are horizontal and intra-prediction modes #34-#66 are vertical. The intra-prediction mode #18 and the intra-prediction mode #50 represent the horizontal intra-prediction mode and the vertical intra-prediction mode, respectively, based on which the prediction direction of the angular intra-prediction mode can be expressed by the angle. In other words, the relative angle corresponding to each intra-prediction mode can be expressed based on the 0° horizontal reference angle corresponding to intra-prediction mode #18, and the relative angle corresponding to each intra-prediction mode can be expressed based on the vertical reference 0° angle corresponding to intra-prediction mode #50.

[95] В случае, когда направленный режим интра–предсказания применяется к текущему блоку, выборка предсказания целевой выборки может выводиться на основе опорной выборки, расположенной в направлении предсказания направленного режима интра–предсказания относительно целевой выборки, на которой интра–предсказание выполняется в текущем блоке. То есть опорная выборка, расположенная в направлении предсказания, может копироваться и выводиться в качестве выборки предсказания. Здесь, опорная выборка может представлять соседнюю выборку, расположенную в направлении предсказания направленного режима интра–предсказания относительно целевой выборки среди верхних соседних выборок и левых соседних выборок текущего блока. При этом, когда отсутствует опорная выборка в единицах целых выборок в направлении целевой выборки на основе предсказания направленного режима интра–предсказания, то есть когда положение опорной выборки, расположенной в направлении предсказания направленного режима интра–предсказания, представляет собой положение дробной выборки на основе целевой выборки, значение выборки опорной выборки может выводиться через интерполяцию между целыми выборками, смежными слева и справа от опорной выборки, и выборка предсказания целевой выборки может выводиться на основе опорной выборки. Например, интерполяция между целыми выборками может выполняться на основе отношения расстояния опорной выборки и целых выборок.[95] In the case where the directional intra-prediction mode is applied to the current block, the prediction sample of the target sample may be derived based on a reference sample located in the prediction direction of the directional intra-prediction mode relative to the target sample on which intra-prediction is performed in the current block. . That is, a reference sample located in the prediction direction can be copied and output as a prediction sample. Here, the reference sample may represent a neighbor sample located in the prediction direction of the directional intra-prediction mode with respect to the target sample among the top neighbor samples and left neighbor samples of the current block. Meanwhile, when there is no reference sample in units of integer samples in the direction of the target sample based on the prediction of the directional intra-prediction mode, that is, when the position of the reference sample located in the prediction direction of the directional intra-prediction mode is the position of the fractional sample based on the target sample , the sample value of the reference sample may be derived through interpolation between integer samples adjacent to the left and right of the reference sample, and the prediction sample of the target sample may be derived based on the reference sample. For example, interpolation between integer samples may be performed based on the distance ratio of the reference sample and the integer samples.

[96] Фиг. 9 представляет собой вид, иллюстрирующий пример, в котором, когда положение опорной выборки, расположенной в направлении предсказания направленного режима интра–предсказания, представляет собой положение дробной выборки, выборка предсказания целевой выборки выводится на основе целых выборок, смежных слева и справа от опорной выборки.[96] FIG. 9 is a view illustrating an example in which, when the position of a reference sample located in the prediction direction of the directional intra-prediction mode is a fractional sample position, the prediction sample of the target sample is derived based on integer samples adjacent to the left and right of the reference sample.

[97] Со ссылкой на фиг. 9, положение дробной выборки опорной выборки, расположенной в направлении предсказания направленного режима интра–предсказания на основе целевой выборки, может выводиться как tanθ*(y+1). Значение tanθ для каждого угла θ каждого направленного режима интра–предсказания для вычисления положения дробной выборки может масштабироваться заранее в единицах целых и определяться, чтобы облегчить вычисление. Значения tanθ соответственных масштабированных направленных режимов интра–предсказания могут выводиться, как показано в следующей таблице.[97] With reference to FIG. 9, the fractional sample position of the reference sample located in the prediction direction of the directional intra-prediction mode based on the target sample can be output as tanθ*(y+1). The value of tanθ for each angle θ of each directional intra-prediction mode to calculate the fractional sample position can be scaled in advance in units of integers and determined to facilitate the calculation. The tanθ values of the respective scaled intra-prediction directional modes can be derived as shown in the following table.

[98] [Таблица 1][98] [Table 1]

Figure 00000001
Figure 00000001

[99] Здесь, predModeIntra может представлять каждый направленный режим интра–предсказания, и intraPredAngle может представлять угол предсказания каждого направленного режима интра–предсказания или масштабированное приблизительное значение tanθ каждого направленного режима интра–предсказания. Приблизительное значение tanθ в соответствии с предопределенным режимом интра–предсказания может выводиться на основе Таблицы 1. При этом значение tan–1θ каждого масштабированного направленного режима интра–предсказания может выводиться, как показано в следующей таблице.[99] Here, predModeIntra may represent each directional intra-prediction mode, and intraPredAngle may represent the prediction angle of each directional intra-prediction mode or the scaled approximation tanθ of each directional intra-prediction mode. An approximate value of tanθ according to a predetermined intra-prediction mode can be output based on Table 1. Here, a tan –1 θ value of each scaled directional intra-prediction mode can be output as shown in the following table.

[100] [Таблица 2][100] [Table 2]

Figure 00000002
Figure 00000002

[101] Здесь, predModeIntra может представлять каждый направленный режим интра–предсказания, intraPredAngle может представлять обратный угол предсказания каждого направленного режима интра–предсказания или масштабированное приблизительное значение tan–1θ каждого направленного режима интра–предсказания. Приблизительное значение tan–1θ может выводиться в соответствии с предопределенным режимом интра–предсказания на основе Таблицы 2.[101] Here, predModeIntra may represent each directional intra-prediction mode, intraPredAngle may represent the inverse prediction angle of each directional intra-prediction mode, or a scaled approximation tan –1 θ of each directional intra-prediction mode. The approximate value of tan –1 θ can be derived according to the predefined intra-prediction mode based on Table 2.

[102] При этом, ненаправленный режим интра–предсказания может применяться к текущему блоку. Ненаправленные режимы интра–предсказания могут включать в себя планарный режим интра–предсказания и режим интра–предсказания DC. Планарный режим интра–предсказания может упоминаться как планарный режим, и режим интра–предсказания DC может упоминаться как режим DC. В режиме DC, выборка предсказания текущего блока может выводиться на основе среднего значения соседних выборок текущего блока. Интра–предсказание на основе режима DC может эффективно выполняться, когда значения выборок текущего блока аналогичны. При этом, когда интра–предсказание выполняется на основе режима DC, когда значения выборок текущего блока варьируются, прерывность может возникать между предсказанным блоком текущего блока и соседними выборками. В аналогичном случае, даже когда интра–предсказание выполняется на основе направленного режима интра–предсказания, может возникать ненамеренное видимое оконтуривание. Планарный режим был разработан, чтобы преодолеть эту проблему. Планарный режим указывает режим предсказания, в котором горизонтальное линейное предсказание и вертикальное линейное предсказание выполняются на основе опорных выборок в отношении целевой выборки, и выведенные значения после этого усредняются, чтобы сгенерировать выборку предсказания целевой выборки.[102] In this case, the non-directional intra-prediction mode can be applied to the current block. The non-directional intra-prediction modes may include a planar intra-prediction mode and a DC intra-prediction mode. The planar intra-prediction mode may be referred to as the planar mode, and the DC intra-prediction mode may be referred to as the DC mode. In the DC mode, a prediction sample of the current block may be derived based on an average of neighboring samples of the current block. Intra-prediction based on the DC mode can be efficiently performed when the sample values of the current block are similar. Meanwhile, when intra-prediction is performed based on the DC mode, when sample values of the current block vary, discontinuity may occur between the predicted block of the current block and adjacent samples. In a similar case, even when intra-prediction is performed based on the directional intra-prediction mode, unintentional visible contouring may occur. Planar mode was designed to overcome this problem. The planar mode indicates a prediction mode in which horizontal linear prediction and vertical linear prediction are performed based on the reference samples with respect to the target sample, and the output values are thereafter averaged to generate a prediction sample of the target sample.

[103] Когда предсказание выполняется на текущем блоке на основе направленного режима интра–предсказания, если опорная выборка в единицах целых выборок не присутствует в направлении предсказания направленного режима интра–предсказания текущего блока относительно целевой выборки текущего блока, как описано выше, то есть когда положение опорной выборки, расположенной в направлении предсказания направленного режима интра–предсказания относительно целевой выборки, представляет собой положение дробной выборки, значение выборки опорной выборки может выводиться через интерполяцию левой и правой целых выборок опорной выборки, и выборка предсказания целевой выборки может выводиться на основе выведенной опорной выборки. Целые выборки могут указывать соседние выборки положения целой выборки, расположенного около опорной выборки.[103] When prediction is performed on the current block based on the directional intra-prediction mode, if a reference sample in units of integer samples is not present in the directional intra-prediction mode prediction direction of the current block relative to the target sample of the current block as described above, that is, when the position of the reference sample located in the prediction direction of the directional intra-prediction mode with respect to the target sample is the position of the fractional sample, the value of the reference sample sample can be derived through interpolation of the left and right integer samples of the reference sample, and the target sample prediction sample can be derived based on the derived reference sample . Integer samples may indicate neighboring samples of an integer sample position located near the reference sample.

[104] В этом случае, интерполяция между целыми выборками слева и справа от опорной выборки может быть получена на основе одного из различных интерполяционных фильтров. Например, интерполяция может выполняться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот, или интерполяция может выполняться на основе сложного интерполяционного фильтра. Интерполяционный фильтр, имеющий эффект фильтра нижних частот, может представлять линейный фильтр или гауссов фильтр, а сложный интерполяционный фильтр может представлять сплайн–фильтр. Сплайн–фильтр может также называться кубическим фильтром. Интерполяционные фильтры могут представлять собой 4–отводные интерполяционные фильтры. 4–отводный интерполяционный фильтр может представлять фильтр, на котором интерполяция выполняется для четырех целых выборок на основе четырех весов. Интерполяция между целыми выборками, выполняемая на основе интерполяционного фильтра, может быть выражена посредством следующего уравнения.[104] In this case, interpolation between integer samples to the left and right of the reference sample can be obtained based on one of various interpolation filters. For example, interpolation may be performed based on an interpolation filter having a low-pass filter effect, or interpolation may be performed based on a complex interpolation filter. An interpolation filter having the effect of a low-pass filter may represent a linear filter or a Gaussian filter, and a complex interpolation filter may represent a spline filter. A spline filter can also be called a cubic filter. The interpolation filters can be 4-tap interpolation filters. A 4-tap interpolation filter may represent a filter on which interpolation is performed for four integer samples based on four weights. The interpolation between integer samples performed based on the interpolation filter can be expressed by the following equation.

[105] [Уравнение 1][105] [Equation 1]

Figure 00000003
Figure 00000003

[106] Здесь, p[x][y] может обозначать выборку предсказания целевой выборки, f[0], f[1], f[2] и f[3] могут обозначать коэффициенты фильтрации интерполяционного фильтра, ref[n] может обозначать n–ую соседнюю выборку, и iIdx может обозначать целый индекс положения дробной выборки, расположенной в направлении предсказания режима интра–предсказания текущего блока относительно целевой выборки. Целый индекс положения дробной выборки может представлять целое значение, исключающее остаток положения дробной выборки.[106] Here, p[x][y] may denote the prediction sample of the target sample, f[0], f[1], f[2] and f[3] may denote the filter coefficients of the interpolation filter, ref[n] may denote the n-th adjacent sample, and iIdx may denote an integer index of the position of a fractional sample located in the prediction direction of the intra-prediction mode of the current block relative to the target sample. The fractional sample position integer index may represent an integer value excluding the remainder of the fractional sample position.

[107] При этом, коэффициент фильтрации кубического фильтра, который представляет собой один из фильтров нижних частот, и коэффициент фильтрации гауссова фильтра, который представляет собой один из интерполяционных фильтров, имеющих эффект фильтра нижних частот, могут выводиться, как показано в следующей таблице.[107] Here, the filter coefficient of the cube filter, which is one of the low pass filters, and the filter coefficient of the Gaussian filter, which is one of the interpolation filters having a low pass filter effect, can be output as shown in the following table.

[108] [Таблица 3][108] [Table 3]

Figure 00000004
Figure 00000004

[109] Здесь, суб–пел (суб–пиксельное) положение n/32 может представлять значение остатка положения дробной выборки, расположенной в направлении предсказания режима интра–предсказания текущего блока относительно целевой выборки. На основе положения дробной выборки целевой выборки и вышеприведенной Таблицы 3, могут выводиться коэффициенты фильтрации кубического фильтра или коэффициенты фильтрации гауссова фильтра.[109] Here, the sub-pel (sub-pixel) position n/32 may represent the residual value of the fractional sample position located in the intra-prediction mode prediction direction of the current block relative to the target sample. Based on the fractional sample position of the target sample and Table 3 above, the filter coefficients of a cube filter or filter coefficients of a Gaussian filter can be derived.

[110] Когда предсказание выполняется на текущем блоке на основе направленного режима интра–предсказания, как описано выше, расстояние между целевой выборкой текущего блока и опорной выборкой может увеличиваться в соответствии с углом предсказания направленного режима интра–предсказания, и с увеличением расстояния точность предсказания может ухудшаться. Может быть предложен способ выбора подходящего интерполяционного фильтра в соответствии с расстоянием между целевой выборкой и опорной выборкой и выполнения предсказания на основе опорной выборки, выведенной путем применения выбранного интерполяционного фильтра, чтобы улучшить точность предсказания. Способ выбора подходящего интерполяционного фильтра в соответствии с расстоянием между целевой выборкой и опорной выборкой может быть следующим.[110] When prediction is performed on the current block based on the directional intra-prediction mode as described above, the distance between the target sample of the current block and the reference sample may increase in accordance with the prediction angle of the directional intra-prediction mode, and as the distance increases, the prediction accuracy may get worse. A method can be proposed to select an appropriate interpolation filter according to the distance between the target sample and the reference sample, and perform prediction based on the reference sample derived by applying the selected interpolation filter to improve prediction accuracy. A method for selecting a suitable interpolation filter according to the distance between the target sample and the reference sample may be as follows.

[111] Например, интерполяционный фильтр может выбираться на основе размера текущего блока или режима интра–предсказания текущего блока. Как описано выше, расстояние между целевой выборкой текущего блока и опорной выборкой может выводиться в соответствии с наклоном угла предсказания режима интра–предсказания для текущего блока. Поскольку опорная выборка текущего блока выводится на основе левых соседних выборок и верхних соседних выборок текущего блока, расстояние между целевой выборкой и опорной выборкой может увеличиваться по мере того, как положение целевой выборки становится ближе к нижнему правому концу текущего блока. Также, по мере увеличения значения intraPredAngle направленного режима интра–предсказания, определенного в Таблице 1, наклон угла предсказания может быть близок к 45°. Так как наклон угла предсказания близок к 45°, расстояние между целевой выборкой и опорной выборкой может увеличиваться, и соответственно, по мере увеличения значения intraPredAngle, расстояние между целевой выборкой и опорной выборкой может увеличиваться.[111] For example, the interpolation filter may be selected based on the size of the current block or the intra-prediction mode of the current block. As described above, the distance between the target sample of the current block and the reference sample may be output according to the slope of the prediction angle of the intra-prediction mode for the current block. Since the reference sample of the current block is derived based on the left adjacent samples and the upper neighboring samples of the current block, the distance between the target sample and the reference sample may increase as the position of the target sample gets closer to the lower right end of the current block. Also, as the intraPredAngle value of the directional intra-prediction mode defined in Table 1 increases, the slope of the prediction angle can be close to 45°. Since the slope of the prediction angle is close to 45°, the distance between the target sample and the reference sample may increase, and accordingly, as the value of intraPredAngle increases, the distance between the target sample and the reference sample may increase.

[112] Кроме того, расстояние между целевой выборкой и опорной выборкой может выводиться на основе размера текущего блока. То есть по мере увеличения размера текущего блока, расстояние между целевой выборкой и опорной выборкой может увеличиваться. Поэтому, размер текущего блока рассматривается как тесно связанный с точностью предсказания целевой выборки.[112] In addition, the distance between the target sample and the reference sample may be inferred based on the size of the current block. That is, as the size of the current block increases, the distance between the target sample and the reference sample may increase. Therefore, the size of the current block is considered to be closely related to the prediction accuracy of the target sample.

[113] Если значение intraPredAngle больше, чем 0, и меньше, чем 32, как описано выше, целевая выборка может быть предсказана на основе опорной выборки положения дробной выборки, как показано на фиг. 9. В этом случае, поскольку представлено только целое значение выборки вблизи положения дробной выборки, устройство кодирования может предсказывать местоположение дробной выборки опорной выборки на основе интерполяционного фильтра, и значение опорной выборки предсказанного положения дробной выборки может копироваться как значение выборки для выборки предсказания целевой выборки. Таким образом, точность предсказанного блока текущего блока может определяться в соответствии с точностью интерполяционного фильтра.[113] If the value of intraPredAngle is greater than 0 and less than 32 as described above, the target sample can be predicted based on the fractional sample position reference sample, as shown in FIG. 9. In this case, since only an integer sample value near the fractional sample position is presented, the encoder can predict the fractional sample location of the reference sample based on the interpolation filter, and the reference sample value of the fractional sample predicted position can be copied as the sample value of the prediction sample of the target sample. Thus, the accuracy of the predicted block of the current block can be determined according to the accuracy of the interpolation filter.

[114] Когда интра–предсказание применяется к текущему блоку, информация, которая может использоваться для интра–предсказания, может быть ограничена левыми соседними выборками и верхними соседними выборками текущего блока, которые уже были реконструированы во время декодирования текущего блока, и по мере увеличения расстояния между целевой выборкой текущего блока и опорной выборкой, корреляция между целевой выборкой и опорными выборками, выведенными на основе левых соседних выборок и верхних соседних выборок, может значительно уменьшаться.[114] When intra-prediction is applied to the current block, the information that can be used for intra-prediction may be limited to the left neighbor samples and top neighbor samples of the current block that have already been reconstructed at the time of decoding the current block, and as the distance increases between the target sample of the current block and the reference sample, the correlation between the target sample and the reference samples derived from the left neighbor samples and the top neighbor samples may decrease significantly.

[115] Соответственно, когда расстояние между целевой выборкой и опорной выборкой слишком велико, может использоваться способ вывода опорной выборки на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот, так что артефакты или шум опорной выборки не распространяются, чтобы повысить точность предсказания и эффективность кодирования. Напротив, когда расстояние между целевой выборкой и опорной выборкой близко друг к другу, корреляция между целевой выборкой и опорной выборкой высока, и таким образом, может преимущественно использоваться способ вывода опорной выборки на основе точной интерполяции, так что сходство между выборкой предсказания целевой выборки и опорной выборкой поддерживается в наибольшей возможной степени. То есть когда расстояние между целевой выборкой и опорной выборкой близко друг к другу, способ вывода опорной выборки на основе сложного интерполяционного фильтра может повысить точность предсказания и эффективность кодирования.[115] Accordingly, when the distance between the target sample and the reference sample is too large, a reference sample derivation method based on an interpolation filter having a low-pass filter effect can be used so that artifacts or noise of the reference sample are not propagated to improve prediction accuracy and coding efficiency. . On the contrary, when the distance between the target sample and the reference sample is close to each other, the correlation between the target sample and the reference sample is high, and thus the reference sample derivation method based on fine interpolation can be advantageously used, so that the similarity between the prediction sample of the target sample and the reference sample sampling is supported to the greatest extent possible. That is, when the distance between the target sample and the reference sample is close to each other, the complex interpolation filter based reference sample derivation method can improve prediction accuracy and coding efficiency.

[116] Поэтому, текущий блок может выбираться на основе только размера текущего блока для вывода опорной выборки для целевой выборки текущего блока, может выбираться на основе только режима интра–предсказания текущего блока или выбираться на основе режима интра–предсказания текущего блока.[116] Therefore, the current block may be selected based on only the size of the current block to derive a reference sample for the target sample of the current block, may be selected based on only the intra-prediction mode of the current block, or selected based on the intra-prediction mode of the current block.

[117] Например, когда размер текущего блока представляет собой размер 4×4 и интра–предсказание выполняется на текущем блоке, корреляция текущего блока, имеющего размер 4×4, с соседними выборками текущего блока может быть очень высока, и таким образом, опорная выборка может выводиться на основе сложного интерполяционного фильтра независимо от режима интра–предсказания. Альтернативно, если значение intraPredAngle, выведенное из режима интра–предсказания текущего блока, представляет собой 11 или более независимо от размера текущего блока, расстояние между целевой выборкой и опорной выборкой может увеличиваться, и таким образом, опорная выборка может выводиться на основе интерполяционного фильтра, имеющего эффект интерполяционного фильтра. Альтернативно, когда размер текущего блока меньше, чем конкретный размер, и значение intraPredAngle режима интра–предсказания текущего блока меньше, чем конкретное значение, опорная выборка целевой выборки может выводиться на основе сложного интерполяционного фильтра, а в других случаях, опорная выборка целевой выборки может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот.[117] For example, when the current block size is 4×4 and intra-prediction is performed on the current block, the correlation of the current 4×4 block with neighboring samples of the current block may be very high, and thus the reference sample can be derived from a complex interpolation filter regardless of the intra-prediction mode. Alternatively, if the intraPredAngle value derived from the intra-prediction mode of the current block is 11 or more regardless of the size of the current block, the distance between the target sample and the reference sample may increase, and thus the reference sample may be derived based on an interpolation filter having interpolation filter effect. Alternatively, when the size of the current block is smaller than the specific size and the intraPredAngle value of the intra-prediction mode of the current block is less than the specific value, the target sample reference sample may be derived based on a complex interpolation filter, and in other cases, the target sample reference sample may be derived based on an interpolation filter having a low pass filter effect.

[118] Кроме того, когда режим, такой как наиболее вероятный режим (MPM), применяется к текущему блоку, чтобы вывести режим интра–предсказания текущего блока на основе режима интра–предсказания соседнего блока текущего блока, и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, не планарный режим или режим DC, интерполяционный фильтр, используемый в соседнем блоке, выбранном через режим MPM, может выводиться как интерполяционный фильтр текущего блока. Здесь, в случае, когда режим MPM применяется к текущему блоку, устройство кодирования может определять список MPM на основе режима интра–предсказания в отношении левого или верхнего соседних блоков текущего блока и определять режим интра–предсказания на основе списка MPM.[118] In addition, when a mode such as most probable mode (MPM) is applied to the current block, to derive the intra-prediction mode of the current block based on the intra-prediction mode of the neighboring block of the current block, and the intra-prediction mode of the current block represents is a directional intra-prediction mode, not a planar mode or DC mode, the interpolation filter used in the neighboring block selected through the MPM mode can be output as the interpolation filter of the current block. Here, in the case where the MPM mode is applied to the current block, the encoding device may determine the MPM list based on the intra-prediction mode with respect to the left or top neighboring blocks of the current block, and determine the intra-prediction mode based on the MPM list.

[119] Кроме того, когда интерполяционный фильтр выбирается на основе режима интра–предсказания текущего блока, опора режима интра–предсказания, то есть опора для определения, используется ли интерполяционный фильтр, имеющий эффект фильтра нижних частот, или используется ли сложный интерполяционный фильтр, может изменяться в соответствии с размерами или формами текущего блока.[119] In addition, when the interpolation filter is selected based on the intra-prediction mode of the current block, the intra-prediction mode reference, that is, the reference for determining whether an interpolation filter having a low-pass filter effect is used, or whether a complex interpolation filter is used, may change according to the size or shape of the current block.

[120] В случае, когда текущий блок представляет собой квадратный блок, ширина и высота блока равны, то есть размер текущего блока представляет собой N×N, и таким образом, размер опорного блока при выборе интерполяционного фильтра может представлять собой N для направленного режима интра–предсказания любого направления. При этом, в случае, когда текущий блок имеет неквадратную форму, т.е. в случае, когда размер текущего блока представляет собой M×N, если режим, выбранный в качестве режима предсказания текущего блока, представляет собой направленный режим интра–предсказания, и этот режим представляет собой вертикальный направленный режим предсказания, размер опорного блока для выбора интерполяционного фильтра может быть представлен посредством M. Здесь, вертикальный направленный режим предсказания может указывать режимы интра–предсказания #34–#66, когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания. Аналогично, когда размер текущего блока представляет собой M×N, режим, выбранный в качестве режима предсказания текущего блока, представляет собой направленный режим, и этот режим представляет собой горизонтальный направленный режим предсказания, размер текущего блока, служащего опорным для выбора интерполяционного фильтра, может представлять собой N. Здесь, горизонтальный направленный режим предсказания может представлять режимы интра–предсказания #2–#33, когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания.[120] In the case where the current block is a square block, the width and height of the block are equal, that is, the size of the current block is N×N, and thus the size of the reference block when the interpolation filter is selected may be N for the intra directional mode. - predictions of any direction. In this case, in the case when the current block has a non-square shape, i.e. in the case where the current block size is M×N, if the mode selected as the current block prediction mode is the directional intra-prediction mode, and this mode is the vertical directional prediction mode, the size of the reference block for selecting the interpolation filter may be represented by M. Here, the vertical directional prediction mode may indicate intra-prediction modes #34 to #66 when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes. Similarly, when the size of the current block is M×N, the mode selected as the prediction mode of the current block is the directional mode, and this mode is the horizontal directional prediction mode, the size of the current block serving as a reference for selecting the interpolation filter may be is N. Here, the horizontal directional prediction mode may represent the intra-prediction modes #2 to #33 when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes.

[121] Альтернативно, если текущий блок представляет собой неквадратный блок, имеющий размер M×N, и режим предсказания текущего блока представляет собой вертикальный направленный режим предсказания, интерполяционный фильтр текущего блока может выбираться на основе N, и аналогично, если текущий блок представляет собой неквадратный блок, имеющий размер M×N, и режим предсказания текущего блока представляет собой горизонтальный направленный режим предсказания, интерполяционный фильтр текущего блока может выбираться на основе M. Однако, в конкретном примере, который будет описан ниже, когда вертикальный направленный режим предсказания применяется к текущему блоку, имеющему размер M×N, размер текущего блока, служащего опорным для выбора интерполяционного фильтра, может быть представлен посредством M. Аналогично, когда горизонтальный направленный режим предсказания применяется к текущему блоку, имеющему размер M×N, размер текущего блока, служащего в качестве опоры для выбора интерполяционного фильтра, может быть представлен посредством N. Конкретно, например, если значение размера блока меньше или равно 8, сложный интерполяционный фильтр может выбираться, и опорная выборка блока может выводиться на основе сложного интерполяционного фильтра, и в этом случае, если размер текущего блока равен 8×4 и режим интра–предсказания текущего блока представляет собой один из режимов интра–предсказания, имеющих вертикальную направленность, сложный интерполяционный фильтр может выбираться в качестве интерполяционного фильтра для текущего блока, и опорная выборка текущего блока может выводиться на основе сложного интерполяционного фильтра.[121] Alternatively, if the current block is a non-square block having a size of M×N, and the prediction mode of the current block is a vertical directional prediction mode, the interpolation filter of the current block may be selected based on N, and similarly, if the current block is a non-square a block having a size of M×N, and the prediction mode of the current block is a horizontal directional prediction mode, the interpolation filter of the current block may be selected based on M. However, in a specific example to be described below, when the vertical directional prediction mode is applied to the current block , having a size of M×N, the size of the current block serving as a reference for selecting the interpolation filter can be represented by M. Similarly, when the horizontal directional prediction mode is applied to the current block having a size of M×N, the size of the current block serving as a reference for selecting an interpolation filter may be represented by N. Specifically, for example, if the block size value is less than or equal to 8, the complex interpolation filter may be selected, and the block reference sample may be derived based on the complex interpolation filter, and in this case, if the size of the current block is 8×4 and the intra-prediction mode of the current block is one of the intra-prediction modes having a vertical directionality, the complex interpolation filter can be selected as the interpolation filter for the current block, and the reference sample of the current block can be derived based on the complex interpolation filter .

[122] Также, если значение intraPredAngle режима интра–предсказания текущего блока меньше или равно 11, выбирается сложный интерполяционный фильтр, и опорная выборка может выводиться на основе сложного интерполяционного фильтра. Если значение intraPredAngle режима интра–предсказания текущего блока больше, чем 11, выбирается интерполяционный фильтр, имеющий эффект фильтра нижних частот, и опорная выборка может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот.[122] Also, if the value of intraPredAngle of the intra-prediction mode of the current block is less than or equal to 11, a complex interpolation filter is selected, and a reference sample may be derived based on the complex interpolation filter. If the value of intraPredAngle of the intra-prediction mode of the current block is greater than 11, an interpolation filter having a low-pass filter effect is selected, and a reference sample may be derived based on the interpolation filter having a low-pass filter effect.

[123] В случае, когда значение размера текущего блока равно или больше, чем 16, если значение intraPredAngle режима интра–предсказания текущего блока меньше или равно 5, выбирается сложный интерполяционный фильтр, и опорная выборка может выводиться на основе сложного интерполяционного фильтра. Если значение intraPredAngle значения интра–предсказания текущего блока больше, чем 5, выбирается интерполяционный фильтр, имеющий эффект фильтра нижних частот, и опорная выборка может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот.[123] In the case where the value of the current block size is equal to or greater than 16, if the value of intraPredAngle of the intra-prediction mode of the current block is less than or equal to 5, a complex interpolation filter is selected, and a reference sample may be derived based on the complex interpolation filter. If the value of intraPredAngle of the intra-prediction value of the current block is greater than 5, an interpolation filter having a low-pass filter effect is selected, and a reference sample may be derived based on the interpolation filter having a low-pass filter effect.

[124] Фиг. 10 иллюстрирует пример выбора интерполяционного фильтра на основе размера текущего блока и режима интра–предсказания. Устройство кодирования/устройство декодирования может выводить режим интра–предсказания для текущего блока и может определять, является ли режим интра–предсказания направленным режимом интра–предсказания (S1000). Направленный режим интра–предсказания может упоминаться как угловое предсказание. Если режим интра–предсказания является ненаправленным режимом интра–предсказания, устройство кодирования/декодирования может выполнять интра–предсказание текущего блока на основе режима интра–предсказания.[124] FIG. 10 illustrates an example of selecting an interpolation filter based on the current block size and intra-prediction mode. The encoder/decoder may output the intra prediction mode for the current block, and may determine whether the intra prediction mode is the directional intra prediction mode (S1000). The directional intra-prediction mode may be referred to as angle prediction. If the intra-prediction mode is a non-directional intra-prediction mode, the encoder/decoder may perform intra-prediction of the current block based on the intra-prediction mode.

[125] Когда режим интра–предсказания представляет собой направленный режим интра–предсказания, устройство кодирования/устройство декодирования может определять, является ли размер текущего блока меньшим, чем первый порог (S1010). Когда текущий блок представляет собой неквадратный блок, имеющий размер M×N, и режим, выбранный в качестве режима интра–предсказания текущего блока, включает в себя режим интра–предсказания, имеющий вертикальную направленность, то есть когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания, если режим интра–предсказания текущего блока представляет собой один из режимов интра–предсказания #34–#66, опора для выбора интерполяционного фильтра может быть представлена шириной текущего блока, т.е. M. Аналогично, в случае, когда текущий блок представляет собой неквадратный блок, имеющий размер MxN, и режим, выбранный в качестве режима интра–предсказания текущего блока, представляет собой режим интра–предсказания, имеющий горизонтальную направленность, то есть когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания, если режим интра–предсказания текущего блока представляет собой один из режимов интра–предсказания #2–#33, опора для выбора интерполяционного фильтра может быть представлена высотой текущего блока, т.е. N. Альтернативно, когда рассматривается только блок, имеющий квадратную форму, и размер текущего блока равен N×N, значение размера текущего блока может быть представлено посредством N. Первый порог может быть установлен в 4, 8, 16, 32 или тому подобное.[125] When the intra-prediction mode is the directional intra-prediction mode, the encoder/decoder may determine whether the current block size is smaller than the first threshold (S1010). When the current block is a non-square block having a size of M×N, and the mode selected as the intra-prediction mode of the current block includes an intra-prediction mode having a vertical orientation, that is, when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes, if the intra-prediction mode of the current block is one of the intra-prediction modes #34-#66, the reference for selecting the interpolation filter may be represented by the width of the current block, i.e. M. Similarly, in the case where the current block is a non-square block having a size of MxN, and the mode selected as the intra-prediction mode of the current block is the intra-prediction mode having a horizontal orientation, that is, when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes, if the intra-prediction mode of the current block is one of the intra-prediction modes #2-#33, the reference for selecting the interpolation filter can be represented by the height of the current block, those. N. Alternatively, when only a square-shaped block is considered and the current block size is N×N, the value of the current block size may be represented by N. The first threshold may be set to 4, 8, 16, 32, or the like.

[126] Если размер текущего блока не меньше, чем значение первого порога, то есть если размер текущего блока больше или равен значению первого порога, устройство кодирования/устройство декодирования может выбирать гауссов фильтр в качестве интерполяционного фильтра текущего блока и выводить опорную выборку целевой выборки в текущем блоке на основе гауссова фильтра (S1020). Здесь, гауссов фильтр представляет собой один из интерполяционных фильтров, имеющих эффект фильтра нижних частот, и опорная выборка целевой выборки может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот, отличного от гауссова фильтра. Например, если размер текущего блока больше или равен первому порогу, устройство кодирования/устройство декодирования может выбирать интерполяционный фильтр текущего блока как линейный фильтр и выводить опорную выборку целевой выборки в текущем блоке на основе линейного фильтра. Здесь, опорная выборка может указывать соседнюю выборку, расположенную в направлении предсказания направленного режима интра–предсказания текущего блока на основе целевой выборки.[126] If the size of the current block is not smaller than the value of the first threshold, that is, if the size of the current block is greater than or equal to the value of the first threshold, the encoder/decoder may select a Gaussian filter as the interpolation filter of the current block and output the reference sample of the target sample to the current block based on the Gaussian filter (S1020). Here, the Gaussian filter is one of the interpolation filters having a low-pass filter effect, and the target sample reference sample may be derived based on the interpolation filter having a low-pass filter effect other than the Gaussian filter. For example, if the size of the current block is greater than or equal to the first threshold, the encoder/decoder may select the interpolation filter of the current block as a linear filter and output a reference sample of the target sample in the current block based on the linear filter. Here, the reference sample may indicate an adjacent sample located in the prediction direction of the directional intra-prediction mode of the current block based on the target sample.

[127] Если размер текущего блока не меньше, чем значение первого порога, может определяться, является ли intraPredAngle направленного режима интра–предсказания текущего блока меньшим, чем значение второго порога (S1030). intraPredAngle может указывать угол предсказания направленного режима интра–предсказания. Например, второй порог может быть установлен в 11.[127] If the size of the current block is not smaller than the value of the first threshold, it may be determined whether the intraPredAngle of the directional intra-prediction mode of the current block is smaller than the value of the second threshold (S1030). intraPredAngle may indicate the prediction angle of the directional intra-prediction mode. For example, the second threshold could be set to 11.

[128] Если intraPredAngle направленного режима интра–предсказания текущего блока не меньше, чем значение второго порога, устройство кодирования/устройство декодирования может выбирать гауссов фильтр в качестве интерполяционного фильтра текущего блока и выводить опорную выборку целевой выборки в текущем блоке на основе гауссова фильтра (S1020). Здесь, гауссов фильтр представляет собой один из интерполяционных фильтров, имеющих эффект фильтра нижних частот, как описано выше, и опорная выборка целевой выборки может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот, отличного от гауссова фильтра.[128] If the intraPredAngle of the directional intra-prediction mode of the current block is not less than the value of the second threshold, the encoder/decoder may select a Gaussian filter as the interpolation filter of the current block and output a reference sample of the target sample in the current block based on the Gaussian filter (S1020 ). Here, the Gaussian filter is one of the interpolation filters having a low pass filter effect as described above, and the target sample reference sample may be derived based on the interpolation filter having a low pass filter effect other than the Gaussian filter.

[129] Если intraPredAngle направленного режима интра–предсказания текущего блока меньше, чем значение второго порога, устройство кодирования/устройство декодирования может выбирать кубический фильтр в качестве интерполяционного фильтра текущего блока и выводить опорную выборку целевой выборки в текущем блоке на основе кубического фильтра (S1040). Здесь, кубический фильтр может представлять собой один из сложных интерполяционных фильтров, как описано выше, и опорная выборка целевой выборки может выводиться на основе сложного интерполяционного фильтра, отличного от кубического фильтра. Дополнительно, кубический фильтр может называться сплайн–фильтром.[129] If the intraPredAngle of the directional intra-prediction mode of the current block is less than the value of the second threshold, the encoder/decoder may select a cube filter as the interpolation filter of the current block and output a reference sample of the target sample in the current block based on the cube filter (S1040) . Here, the cube filter may be one of the complex interpolation filters as described above, and the reference sample of the target sample may be derived based on the complex interpolation filter other than the cube filter. Additionally, a cubic filter can be called a spline filter.

[130] Устройство кодирования/устройство декодирования может генерировать выборку предсказания целевой выборки на основе выведенной опорной выборки целевой выборки (S1050). Устройство кодирования/устройство декодирования может генерировать выборку предсказания путем копирования опорной выборки. Опорная выборка может копироваться и использоваться в качестве выборки предсказания, и таким образом, может быть указано, что выборка предсказания сгенерирована на основе интерполяционного фильтра.[130] The encoder/decoder may generate a target sample prediction sample based on the derived target sample reference sample (S1050). The encoder/decoder may generate a prediction sample by copying the reference sample. The reference sample can be copied and used as a prediction sample, and thus it can be indicated that the prediction sample is generated based on the interpolation filter.

[131] При этом, в дополнение к вышеупомянутым примерам, способ разделения текущего блока на произвольные области и выбора интерполяционного фильтра для каждой области может быть предложен в качестве способа выбора интерполяционного фильтра.[131] Here, in addition to the above examples, a method for dividing the current block into arbitrary regions and selecting an interpolation filter for each region can be proposed as a method for selecting an interpolation filter.

[132] Например, если размер текущего блока больше или равен конкретному размеру, текущий блок может разделяться на множество областей, и интерполяционный фильтр каждой области может выбираться с учетом расстояния между каждой областью и соседними выборками текущего блока. Размер разделенных областей текущего блока может представлять собой фиксированное значение, определенное ранее (т.е. установленное ранее) между устройством кодирования и устройством декодирования, или может выводиться на основе размера текущего блока, режима интра–предсказания и тому подобного. Например, в случае, когда режим интра–предсказания текущего блока представляет собой режим интра–предсказания, имеющий вертикальную направленность, и номер режима для режима интра–предсказания больше, чем #34, размер разделенных областей текущего блока может выводиться как 4×4. Другими словами, в случае, когда режим интра–предсказания текущего блока представляет собой один из режимов интра–предсказания #35–#66, размер разделенных областей текущего блока может выводиться как 4×4. В случае, когда текущий блок представляет собой блок, имеющий размер 16×16, текущий блок может разделяться на области, имеющие размер 4×4, вышеописанный сложный интерполяционный фильтр может выбираться в качестве интерполяционного фильтра для областей от #0 по #7 в порядке растрового сканирования, и интерполяционный фильтр, имеющий эффект фильтра нижних частот, может выбираться в качестве интерполяционных фильтров для других областей. Здесь, номера 16 областей, имеющих размер 4×4 в соответствии с порядком растрового сканирования, могут последовательно выводиться в порядке от верхней строки к нижней строке и последовательно выводиться в порядке слева направо в каждой строке. То есть области, включенные в первую строку среди 16 областей, имеющих размер 4×4 текущего блока, могут быть представлены как область #0, область #1, область #2 и область #3 в порядке слева направо, области, включенные во вторую строку, могут быть представлены как область #4, область #5, область #6 и область #7 в порядке слева направо, области, включенные в третью строку, могут быть представлены как область #8, область #9, область #10 и область #11 в порядке слева направо, и области, включенные в четвертую строку, могут быть представлены как область #12, область #13, область #14 и область #15 в порядке слева направо. При этом могут сигнализироваться размеры разделенных областей текущего блока и информация, указывающая интерполяционный фильтр для каждой из областей. В этом случае, устройство декодирования может разделять текущий блок на множество областей на основе информации и выбирать интерполяционный фильтр каждой области.[132] For example, if the size of the current block is greater than or equal to a specific size, the current block may be divided into a plurality of regions, and the interpolation filter of each region may be selected based on the distance between each region and adjacent samples of the current block. The size of the divided areas of the current block may be a fixed value previously determined (ie, set before) between the encoder and the decoder, or may be inferred based on the size of the current block, the intra-prediction mode, and the like. For example, in the case where the intra-prediction mode of the current block is an intra-prediction mode having a vertical orientation, and the mode number for the intra-prediction mode is greater than #34, the size of the divided areas of the current block may be output as 4×4. In other words, in the case where the intra-prediction mode of the current block is one of the intra-prediction modes #35 to #66, the size of the divided areas of the current block may be output as 4×4. In the case where the current block is a block having a size of 16×16, the current block may be divided into regions having a size of 4×4, the above-described complex interpolation filter may be selected as an interpolation filter for regions #0 to #7 in raster order. scanning, and an interpolation filter having a low-pass filter effect can be selected as interpolation filters for other areas. Here, the numbers of 16 areas having a size of 4×4 according to the raster scan order can be sequentially output in order from the top line to the bottom line, and sequentially output in the order from left to right in each line. That is, the areas included in the first row among the 16 areas having a size of 4×4 of the current block can be represented as area #0, area #1, area #2, and area #3 in order from left to right, the areas included in the second line , may be represented as region #4, region #5, region #6, and region #7 in order from left to right, the regions included in the third row may be represented as region #8, region #9, region #10, and region # 11 in order from left to right, and the areas included in the fourth row may be represented as area #12, area #13, area #14, and area #15 in order from left to right. In this case, the sizes of the divided regions of the current block and information indicating an interpolation filter for each of the regions may be signaled. In this case, the decoding apparatus may divide the current block into a plurality of areas based on the information, and select an interpolation filter of each area.

[133] Альтернативно, интерполяционный фильтр может выбираться на основе расстояния между целевой выборкой текущего блока и опорной выборкой. То есть интерполяционный фильтр может выбираться на основе того, является ли расстояние между целевой выборкой и опорной выборкой большим или равным конкретному значению порога. Здесь, опорная выборка может указывать соседнюю выборку, расположенную в направлении предсказания режима интра–предсказания текущего блока, на основе целевой выборки.[133] Alternatively, the interpolation filter may be selected based on the distance between the target sample of the current block and the reference sample. That is, the interpolation filter may be selected based on whether the distance between the target sample and the reference sample is greater than or equal to a particular threshold value. Here, the reference sample may indicate an adjacent sample located in the prediction direction of the intra-prediction mode of the current block based on the target sample.

[134] Например, в случае, когда размер текущего блока равен N×N, если расстояние между целевой выборкой текущего блока и опорной выборкой составляет N/2 или более, опорная выборка может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот, и опорная выборка может выводиться на основе сложного интерполяционного фильтра в других случаях. Конкретное значение порога для выбора интерполяционного фильтра может выводиться на основе размера текущего блока, как описано выше, или может выводиться на основе режима интра–предсказания текущего блока, в зависимости от того, является ли текущий блок квадратным блоком/неквадратным блоком, или тому подобного. Альтернативно, информация о конкретном значении порога может передаваться от устройства кодирования, и устройство декодирования может выводить конкретное значение порога текущего блока на основе информации о принятом конкретном значении порога.[134] For example, in the case where the current block size is N×N, if the distance between the target sample of the current block and the reference sample is N/2 or more, the reference sample may be derived based on an interpolation filter having a low-pass filter effect, and the reference sample may be derived based on a complex interpolation filter in other cases. The specific threshold value for selecting the interpolation filter may be derived based on the size of the current block as described above, or may be derived based on the intra-prediction mode of the current block, depending on whether the current block is a square block/non-square block or the like. Alternatively, information about the specific threshold value may be transmitted from the encoder, and the decoder may derive the specific threshold value of the current block based on the information about the received specific threshold value.

[135] Фиг. 11 иллюстрирует пример выбора интерполяционного фильтра на основе расстояния между целевой выборкой текущего блока и опорной выборкой. Устройство кодирования/устройство декодирования может выводить режим интра–предсказания для текущего блока и определять, является ли режим интра–предсказания направленным режимом интра–предсказания (S1100). Направленный режим интра–предсказания может называться угловым предсказанием. Если режим интра–предсказания является ненаправленным режимом интра–предсказания, устройство кодирования/декодирования может выполнять интра–предсказание текущего блока на основе режима интра–предсказания.[135] FIG. 11 illustrates an example of selecting an interpolation filter based on the distance between the target sample of the current block and the reference sample. The encoder/decoder may output the intra prediction mode for the current block and determine whether the intra prediction mode is the directional intra prediction mode (S1100). The directional intra-prediction mode may be referred to as angle prediction. If the intra-prediction mode is a non-directional intra-prediction mode, the encoder/decoder may perform intra-prediction of the current block based on the intra-prediction mode.

[136] Если режим интра–предсказания является направленным режимом интра–предсказания, устройство кодирования/устройство декодирования может определять, является ли расстояние между целевой выборкой текущего блока и опорной выборкой меньшим, чем порог (S1110). Опорная выборка может представлять соседнюю выборку, расположенную в направлении предсказания режима интра–предсказания текущего блока, на основе целевой выборки. Также, значение порога может выводиться на основе размера текущего блока, режима интра–предсказания текущего блока, того, является ли блок квадратным/неквадратным блоком, и тому подобного, как описано выше. Кроме того, информация о значении порога может сигнализироваться, и значение порога текущего блока может выводиться на основе информации о сигнализированном значении порога.[136] If the intra-prediction mode is the directional intra-prediction mode, the encoder/decoder may determine whether the distance between the target sample of the current block and the reference sample is less than a threshold (S1110). The reference sample may represent an adjacent sample located in the intra-prediction mode prediction direction of the current block based on the target sample. Also, the threshold value may be derived based on the size of the current block, the intra-prediction mode of the current block, whether the block is a square/non-square block, and the like as described above. In addition, the threshold value information may be signaled, and the threshold value of the current block may be derived based on the signaled threshold value information.

[137] Если расстояние между целевой выборкой текущего блока и опорной выборкой не меньше, чем значение порога, то есть если расстояние между целевой выборкой и опорной выборкой больше или равно значению порога, устройство кодирования/устройство декодирования может выбирать гауссов фильтр в качестве интерполяционного фильтра текущего блока и выводить опорную выборку целевой выборки в текущем блоке на основе гауссова фильтра (S1120). Здесь, гауссов фильтр представляет собой один из интерполяционных фильтров, имеющих эффект фильтра нижних частот, и опорная выборка целевой выборки может выводиться на основе интерполяционного фильтра, имеющего эффект фильтра нижних частот, отличного от гауссова фильтра. Например, если размер текущего блока больше или равен значению порога, устройство кодирования/устройство декодирования может выбирать интерполяционный фильтр текущего блока в качестве линейного фильтра и выводить опорную выборку целевой выборки в текущем блоке на основе линейного фильтра. [137] If the distance between the target sample of the current block and the reference sample is not less than the threshold value, that is, if the distance between the target sample and the reference sample is greater than or equal to the threshold value, the encoder/decoder may select a Gaussian filter as the interpolation filter of the current block and output a reference sample of the target sample in the current block based on the Gaussian filter (S1120). Here, the Gaussian filter is one of the interpolation filters having a low-pass filter effect, and the target sample reference sample may be derived based on the interpolation filter having a low-pass filter effect other than the Gaussian filter. For example, if the size of the current block is greater than or equal to the threshold value, the encoder/decoder may select the interpolation filter of the current block as a linear filter, and output a reference sample of the target sample in the current block based on the linear filter.

[138] Если расстояние между целевой выборкой текущего блока и опорной выборкой меньше, чем значение порога, устройство кодирования/устройство декодирования может выбирать кубический фильтр в качестве интерполяционного фильтра текущего блока и выводить опорную выборку на основе кубического фильтра (S1130). Здесь, кубический фильтр может представлять собой один из сложных интерполяционных фильтров, как описано выше, и опорная выборка целевой выборки может выводиться на основе сложного интерполяционного фильтра, отличного от кубического фильтра. Дополнительно, кубический фильтр может называться сплайн–фильтром.[138] If the distance between the target sample of the current block and the reference sample is smaller than the threshold value, the encoder/decoder may select a cube filter as an interpolation filter of the current block and output the reference sample based on the cube filter (S1130). Here, the cube filter may be one of the complex interpolation filters as described above, and the reference sample of the target sample may be derived based on the complex interpolation filter other than the cube filter. Additionally, a cubic filter can be called a spline filter.

[139] Устройство кодирования/устройство декодирования может генерировать выборку предсказания целевой выборки на основе выведенной опорной выборки целевой выборки (S1140). Устройство кодирования/устройство декодирования может генерировать выборку предсказания путем копирования опорной выборки. Опорная выборка может копироваться и использоваться в качестве выборки предсказания, и таким образом, может указываться, что выборка предсказания сгенерирована на основе интерполяционного фильтра.[139] The encoder/decoder may generate a target sample prediction sample based on the derived target sample reference sample (S1140). The encoder/decoder may generate a prediction sample by copying the reference sample. The reference sample may be copied and used as a prediction sample, and thus it may be indicated that the prediction sample is generated based on the interpolation filter.

[140] Также, как описано выше, один из интерполяционных фильтров может выбираться, чтобы выводить опорную выборку целевой выборки, но множество интерполяционных фильтров может также использоваться, чтобы выводить опорную выборку[140] Also, as described above, one of the interpolation filters may be selected to output a reference sample of the target sample, but a plurality of interpolation filters may also be used to output the reference sample

[141] Например, когда положение опорной выборки целевой выборки текущего блока представляет собой положение дробной выборки, то есть когда опорная выборка целевой выборки представляет собой дробную выборку, первая опорная выборка может генерироваться на основе первого интерполяционного фильтра, который представляет собой сложный интерполяционный фильтр, вторая опорная выборка может генерироваться на основе второго интерполяционного фильтра, который представляет собой интерполяционный фильтр, имеющий вышеописанный эффект фильтра нижних частот, и третья опорная выборка может генерироваться на основе третьего интерполяционного фильтра, который представляет собой интерполяционный фильтр, отличный от первого интерполяционного фильтра и второго интерполяционного фильтра. Когда первая опорная выборка, вторая опорная выборка и третья опорная выборка сгенерированы, выборка предсказания целевой выборки может генерироваться на основе первой опорной выборки, второй опорной выборки и третьей опорной выборки. Например, среднее первой опорной выборки и второй опорной выборки может выводиться в качестве выборки предсказания целевой выборки, среднее первой опорной выборки и третьей опорной выборки может выводиться в качестве выборки предсказания целевой выборки, среднее второй опорной выборки и третьей опорной выборки может выводиться в качестве выборки предсказания целевой выборки, или среднее первой опорной выборки, второй опорной выборки и третьей опорной выборки может выводиться в качестве выборки предсказания целевой выборки.[141] For example, when the position of the reference sample of the target sample of the current block is the position of a fractional sample, that is, when the reference sample of the target sample is a fractional sample, the first reference sample may be generated based on the first interpolation filter, which is a complex interpolation filter, the second the reference sample may be generated based on the second interpolation filter, which is an interpolation filter having the above-described low-pass filter effect, and the third reference sample may be generated based on the third interpolation filter, which is an interpolation filter other than the first interpolation filter and the second interpolation filter . When the first reference sample, the second reference sample, and the third reference sample are generated, the target sample prediction sample may be generated based on the first reference sample, the second reference sample, and the third reference sample. For example, the average of the first reference sample and the second reference sample may be output as the prediction sample of the target sample, the average of the first reference sample and the third reference sample may be output as the prediction sample of the target sample, the average of the second reference sample and the third reference sample may be output as the prediction sample of the target sample, or the average of the first reference sample, the second reference sample, and the third reference sample, may be output as the prediction sample of the target sample.

[142] Альтернативно, выборка предсказания целевой выборки может выводиться через взвешенное среднее первой опорной выборки и второй опорной выборки, то есть взвешенную сумму первой опорной выборки и второй опорной выборки. Альтернативно, выборка предсказания целевой выборки может выводиться через взвешенную сумму первой опорной выборки и третьей опорной выборки, через взвешенную сумму второй опорной выборки и третьей опорной выборки или через взвешенную сумму первой опорной выборки, второй опорной выборки и третьей опорной выборки. Альтернативно, выборка предсказания целевой выборки может выводиться через взвешенную сумму первой опорной выборки, второй опорной выборки и третьей опорной выборки. Выборка предсказания целевой выборки может генерироваться на основе вышеописанных примеров и комбинаций первой опорной выборки, второй опорной выборки и/или третьей опорной выборки, отличных от вышеописанных примеров.[142] Alternatively, the target sample prediction sample may be derived in terms of a weighted average of the first reference sample and the second reference sample, ie, the weighted sum of the first reference sample and the second reference sample. Alternatively, the target sample prediction sample may be derived through the weighted sum of the first reference sample and the third reference sample, through the weighted sum of the second reference sample and the third reference sample, or through the weighted sum of the first reference sample, the second reference sample and the third reference sample. Alternatively, the prediction sample of the target sample may be derived via a weighted sum of the first reference sample, the second reference sample, and the third reference sample. The target sample prediction sample may be generated based on the examples described above and combinations of the first reference sample, the second reference sample, and/or the third reference sample other than the examples described above.

[143] Конкретно, например, выборка предсказания целевой выборки может генерироваться следующим образом. Если направленный режим интра–предсказания, в котором интра–предсказание выполняется на основе опорной выборки положения дробной выборки, выполняется на текущем блоке, соседние выборки положения целой выборки могут интерполироваться на основе кубического фильтра, так что может выводиться первая опорная выборка, соседние выборки положения целой выборки могут интерполироваться на основе гауссова фильтра, так что может выводиться вторая опорная выборка целевой выборки, и выборка предсказания целевой выборки может генерироваться на основе первой опорной выборки и второй опорной выборки. Здесь, направленный режим интра–предсказания, в котором интра–предсказание выполняется на основе опорной выборки положения дробной выборки, может представлять один из направленных режимов интра–предсказания за исключением режимов интра–предсказания #2, #18, #34, #50 и #66. Кроме того, соседние выборки в положении целой выборки могут представлять соседние выборки около положения дробной выборки, расположенной в направлении предсказания направленного режима интра–предсказания текущего блока, на основе целевой выборки среди соседних выборок текущего блока.[143] Specifically, for example, the target sample prediction sample may be generated as follows. If the directional intra-prediction mode, in which intra-prediction is performed based on a fractional sample position reference sample, is performed on the current block, neighboring integer sample position samples can be interpolated based on a cube filter, so that a first reference sample can be output, neighboring integer position samples the samples may be interpolated based on a Gaussian filter such that a second reference sample of the target sample may be output, and a target sample prediction sample may be generated based on the first reference sample and the second reference sample. Here, the directional intra-prediction mode in which intra-prediction is performed based on the reference sample of the fractional sample position may represent one of the directional intra-prediction modes with the exception of intra-prediction modes #2, #18, #34, #50, and # 66. In addition, neighboring samples at the integer sample position may represent neighboring samples near the fractional sample position located in the direction of intra-prediction directional mode prediction of the current block, based on the target sample among the neighboring samples of the current block.

[144] В другом примере, точность предсказания интра–предсказания повышается по мере уменьшения расстояния между целевой выборкой и опорной выборкой, и таким образом, может быть предложен способ вывода первого веса для первой опорной выборки, сгенерированной на основе первого интерполяционного фильтра, который представляет собой сложный интерполяционный фильтр, и второго веса для второй опорной выборки, сгенерированной на основе второго интерполяционного фильтра, который представляет собой интерполяционный фильтр, имеющий эффект фильтра нижних частот, на основе расстояния между целевой выборкой и опорной выборкой, и взвешенного суммирования первой опорной выборки и второй опорной выборки на основе первого веса и второго веса, чтобы сгенерировать выборку предсказания целевой выборки. Например, первый вес может выводиться как находящийся в обратной пропорции с расстоянием между целевой выборкой и опорной выборкой, и второй вес может выводиться как значение, полученное путем вычитания первого веса из 1. Альтернативно, первый вес и второй вес, используемые здесь, могут масштабироваться с повышением в единицах целых во избежание вычисления с десятичной запятой. Соответственно, первый вес может выводиться как большее значение по мере увеличения расстояния между целевой выборкой и опорной выборкой, и по мере того как расстояние между целевой выборкой и опорной выборкой увеличивается, первый вес может выводиться как меньшее значение. Расстояние между целевой выборкой и опорной выборкой может вычисляться на основе угла предсказания режима интра–предсказания текущего блока и положения целевой выборки. Альтернативно, таблица для размера блока и режима интра–предсказания может сохраняться, и расстояние между целевой выборкой и опорной выборкой может выводиться со ссылкой на таблицу. При этом может избирательно применяться способ для вывода опорной выборки целевой выборки на основе множества интерполяционных фильтров, раскрытый в вышеописанных вариантах осуществления. Например, то, следует ли выводить опорную выборку целевой выборки на основе множества интерполяционных фильтров, может выводиться на основе размера текущего блока, режима интра–предсказания текущего блока, отклонения (дисперсии) значений соседних выборок текущего блока и тому подобного. Альтернативно, может передаваться метка, указывающая, следует ли выводить опорную выборку целевой выборки на основе множества интерполяционных фильтров из устройства кодирования, и то, следует ли выводить опорную выборку целевой выборки на основе множества интерполяционных фильтров, может определяться на основе метки.[144] In another example, the prediction accuracy of intra-prediction increases as the distance between the target sample and the reference sample decreases, and thus, a method can be proposed to derive a first weight for the first reference sample generated based on the first interpolation filter, which is a complex interpolation filter, and a second weight for the second reference sample generated based on the second interpolation filter, which is an interpolation filter having a low-pass filter effect, based on the distance between the target sample and the reference sample, and a weighted sum of the first reference sample and the second reference sample. samples based on the first weight and the second weight to generate a prediction sample of the target sample. For example, the first weight may be output as being inversely proportional to the distance between the target sample and the reference sample, and the second weight may be output as the value obtained by subtracting the first weight from 1. Alternatively, the first weight and second weight used here can be scaled with promotion in integer units to avoid calculation with a decimal point. Accordingly, the first weight may be output as a larger value as the distance between the target sample and the reference sample increases, and as the distance between the target sample and the reference sample increases, the first weight may be output as a smaller value. The distance between the target sample and the reference sample may be calculated based on the prediction angle of the intra-prediction mode of the current block and the position of the target sample. Alternatively, a table for block size and intra-prediction mode may be stored and the distance between the target sample and the reference sample may be derived with reference to the table. Here, the method for deriving the reference sample of the target sample based on the plurality of interpolation filters disclosed in the above-described embodiments can be selectively applied. For example, whether a reference sample of the target sample should be output based on a plurality of interpolation filters may be output based on the size of the current block, the intra-prediction mode of the current block, the variance (variance) of neighboring sample values of the current block, and the like. Alternatively, a label indicating whether to output a target sample reference sample based on the interpolation filter plurality from the encoder may be transmitted, and whether to output the target sample reference sample based on the interpolation filter plurality may be determined based on the label.

[145] Фиг. 12 иллюстрирует пример выведения опорной выборки для целевой выборки текущего блока на основе множества интерполяционных фильтров и выведения выборки предсказания целевой выборки на основе опорной выборки. Устройство кодирования/устройство декодирования может выводить режим интра–предсказания для текущего блока и определять, является ли режим интра–предсказания направленным режимом интра–предсказания (S1200). Направленный режим интра–предсказания может упоминаться как угловое предсказание.[145] FIG. 12 illustrates an example of deriving a reference sample for a target sample of the current block based on a plurality of interpolation filters, and deriving a prediction sample of the target sample based on the reference sample. The encoder/decoder may output the intra prediction mode for the current block and determine whether the intra prediction mode is the directional intra prediction mode (S1200). The directional intra-prediction mode may be referred to as angle prediction.

[146] Если режим интра–предсказания представляет собой ненаправленный режим интра–предсказания, устройство кодирования/декодирования может выполнять интра–предсказание текущего блока на основе ненаправленного режима интра–предсказания (S1210).[146] If the intra-prediction mode is the non-directional intra-prediction mode, the encoding/decoding apparatus may perform intra-prediction of the current block based on the non-directional intra-prediction mode (S1210).

[147] Когда режим интра–предсказания является направленным режимом интра–предсказания, устройство кодирования/устройство декодирования может интерполировать соседние выборки в положениях целой выборки на основе кубического фильтра, чтобы вывести первую опорную выборку целевой выборки (S1220). Здесь, соседние выборки положений целой выборки могут представлять соседние выборки около положения дробной выборки, расположенного в направлении предсказания направленного режима интра–предсказания текущего блока относительно целевой выборки среди соседних выборок текущего блока. Устройство кодирования/устройство декодирования может выполнять интра–предсказание целевой выборки на основе первой опорной выборки (S1230). Устройство кодирования/устройство декодирования может генерировать первую временную выборку предсказания путем копирования первой опорной выборки.[147] When the intra-prediction mode is the directional intra-prediction mode, the encoder/decoder may interpolate adjacent samples at integer sample positions based on a cube filter to derive the first reference sample of the target sample (S1220). Here, neighboring samples of whole sample positions may represent neighboring samples near a fractional sample position located in the direction of intra-prediction directional mode prediction of the current block relative to the target sample among the neighboring samples of the current block. The encoder/decoder may perform target sample intra-prediction based on the first reference sample (S1230). The encoder/decoder may generate the first prediction temporal sample by copying the first reference sample.

[148] Когда режим интра–предсказания представляет собой направленный режим интра–предсказания, устройство кодирования/устройство декодирования интерполирует соседние выборки положений целой выборки на основе гауссова фильтра, чтобы вывести вторую опорную выборку целевой выборки (S1240). Устройство кодирования/устройство декодирования может выполнять интра–предсказание целевой выборки на основе второй опорной выборки (S1240). Устройство кодирования/устройство декодирования может генерировать вторую временную выборку предсказания путем копирования второй опорной выборки.[148] When the intra-prediction mode is the directional intra-prediction mode, the encoder/decoder interpolates neighboring samples of the positions of the entire sample based on the Gaussian filter to derive the second reference sample of the target sample (S1240). The encoder/decoder may perform target sample intra-prediction based on the second reference sample (S1240). The encoder/decoder may generate a second prediction time sample by copying the second reference sample.

[149] Устройство кодирования/устройство декодирования может взвешенно суммировать первую временную выборку предсказания и вторую временную выборку предсказания, чтобы вывести выборку предсказания целевой выборки (S1250). Выборка предсказания может выводиться как сумма значения, полученного путем умножения первого веса α первой временной выборки предсказания на первую временную выборку предсказания, и значения, полученного путем умножения 1–α второй временной выборки предсказания на вторую временную выборку предсказания. Первый вес может выводиться как находящийся в обратной пропорции с расстоянием между целевой выборкой и опорными выборками, как описано выше, и второй вес может выводиться как значение, полученное путем вычитания первого веса из 1. Альтернативно, первый вес и второй вес, используемые в настоящем документе, могут масштабироваться с повышением в единицах целых и выводиться во избежание вычисления с десятичной запятой. Расстояние между целевой выборкой и опорными выборками может быть вычислено на основе угла предсказания режима интра–предсказания текущего блока и положения целевой выборки. Альтернативно, таблица касательно размера блока и режима интра–предсказания может быть сохранена заранее, и расстояние между целевой выборкой и опорными выборками может выводиться со ссылкой на таблицу.[149] The encoder/decoder may weight-add the first prediction temporal sample and the second prediction temporal sample to output a prediction sample of the target sample (S1250). The prediction sample may be output as the sum of the value obtained by multiplying the first weight α of the first prediction time sample by the first prediction time sample and the value obtained by multiplying 1-α of the second prediction time sample by the second prediction time sample. The first weight may be output as being inversely proportional to the distance between the target sample and the reference samples as described above, and the second weight may be output as a value obtained by subtracting the first weight from 1. Alternatively, the first weight and second weight used herein , can be scaled up in integer units and output to avoid decimal point calculations. The distance between the target sample and the reference samples can be calculated based on the prediction angle of the intra-prediction mode of the current block and the position of the target sample. Alternatively, a table regarding block size and intra-prediction mode may be stored in advance, and the distance between the target sample and the reference samples may be derived with reference to the table.

[150] Фиг. 13 схематично иллюстрирует способ кодирования видео посредством устройства кодирования в соответствии с настоящим раскрытием. Способ, раскрытый на фиг. 13, может выполняться устройством кодирования, раскрытым на фиг. 1. Конкретно, например, этапы S1300–S1340 согласно фиг. 13 могут выполняться модулем предсказания устройства кодирования, и S1350 может выполняться устройством энтропийного кодирования устройства кодирования.[150] FIG. 13 schematically illustrates a video encoding method by an encoding apparatus according to the present disclosure. The method disclosed in FIG. 13 may be performed by the encoder disclosed in FIG. 1. Specifically, for example, steps S1300 to S1340 of FIG. 13 may be performed by a predictor of an encoder, and S1350 may be performed by an entropy encoder of an encoder.

[151] Устройство кодирования определяет режим интра–предсказания для текущего блока (S1300). Устройство кодирования может выполнять различные режимы интра–предсказания, чтобы вывести режим интра–предсказания, имеющий оптимальную стоимость RD, в качестве режима интра–предсказания для текущего блока. Режим интра–предсказания может являться одним из двух ненаправленных режимов предсказания и 33 направленных режимов предсказания. Как описано выше, два ненаправленных режима предсказания могут включать в себя режим интра–DC и интра–планарный режим. Альтернативно, режим интра–предсказания может являть одним из двух ненаправленных режимов интра–предсказания и 65 направленных режимов интра–предсказания. Как описано выше, два ненаправленных режима предсказания могут включать в себя режим интра–DC и интра–планарный режим. Кроме того, 65 направленных режимов интра–предсказания могут включать в себя вертикальные направленные режимы интра–предсказания и горизонтальные направленные режимы интра–предсказания. Вертикальные направленные режимы интра–предсказания могут включать в себя от режима интра–предсказания #34 до режима интра–предсказания #66, и горизонтальные направленные режимы интра–предсказания могут включать в себя от режима интра–предсказания #2 до режима интра–предсказания #33.[151] The encoding device determines the intra-prediction mode for the current block (S1300). The encoder may perform various intra-prediction modes to output an intra-prediction mode having an optimal RD cost as the intra-prediction mode for the current block. The intra-prediction mode can be one of two non-directional prediction modes and 33 directional prediction modes. As described above, the two non-directional prediction modes may include an intra-DC mode and an intra-planar mode. Alternatively, the intra-prediction mode may be one of two non-directional intra-prediction modes and 65 directional intra-prediction modes. As described above, the two non-directional prediction modes may include an intra-DC mode and an intra-planar mode. In addition, the 65 directional intra-prediction modes may include vertical directional intra-prediction modes and horizontal directional intra-prediction modes. Vertical directional intra-prediction modes may include intra-prediction mode #34 to intra-prediction mode #66, and horizontal directional intra-prediction modes may include intra-prediction mode #2 to intra-prediction mode #33 .

[152] Устройство кодирования выводит соседние выборки, включающие в себя левые соседние выборки и верхние соседние выборки текущего блока (S1310). Устройство кодирования может выводить соседние выборки текущего блока. Соседние выборки могут включать в себя левые соседние выборки и верхние соседние выборки. Кроме того, соседние выборки могут включать в себя левые верхние выборки. Левые соседние выборки, левые верхние соседние выборки и верхние соседние выборки могут выводиться из соседних блоков, уже реконструированных во время декодирования текущего блока. Могут выводиться 2N верхних соседних выборок, левых верхних соседних выборок и 2N левых соседних выборок текущего блока. Если размер текущего блока составляет N×N и компонент x верхней левой выборки текущего блока равен 0, и его компонент y равен 0, левые соседние выборки могут представлять собой от p[–1][0] до p[–1][2N–1], левая верхняя соседняя выборка может представлять собой p[–1][–1], и верхние соседние выборки могут представлять собой от p[0][–1] до p[2N–1][–1].[152] The encoder outputs neighbor samples including left neighbor samples and top neighbor samples of the current block (S1310). The encoder may output adjacent samples of the current block. Neighbor samples may include left neighbor samples and top neighbor samples. In addition, adjacent samples may include the top left samples. Left neighbor samples, left top neighbor samples, and top neighbor samples may be derived from neighboring blocks already reconstructed at the time of decoding the current block. The 2N top neighbor samples, the top left neighbor samples, and the 2N left neighbor samples of the current block can be output. If the size of the current block is N×N and the x component of the top left sample of the current block is 0 and its y component is 0, the left adjacent samples may be p[–1][0] to p[–1][2N– 1], the left upper adjacent sample may be p[–1][–1], and the upper adjacent samples may be p[0][–1] to p[2N–1][–1].

[153] Альтернативно, когда размер текущего блока составляет M×N, и компонент x верхней левой выборки текущего блока равен 0, и его компонент y равен 0, могут выводиться M+N верхних соседних выборок, левые верхние соседние выборки и M–N левых соседних выборок текущего блока. Если размер текущего блока имеет неквадратную форму M×N, и компонент x верхней левой выборки текущего блока равен 0, и его компонент y равен 0, левые соседние выборки могут представлять собой от p[–1][0] до p[–1][M+N–1], левая верхняя соседняя выборка может представлять собой p[–1][–1], и верхние соседние выборки могут представлять собой от p[0][–1] до p[M+N–1][–1].[153] Alternatively, when the size of the current block is M×N and the x component of the top left sample of the current block is 0 and its y component is 0, M+N top neighbor samples, left top neighbor samples, and M-N left neighboring samples of the current block. If the size of the current block is non-square M×N and the x component of the top left sample of the current block is 0 and its y component is 0, the left adjacent samples can be p[–1][0] to p[–1] [M+N–1], the left upper adjacent sample may be p[–1][–1], and the upper adjacent samples may be p[0][–1] to p[M+N–1] [-1].

[154] Устройство кодирования выводит опорные выборки для предсказания целевой выборки среди соседних выборок на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания (S1320). Устройство кодирования может выводить положение опорной выборки относительно целевой выборки на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания, и когда положение опорной выборки представляет собой положение дробной выборки, устройство кодирования может выводить соседние выборки, расположенные около положения, выведенного на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания, в качестве опорных выборок целевой выборки. То есть устройство кодирования может выводить множество соседних выборок в качестве опорных выборок целевой выборки на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания. Например, четыре соседних выборки могут выводиться в качестве опорных выборок целевой выборки. Здесь, целевая выборка может представлять выборку в текущем блоке, на котором выполняется интра–предсказание. Угол предсказания режима интра–предсказания может выводиться на основе Таблицы 1, описанной выше, и intraPredAngle может представлять собой переменную, указывающую угол предсказания, выведенный из режима интра–предсказания.[154] The encoding device outputs reference samples for predicting a target sample among neighboring samples based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode (S1320). The encoder may derive the position of the reference sample relative to the target sample based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode, and when the position of the reference sample is a fractional sample position, the encoder may output adjacent samples located near the position inferred based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode, as target sample reference samples. That is, the encoder can output a plurality of adjacent samples as reference samples of the target sample based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode. For example, four adjacent samples may be output as reference samples of the target sample. Here, the target sample may represent a sample in the current block on which intra-prediction is performed. The prediction angle of the intra-prediction mode may be derived based on Table 1 described above, and intraPredAngle may be a variable indicating the prediction angle derived from the intra-prediction mode.

[155] Устройство кодирования определяет интерполяционный фильтр для целевой выборки (S1330). Устройство кодирования может определять интерполяционный фильтр для целевой выборки на основе размера текущего блока и/или режима интра–предсказания текущего блока. Также, например, интерполяционный фильтр может определяться, когда положение опорной выборки представляет собой положение дробной выборки, т.е. когда выводится множество опорных выборок.[155] The encoder determines an interpolation filter for the target sample (S1330). The encoder may determine an interpolation filter for the target sample based on the size of the current block and/or the intra-prediction mode of the current block. Also, for example, the interpolation filter may be determined when the reference sample position is a fractional sample position, i. e. when multiple reference samples are output.

[156] Например, интерполяционный фильтр для целевой выборки может определяться на основе размера текущего блока. Например, если размер текущего блока равен 4×4, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока равен 4×4, кубический фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Кубический фильтр представляет собой один из сложных интерполяционных фильтров, и кубический фильтр может называться сплайн–фильтром.[156] For example, the interpolation filter for the target sample may be determined based on the size of the current block. For example, if the current block size is 4x4, a complex interpolation filter may be defined as an interpolation filter for the target sample. Specifically, when the current block size is 4×4, a cube filter may be determined as an interpolation filter for the target sample. The cube filter is one of the complex interpolation filters, and the cube filter can be called a spline filter.

[157] Если текущий блок представляет собой квадратный блок, ширина и высота равны друг другу. То есть поскольку текущий блок представляет собой квадратный блок, имеющий размер N×N, опорный размер (т.е. опорное значение) при выборе интерполяционного фильтра может представлять собой N для направленного режима интра–предсказания любого направления предсказания. При этом, если текущий блок является неквадратным блоком, то есть если текущий блок является неквадратным блоком, имеющим размер M×N, когда режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим вертикальную направленность, размер опорного блока (т.е. опорное значение) для выбора интерполяционного фильтра может составлять M. Аналогично, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим горизонтальную направленность, размер текущего блока (т.е. опорное значение) в качестве опорного для выбора интерполяционного фильтра может составлять N. Альтернативно, напротив, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим вертикальную направленность, интерполяционный фильтр текущего блока может выбираться на основе N, и аналогично, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим горизонтальную направленность, интерполяционный фильтр текущего блока может выбираться на основе M. Однако, в конкретном примере, который будет описан далее, когда режим интра–предсказания, имеющий вертикальную направленность, применяется к текущему блоку, имеющему размер M×N, размер текущего блока в качестве опоры для выбора интерполяционного фильтра может быть представлен посредством M, и аналогично, если режим интра–предсказания, имеющий горизонтальную направленность, применяется к текущему блоку, размер текущего блока может быть представлен посредством N. Здесь, когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания, режим интра–предсказания, имеющий вертикальную направленность, может представлять режимы интра–предсказания #34–#66, и режим интра–предсказания, имеющий горизонтальную направленность, может представлять режимы интра–предсказания #2–#33.[157] If the current block is a square block, the width and height are equal to each other. That is, since the current block is a square block having a size of N×N, the reference size (i.e., the reference value) when choosing an interpolation filter may be N for the intra-prediction directional mode of any prediction direction. Here, if the current block is a non-square block, that is, if the current block is a non-square block having a size of M×N, when the intra-prediction mode of the current block is an intra-prediction mode having vertical directivity, the size of the reference block (i.e., reference value) for selecting an interpolation filter may be M. Similarly, if the current block is a non-square block having a size of M×N and the intra-prediction mode of the current block is an intra-prediction mode having horizontal directivity, the size of the current block (i.e. . reference value) as a reference for selecting the interpolation filter may be N. Alternatively, on the contrary, if the current block is a non-square block having a size of M×N and the intra-prediction mode of the current block is an intra-prediction mode having vertical directivity, the interpolation the filter of the current block may be selected based on N, and similarly, if the current block is a non-square block having a size of M×N and the intra-prediction mode of the current block is an intra-prediction mode having horizontal directivity, the interpolation filter of the current block may be selected based on M. However, in a specific example to be described later, when an intra-prediction mode having a vertical directionality is applied to a current block having a size of M×N, the size of the current block as a reference for selecting an interpolation filter can be represented by M, and similarly, if an intra-prediction mode having a horizontal directionality is applied to the current block, the size of the current block can be represented by N. Here, when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes , an intra-prediction mode having a vertical directionality may represent the intra-prediction modes #34-#66, and an intra-prediction mode having a horizontal directionality may represent the intra-prediction modes #2-#33.

[158] Например, может определяться, является ли размер текущего блока, указанный формой текущего блока и направленностью режима интра–предсказания, меньшим, чем конкретное значение. Если размер текущего блока меньше, чем конкретное значение, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки, а если размер текущего блока не меньше, чем конкретное значение, интерполяционный фильтр, имеющий эффект фильтра нижних частот, может определяться в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока меньше, чем конкретное значение, кубический фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Если размер текущего блока не меньше, чем конкретное значение, гауссов фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Альтернативно, когда размер текущего блока не меньше, чем конкретное значение, линейный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Интерполяционный фильтр, имеющий эффект фильтра нижних частот, может включать в себя гауссов фильтр и линейный фильтр. Здесь, конкретное значение может быть установлено в 4, 8, 16, 32 или тому подобное.[158] For example, it may be determined whether the size of the current block, indicated by the shape of the current block and the directivity of the intra-prediction mode, is smaller than a particular value. If the size of the current block is smaller than a specific value, a complex interpolation filter may be determined as an interpolation filter for the target sample, and if the size of the current block is not smaller than a specific value, an interpolation filter having a low-pass filter effect may be determined as an interpolation filter. for the target sample. Specifically, when the size of the current block is smaller than a specific value, a cube filter may be determined as an interpolation filter for the target sample. If the current block size is not less than a particular value, a Gaussian filter may be defined as an interpolation filter for the target sample. Alternatively, when the current block size is not less than a particular value, a linear filter may be defined as an interpolation filter for the target sample. An interpolation filter having a low pass filter effect may include a Gaussian filter and a linear filter. Here, the specific value may be set to 4, 8, 16, 32 or the like.

[159] Конкретно, когда ширина и высота текущего блока равны (т.е. когда текущий блок представляет собой квадратный блок), может определяться, является ли ширина текущего блока меньшей, чем конкретное значение, и когда ширина текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр для целевой выборки, а когда ширина текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[159] Specifically, when the width and height of the current block are equal (i.e., when the current block is a square block), it can be determined whether the width of the current block is smaller than a specific value, and when the width of the current box is smaller than a specific value. , the target sample interpolation filter may be output as a target sample cube filter, and when the width of the current block is not less than a specific value, the target sample interpolation filter may be output as a Gaussian filter.

[160] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, может определяться, является ли ширина текущего блока меньшей, чем конкретное значение. Когда ширина текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда ширина текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[160] In addition, when the width and height of the current block are different (i.e., when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, it can be determined whether the width of the current block is less than a specific value. When the current block width is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block width is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[161] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, может определяться, является ли высота текущего блока меньшей, чем конкретное значение. Когда высота текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда высота текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[161] In addition, when the width and height of the current block are different (that is, when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, it can be determined whether the height of the current block is less than a specific value. When the current block height is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block height is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[162] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, может определяться, является ли высота текущего блока меньшей, чем конкретное значение. Когда высота текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда высота текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[162] In addition, when the width and height of the current block are different (that is, when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, it can be determined whether the height of the current block is less than a specific value. When the current block height is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block height is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[163] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, может определяться, является ли ширина текущего блока меньшей, чем конкретное значение. Когда ширина текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда ширина текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[163] In addition, when the width and height of the current block are different (that is, when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, it can be determined whether the width of the current block is less than a specific value. When the current block width is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block width is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[164] В другом примере, интерполяционный фильтр для целевой выборки может определяться на основе режима интра–предсказания текущего блока.[164] In another example, the interpolation filter for the target sample may be determined based on the intra-prediction mode of the current block.

[165] Например, может определяться, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем конкретное значение, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки, а если угол предсказания режима интра–предсказания не меньше, чем конкретное значение, интерполяционный фильтр, имеющий эффект фильтра нижних частот, может определяться в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда угол предсказания режима интра–предсказания меньше, чем конкретное значение, кубический фильтр может определяться в качестве интерполяционного фильтра для целевой выборки, а когда угол предсказания режима интра–предсказания не меньше, чем конкретное значение, гауссов фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Альтернативно, когда угол предсказания режима интра–предсказания не меньше, чем конкретное значение, линейный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Интерполяционный фильтр, имеющий эффект фильтра нижних частот, может включать в себя гауссов фильтр и линейный фильтр. Здесь, конкретное значение может быть установлено в 4, 8, 16, 32 или тому подобное. Угол предсказания режима интра–предсказания может выводиться на основе Таблицы 1, описанной выше, и intraPredAngle может указывать угол предсказания режима интра–предсказания. Также, например, конкретное значение может быть установлено в 11.[165] For example, it may be determined whether the intra-prediction mode prediction angle of the current block is smaller than a specific value. If the prediction angle of the intra-prediction mode is less than a specific value, the complex interpolation filter may be determined as an interpolation filter for the target sample, and if the prediction angle of the intra-prediction mode is not smaller than a specific value, an interpolation filter having a low-pass filter effect, can be defined as an interpolation filter for the target sample. Specifically, when the prediction angle of the intra-prediction mode is less than a specific value, a cube filter may be determined as an interpolation filter for the target sample, and when the prediction angle of the intra-prediction mode is not smaller than a specific value, a Gaussian filter may be determined as an interpolation filter. for the target sample. Alternatively, when the prediction angle of the intra-prediction mode is not less than a particular value, a linear filter may be determined as an interpolation filter for the target sample. An interpolation filter having a low pass filter effect may include a Gaussian filter and a linear filter. Here, the specific value may be set to 4, 8, 16, 32 or the like. The prediction angle of the intra prediction mode may be derived based on Table 1 described above, and intraPredAngle may indicate the prediction angle of the intra prediction mode. Also, for example, a specific value can be set to 11.

[166] В другом примере, интерполяционный фильтр для целевой выборки может определяться на основе размера текущего блока и режима интра–предсказания. Если текущий блок является квадратным блоком, ширина и высота одинаковы. Если текущий блок является квадратным блоком, ширина и высота равны друг другу. То есть поскольку текущий блок является квадратным блоком, имеющим размер N×N, опорный размер (т.е. опорное значение) при выборе интерполяционного фильтра может представлять собой N для направленного режима интра–предсказания любого направления предсказания. При этом, если текущий блок является неквадратным блоком, то есть если текущий блок является неквадратным блоком, имеющим размер M×N, когда режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим вертикальную направленность, размер опорного блока (т.е. опорное значение) для выбора интерполяционного фильтра может представлять собой M. Аналогично, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим горизонтальную направленность, размер текущего блока (т.е. опорное значение) в качестве опоры для выбора интерполяционного фильтра может представлять собой N. Альтернативно, напротив, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим вертикальную направленность, интерполяционный фильтр текущего блока может выбираться на основе N, и аналогично, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока является режимом интра–предсказания, имеющим горизонтальную направленность, интерполяционный фильтр текущего блока может выбираться на основе M. Однако, в конкретном примере, который будет описан далее, когда режим интра–предсказания, имеющий вертикальную направленность, применяется к текущему блоку, имеющему размер M×N, размер текущего блока в качестве опоры для выбора интерполяционного фильтра может быть представлен посредством M, и аналогично, если режим интра–предсказания, имеющий горизонтальную направленность, применяется к текущему блоку, размер текущего блока может быть представлен посредством N. Здесь, когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания, режим интра–предсказания, имеющий вертикальную направленность, может представлять режимы интра–предсказания #34–#66, и режим интра–предсказания, имеющий горизонтальную направленность, может представлять режимы интра–предсказания #2–#33.[166] In another example, an interpolation filter for the target sample may be determined based on the size of the current block and the intra-prediction mode. If the current block is a square block, the width and height are the same. If the current block is a square block, the width and height are equal to each other. That is, since the current block is a square block having a size of N×N, the reference size (i.e., the reference value) when selecting the interpolation filter may be N for the directional intra-prediction mode of any prediction direction. Here, if the current block is a non-square block, that is, if the current block is a non-square block having a size of M×N, when the intra-prediction mode of the current block is an intra-prediction mode having vertical directivity, the size of the reference block (i.e., reference value) for selecting an interpolation filter may be M. Similarly, if the current block is a non-square block having a size of M×N, and the intra-prediction mode of the current block is an intra-prediction mode having horizontal directivity, the size of the current block (i.e., e. reference value) as a reference for selecting the interpolation filter may be N. Alternatively, on the contrary, if the current block is a non-square block having a size of M×N and the intra-prediction mode of the current block is an intra-prediction mode having a vertical directivity , the interpolation filter of the current block may be selected based on N, and similarly, if the current block is a non-square block having a size of M×N, and the intra-prediction mode of the current block is an intra-prediction mode having horizontal directivity, the interpolation filter of the current block may be selected based on M. However, in a specific example to be described later, when an intra-prediction mode having a vertical directionality is applied to a current block having a size of M×N, the size of the current block as a reference for selecting an interpolation filter can be represented by M, and similarly, if an intra-prediction mode having a horizontal directionality is applied to the current block, the size of the current block can be represented by N. Here, when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes –prediction, an intra-prediction mode having a vertical directionality may represent the intra-prediction modes #34 to #66, and an intra-prediction mode having a horizontal directionality may represent the intra-prediction modes #2 to #33.

[167] Например, устройство кодирования может определять, является ли размер текущего блока меньшим, чем первое конкретное значение, и когда размер текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять интерполяционный фильтр, имеющий эффект фильтра нижних частот, в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять гауссов фильтр в качестве интерполяционного фильтра. Альтернативно, когда размер текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять линейный фильтр в качестве интерполяционного фильтра.[167] For example, the encoder may determine whether the size of the current block is smaller than the first specific value, and when the size of the current block is not smaller than the first specific value, the encoder may determine an interpolation filter having a low-pass filter effect as interpolation filter for the target sample. Specifically, when the size of the current block is not smaller than the first specific value, the encoder may determine a Gaussian filter as an interpolation filter. Alternatively, when the size of the current block is not smaller than the first specific value, the encoder may determine a linear filter as the interpolation filter.

[168] Конкретно, когда ширина и высота текущего блока равны друг другу, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Когда ширина текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[168] Specifically, when the width and height of the current block are equal to each other, the encoding device may determine whether the width of the current block is smaller than the first specific value. When the width of the current block is not less than the first specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[169] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим вертикальную направленность, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Когда ширина текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[169] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the encoding device may determine whether the width of the current block is smaller than the first specific value. When the width of the current block is not less than the first specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[170] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим горизонтальную направленность, устройство кодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Когда высота текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки. [170] If the width and height of the current block are different from each other, and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, the encoder may determine whether the height of the current block is smaller than the first specific value. When the height of the current block is not less than the first specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[171] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим вертикальную направленность, устройство кодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Когда высота текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки. [171] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the encoder may determine whether the height of the current block is smaller than the first specific value. When the height of the current block is not less than the first specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[172] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим горизонтальную направленность, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Когда ширина текущего блока не меньше, чем первое конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки. [172] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the encoding device may determine whether the width of the current block is smaller than the first specific value. When the width of the current block is not less than the first specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[173] Если размер текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять сложный интерполяционный фильтр в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра.[173] If the size of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the encoder may determine the complex interpolation filter as the interpolation filter for the target sample. Specifically, when the current block size is smaller than the first specific value, the encoder may determine a cube filter as an interpolation filter.

[174] Конкретно, когда ширина и высота текущего блока равны и ширина текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение, и когда угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра.[174] Specifically, when the width and height of the current block are equal and the width of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value, and when the mode prediction angle intra-prediction is less than the second specific value, the encoder may determine a cube filter as an interpolation filter.

[175] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим вертикальную направленность, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра.1[175] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the encoding device may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the encoder may determine a cube filter as an interpolation filter.1

[176] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим горизонтальную направленность, устройство кодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра.[176] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the encoding device may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the encoder may determine a cube filter as an interpolation filter.

[177] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим вертикальную направленность, устройство кодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра.[177] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the encoder may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the encoder may determine a cube filter as an interpolation filter.

[178] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим горизонтальную направленность, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра.[178] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the encoding device may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the encoder may determine a cube filter as an interpolation filter.

[179] Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять интерполяционный фильтр, имеющий эффект фильтра нижних частот, в качестве интерполяционного фильтра для целевой выборки. Конкретно, если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять гауссов фильтр в качестве интерполяционного фильтра. Альтернативно, если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять линейный фильтр в качестве интерполяционного фильтра.[179] If the prediction angle of the intra-prediction mode is not less than the second specific value, the encoding device may determine an interpolation filter having a low-pass filter effect as an interpolation filter for the target sample. Specifically, if the prediction angle of the intra-prediction mode is not smaller than the second specific value, the encoding device may determine a Gaussian filter as an interpolation filter. Alternatively, if the prediction angle of the intra-prediction mode is not less than the second specific value, the coding device may determine a linear filter as an interpolation filter.

[180] Конкретно, если ширина и высота текущего блока равны и ширина текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем конкретное значение, и если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[180] Specifically, if the width and height of the current block are equal and the width of the current block is smaller than the first specific value, the encoding device may determine whether the prediction angle of the intra prediction mode of the current block is smaller than the specific value, and if the prediction angle of the intra prediction mode –predictions not less than the second specific value, the encoder may define a Gaussian filter or a linear filter as the interpolation filter.

[181] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим вертикальную направленность, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[181] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the encoding device may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is not smaller than the second specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter.

[182] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим горизонтальную направленность, устройство кодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[182] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, the encoding device may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is not smaller than the second specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter.

[183] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим вертикальную направленность, устройство кодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[183] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the encoding device may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is not smaller than the second specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter.

[184] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока является направленным режимом интра–предсказания, имеющим горизонтальную направленность, устройство кодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство кодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока не меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[184] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the encoding device may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the encoder may determine whether the intra-prediction mode prediction angle of the current block is not smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter.

[185] В другом примере, текущий блок может разделяться на множество областей, и интерполяционный фильтр каждой области может определяться на основе расстояния между каждой областью и соседними выборками текущего блока. В этом случае, интерполяционный фильтр для целевой выборки может выводиться в качестве интерполяционного фильтра области, включающей в себя целевую выборку. Кроме того, если размер текущего блока больше или равен конкретному размер, текущий блок может разделяться на множество областей. Конкретно, интерполяционные фильтры для областей, более близких к соседним выборкам текущего блока, чем конкретное значение, среди областей, могут определяться как сложные интерполяционные фильтры, и интерполяционные фильтры для областей, более далеких от соседних выборок текущего блока, чем конкретное значение, среди областей, могут определяться в качестве интерполяционных фильтров, имеющих эффект фильтра нижних частот.[185] In another example, the current block may be divided into a plurality of regions, and the interpolation filter of each region may be determined based on the distance between each region and adjacent samples of the current block. In this case, the interpolation filter for the target sample may be output as an interpolation filter of the region including the target sample. In addition, if the size of the current block is greater than or equal to a specific size, the current block may be divided into a plurality of regions. Specifically, interpolation filters for regions closer to neighboring samples of the current block than a specific value among regions may be defined as complex interpolation filters, and interpolation filters for regions further from neighboring samples of the current block than a specific value among regions, can be defined as interpolation filters having the effect of a low pass filter.

[186] При этом, размер множества областей, разделенных из текущего блока, может быть установлен предварительно. Альтернативно, размер множества областей может выводиться на основе размера текущего блока, режима интра–предсказания или тому подобного. Например, в случае, когда режим интра–предсказания текущего блока является одним из режимов интра–предсказания #35–#66, размер разделенных областей текущего блока может выводиться как размер 4×4. Здесь, если текущий блок является блоком, имеющим размер 16×16, текущий блок может разделяться на области, имеющие размер 4×4, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для областей с #0 по #7 в порядке растрового сканирования, и интерполяционный фильтр, имеющий эффект фильтра нижних частот, может определяться в качестве интерполяционных фильтров для других областей. Например, интерполяционные фильтры для областей #0–#7 в порядке растрового сканирования, среди областей, могут определяться как кубические фильтры, и интерполяционные фильтры для других областей могут определяться как гауссовы фильтры или линейные фильтры. Здесь, номера 16 областей, имеющих размер 4×4 в соответствии с порядком растрового сканирования, могут последовательно выводиться в порядке от верхней строки к нижней строке и последовательно выводиться в порядке слева направо в каждой строке. То есть области, включенные в первую строку среди 16 областей, имеющих размер 4×4 текущего блока, могут быть представлены как область #0, область #1, область #2 и область #3 в порядке слева направо, области, включенные во вторую строку, могут быть представлены как область #4, область #5, область #6 и область #7 в порядке слева направо, области, включенные в третью строку, могут быть представлены как область #8, область #9, область #10 и область #11 в порядке слева направо, и области, включенные в четвертую строку, могут быть представлены как область #12, область #13, область #14 и область #15 в порядке слева направо. При этом могут генерироваться размеры разделенных областей текущего блока и информация, указывающая интерполяционный фильтр для каждой из областей.[186] Here, the size of the plurality of regions divided from the current block may be preset. Alternatively, the size of the plurality of regions may be inferred based on the size of the current block, the intra-prediction mode, or the like. For example, in the case where the intra-prediction mode of the current block is one of the intra-prediction modes #35 to #66, the size of the divided areas of the current block may be output as a size of 4×4. Here, if the current block is a block having a size of 16×16, the current block may be divided into regions having a size of 4×4, a complex interpolation filter may be defined as an interpolation filter for the regions #0 to #7 in the order of the raster scan, and an interpolation filter having a low-pass filter effect may be defined as interpolation filters for other regions. For example, interpolation filters for regions #0-#7 in raster scan order, among regions, may be defined as cube filters, and interpolation filters for other regions may be defined as Gaussian filters or linear filters. Here, the numbers of 16 areas having a size of 4×4 according to the raster scan order can be sequentially output in order from the top line to the bottom line, and sequentially output in the order from left to right in each line. That is, the areas included in the first row among the 16 areas having a size of 4×4 of the current block can be represented as area #0, area #1, area #2, and area #3 in order from left to right, the areas included in the second line , may be represented as region #4, region #5, region #6, and region #7 in order from left to right, the regions included in the third row may be represented as region #8, region #9, region #10, and region # 11 in order from left to right, and the areas included in the fourth row may be represented as area #12, area #13, area #14, and area #15 in order from left to right. This may generate sizes of divided areas of the current block and information indicating an interpolation filter for each of the areas.

[187] В другом примере, интерполяционный фильтр для целевой выборки может определяться на основе расстояния между целевой выборкой и опорными выборками. Расстояние между целевой выборкой и опорными выборками может выводиться на основе положения целевой выборки и угла предсказания режима интра–предсказания текущего блока. Например, расстояние может быть вычислено на основе положения целевой выборки и значения тригонометрической функции (например, tanƟ) в соответствии с углом предсказания режима интра–предсказания. Альтернативно, расстояние может выводиться на основе предопределенной таблицы для размера блока и режима интра–предсказания. Альтернативно, расстояние между целевой выборкой и опорными выборками может указывать вертикальное расстояние или горизонтальное расстояние. То есть расстояние между целевой выборкой и опорными выборками может выводиться на основе вертикального расстояния, или расстояние между целевой выборкой и опорными выборками может выводиться на основе горизонтального расстояния. Например, если расстояние между целевой выборкой и опорными выборками указывает вертикальное расстояние, расстояние может выводиться на основе компонента y целевой выборки. Также, если расстояние между целевой выборкой и опорными выборками указывает горизонтальное расстояние, расстояние может выводиться на основе компонента x целевой выборки.[187] In another example, the interpolation filter for the target sample may be determined based on the distance between the target sample and the reference samples. The distance between the target sample and the reference samples can be derived based on the position of the target sample and the prediction angle of the intra-prediction mode of the current block. For example, the distance can be calculated based on the position of the target sample and the value of the trigonometric function (eg, tanƟ) according to the prediction angle of the intra-prediction mode. Alternatively, the distance may be derived based on a predefined table for block size and intra-prediction mode. Alternatively, the distance between the target sample and the reference samples may indicate a vertical distance or a horizontal distance. That is, the distance between the target sample and the reference samples may be derived based on the vertical distance, or the distance between the target sample and the reference samples may be derived based on the horizontal distance. For example, if the distance between the target sample and the reference samples specifies a vertical distance, the distance can be inferred based on the y component of the target sample. Also, if the distance between the target sample and the reference samples indicates a horizontal distance, the distance may be inferred based on the x component of the target sample.

[188] Например, устройство кодирования может выводить расстояние между целевой выборкой и опорными выборками и определять, является ли расстояние меньшим, чем конкретное значение. Если расстояние меньше, чем конкретное значение, устройство кодирования может определять сложный интерполяционный фильтр в качестве интерполяционного фильтра для целевой выборки, а если расстояние не меньше, чем конкретное значение, устройство кодирования может определять интерполяционный фильтр, имеющий эффект фильтра нижних частот, в качестве интерполяционного фильтра для целевой выборки. Конкретно, если расстояние меньше, чем конкретное значение, устройство кодирования может определять кубический фильтр в качестве интерполяционного фильтра для целевой выборки, а если расстояние не меньше, чем конкретное значение, устройство кодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки. Конкретное значение может выводиться на основе размера текущего блока. Альтернативно, конкретное значение может выводиться на основе режима интра–предсказания текущего блока, определения, является ли текущий блок квадратным/неквадратным блоком, или тому подобного. Например, когда размер текущего блока равен N×N, конкретное значение может выводиться как N/2. Дополнительно, информация о конкретном значении может генерироваться, энтропийно кодироваться и передаваться.[188] For example, the encoder may output the distance between the target sample and the reference samples and determine if the distance is less than a particular value. If the distance is less than a specific value, the encoder may determine a complex interpolation filter as an interpolation filter for the target sample, and if the distance is not less than a specific value, the encoder may determine an interpolation filter having a low-pass filter effect as an interpolation filter for the target sample. Specifically, if the distance is less than a specific value, the encoder may determine a cube filter as an interpolation filter for the target sample, and if the distance is not less than a specific value, the encoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample. . A specific value can be inferred based on the size of the current block. Alternatively, the particular value may be derived based on the intra-prediction mode of the current block, determining whether the current block is a square/non-square block, or the like. For example, when the size of the current block is N×N, a specific value may be output as N/2. Additionally, information about a particular value may be generated, entropy encoded, and transmitted.

[189] В другом примере, множество интерполяционных фильтров может определяться как интерполяционный фильтр для целевой выборки. Например, интерполяционные фильтры для целевой выборки могут включать в себя один из сложных интерполяционных фильтров и один из интерполяционных фильтров, имеющих эффект фильтра нижних частот. Альтернативно, интерполяционные фильтры для целевой выборки могут включать в себя один из сложных интерполяционных фильтров и два из интерполяционных фильтров, имеющих эффект фильтра нижних частот. Альтернативно, интерполяционные фильтры для целевой выборки могут включать в себя два из сложных интерполяционных фильтров и один из интерполяционных фильтров, имеющих эффект фильтра нижних частот. Конкретно, интерполяционные фильтры для целевой выборки могут включать в себя кубический фильтр и гауссов фильтр.[189] In another example, a plurality of interpolation filters may be defined as an interpolation filter for the target sample. For example, the interpolation filters for the target sample may include one of the complex interpolation filters and one of the interpolation filters having a low pass filter effect. Alternatively, the interpolation filters for the target sample may include one of the complex interpolation filters and two of the interpolation filters having a low pass filter effect. Alternatively, the interpolation filters for the target sample may include two of the complex interpolation filters and one of the interpolation filters having a low pass filter effect. Specifically, the interpolation filters for the target sample may include a cubic filter and a Gaussian filter.

[190] Устройство кодирования выводит выборку предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок (S1340). Устройство кодирования может выводить коэффициенты фильтрации интерполяционного фильтра на основе положения целевой выборки и угла предсказания режима интра–предсказания и выводить выборку предсказания целевой выборки на основе коэффициентов фильтрации и опорных выборок. Например, четыре соседних выборки среди соседних выборок текущего блока могут выводиться как опорные выборки, и могут выводиться четыре коэффициента фильтрации интерполяционного фильтра. Устройство кодирования может интерполировать опорные выборки на основе коэффициентов фильтрации, чтобы вывести выборку предсказания. Выборка предсказания может выводиться на основе уравнения 1, описанного выше.[190] The encoding device outputs a prediction sample of the target sample based on the interpolation filter and the reference samples (S1340). The encoder may derive the filter coefficients of the interpolation filter based on the position of the target sample and the prediction angle of the intra-prediction mode, and output the prediction sample of the target sample based on the filter coefficients and the reference samples. For example, four adjacent samples among the neighboring samples of the current block may be output as reference samples, and four interpolation filter coefficients may be output. The encoder may interpolate the reference samples based on the filter coefficients to derive a prediction sample. The prediction sample may be derived based on Equation 1 described above.

[191] Дополнительно, когда множество интерполяционных фильтров определены в качестве интерполяционных фильтров для целевой выборки, устройство кодирования может выводить (временные) выборки предсказания на основе каждого интерполяционного фильтра и выводить выборку предсказания целевой выборки на основе выведенной (временной) выборки предсказания. Например, выборка предсказания целевой выборки может выводиться путем усреднения (временных) выборок предсказания или может выводиться путем взвешенного суммирования (временных) выборок предсказания. Причем, то, определено ли множество интерполяционных фильтров в качестве интерполяционного фильтра для целевой выборки, может быть выведено на основе размера текущего блока, режима интра–предсказания текущего блока, отклонения (дисперсии) значений соседних выборок текущего блока и тому подобного. Кроме того, может генерироваться метка, указывающая, определено ли множество интерполяционных фильтров в качестве интерполяционных фильтров для целевой выборки.[191] Additionally, when a plurality of interpolation filters are defined as interpolation filters for the target sample, the encoder may derive (temporal) prediction samples based on each interpolation filter, and output a prediction sample of the target sample based on the derived (temporal) prediction sample. For example, the prediction sample of the target sample may be derived by averaging the (temporal) prediction samples, or may be derived by weighted summing the (temporal) prediction samples. Moreover, whether a set of interpolation filters is determined as an interpolation filter for the target sample can be inferred based on the size of the current block, the intra-prediction mode of the current block, the deviation (variance) of values of neighboring samples of the current block, and the like. In addition, a label may be generated indicating whether a plurality of interpolation filters is defined as interpolation filters for the target sample.

[192] Например, интерполяционные фильтры для целевой выборки могут включать в себя кубический фильтр и гауссов фильтр. В этом случае, устройство кодирования может выводить коэффициенты фильтрации кубического фильтра на основе положения целевой выборки и угла предсказания режима интра–предсказания и может выводить коэффициенты фильтрации гауссова фильтра на основе положения целевой выборки и угла предсказания режима интра–предсказания. Устройство кодирования может выводить первую выборку предсказания для целевой выборки на основе коэффициентов фильтра кубического фильтра и опорных выборок, выводить вторую выборку предсказания для целевой выборки на основе коэффициентов фильтрации гауссова фильтра и опорных выборок и выводить выборку предсказания целевой выборки на основе первой выборки предсказания и второй выборки предсказания. Выборка предсказания целевой выборки может выводиться путем усреднения первой выборки предсказания и второй выборки предсказания. Альтернативно, выборка предсказания целевой выборки может выводиться путем взвешенного суммирования первой выборки предсказания и второй выборки предсказания. В этом случае, вес для первой выборки предсказания может находиться в обратной пропорции с расстоянием между целевой выборкой и опорными выборками, и вес для второй выборки предсказания может выводиться как значение, полученное путем вычитания веса для первой выборки предсказания из 1. Альтернативно, первый вес и второй вес, используемые здесь, могут масштабироваться с повышением в единицах целых и выводиться во избежание вычисления с десятичной запятой.[192] For example, interpolation filters for the target sample may include a cubic filter and a Gaussian filter. In this case, the coding device may derive the filter coefficients of the cube filter based on the position of the target sample and the prediction angle of the intra-prediction mode, and may derive the filter coefficients of the Gaussian filter based on the position of the target sample and the prediction angle of the intra-prediction mode. The encoder may output a first prediction sample for a target sample based on the cube filter coefficients and the reference samples, output a second prediction sample for the target sample based on the Gaussian filter coefficients and the reference samples, and output a prediction sample of the target sample based on the first prediction sample and the second sample. predictions. The prediction sample of the target sample may be derived by averaging the first prediction sample and the second prediction sample. Alternatively, the prediction sample of the target sample may be derived by a weighted sum of the first prediction sample and the second prediction sample. In this case, the weight for the first prediction sample may be inversely proportional to the distance between the target sample and the reference samples, and the weight for the second prediction sample may be output as a value obtained by subtracting the weight for the first prediction sample from 1. Alternatively, the first weight and the second weight used here can be scaled up in units of integers and output to avoid decimal point calculations.

[193] Также, например, интерполяционные фильтры для целевой выборки могут включать в себя кубический фильтр и линейный фильтр. В этом случае, устройство кодирования может выводить коэффициенты фильтрации кубического фильтра на основе положения опорной выборки и может выводить коэффициенты фильтрации линейного фильтра на основе положения опорной выборки. Устройство кодирования может выводить первую выборку предсказания для целевой выборки на основе коэффициентов фильтрации кубического фильтра и опорных выборок, выводить вторую выборку предсказания для целевой выборки на основе коэффициентов фильтрации линейного фильтра и опорных выборок и выводить выборку предсказания целевой выборки на основе первой выборки предсказания и второй выборки предсказания. Выборка предсказания целевой выборки может выводиться путем усреднения первой выборки предсказания и второй выборки предсказания. Альтернативно, выборка предсказания целевой выборки может выводиться путем взвешенного суммирования первой выборки предсказания и второй выборки предсказания. В этом случае, вес для первой выборки предсказания может находиться в обратной пропорции с расстоянием между целевой выборкой и опорными выборками, и вес для второй выборки предсказания может выводиться как значение, получаемое путем вычитания веса для первой выборки предсказания из 1. Альтернативно, первый вес и второй вес, используемые здесь, могут масштабироваться с повышением в единицах целых и выводиться во избежание вычисления с десятичной запятой.[193] Also, for example, interpolation filters for the target sample may include a cube filter and a linear filter. In this case, the encoder may derive the filter coefficients of the cube filter based on the position of the reference sample, and may derive the filter coefficients of the linear filter based on the position of the reference sample. The encoder may output a first prediction sample for the target sample based on the cube filter filter coefficients and the reference samples, output a second prediction sample for the target sample based on the linear filter filter coefficients and the reference samples, and output a prediction sample of the target sample based on the first prediction sample and the second sample. predictions. The prediction sample of the target sample may be derived by averaging the first prediction sample and the second prediction sample. Alternatively, the prediction sample of the target sample may be derived by a weighted sum of the first prediction sample and the second prediction sample. In this case, the weight for the first prediction sample may be inversely proportional to the distance between the target sample and the reference samples, and the weight for the second prediction sample may be output as a value obtained by subtracting the weight for the first prediction sample from 1. Alternatively, the first weight and the second weight used here can be scaled up in units of integers and output to avoid decimal point calculations.

[194] В другом примере, если режим MPM (наиболее вероятный режим) применяется к текущему блоку, чтобы вывести режим интра–предсказания текущего блока на основе режима интра–предсказания соседнего блока текущего блока, и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, а не планарный режим или режим DC, интерполяционный фильтр для целевой выборки может определяться на основе соседних блоков, выбранных через соседний режим MPM. То есть интерполяционный фильтр, используемый в соседнем блоке, может выводиться в качестве интерполяционного фильтра для целевой выборки. Если режим MPM применяется к текущему блоку, устройство кодирования может определять список MPM на основе режима интра–предсказания для левого или верхнего соседнего блока текущего блока и определять режим интра–предсказания на основе списка MPM.[194] In another example, if the MPM (most likely mode) mode is applied to the current block to derive the intra-prediction mode of the current block based on the intra-prediction mode of the neighboring block of the current block, and the intra-prediction mode of the current block is a directional mode intra-prediction rather than planar or DC mode, the interpolation filter for the target sample can be determined based on adjacent blocks selected via adjacent MPM mode. That is, an interpolation filter used in an adjacent block can be output as an interpolation filter for the target sample. If the MPM mode is applied to the current block, the encoder may determine the MPM list based on the intra-prediction mode for the left or top neighbor block of the current block, and determine the intra-prediction mode based on the MPM list.

[195] Устройство кодирования генерирует информацию предсказания для текущего блока, кодирует информацию предсказания и выводит кодированную информацию предсказания (S1350). Устройство кодирования может кодировать информацию предсказания для текущего блока и выводить кодированную информацию в форме потока битов. Информация предсказания может включать в себя информацию о режиме интра–предсказания текущего блока. Устройство кодирования может генерировать информацию о режиме интра–предсказания, указывающую режим интра–предсказания, кодировать информацию режима интра–предсказания и выводить информацию в виде потока битов. Информация режима интра–предсказания может включать в себя информацию, непосредственно указывающую режим интра–предсказания для текущего блока, или может включать в себя информацию, указывающую любой один кандидат в списке кандидатов режима интра–предсказания, полученном на основе режима интра–предсказания левого или верхнего блока текущего блока. Список кандидатов режима интра–предсказания может указывать список MPM.[195] The encoding device generates prediction information for the current block, encodes the prediction information, and outputs the encoded prediction information (S1350). The encoder may encode the prediction information for the current block and output the encoded information in the form of a bitstream. The prediction information may include information about the intra-prediction mode of the current block. The encoder may generate intra prediction mode information indicating the intra prediction mode, encode the intra prediction mode information, and output the information as a bit stream. The intra prediction mode information may include information directly indicating the intra prediction mode for the current block, or may include information indicating any one candidate in the intra prediction mode candidate list obtained based on the left or upper intra prediction mode. block of the current block. The intra-prediction mode candidate list may indicate a list of MPMs.

[196] Кроме того, когда текущий блок разделяется на множество областей, информация предсказания может включать в себя информацию, указывающую размер разделенных областей текущего блока и интерполяционный фильтр каждой области. Кроме того, когда интерполяционный фильтр для целевой выборки выбирается на основе размера текущего блока, режима интра–предсказания текущего блока или расстояния между целевой выборкой и опорными выборками, информация предсказания может включать в себя информацию касательно конкретного значения, используемого для выбора интерполяционного фильтра для целевой выборки. Когда интерполяционный фильтр выбирается на основе размера текущего блока и режима интра–предсказания текущего блока, информация предсказания может включать в себя информацию касательно первого конкретного значения и информацию касательно второго конкретного значения. Также, информация предсказания может включать в себя метку, указывающую, определено ли множество интерполяционных фильтров в качестве интерполяционных фильтров для целевой выборки. Когда метка указывает, что множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, выборка предсказания для целевой выборки может выводиться на основе множества интерполяционных фильтров, и когда метка указывает, что множество интерполяционных фильтров не определено в качестве интерполяционных фильтров для целевой выборки, выборка предсказания для целевой выборки может не выводиться на основе множества интерполяционных фильтров. Например, когда значение метки представляет собой 1, метка может указывать, что множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, и когда значение метки представляет собой 0, метка может указывать, что множество интерполяционных фильтров не определено в качестве интерполяционных фильтров для целевой выборки. Информация предсказания может сигнализироваться через набор параметров видео (VPS), набор параметров последовательности (SPS), набор параметров картинки (PPS) или заголовок сегмента вырезки или может сигнализироваться на основе блока.[196] In addition, when the current block is divided into a plurality of areas, the prediction information may include information indicating the size of the divided areas of the current block and an interpolation filter of each area. In addition, when an interpolation filter for the target sample is selected based on the size of the current block, the intra-prediction mode of the current block, or the distance between the target sample and the reference samples, the prediction information may include information regarding a specific value used to select the interpolation filter for the target sample. . When the interpolation filter is selected based on the size of the current block and the intra-prediction mode of the current block, the prediction information may include information regarding the first specific value and information regarding the second specific value. Also, the prediction information may include a label indicating whether a plurality of interpolation filters are determined as interpolation filters for the target sample. When the mark indicates that the interpolation filter set is defined as interpolation filters for the target sample, the prediction sample for the target sample may be derived based on the interpolation filter set, and when the mark indicates that the interpolation filter set is not defined as interpolation filters for the target sample, the sample predictions for the target sample may not be derived based on multiple interpolation filters. For example, when the label value is 1, the label may indicate that the interpolation filter set is defined as interpolation filters for the target sample, and when the label value is 0, the label may indicate that the interpolation filter set is not defined as interpolation filters for the target sample. samples. The prediction information may be signaled via a Video Parameter Set (VPS), a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), or a slice segment header, or may be signaled on a block basis.

[197] Фиг. 14 схематично иллюстрирует способ декодирования видео посредством устройства декодирования в соответствии с настоящим раскрытием. Способ, раскрытый на фиг. 14, может выполняться посредством устройства декодирования, раскрытого на фиг. 4. Конкретно, например, этапы S1400–S1440 согласно фиг. 14 могут выполняться посредством модуля предсказания устройства декодирования.[197] FIG. 14 schematically illustrates a video decoding method by a decoding apparatus according to the present disclosure. The method disclosed in FIG. 14 may be performed by the decoding apparatus disclosed in FIG. 4. Specifically, for example, steps S1400 to S1440 of FIG. 14 may be performed by the prediction unit of the decoding apparatus.

[198] Устройство декодирования выводит режим интра–предсказания для текущего блока (S1400). Устройство декодирования может получать информацию предсказания о текущем блоке через поток битов. Информация предсказания может включать в себя информацию, непосредственно указывающую режим интра–предсказания для текущего блока, или включать в себя информацию, указывающую любой из кандидатов в списке кандидатов режима интра–предсказания, выведенном на основе режима интра–предсказания левого или верхнего блока текущего блока. Список кандидатов режима интра–предсказания может называться списком кандидатов MPM. Устройство декодирования может выводить режим интра–предсказания для текущего блока на основе полученной информации предсказания. Режим интра–предсказания может представлять собой один из двух ненаправленных режимов предсказания и 33 направленных режимов предсказания. Как описано выше, два ненаправленных режима предсказания могут включать в себя режим интра–DC и интра–планарный режим. Альтернативно, режим интра–предсказания может представлять собой один из двух ненаправленных режимов интра–предсказания и 65 направленных режимов интра–предсказания. Как описано выше, два ненаправленных режима предсказания могут включать в себя режим интра–DC и интра–планарный режим. Кроме того, 65 направленных режимов интра–предсказания могут включать в себя вертикально направленные режимы интра–предсказания и горизонтально направленные режимы интра–предсказания. Вертикально направленные режимы интра–предсказания могут включать в себя от режима интра–предсказания #34 до режима интра–предсказания #66, и горизонтально направленные режимы интра–предсказания могут включать в себя от режима интра–предсказания #2 до режима интра–предсказания #33.[198] The decoding device outputs the intra-prediction mode for the current block (S1400). The decoder may obtain prediction information about the current block via the bit stream. The prediction information may include information directly indicating the intra prediction mode for the current block, or include information indicating any of the candidates in the intra prediction mode candidate list derived based on the left or top block intra prediction mode of the current block. The intra-prediction mode candidate list may be referred to as the MPM candidate list. The decoding apparatus may derive an intra-prediction mode for the current block based on the received prediction information. The intra-prediction mode can be one of two non-directional prediction modes and 33 directional prediction modes. As described above, the two non-directional prediction modes may include an intra-DC mode and an intra-planar mode. Alternatively, the intra-prediction mode may be one of two non-directional intra-prediction modes and 65 directional intra-prediction modes. As described above, the two non-directional prediction modes may include an intra-DC mode and an intra-planar mode. In addition, the 65 directional intra-prediction modes may include vertically directional intra-prediction modes and horizontally directional intra-prediction modes. Vertically directional intra-prediction modes may include intra-prediction mode #34 to intra-prediction mode #66, and horizontally directional intra-prediction modes may include intra-prediction mode #2 to intra-prediction mode #33 .

[199] Устройство декодирования выводит соседние выборки, включающие в себя левые соседние выборки и верхние соседние выборки текущего блока (S1410). Устройство декодирования может выводить соседние выборки текущего блока. Соседние выборки могут включать в себя левые соседние выборки и верхние соседние выборки. Кроме того, соседние выборки могут включать в себя левые верхние выборки. Левые соседние выборки, левая верхняя соседняя выборка и верхние соседние выборки могут выводиться из соседних блоков, уже реконструированных во время декодирования текущего блока. Могут выводиться 2N верхних соседних выборок, левые верхние соседние выборки и 2N левых соседних выборок текущего блока. Если размер текущего блока равен N×N, и компонент x верхней левой выборки текущего блока представляет собой 0, и его компонент y представляет собой 0, левые соседние выборки могут представлять собой от p[–1][0] до p[–1][2N–1], левая верхняя соседняя выборка может представлять собой p[–1][–1], и верхние соседние выборки могут представлять собой от p[0][–1] до p[2N–1][–1].[199] The decoding apparatus outputs adjacent samples including left adjacent samples and top adjacent samples of the current block (S1410). The decoder may output adjacent samples of the current block. Neighbor samples may include left neighbor samples and top neighbor samples. In addition, adjacent samples may include the top left samples. The left neighbor samples, the left upper neighbor sample, and the upper neighbor samples may be derived from neighboring blocks already reconstructed at the time of decoding the current block. The 2N top neighbor samples, the top left neighbor samples, and the 2N left neighbor samples of the current block can be output. If the size of the current block is N×N and the x component of the top left sample of the current block is 0 and its y component is 0, the left adjacent samples may be p[–1][0] to p[–1] [2N–1], the left upper adjacent sample may be p[–1][–1], and the upper adjacent samples may be p[0][–1] to p[2N–1][–1] .

[200] Альтернативно, когда размер текущего блока равен M×N, и компонент x верхней левой выборки текущего блока представляет собой 0, и его компонент y представляет собой 0, могут выводиться M+N верхних соседних выборок, левые верхние соседние выборки и M–N левых соседних выборок текущего блока. Если размер текущего блока имеет неквадратную форму M×N, и компонент x верхней левой выборки текущего блока представляет собой 0, и его компонент y представляет собой 0, левые соседние выборки могут представлять собой от p[–1][0] до p[–1][M+N–1], левая верхняя соседняя выборка может представлять собой p[–1][–1], и верхние соседние выборки могут представлять собой от p[0][–1] до p[M+N–1][–1].[200] Alternatively, when the current block size is M×N and the x component of the top left sample of the current block is 0 and its y component is 0, M+N top neighbor samples, top left neighbor samples, and M– N left adjacent samples of the current block. If the size of the current block is non-square M×N and the x component of the top left sample of the current block is 0 and its y component is 0, the left adjacent samples may be p[–1][0] to p[– 1][M+N–1], the left upper adjacent sample may be p[–1][–1], and the upper adjacent samples may be p[0][–1] to p[M+N– 1][–1].

[201] Устройство декодирования выводит опорные выборки для предсказания целевой выборки среди соседних выборок на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания (S1420). Устройство декодирования может выводить положение опорной выборки относительно целевой выборки на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания, и когда положение опорной выборки представляет собой положение дробной выборки, устройство декодирования может выводить соседние выборки, расположенные около положения, выведенного на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания, в качестве опорных выборок целевой выборки. То есть устройство декодирования может выводить множество соседних выборок в качестве опорных выборок целевой выборки на основе положения целевой выборки текущего блока и угла предсказания режима интра–предсказания. Например, четыре соседних выборки могут выводиться как опорные выборки целевой выборки. Здесь, целевая выборка может представлять выборку в текущем блоке, на котором выполняется интра–предсказание. Угол предсказания режима интра–предсказания может выводиться на основе Таблицы 1, описанной выше, и intraPredAngle может представлять собой переменную, указывающую угол предсказания, выведенный из режима интра–предсказания.[201] The decoding apparatus outputs reference samples for predicting a target sample among neighboring samples based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode (S1420). The decoder may derive the position of the reference sample relative to the target sample based on the position of the target sample of the current block and the intra-prediction mode prediction angle, and when the position of the reference sample is a fractional sample position, the decoder may output adjacent samples located near the position derived based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode, as target sample reference samples. That is, the decoding apparatus can output a plurality of neighboring samples as reference samples of the target sample based on the position of the target sample of the current block and the prediction angle of the intra-prediction mode. For example, four adjacent samples may be output as reference samples of the target sample. Here, the target sample may represent a sample in the current block on which intra-prediction is performed. The intra-prediction mode prediction angle may be derived based on Table 1 described above, and intraPredAngle may be a variable indicating the prediction angle derived from the intra-prediction mode.

[202] Устройство декодирования определяет интерполяционный фильтр для целевой выборки (S1430). Устройство декодирования может определять интерполяционный фильтр для целевой выборки на основе размера текущего блока и/или режима интра–предсказания текущего блока. Также, например, интерполяционный фильтр может определяться, когда положение опорной выборки представляет собой положение дробной выборки.[202] The decoder determines an interpolation filter for the target sample (S1430). The decoder may determine an interpolation filter for the target sample based on the size of the current block and/or the intra-prediction mode of the current block. Also, for example, the interpolation filter may be determined when the reference sample position is a fractional sample position.

[203] Например, интерполяционный фильтр для целевой выборки может определяться на основе размера текущего блока. Например, если размер текущего блока равен 4×4, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока равен 4×4, кубический фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Кубический фильтр представляет собой один из сложных интерполяционных фильтров, и кубический фильтр может называться сплайн–фильтром.[203] For example, the interpolation filter for the target sample may be determined based on the size of the current block. For example, if the current block size is 4×4, a complex interpolation filter may be defined as an interpolation filter for the target sample. Specifically, when the current block size is 4×4, a cube filter may be determined as an interpolation filter for the target sample. The cube filter is one of the complex interpolation filters, and the cube filter can be called a spline filter.

[204] Также, если текущий блок является квадратным блоком, ширина и высота равны друг другу. То есть поскольку текущий блок является квадратным блоком, имеющим размер N×N, опорный размер (т.е. опорное значение) при выборе интерполяционного фильтра может представлять собой N для направленного режима интра–предсказания любого направления предсказания. При этом, если текущий блок является неквадратным блоком, то есть если текущий блок является неквадратный блок, имеющим размер M×N, когда режим интра–предсказания текущего блока представляет собой режим интра–предсказания, имеющий вертикальную направленность, размер опорного блока (т.е. опорное значение) для выбора интерполяционного фильтра может представлять собой M. Аналогично, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока представляет собой режим интра–предсказания, имеющий горизонтальную направленность, размер текущего блока (т.е. опорное значение) в качестве опоры для выбора интерполяционного фильтра может представлять собой N. Альтернативно, напротив, если текущий блок является неквадратным блоком, имеющий размер M×N, и режим интра–предсказания текущего блока представляет собой режим интра–предсказания, имеющий вертикальную направленность, интерполяционный фильтр текущего блока может выбираться на основе N, и аналогично, если текущий блок является неквадратным блоком, имеющим размер M×N, и режим интра–предсказания текущего блока представляет собой режим интра–предсказания, имеющий горизонтальную направленность, интерполяционный фильтр текущего блока может выбираться на основе M. Однако, в конкретном примере, который будет описан далее, когда режим интра–предсказания, имеющий вертикальную направленность, применяется к текущему блоку, имеющему размер M×N, размер текущего блока в качестве опоры для выбора интерполяционного фильтра может быть представлен посредством M, и аналогично, если режим интра–предсказания, имеющий горизонтальную направленность, применяется к текущему блоку, размер текущего блока может быть представлен посредством N. Здесь, когда режим интра–предсказания включает в себя 65 направленных режимов интра–предсказания и два ненаправленных режима интра–предсказания, режим интра–предсказания, имеющий вертикальную направленность, может представлять режимы интра–предсказания #34–#66, и режим интра–предсказания, имеющий горизонтальную направленность, может представлять режимы интра–предсказания #2–#33.[204] Also, if the current block is a square block, the width and height are equal to each other. That is, since the current block is a square block having a size of N×N, the reference size (i.e., the reference value) when selecting the interpolation filter may be N for the directional intra-prediction mode of any prediction direction. Here, if the current block is a non-square block, that is, if the current block is a non-square block having a size of M×N, when the intra-prediction mode of the current block is an intra-prediction mode having vertical directivity, the size of the reference block (i.e., . reference value) for selecting an interpolation filter may be M. Similarly, if the current block is a non-square block having a size of M×N and the intra-prediction mode of the current block is an intra-prediction mode having a horizontal directivity, the size of the current block ( i.e., the reference value) as a reference for selecting the interpolation filter may be N. Alternatively, on the contrary, if the current block is a non-square block having a size of M×N and the intra-prediction mode of the current block is the intra-prediction mode, having a vertical directivity, the interpolation filter of the current block may be selected based on N, and similarly, if the current block is a non-square block having a size of M×N, and the intra-prediction mode of the current block is an intra-prediction mode having a horizontal directivity, the interpolation filter of the current block may be selected based on M. However, in a specific example to be described later, when an intra-prediction mode having a vertical directionality is applied to a current block having a size of M×N, the size of the current block as a reference for selecting the interpolation filter can be represented by M, and similarly, if an intra-prediction mode having a horizontal directionality is applied to the current block, the size of the current block can be represented by N. Here, when the intra-prediction mode includes 65 directional intra-prediction modes and two non-directional intra-prediction modes, an intra-prediction mode having a vertical directionality may represent the intra-prediction modes #34-#66, and an intra-prediction mode having a horizontal directionality may represent the intra-prediction modes #2-#33.

[205] Также, например, может быть определено, является ли размер текущего блока, указанный формой текущего блока и направленностью режима интра–предсказания, меньшим, чем конкретное значение. Если размер текущего блока меньше, чем конкретное значение, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки, и если размер текущего блока не меньше, чем конкретное значение, интерполяционный фильтр, имеющий эффект фильтра нижних частот, может определяться в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока меньше, чем конкретное значение, кубический фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Если размер текущего блока не меньше, чем конкретное значение, гауссов фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Альтернативно, когда размер текущего блока не меньше, чем конкретное значение, линейный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Интерполяционный фильтр, имеющий эффект фильтра нижних частот, может включать в себя гауссов фильтр и линейный фильтр. Здесь, конкретное значение может быть установлено в 4, 8, 16, 32 или тому подобное. Также, информация предсказания для текущего блока может включать в себя информацию о конкретном значении. В этом случае, конкретное значение может выводиться на основе информации о конкретном значении.[205] Also, for example, it can be determined whether the size of the current block, indicated by the shape of the current block and the directivity of the intra-prediction mode, is smaller than a specific value. If the size of the current block is smaller than a specific value, a complex interpolation filter may be determined as an interpolation filter for the target sample, and if the size of the current block is not smaller than a specific value, an interpolation filter having a low-pass filter effect may be determined as an interpolation filter. for the target sample. Specifically, when the size of the current block is smaller than a specific value, a cube filter may be determined as an interpolation filter for the target sample. If the current block size is not less than a particular value, a Gaussian filter may be defined as an interpolation filter for the target sample. Alternatively, when the current block size is not less than a particular value, a linear filter may be defined as an interpolation filter for the target sample. An interpolation filter having a low pass filter effect may include a Gaussian filter and a linear filter. Here, the specific value may be set to 4, 8, 16, 32 or the like. Also, the prediction information for the current block may include information about a particular value. In this case, the specific value may be inferred based on the information about the specific value.

[206] Конкретно, когда ширина и высота текущего блока равны по величине (т.е. когда текущий блок является квадратным блоком), может определяться, является ли ширина текущего блока, меньшей, чем конкретное значение, и когда ширина текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр для целевой выборки, и когда ширина текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[206] Specifically, when the width and height of the current block are equal in magnitude (i.e., when the current block is a square block), it can be determined whether the width of the current block is smaller than a specific value, and when the width of the current block is smaller than a specific value, the target sample interpolation filter may be output as a target sample cube filter, and when the width of the current block is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[207] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком), и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, может определяться, является ли ширина текущего блока меньшей, чем конкретное значение. Когда ширина текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда ширина текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[207] In addition, when the width and height of the current block are different (that is, when the current block is a non-square block), and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, it can be determined whether the width of the current block smaller than the specific value. When the current block width is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block width is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[208] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, может определяться, является ли высота текущего блока меньшей, чем конкретное значение. Когда высота текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда высота текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[208] In addition, when the width and height of the current block are different (that is, when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, it can be determined whether the height of the current block is less than a specific value. When the current block height is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block height is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[209] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок является неквадратным блоком) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, может определяться, является ли высота текущего блока меньшей, чем конкретное значение. Когда высота текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, и когда высота текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[209] In addition, when the width and height of the current block are different (i.e., when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, it can be determined whether the height of the current block is less than a specific value. When the current block height is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block height is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[210] Кроме того, когда ширина и высота текущего блока отличаются (то есть когда текущий блок представляет собой неквадратный блок) и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, может определяться, является ли ширина текущего блока меньшей, чем конкретное значение. Когда ширина текущего блока меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как кубический фильтр, а когда ширина текущего блока не меньше, чем конкретное значение, интерполяционный фильтр для целевой выборки может выводиться как гауссов фильтр.[210] In addition, when the width and height of the current block are different (i.e., when the current block is a non-square block) and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, it can be determined whether the width of the current block is block smaller than the specific value. When the current block width is less than a specific value, the target sample interpolation filter may be output as a cube filter, and when the current block width is not less than the specific value, the target sample interpolation filter may be output as a Gaussian filter.

[211] В другом примере, интерполяционный фильтр для целевой выборки может определяться на основе режима интра–предсказания текущего блока.[211] In another example, the interpolation filter for the target sample may be determined based on the intra-prediction mode of the current block.

[212] Например, может определяться, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем конкретное значение, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки, а если угол предсказания режима интра–предсказания не меньше, чем конкретное значение, интерполяционный фильтр, имеющий эффект фильтра нижних частот, может определяться в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда угол предсказания режима интра–предсказания меньше, чем конкретное значение, кубический фильтр может определяться в качестве интерполяционного фильтра для целевой выборки, а когда угол предсказания режима интра–предсказания не меньше, чем конкретное значение, гауссов фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Альтернативно, когда угол предсказания режима интра–предсказания не меньше, чем конкретное значение, линейный фильтр может определяться в качестве интерполяционного фильтра для целевой выборки. Интерполяционный фильтр, имеющий эффект фильтра нижних частот, может включать в себя гауссов фильтр и линейный фильтр. Здесь, конкретное значение может быть установлено в 4, 8, 16, 32 или тому подобное. Угол предсказания режима интра–предсказания может выводиться на основе Таблицы 1, описанной выше, и intraPredAngle может указывать угол предсказания режима интра–предсказания. Также, например, конкретное значение может быть установлено в 11. Также, информация предсказания для текущего блока может включать в себя информацию о конкретном значении. В этом случае, конкретное значение может выводиться на основе информации о конкретном значении.[212] For example, it may be determined whether the intra-prediction mode prediction angle of the current block is smaller than a specific value. If the prediction angle of the intra-prediction mode is less than a specific value, the complex interpolation filter may be determined as an interpolation filter for the target sample, and if the prediction angle of the intra-prediction mode is not smaller than a specific value, an interpolation filter having a low-pass filter effect, can be defined as an interpolation filter for the target sample. Specifically, when the prediction angle of the intra-prediction mode is less than a specific value, a cube filter may be determined as an interpolation filter for the target sample, and when the prediction angle of the intra-prediction mode is not smaller than a specific value, a Gaussian filter may be determined as an interpolation filter. for the target sample. Alternatively, when the prediction angle of the intra-prediction mode is not less than a particular value, a linear filter may be determined as an interpolation filter for the target sample. An interpolation filter having a low pass filter effect may include a Gaussian filter and a linear filter. Here, the specific value may be set to 4, 8, 16, 32 or the like. The prediction angle of the intra prediction mode may be derived based on Table 1 described above, and intraPredAngle may indicate the prediction angle of the intra prediction mode. Also, for example, the specific value may be set to 11. Also, the prediction information for the current block may include information about the specific value. In this case, the specific value may be inferred based on the information about the specific value.

[213] В другом примере, интерполяционный фильтр для целевой выборки может определяться на основе размера текущего блока и режима интра–предсказания.[213] In another example, the interpolation filter for the target sample may be determined based on the size of the current block and the intra-prediction mode.

[214] Например, устройство декодирования может определять, является ли размер текущего блока меньшим, чем первое конкретное значение, и когда размер текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять интерполяционный фильтр, имеющий эффект фильтра нижних частот, в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда размер текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять гауссов фильтр в качестве интерполяционного фильтра. Альтернативно, когда размер текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять линейный фильтр в качестве интерполяционного фильтра.[214] For example, the decoding apparatus may determine whether the current block size is smaller than the first specific value, and when the current block size is not smaller than the first specific value, the decoding apparatus may determine an interpolation filter having a low-pass filter effect as interpolation filter for the target sample. Specifically, when the current block size is not smaller than the first specific value, the decoding apparatus may determine a Gaussian filter as an interpolation filter. Alternatively, when the size of the current block is not smaller than the first specific value, the decoding apparatus may determine a linear filter as an interpolation filter.

[215] Конкретно, когда ширина и высота текущего блока равны друг другу, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Когда ширина текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[215] Specifically, when the width and height of the current block are equal to each other, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. When the width of the current block is not smaller than the first specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[216] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Когда ширина текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[216] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. When the width of the current block is not smaller than the first specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[217] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, устройство декодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Когда высота текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[217] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, the decoding apparatus may determine whether the height of the current block is smaller than the first specific value. When the height of the current block is not less than the first specific value, the decoding device may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[218] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, устройство декодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Когда высота текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[218] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the decoding apparatus may determine whether the height of the current block is smaller than the first specific value. When the height of the current block is not less than the first specific value, the decoding device may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[219] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Когда ширина текущего блока не меньше, чем первое конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки.[219] If the width and height of the current block are different from each other, and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. When the width of the current block is not smaller than the first specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample.

[220] Если размер текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять сложный интерполяционный фильтр в качестве интерполяционного фильтра для целевой выборки. Конкретно, когда угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра.[220] If the size of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine the complex interpolation filter as the interpolation filter for the target sample. Specifically, when the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine a cube filter as an interpolation filter.

[221] Конкретно, когда ширина и высота текущего блока равны и ширина текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение, и когда угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра.[221] Specifically, when the width and height of the current block are equal and the width of the current block is smaller than the first specific value, the decoding apparatus can determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value, and when the mode prediction angle intra-prediction is less than the second specific value, the decoder may determine a cube filter as an interpolation filter.

[222] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра.[222] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine a cube filter as an interpolation filter.

[223] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, устройство декодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра.[223] If the width and height of the current block are different from each other, and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the decoding apparatus may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine a cube filter as an interpolation filter.

[224] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, устройство декодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра.[224] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the decoding apparatus can determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine a cube filter as an interpolation filter.

[225] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра.[225] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal directionality, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine a cube filter as an interpolation filter.

[226] Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять интерполяционный фильтр, имеющий эффект фильтра нижних частот, в качестве интерполяционного фильтра для целевой выборки. Конкретно, если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять гауссов фильтр в качестве интерполяционного фильтра. Альтернативно, если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять линейный фильтр в качестве интерполяционного фильтра.[226] If the intra-prediction mode prediction angle is not smaller than the second specific value, the decoding apparatus may determine an interpolation filter having a low-pass filter effect as an interpolation filter for the target sample. Specifically, if the prediction angle of the intra-prediction mode is not smaller than the second specific value, the decoding apparatus may determine a Gaussian filter as an interpolation filter. Alternatively, if the prediction angle of the intra-prediction mode is not smaller than the second specific value, the decoding apparatus may determine a linear filter as an interpolation filter.

[227] Конкретно, если ширина и высота текущего блока равны и ширина текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем конкретное значение, и если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[227] Specifically, if the width and height of the current block are equal and the width of the current block is smaller than the first specific value, the decoding apparatus can determine whether the prediction angle of the intra prediction mode of the current block is smaller than the specific value, and if the prediction angle of the intra prediction mode – the prediction is not less than the second specific value, the decoder may determine a Gaussian filter or a linear filter as the interpolation filter.

[228] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[228] If the width and height of the current block are different from each other and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is not smaller than the second specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter.

[229] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, устройство декодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[229] If the width and height of the current block are different from each other, and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the decoding apparatus may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is not smaller than the second specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter.

[230] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий вертикальную направленность, устройство декодирования может определять, является ли высота текущего блока меньшей, чем первое конкретное значение. Если высота текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания не меньше, чем второе конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[230] If the width and height of the current block are different from each other, and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical directionality, the decoding apparatus may determine whether the height of the current block is smaller than the first specific value. If the height of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is not smaller than the second specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter.

[231] Если ширина и высота текущего блока отличаются друг от друга и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, имеющий горизонтальную направленность, устройство декодирования может определять, является ли ширина текущего блока меньшей, чем первое конкретное значение. Если ширина текущего блока меньше, чем первое конкретное значение, устройство декодирования может определять, не является ли угол предсказания режима интра–предсказания текущего блока меньшим, чем второе конкретное значение. Если угол предсказания режима интра–предсказания меньше, чем второе конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра.[231] If the width and height of the current block are different from each other, and the intra-prediction mode of the current block is a directional intra-prediction mode having horizontal directionality, the decoding apparatus may determine whether the width of the current block is smaller than the first specific value. If the width of the current block is smaller than the first specific value, the decoding apparatus may determine whether the intra-prediction mode prediction angle of the current block is smaller than the second specific value. If the intra-prediction mode prediction angle is smaller than the second specific value, the decoding apparatus may determine a Gaussian filter or a linear filter as an interpolation filter.

[232] При этом, информация предсказания для текущего блока может включать в себя информацию касательно первого конкретного значения и информацию касательно второго конкретного значения. В этом случае, первое конкретное значение может выводиться на основе информации касательно первого конкретного значения, и второе конкретное значение может выводиться на основе информации касательно второго конкретного значения. Альтернативно, первое конкретное значение и второе конкретное значение могут выводиться на основе предварительно установленных значений.[232] Meanwhile, the prediction information for the current block may include information regarding the first specific value and information regarding the second specific value. In this case, the first specific value may be derived based on information regarding the first specific value, and the second specific value may be derived based on information regarding the second specific value. Alternatively, the first specific value and the second specific value may be output based on preset values.

[233] В другом примере, текущий блок может разделяться на множество областей, и интерполяционный фильтр каждой области может определяться на основе расстояния между каждой областью и соседними выборками текущего блока. В этом случае, интерполяционный фильтр для целевой выборки может выводиться в качестве интерполяционного фильтра области, включающей в себя целевую выборку. Кроме того, если размер текущего блока больше или равен конкретному размеру, текущий блок может разделяться на множество областей. Конкретно, интерполяционные фильтры для областей, более близких к соседним выборкам текущего блока, чем конкретное значение, среди областей, могут определяться как сложные интерполяционные фильтры, и интерполяционные фильтры для областей, более удаленных от соседних выборок текущего блока, чем конкретное значение, среди областей, могут определяться как интерполяционные фильтры, имеющие эффект фильтра нижних частот.[233] In another example, the current block may be divided into a plurality of regions, and the interpolation filter of each region may be determined based on the distance between each region and adjacent samples of the current block. In this case, the interpolation filter for the target sample may be output as an interpolation filter of the region including the target sample. In addition, if the size of the current block is greater than or equal to a specific size, the current block may be divided into a plurality of regions. Specifically, interpolation filters for regions closer to neighboring samples of the current block than a specific value among regions may be defined as complex interpolation filters, and interpolation filters for regions further from neighboring samples of the current block than a specific value among regions, can be defined as interpolation filters having the effect of a low pass filter.

[234] При этом, размер множества областей, выведенных из текущего блока, может быть предварительно установлен. Альтернативно, размер множества областей может выводиться на основе размера текущего блока, режима интра–предсказания или тому подобного. Например, в случае, когда режим интра–предсказания текущего блока представляет собой один из режимов интра–предсказания #35–#66, размер разделенных областей текущего блока может выводиться как размер 4×4. Здесь, если текущий блок представляет собой блок, имеющий размер 16×16, текущий блок может разделяться на области, имеющие размер 4×4, сложный интерполяционный фильтр может определяться в качестве интерполяционного фильтра для областей с #0 по #7 в порядке растрового сканирования, и интерполяционный фильтр, имеющий эффект фильтра нижних частот, может определяться в качестве интерполяционных фильтров для других областей. Например, интерполяционные фильтры для областей #0–#7 в порядке растрового сканирования, среди областей, могут определяться как кубические фильтры, и интерполяционные фильтры для других областей могут определяться как гауссовы фильтры или линейные фильтры. Здесь, номера 16 областей, имеющих размер 4×4 в соответствии с порядком растрового сканирования, могут последовательно выводиться в порядке от верхней строки к нижней строке и последовательно выводиться в порядке слева направо в каждой строке. То есть области, включенные в первую строку среди 16 областей, имеющих размер 4×4 текущего блока, могут быть представлены как область #0, область #1, область #2 и область #3 в порядке слева направо, области, включенные во вторую строку, могут быть представлены как область #4, область #5, область #6 и область #7 в порядке слева направо, области, включенные в третью строку, могут быть представлены как область #8, область #9, область #10 и область #11 в порядке слева направо, и области, включенные в четвертую строку, могут быть представлены как область #12, область #13, область #14 и область #15 в порядке слева направо. При этом информация предсказания для текущего блока может приниматься, и информация предсказания может включать в себя информацию, указывающую размер каждой из разделенных областей текущего блока, и информацию, указывающую интерполяционный фильтр каждой области. В этом случае, размеры разделенных областей текущего блока и интерполяционные фильтры для соответственных областей могут выводиться на основе информации, указывающей размеры разделенных областей текущего блока, и информации, указывающей интерполяционные фильтры соответственных областей.[234] Here, the size of the plurality of areas output from the current block may be preset. Alternatively, the size of the plurality of regions may be inferred based on the size of the current block, the intra-prediction mode, or the like. For example, in the case where the intra-prediction mode of the current block is one of the intra-prediction modes #35 to #66, the size of the divided areas of the current block may be output as a size of 4×4. Here, if the current block is a block having a size of 16×16, the current block may be divided into regions having a size of 4×4, a complex interpolation filter may be defined as an interpolation filter for regions #0 to #7 in the raster scan order, and an interpolation filter having a low-pass filter effect may be defined as interpolation filters for other regions. For example, interpolation filters for regions #0-#7 in raster scan order, among regions, may be defined as cube filters, and interpolation filters for other regions may be defined as Gaussian filters or linear filters. Here, the numbers of 16 areas having a size of 4×4 according to the raster scan order can be sequentially output in order from the top line to the bottom line, and sequentially output in the order from left to right in each line. That is, the areas included in the first row among the 16 areas having a size of 4×4 of the current block can be represented as area #0, area #1, area #2, and area #3 in order from left to right, the areas included in the second line , may be represented as region #4, region #5, region #6, and region #7 in order from left to right, the regions included in the third row may be represented as region #8, region #9, region #10, and region # 11 in order from left to right, and the areas included in the fourth row may be represented as area #12, area #13, area #14, and area #15 in order from left to right. Meanwhile, prediction information for the current block may be received, and the prediction information may include information indicating the size of each of the divided areas of the current block and information indicating the interpolation filter of each area. In this case, the sizes of the divided areas of the current block and the interpolation filters for the respective areas may be derived based on information indicative of the sizes of the divided areas of the current block and information indicative of the interpolation filters of the respective areas.

[235] В другом примере, интерполяционный фильтр для целевой выборки может определяться на основе расстояния между целевой выборкой и опорными выборками. Расстояние между целевой выборкой и опорными выборками может выводиться на основе положения целевой выборки и угла предсказания режима интра–предсказания текущего блока. Например, расстояние может быть вычислено на основе положения целевой выборки и значения тригонометрической функции (например, tanƟ) в соответствии с углом предсказания режима интра–предсказания. Альтернативно, расстояние может выводиться на основе предопределенной таблицы для размера блока и режима интра–предсказания. Альтернативно, расстояние между целевой выборкой и опорными выборками может указывать вертикальное расстояние или горизонтальное расстояние. Если расстояние между целевой выборкой и опорными выборками указывает вертикальное расстояние, расстояние может выводиться на основе компонента y целевой выборки. Также, если расстояние между целевой выборкой и опорными выборками указывает горизонтальное расстояние, расстояние может выводиться на основе компонента x целевой выборки.[235] In another example, the interpolation filter for the target sample may be determined based on the distance between the target sample and the reference samples. The distance between the target sample and the reference samples can be derived based on the position of the target sample and the prediction angle of the intra-prediction mode of the current block. For example, the distance can be calculated based on the position of the target sample and the value of the trigonometric function (eg, tanƟ) according to the prediction angle of the intra-prediction mode. Alternatively, the distance may be derived based on a predefined table for block size and intra-prediction mode. Alternatively, the distance between the target sample and the reference samples may indicate a vertical distance or a horizontal distance. If the distance between the target sample and the reference samples specifies a vertical distance, the distance can be inferred based on the y component of the target sample. Also, if the distance between the target sample and the reference samples indicates a horizontal distance, the distance may be inferred based on the x component of the target sample.

[236] Например, устройство декодирования может выводить расстояние между целевой выборкой и опорными выборками и определять, является ли расстояние меньшим, чем конкретное значение. Если расстояние меньше, чем конкретное значение, устройство декодирования может определять сложный интерполяционный фильтр в качестве интерполяционного фильтра для целевой выборки, а если расстояние не меньше, чем конкретное значение, устройство декодирования может определять интерполяционный фильтр, имеющий эффект фильтра нижних частот, в качестве интерполяционного фильтра для целевой выборки. Конкретно, если расстояние меньше, чем конкретное значение, устройство декодирования может определять кубический фильтр в качестве интерполяционного фильтра для целевой выборки, и если расстояние не меньше, чем конкретное значение, устройство декодирования может определять гауссов фильтр или линейный фильтр в качестве интерполяционного фильтра для целевой выборки. Конкретное значение может выводиться на основе размера текущего блока. Альтернативно, конкретное значение может выводиться на основе режима интра–предсказания текущего блока, является ли текущий блок квадратным/неквадратным блоком, или тому подобного. Например, когда размер текущего блока равен N×N, конкретное значение может выводиться как N/2. Также, информация предсказания для текущего блока может приниматься, и информация предсказания может включать в себя информацию касательно конкретного значения. В этом случае, конкретное значение может выводиться на основе информации касательно конкретного значения.[236] For example, the decoding device may output the distance between the target sample and the reference samples and determine if the distance is less than a particular value. If the distance is less than a specific value, the decoding apparatus may determine a complex interpolation filter as an interpolation filter for the target sample, and if the distance is not less than a specific value, the decoding apparatus may determine an interpolation filter having a low-pass filter effect as an interpolation filter for the target sample. Specifically, if the distance is less than a specific value, the decoder may determine a cube filter as an interpolation filter for the target sample, and if the distance is not less than a specific value, the decoder may determine a Gaussian filter or a linear filter as an interpolation filter for the target sample. . A specific value can be inferred based on the size of the current block. Alternatively, the specific value may be output based on the intra-prediction mode of the current block, whether the current block is a square/non-square block, or the like. For example, when the size of the current block is N×N, a specific value may be output as N/2. Also, prediction information for the current block may be received, and the prediction information may include information regarding a particular value. In this case, the specific value may be inferred based on information regarding the specific value.

[237] В другом примере, множество интерполяционных фильтров может определяться в качестве интерполяционных фильтров для целевой выборки. Например, интерполяционные фильтры для целевой выборки могут включать в себя один из сложных интерполяционных фильтров и один из интерполяционных фильтров, имеющих эффект фильтра нижних частот. Альтернативно, интерполяционные фильтры для целевой выборки могут включать в себя один из сложных интерполяционных фильтров и два из интерполяционных фильтров, имеющих эффект фильтра нижних частот. Альтернативно, интерполяционные фильтры для целевой выборки могут включать в себя два из сложных интерполяционных фильтров и один из интерполяционных фильтров, имеющих эффект фильтра нижних частот. Конкретно, интерполяционные фильтры для целевой выборки могут включать в себя кубический фильтр и гауссов фильтр. При этом информация предсказания для текущего блока может приниматься, и информация предсказания может включать в себя метку, указывающую, определено ли множество интерполяционных фильтров в качестве интерполяционных фильтров для целевой выборки. То, определено ли множество интерполяционных фильтров, может определяться на основе метки. Например, когда метка указывает, что множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, выборка предсказания для целевой выборки может выводиться на основе множества интерполяционных фильтров, а когда метка указывает, что множество интерполяционных фильтров не определено в качестве интерполяционных фильтров для целевой выборки, выборка предсказания для целевой выборки может не выводиться на основе множества интерполяционных фильтров. Например, когда значение метки представляет собой 1, метка может указывать, что множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, а когда значение метки представляет собой 0, метка может указывать, что множество интерполяционных фильтров не определено в качестве интерполяционных фильтров для целевой выборки.[237] In another example, a plurality of interpolation filters may be defined as interpolation filters for the target sample. For example, the interpolation filters for the target sample may include one of the complex interpolation filters and one of the interpolation filters having a low pass filter effect. Alternatively, the interpolation filters for the target sample may include one of the complex interpolation filters and two of the interpolation filters having a low pass filter effect. Alternatively, the interpolation filters for the target sample may include two of the complex interpolation filters and one of the interpolation filters having a low pass filter effect. Specifically, the interpolation filters for the target sample may include a cubic filter and a Gaussian filter. Meanwhile, prediction information for the current block may be received, and the prediction information may include a label indicating whether a plurality of interpolation filters are determined as interpolation filters for the target sample. Whether a plurality of interpolation filters is defined may be determined based on the label. For example, when the label indicates that a plurality of interpolation filters are defined as interpolation filters for the target sample, the prediction sample for the target sample can be derived based on the plurality of interpolation filters, and when the label indicates that the plurality of interpolation filters is not defined as interpolation filters for the target sample , the prediction sample for the target sample may not be derived based on the plurality of interpolation filters. For example, when the label value is 1, the label may indicate that the interpolation filter set is defined as interpolation filters for the target sample, and when the label value is 0, the label may indicate that the interpolation filter set is not defined as interpolation filters for the target sample. samples.

[238] Устройство декодирования выводит выборку предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок (S1440). Устройство декодирования может выводить коэффициенты фильтрации интерполяционного фильтра на основе положения целевой выборки и угла предсказания режима интра–предсказания и выводить выборку предсказания целевой выборки на основе коэффициентов фильтрации опорных выборок. Например, четыре соседние выборки среди соседних выборок текущего блока могут выводиться как опорные выборки, и могут выводиться четыре коэффициента фильтрации интерполяционного фильтра. Устройство декодирования может интерполировать опорные выборки на основе коэффициентов фильтрации, чтобы вывести выборку предсказания. Выборка предсказания может выводиться на основе уравнения 1, описанного выше.[238] The decoding apparatus outputs a prediction sample of the target sample based on the interpolation filter and the reference samples (S1440). The decoding apparatus may derive the filter coefficients of the interpolation filter based on the position of the target sample and the prediction angle of the intra-prediction mode, and output the prediction sample of the target sample based on the filter coefficients of the reference samples. For example, four adjacent samples among the neighboring samples of the current block may be output as reference samples, and four interpolation filter coefficients may be output. The decoder may interpolate the reference samples based on the filter coefficients to derive a prediction sample. The prediction sample may be derived based on Equation 1 described above.

[239] Дополнительно, когда множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, устройство декодирования может выводить (временные) выборки предсказания на основе каждого интерполяционного фильтра и выводить выборку предсказания целевой выборки на основе выведенной (временной) выборки предсказания. Например, выборка предсказания целевой выборки может выводиться путем усреднения (временных) выборок предсказания или может выводиться путем взвешенного суммирования (временных) выборок предсказания. То, определено ли множество интерполяционных фильтров в качестве интерполяционного фильтра для целевой выборки, может выводиться на основе размера текущего блока, режима интра–предсказания текущего блока, отклонения значений соседних выборок текущего блока и тому подобного. Кроме того, может приниматься метка, указывающая, определено ли множество интерполяционных фильтров в качестве интерполяционных фильтров для целевой выборки, и то, определено ли множество интерполяционных фильтров в качестве интерполяционных фильтров для целевой выборки, может определяться на основе метки.[239] Additionally, when a plurality of interpolation filters are defined as interpolation filters for the target sample, the decoder may derive (temporal) prediction samples based on each interpolation filter, and output a prediction sample of the target sample based on the derived (temporal) prediction sample. For example, the prediction sample of the target sample may be derived by averaging the (temporal) prediction samples, or may be derived by weighted summing the (temporal) prediction samples. Whether a plurality of interpolation filters is determined as an interpolation filter for the target sample may be inferred based on the size of the current block, the intra-prediction mode of the current block, the variance of values of neighboring samples of the current block, and the like. In addition, a label indicating whether a plurality of interpolation filters is defined as interpolation filters for the target sample may be received, and whether a plurality of interpolation filters is defined as interpolation filters for the target sample may be determined based on the label.

[240] Например, интерполяционные фильтры для целевой выборки могут включать в себя кубический фильтр и гауссов фильтр. В этом случае, устройство декодирования может выводить коэффициенты фильтрации кубического фильтра на основе положения целевой выборки и угла предсказания режима интра–предсказания и может выводить коэффициенты фильтрации гауссова фильтра на основе положения целевой выборки и угла предсказания режима интра–предсказания. Устройство декодирования может выводить первую выборку предсказания для целевой выборки на основе коэффициентов фильтрации кубического фильтра и опорных выборок, выводить вторую выборку предсказания для целевой выборки на основе коэффициентов фильтрации гауссова фильтра и опорных выборок и выводить выборку предсказания целевой выборки на основе первой выборки предсказания и второй выборки предсказания. Выборка предсказания целевой выборки может выводиться путем усреднения первой выборки предсказания и второй выборки предсказания. Альтернативно, выборка предсказания целевой выборки может выводиться путем взвешенного суммирования первой выборки предсказания и второй выборки предсказания. В этом случае, вес для первой выборки предсказания может находиться в обратной пропорции с расстоянием между целевой выборкой и опорными выборками, и вес для второй выборки предсказания может выводиться как значение, получаемое путем вычитания веса для первой выборки предсказания из 1. Альтернативно, первый вес и второй вес, используемые здесь, могут масштабироваться с повышением в единицах целых и выводиться во избежание вычисления с десятичной запятой.[240] For example, interpolation filters for the target sample may include a cubic filter and a Gaussian filter. In this case, the decoding apparatus may derive the filter coefficients of the cube filter based on the position of the target sample and the prediction angle of the intra-prediction mode, and may derive the filter coefficients of the Gaussian filter based on the position of the target sample and the prediction angle of the intra-prediction mode. The decoding apparatus can output a first prediction sample for a target sample based on the cube filter coefficients and the reference samples, output a second prediction sample for the target sample based on the Gaussian filter coefficients and the reference samples, and output a prediction sample of the target sample based on the first prediction sample and the second sample. predictions. The prediction sample of the target sample may be derived by averaging the first prediction sample and the second prediction sample. Alternatively, the prediction sample of the target sample may be derived by a weighted sum of the first prediction sample and the second prediction sample. In this case, the weight for the first prediction sample may be inversely proportional to the distance between the target sample and the reference samples, and the weight for the second prediction sample may be output as a value obtained by subtracting the weight for the first prediction sample from 1. Alternatively, the first weight and the second weight used here can be scaled up in units of integers and output to avoid decimal point calculations.

[241] Также, например, интерполяционные фильтры для целевой выборки могут включать в себя кубический фильтр и линейный фильтр. В этом случае, устройство декодирования может выводить коэффициенты фильтрации кубического фильтра на основе положения опорной выборки и может выводить коэффициенты фильтрации линейного фильтра на основе положения опорной выборки. Устройство декодирования может выводить первую выборку предсказания для целевой выборки на основе коэффициентов фильтрации кубического фильтра и опорных выборок, выводить вторую выборку предсказания для целевой выборки на основе коэффициентов фильтрации линейного фильтра и опорных выборок и выводить выборку предсказания целевой выборки на основе первой выборки предсказания и второй выборки предсказания. Выборка предсказания целевой выборки может выводиться путем усреднения первой выборки предсказания и второй выборки предсказания. Альтернативно, выборка предсказания целевой выборки может выводиться путем взвешенного суммирования первой выборки предсказания и второй выборки предсказания. В этом случае, вес для первой выборки предсказания может находиться в обратной пропорции с расстоянием между целевой выборкой и опорными выборками, и вес для второй выборки предсказания может выводиться как значение, получаемое путем вычитания веса для первой выборки предсказания из 1. Альтернативно, первый вес и второй вес, используемые здесь, могут масштабироваться с повышением в единицах целых и выводиться во избежание вычисления с десятичной запятой.[241] Also, for example, interpolation filters for the target sample may include a cube filter and a linear filter. In this case, the decoding apparatus may derive the filter coefficients of the cube filter based on the position of the reference sample, and may derive the filter coefficients of the linear filter based on the position of the reference sample. The decoding apparatus may output a first prediction sample for the target sample based on the cube filter filter coefficients and the reference samples, output a second prediction sample for the target sample based on the linear filter filter coefficients and the reference samples, and output a prediction sample of the target sample based on the first prediction sample and the second sample. predictions. The prediction sample of the target sample may be derived by averaging the first prediction sample and the second prediction sample. Alternatively, the prediction sample of the target sample may be derived by a weighted sum of the first prediction sample and the second prediction sample. In this case, the weight for the first prediction sample may be inversely proportional to the distance between the target sample and the reference samples, and the weight for the second prediction sample may be output as a value obtained by subtracting the weight for the first prediction sample from 1. Alternatively, the first weight and the second weight used here can be scaled up in units of integers and output to avoid decimal point calculations.

[242] В другом примере, если режим MPM (наиболее вероятный режим) применяется к текущему блоку, чтобы вывести режим интра–предсказания текущего блока на основе режима интра–предсказания соседнего блока текущего блока, и режим интра–предсказания текущего блока представляет собой направленный режим интра–предсказания, а не планарный режим или режим DC, интерполяционный фильтр для целевой выборки может определяться на основе соседних блоков, выбранных через соседний режим MPM. То есть интерполяционный фильтр, используемый в соседнем блоке, может выводиться в качестве интерполяционного фильтра для целевой выборки. Если режим MPM применяется к текущему блоку, устройство декодирования может определять список MPM на основе режима интра–предсказания для левого или верхнего соседнего блока текущего блока и определять режим интра–предсказания на основе списка MPM.[242] In another example, if the MPM (most probable mode) mode is applied to the current block to derive the intra-prediction mode of the current block based on the intra-prediction mode of the neighboring block of the current block, and the intra-prediction mode of the current block is a directional mode intra-prediction rather than planar or DC mode, the interpolation filter for the target sample can be determined based on neighboring blocks selected via the adjacent MPM mode. That is, an interpolation filter used in an adjacent block can be output as an interpolation filter for the target sample. If the MPM mode is applied to the current block, the decoding apparatus may determine the MPM list based on the intra-prediction mode for the left or top neighboring block of the current block, and determine the intra-prediction mode based on the MPM list.

[243] Хотя не показано на чертеже, устройство декодирования может использовать выборку предсказания в качестве реконструированной выборки в соответствии с режимом предсказания или суммировать остаточную выборку с выборкой предсказания, чтобы генерировать реконструированную выборку. Когда существует остаточная выборка для целевого блока, устройство декодирования может принимать информацию касательно остатка для целевого блока, и информация касательно остатка может быть включена в информацию касательно реконструированной выборки. Информация касательно остатка может включать в себя коэффициент преобразования, относящийся к остаточной выборке. Устройство декодирования может выводить остаточную выборку (или массивы остаточных выборок) для целевого блока на основе информации остатка. Устройство декодирования может генерировать реконструированную выборку на основе выборки предсказания и остаточной выборки и может выводить реконструированный блок или реконструированную картинку на основе реконструированной выборки. После этого, чтобы повысить субъективное/объективное качество изображения, как это необходимо, устройство декодирования может применять процедуру контурной фильтрации, такую как фильтрация устранения блочности и/или процедура SAO, к реконструированной картинке, как описано выше.[243] Although not shown in the drawing, the decoding device may use the prediction sample as a reconstructed sample according to the prediction mode, or sum the residual sample with the prediction sample to generate a reconstructed sample. When there is a residual sample for the target block, the decoder may receive information regarding the residual for the target block, and the information regarding the residual may be included in information regarding the reconstructed sample. The residual information may include a transform coefficient related to the residual sample. The decoder may output the residual sample (or arrays of residual samples) for the target block based on the residual information. The decoder may generate a reconstructed sample based on the prediction sample and the residual sample, and may output a reconstructed block or a reconstructed picture based on the reconstructed sample. Thereafter, in order to improve the subjective/objective image quality as needed, the decoding apparatus may apply a loop filtering procedure such as a deblocking filtering and/or an SAO procedure to the reconstructed picture as described above.

[244] Кроме того, устройство декодирования может принимать информацию предсказания для текущего блока через поток битов и может энтропийно кодировать ее. Информация предсказания может включать в себя информацию о режиме интра–предсказания текущего блока. Устройство декодирования может получать информацию касательно режима интра–предсказания, указывающую режим интра–предсказания. Информация режима интра–предсказания может включать в себя информацию, непосредственно указывающую режим интра–предсказания для текущего блока, или может включать в себя информацию, указывающую любой один кандидат в списке кандидатов режима интра–предсказания, полученном на основе режима интра–предсказания левого или верхнего блока текущего блока. Список кандидатов режима интра–предсказания может указывать список MPM.[244] In addition, the decoding apparatus may receive prediction information for the current block via the bit stream and may entropy encode it. The prediction information may include information about the intra-prediction mode of the current block. The decoding apparatus may obtain intra-prediction mode information indicating the intra-prediction mode. The intra prediction mode information may include information directly indicating the intra prediction mode for the current block, or may include information indicating any one candidate in the intra prediction mode candidate list obtained based on the left or upper intra prediction mode. block of the current block. The intra-prediction mode candidate list may indicate a list of MPMs.

[245] Кроме того, когда текущий блок разделяется на множество областей, информация предсказания может включать в себя информацию, указывающую размер разделенных областей текущего блока и интерполяционный фильтр каждой области. Кроме того, когда интерполяционный фильтр для целевой выборки выбирается на основе размера текущего блока, режима интра–предсказания текущего блока или расстояния между целевой выборкой и опорными выборками, информация предсказания может включать в себя информацию касательно конкретного значения, используемого для выбора интерполяционного фильтра для целевой выборки. Когда интерполяционный фильтр выбирается на основе размера текущего блока и режима интра–предсказания текущего блока, информация предсказания может включать в себя информацию касательно первого конкретного значения и информацию касательно второго конкретного значения. Также, информация предсказания может включать в себя метку, указывающую, определено ли множество интерполяционных фильтров в качестве интерполяционных фильтров для целевой выборки. Когда метка указывает, что множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, выборка предсказания целевой выборки может выводиться на основе множества интерполяционных фильтров, а когда метка указывает, что множество интерполяционных фильтров не определено в качестве интерполяционных фильтров для целевой выборки, выборка предсказания целевой выборки может не выводиться на основе множества интерполяционных фильтров. Например, когда значение метки представляет собой 1, метка может указывать, что множество интерполяционных фильтров определено в качестве интерполяционных фильтров для целевой выборки, а когда значение метки представляет собой 0, метка может указывать, что множество интерполяционных фильтров не определено в качестве интерполяционных фильтров для целевой выборки. Информация предсказания может сигнализироваться через набор параметров видео (VPS), набор параметров последовательности (SPS), набор параметров картинки (PPS) или заголовок сегмента вырезки или может сигнализироваться на основе блока.[245] In addition, when the current block is divided into a plurality of areas, the prediction information may include information indicating the size of the divided areas of the current block and an interpolation filter of each area. In addition, when an interpolation filter for the target sample is selected based on the size of the current block, the intra-prediction mode of the current block, or the distance between the target sample and the reference samples, the prediction information may include information regarding a specific value used to select the interpolation filter for the target sample. . When the interpolation filter is selected based on the size of the current block and the intra-prediction mode of the current block, the prediction information may include information regarding the first specific value and information regarding the second specific value. Also, the prediction information may include a label indicating whether a plurality of interpolation filters are determined as interpolation filters for the target sample. When the mark indicates that the interpolation filter set is defined as interpolation filters for the target sample, the prediction sample of the target sample can be derived based on the interpolation filter set, and when the mark indicates that the interpolation filter set is not defined as interpolation filters for the target sample, the prediction sample The target sample may not be derived based on a plurality of interpolation filters. For example, when the label value is 1, the label may indicate that the interpolation filter set is defined as interpolation filters for the target sample, and when the label value is 0, the label may indicate that the interpolation filter set is not defined as interpolation filters for the target sample. samples. The prediction information may be signaled via a Video Parameter Set (VPS), a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), or a slice segment header, or may be signaled on a block basis.

[246] В соответствии с настоящим раскрытием, описанным выше, предсказание может выполняться на целевой выборке на основе интерполяционного фильтра, выведенного в соответствии с размером текущего блока, расстоянием между целевой выборкой и опорной выборкой и/или режимом предсказания (углом предсказания), причем опорная выборка положения дробной выборки для целевой выборки может точно генерироваться, чтобы повысить точность предсказания для текущего блока, и остаток для текущего блока может быть уменьшен, чтобы повысить эффективность кодирования.[246] In accordance with the present disclosure described above, prediction may be performed on a target sample based on an interpolation filter derived in accordance with the current block size, the distance between the target sample and the reference sample, and/or the prediction mode (prediction angle), wherein the reference the fractional sample position sample for the target sample may be accurately generated to improve the prediction accuracy for the current block, and the residual for the current block may be reduced to improve coding efficiency.

[247] Также, в соответствии с настоящим раскрытием, поскольку интерполяционный фильтр для целевой выборки может выбираться на основе различных условий, описанных выше, количеств битов информации о выборе интерполяционного фильтра может быть уменьшено, причем точность предсказания для текущего блока может быть повышена, и эффективность кодирования текущего блока может быть повышена.[247] Also, according to the present disclosure, since the interpolation filter for the target sample can be selected based on various conditions described above, the number of bits of interpolation filter selection information can be reduced, and the prediction accuracy for the current block can be improved, and the performance encoding of the current block can be increased.

[248] В вышеописанном варианте осуществления, способы описаны на основе блок–схемы, имеющей последовательность этапов или блоков. Настоящее раскрытие не ограничено порядком вышеописанных этапов или блоков. Некоторые этапы или блоки могут происходить одновременно или в другом порядке относительно других этапов или блоков, как описано выше. Дополнительно, специалисты в данной области техники поймут, что этапы, показанные в блок–схеме последовательности операций выше, не являются исключительными, что дополнительные этапы могут быть включены или что один или несколько этапов в блок–схеме последовательности операций могут быть удалены без влияния на объем настоящего раскрытия.[248] In the above embodiment, the methods are described based on a flowchart having a sequence of steps or blocks. The present disclosure is not limited to the order of the steps or blocks described above. Some steps or blocks may occur simultaneously or in a different order relative to other steps or blocks, as described above. Additionally, those skilled in the art will appreciate that the steps shown in the flowchart above are not exclusive, that additional steps may be included, or that one or more steps in the flowchart may be deleted without affecting the scope. of this disclosure.

[249] Способ в соответствии с настоящим раскрытием, описанным выше, может быть реализован в программном обеспечении. Устройство кодирования и/или устройство декодирования в соответствии с настоящим раскрытием может быть включено в устройство, которое выполняет обработку изображений, например, для TV, компьютера, смартфона, телевизионной приставки или устройства отображения.[249] The method in accordance with the present disclosure described above may be implemented in software. An encoding device and/or a decoding device according to the present disclosure may be included in a device that performs image processing, such as for a TV, computer, smartphone, set-top box, or display device.

[250] Когда варианты осуществления настоящего раскрытия реализованы в программном обеспечении, вышеописанный способ может быть реализован посредством модулей (процессов, функций и так далее), которые выполняют функции, описанные выше. Такие модули могут храниться в памяти и исполняться процессором. Память может быть внутренней или внешней по отношению к процессору, и память может быть соединена с процессором с использованием различных хорошо известных средств. Процессор может содержать специализированную интегральную схему (ASIC), другие чипсеты, логическую схему и/или устройство обработки данных. Память может включать в себя ROM (постоянную память), RAM (память с произвольным доступом), флэш–память, карту памяти, носитель хранения и/или другое устройство хранения.[250] When embodiments of the present disclosure are implemented in software, the method described above may be implemented by modules (processes, functions, and so on) that perform the functions described above. Such modules may be stored in memory and executed by the processor. The memory may be internal or external to the processor, and the memory may be coupled to the processor using various well known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic, and/or a data processing device. The memory may include ROM (Read Only Memory), RAM (Random Access Memory), flash memory, a memory card, a storage medium, and/or other storage device.

Claims (25)

1. Способ декодирования видео, выполняемый устройством декодирования, причем способ содержит:1. A video decoding method performed by a decoding device, the method comprising: получение информации режима предсказания для текущего блока из потока битов;obtaining prediction mode information for the current block from the bitstream; построение списка наиболее вероятных режимов (MPM) для текущего блока на основе режима интра-предсказания блока, соседнего для текущего блока;building a list of most probable modes (MPM) for the current block based on the intra-prediction mode of the block adjacent to the current block; выведение режима интра-предсказания текущего блока на основе информации режима предсказания и списка MPM;deriving an intra prediction mode of the current block based on the prediction mode information and the MPM list; выведение соседних выборок, включающих в себя левые соседние выборки и верхние соседние выборки текущего блока;deriving adjacent samples including left adjacent samples and top adjacent samples of the current block; выведение опорных выборок для предсказания целевой выборки текущего блока среди соседних выборок на основе положения целевой выборки и угла предсказания режима интра-предсказания;deriving reference samples for predicting a target sample of the current block among neighboring samples based on the position of the target sample and the prediction angle of the intra-prediction mode; определение интерполяционного фильтра для целевой выборки на основе режима интра-предсказания и размера текущего блока, причем интерполяционный фильтр определяется как один из гауссова фильтра и кубического фильтра; иdetermining an interpolation filter for the target sample based on the intra-prediction mode and the current block size, the interpolation filter being determined to be one of a Gaussian filter and a cube filter; And выведение выборки предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок,deriving a prediction sample of the target sample based on the interpolation filter and reference samples, при этом определение интерполяционного фильтра для целевой выборки на основе режима интра-предсказания и размера текущего блока содержит:while the definition of the interpolation filter for the target sample based on the intra-prediction mode and the size of the current block contains: определение того, является ли размер текущего блока меньшим, чем первое конкретное значение; иdetermining whether the size of the current block is smaller than the first specific value; And на основе размера текущего блока, являющегося меньшим, чем первое конкретное значение, определение того, является ли угол предсказания режима интра-предсказания меньшим, чем второе конкретное значение,based on the current block size being smaller than the first specific value, determining whether the prediction angle of the intra prediction mode is smaller than the second specific value, при этом режим интра-предсказания представляет собой один из направленных режимов интра-предсказания с углом предсказания, большим чем 0,wherein the intra-prediction mode is one of the directional intra-prediction modes with a prediction angle greater than 0, при этом на основе размера текущего блока, являющегося большим или равным, чем первое конкретное значение, интерполяционный фильтр для целевой выборки выводится как гауссов фильтр,wherein, based on the size of the current block being greater than or equal to the first specific value, the interpolation filter for the target sample is output as a Gaussian filter, при этом на основе размера текущего блока, являющегося меньшим, чем первое конкретное значение, и угла предсказания режима интра-предсказания, являющегося меньшим, чем второе конкретное значение, интерполяционный фильтр для целевой выборки выводится как кубический фильтр, иwherein, based on the current block size being smaller than the first specific value and the prediction angle of the intra prediction mode being smaller than the second specific value, the interpolation filter for the target sample is output as a cube filter, and при этом на основе размера текущего блока, являющегося меньшим, чем первое конкретное значение, и угла предсказания режима интра-предсказания, являющегося не меньшим, чем второе конкретное значение, интерполяционный фильтр для целевой выборки выводится как гауссов фильтр.wherein, based on the current block size being smaller than the first specific value and the prediction angle of the intra prediction mode being not smaller than the second specific value, the interpolation filter for the target sample is output as a Gaussian filter. 2. Способ декодирования видео по п. 1, причем2. The video decoding method according to claim 1, moreover выведение выборки предсказания целевой выборки на основе интерполяционного фильтра и опорных выборок содержит:the derivation of the prediction sample of the target sample based on the interpolation filter and reference samples contains: выведение коэффициентов фильтрации интерполяционного фильтра на основе положения целевой выборки и угла предсказания; иderiving filter coefficients of the interpolation filter based on the position of the target sample and the prediction angle; And выведение выборки предсказания целевой выборки на основе коэффициентов фильтрации и опорных выборок.deriving a prediction sample of the target sample based on the filter coefficients and reference samples. 3. Способ декодирования видео по п. 1, причем,3. The video decoding method according to claim 1, moreover, когда ширина и высота текущего блока являются равными, размер текущего блока равен ширине текущего блока.when the width and height of the current box are equal, the size of the current box is equal to the width of the current box. 4. Способ декодирования видео по п. 1, причем,4. Video decoding method according to claim 1, moreover, когда ширина и высота текущего блока являются различными и режим интра-предсказания текущего блока является направленным режимом интра-предсказания, имеющим вертикальную направленность, размер текущего блока равен ширине текущего блока.when the width and height of the current block are different and the intra-prediction mode of the current block is a directional intra-prediction mode having a vertical orientation, the size of the current block is equal to the width of the current block. 5. Способ декодирования видео по п. 1, причем,5. Video decoding method according to claim 1, moreover, когда ширина и высота текущего блока являются различными и режим интра-предсказания текущего блока является направленным режимом интра-предсказания, имеющим горизонтальную направленность, размер текущего блока равен высоте текущего блока.when the width and height of the current block are different and the intra-prediction mode of the current block is a directional intra-prediction mode having a horizontal orientation, the size of the current block is equal to the height of the current block.
RU2022118819A 2017-05-31 2022-07-11 Method and device for image decoding based on intra prediction in image coding system RU2798770C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/512,737 2017-05-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021100114A Division RU2776098C2 (en) 2017-05-31 2018-01-05 Method and apparatus for decoding an image based on an intra-prediction in an image encoding system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023107335A Division RU2805157C1 (en) 2017-05-31 2023-03-28 Method and device for image decoding based on intra prediction in image coding system

Publications (1)

Publication Number Publication Date
RU2798770C1 true RU2798770C1 (en) 2023-06-27

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120201296A1 (en) * 2009-09-23 2012-08-09 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images considering low frequency components
US20120207211A1 (en) * 2009-10-21 2012-08-16 Sk Telecom Co., Ltd. Image encoding and decoding apparatus and method
RU2486692C1 (en) * 2009-06-18 2013-06-27 Кабусики Кайся Тосиба Device of video coding and device of video decoding
US20150296220A1 (en) * 2008-09-08 2015-10-15 Sk Telecom Co., Ltd. Video encoding and decoding method using an intra prediction
US20160277748A1 (en) * 2011-06-30 2016-09-22 Sk Telecom Co., Ltd. Method and apparatus for coding/decoding a video using an intra prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150296220A1 (en) * 2008-09-08 2015-10-15 Sk Telecom Co., Ltd. Video encoding and decoding method using an intra prediction
RU2486692C1 (en) * 2009-06-18 2013-06-27 Кабусики Кайся Тосиба Device of video coding and device of video decoding
US20120201296A1 (en) * 2009-09-23 2012-08-09 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images considering low frequency components
US20120207211A1 (en) * 2009-10-21 2012-08-16 Sk Telecom Co., Ltd. Image encoding and decoding apparatus and method
US20160277748A1 (en) * 2011-06-30 2016-09-22 Sk Telecom Co., Ltd. Method and apparatus for coding/decoding a video using an intra prediction

Similar Documents

Publication Publication Date Title
US12003708B2 (en) Method and device for performing image decoding on basis of intra prediction in image coding system
US10951908B2 (en) Method and device for decoding image according to intra prediction in image coding system
KR20200078659A (en) Video coding method and apparatus based on transformation
US11838546B2 (en) Image decoding method and apparatus relying on intra prediction in image coding system
RU2798770C1 (en) Method and device for image decoding based on intra prediction in image coding system
RU2805157C1 (en) Method and device for image decoding based on intra prediction in image coding system
RU2776098C2 (en) Method and apparatus for decoding an image based on an intra-prediction in an image encoding system