RU2801823C2 - Method and device for image encoding/decoding using intra prediction - Google Patents

Method and device for image encoding/decoding using intra prediction Download PDF

Info

Publication number
RU2801823C2
RU2801823C2 RU2021109293A RU2021109293A RU2801823C2 RU 2801823 C2 RU2801823 C2 RU 2801823C2 RU 2021109293 A RU2021109293 A RU 2021109293A RU 2021109293 A RU2021109293 A RU 2021109293A RU 2801823 C2 RU2801823 C2 RU 2801823C2
Authority
RU
Russia
Prior art keywords
prediction
current block
block
sample
matrix
Prior art date
Application number
RU2021109293A
Other languages
Russian (ru)
Other versions
RU2021109293A (en
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 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд.
Publication of RU2021109293A publication Critical patent/RU2021109293A/en
Application granted granted Critical
Publication of RU2801823C2 publication Critical patent/RU2801823C2/en

Links

Images

Abstract

FIELD: image coding and decoding.
SUBSTANCE: increased efficiency of image coding/decoding is achieved by determining the intra prediction mode of the current block, determining an initial sample for intra prediction of the current block, determining a matrix from a plurality of previously stored matrix groups based on the intra prediction mode, and predicting the current block based on the original sample and matrix.
EFFECT: increasing the efficiency of image coding/decoding.
14 cl, 10 dwg, 3 tbl

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

Настоящее изобретение относится к способу и устройству для кодирования/декодирования изображений.The present invention relates to a method and apparatus for encoding/decoding images.

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION

С ростом популярности сети Интернет и портативных терминалов, а также с развитием информационно-коммуникационных технологий использование мультимедийных данных быстро растет. Следовательно, для выполнения различных сервисов или задач посредством предсказания изображений в различных системах значительно возрастает необходимость улучшения производительности и эффективности системы обработки изображений. Однако в этой ситуации результаты исследований и разработок являются недостаточными.With the growing popularity of the Internet and portable terminals, as well as the development of information and communication technology, the use of multimedia data is growing rapidly. Therefore, in order to perform various services or tasks through image prediction in various systems, the need to improve the performance and efficiency of the image processing system is greatly increased. However, in this situation, the results of research and development are insufficient.

Таким образом, в способе и устройстве для кодирования изображений/декодирования изображений в известном уровне техники необходимо улучшить обработку изображений, особенно должна быть улучшена производительность кодирования изображений или декодирования изображений.Thus, in the prior art method and apparatus for image encoding/decoding, image processing needs to be improved, especially image encoding or image decoding performance needs to be improved.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

ТЕХНИЧЕСКАЯ ЗАДАЧАTECHNICAL PROBLEM

Цель настоящего изобретения заключается в повышении эффективности кодирования/декодирования посредством адаптивного разделения блока.The purpose of the present invention is to improve the efficiency of coding/decoding through adaptive block division.

Цель настоящего изобретения заключается в повышении эффективности кодирования/декодирования посредством внутреннего предсказания на основе матрицы.The purpose of the present invention is to improve the coding/decoding efficiency by matrix-based intra prediction.

В настоящем изобретении представлены способ и устройство для определения исходной выборки и матрицы для внутреннего предсказания на основе матрицы.The present invention provides a method and apparatus for determining an initial sample and a matrix for matrix-based intra prediction.

В настоящем изобретении представлены способ и устройство для осуществления понижающей выборки и повышающей выборки внутреннего предсказания на основе матрицы.The present invention provides a method and apparatus for downsampling and upsampling matrix-based intra prediction.

ТЕХНИЧЕСКОЕ РЕШЕНИЕTECHNICAL SOLUTION

В соответствии со способом и устройством для обработки видеосигналов согласно настоящему изобретению определяют режим внутреннего предсказания текущего блока, определяют исходную выборку, используемую для внутреннего предсказания текущего блока, определяют предварительно определенную матрицу на основании режима внутреннего предсказания и предсказывают текущий блок на основании исходной выборки и матрицы.In accordance with the method and device for processing video signals according to the present invention, the intra prediction mode of the current block is determined, the initial sample used for intra prediction of the current block is determined, a predetermined matrix is determined based on the intra prediction mode, and the current block is predicted based on the original sample and the matrix.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению определение исходной выборки может включать следующие операции. Определяют соседнюю область текущего блока и осуществляют понижающую выборку в определенной соседней области.In the video signal processing method and apparatus according to the present invention, determining the initial sample may include the following operations. A neighboring region of the current block is determined and downsampled in the determined neighboring region.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению соседнюю область разделяют на множество групп выборок. Группа выборок содержит одну или более выборок. Репрезентативное значение группы выборок определяют в качестве исходной выборки. Репрезентативное значение может быть одним из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.In the video signal processing method and apparatus of the present invention, a neighboring area is divided into a plurality of sample groups. A sample group contains one or more samples. The representative value of the group of samples is determined as the original sample. The representative value may be one of the following: average, minimum, maximum value, mode value, and intermediate value.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению матрицу определяют посредством дополнительного рассмотрения информации о кодировании текущего блока. Информация о кодировании содержит размер и форму текущего блока и угол или направленность режима внутреннего предсказания.In the video signal processing method and apparatus according to the present invention, the matrix is determined by additional consideration of the encoding information of the current block. The encoding information contains the size and shape of the current block and the angle or directionality of the intra prediction mode.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению операция предсказания текущего блока может включать следующую операцию. Генерируют блок предсказания посредством применения матрицы к исходной выборке.In the video signal processing method and apparatus according to the present invention, the current block prediction operation may include the following operation. A prediction block is generated by applying a matrix to the original sample.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют перестановку всех или части выборок предсказания сгенерированного блока предсказания.In the video signal processing method and apparatus according to the present invention, prediction of the current block may further include the following operation. All or part of the prediction samples of the generated prediction block are permuted.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют интерполяцию в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком. In the video signal processing method and apparatus according to the present invention, prediction of the current block may further include the following operation. Interpolation is performed with respect to the current block based on at least one of the following: a prediction block or reconstructed samples adjacent to the current block.

ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫBENEFITS EFFECTS

Согласно настоящему изобретению эффективность кодирования/декодирования может быть увеличена посредством сегментирования блока с древовидной структурой.According to the present invention, encoding/decoding efficiency can be increased by segmenting a block with a tree structure.

Согласно настоящему изобретению эффективность кодирования/декодирования может быть увеличена посредством внутреннего предсказания на основе матрицы.According to the present invention, encoding/decoding efficiency can be increased by matrix-based intra prediction.

Согласно настоящему изобретению эффективность кодирования/декодирования может быть увеличена посредством осуществления понижающей выборки или повышающей выборки, используемой для внутреннего предсказания на основе матрицы.According to the present invention, coding/decoding efficiency can be increased by downsampling or upsampling used for matrix-based intra prediction.

ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВDESCRIPTION OF GRAPHICS

На фиг. 1 изображена структурная схема устройства для кодирования согласно варианту осуществления настоящего изобретения.In FIG. 1 is a block diagram of an encoding apparatus according to an embodiment of the present invention.

На фиг. 2 изображена структурная схема устройства для декодирования согласно варианту осуществления настоящего изобретения.In FIG. 2 is a block diagram of a decoding apparatus according to an embodiment of the present invention.

На фиг. 3 изображены типы разделения блоков согласно варианту осуществления настоящего изобретения. In FIG. 3 shows types of block separation according to an embodiment of the present invention.

На фиг. 4 изображен способ сегментирования блока на основе древовидной структуры согласно варианту осуществления настоящего изобретения.In FIG. 4 shows a block segmentation method based on a tree structure according to an embodiment of the present invention.

На фиг. 5 изображен процесс выполнения внутреннего предсказания в отношении текущего блока на основании матрицы согласно варианту осуществления настоящего изобретения.In FIG. 5 shows a process for performing intra prediction on a current block based on a matrix, according to an embodiment of the present invention.

На фиг. 6 изображен способ определения исходной выборки посредством осуществления понижающей выборки в отношении соседней области согласно варианту осуществления настоящего изобретения.In FIG. 6 shows a method for determining an initial sample by downsampling a neighboring area according to an embodiment of the present invention.

На фиг. 7 изображен способ осуществления понижающей выборки на основании взвешенного среднего согласно варианту осуществления настоящего изобретения.In FIG. 7 illustrates a weighted average downsampling method according to an embodiment of the present invention.

На фиг. 8 изображены разделение первой выборки предсказания и способ интерполяции оставшихся областей согласно варианту осуществления настоящего изобретения.In FIG. 8 shows a division of the first prediction sample and a method for interpolating the remaining areas according to an embodiment of the present invention.

На фиг. 9 изображено взвешенное значение для расстояния, присвоенное в операции интерполяции, согласно варианту осуществления настоящего изобретения.In FIG. 9 shows a weighted value for a distance assigned in an interpolation operation according to an embodiment of the present invention.

На фиг. 10 изображена последовательность операций интерполяции согласно варианту осуществления настоящего изобретения.In FIG. 10 shows a sequence of interpolation operations according to an embodiment of the present invention.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

В соответствии со способом и устройством для обработки видеосигналов согласно настоящему изобретению определяют режим внутреннего предсказания текущего блока, определяют исходную выборку, используемую для внутреннего предсказания текущего блока, определяют предварительно определенную матрицу на основании режима внутреннего предсказания и предсказывают текущий блок на основании исходной выборки и матрицы.In accordance with the method and device for processing video signals according to the present invention, the intra prediction mode of the current block is determined, the initial sample used for intra prediction of the current block is determined, a predetermined matrix is determined based on the intra prediction mode, and the current block is predicted based on the original sample and the matrix.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению определение исходной выборки может включать следующие операции. Определяют соседнюю область текущего блока и осуществляют понижающую выборку в определенной соседней области.In the video signal processing method and apparatus according to the present invention, determining the initial sample may include the following operations. A neighboring region of the current block is determined and downsampled in the determined neighboring region.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению соседнюю область разделяют на множество групп выборок. Группа выборок содержит одну или более выборок. Репрезентативное значение группы выборок определяют в качестве исходной выборки. Репрезентативное значение может быть одним из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.In the video signal processing method and apparatus of the present invention, a neighboring area is divided into a plurality of sample groups. A sample group contains one or more samples. The representative value of the group of samples is determined as the original sample. The representative value may be one of the following: average, minimum, maximum value, mode value, and intermediate value.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению матрицу определяют посредством дополнительного рассмотрения информации о кодировании текущего блока. Информация о кодировании содержит размер и форму текущего блока и угол или направленность режима внутреннего предсказания.In the video signal processing method and apparatus according to the present invention, the matrix is determined by additional consideration of the encoding information of the current block. The encoding information contains the size and shape of the current block and the angle or directionality of the intra prediction mode.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может включать следующую операцию. Генерируют блок предсказания посредством применения матрицы к исходной выборке.In the video signal processing method and apparatus according to the present invention, prediction of the current block may include the following operation. A prediction block is generated by applying a matrix to the original sample.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют перестановку всех или части выборок предсказания сгенерированной выборки предсказания.In the video signal processing method and apparatus according to the present invention, prediction of the current block may further include the following operation. All or part of the prediction samples of the generated prediction sample are permuted.

В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют интерполяцию в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком.In the video signal processing method and apparatus according to the present invention, prediction of the current block may further include the following operation. Interpolation is performed with respect to the current block based on at least one of the following: a prediction block or reconstructed samples adjacent to the current block.

Настоящее изобретение могут различным образом изменять и модифицировать, и настоящее изобретение может иметь различные варианты осуществления. Конкретные варианты осуществления показаны на графических материалах и подробно описаны. Однако следует понимать, что эти конкретные варианты осуществления не предназначены для ограничения настоящего изобретения в конкретных способах реализации, а толкуются как включающие все модификации, эквиваленты или замены, которые относятся к сущности и техническому объему настоящего изобретения. При описании каждого графического материала одинаковые ссылочные позиции относятся к одинаковым составляющим элементам.The present invention may be changed and modified in various ways, and the present invention may have various embodiments. Specific embodiments are shown in the drawings and described in detail. However, it should be understood that these specific embodiments are not intended to limit the present invention to specific implementation methods, but are construed as including all modifications, equivalents, or substitutions that fall within the spirit and technical scope of the present invention. In the description of each graphic, like reference numerals refer to like constituent elements.

Несмотря на то, что термины «первый», «второй» и т. д. могут использоваться для описания составляющих элементов, эти составляющие элементы не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличать один составляющий элемент от другого составляющего элемента. Например, первый составляющий элемент может быть назван вторым составляющим элементом, и подобным образом второй элемент может быть назван первым элементом без отступления от идей настоящего изобретения. Термин «и/или» относится к комбинациям множества связанных перечисленных объектов или любому из множества связанных перечисленных объектов.Although the terms "first", "second", etc. may be used to describe constituent elements, these constituent elements should not be limited to these terms. These terms are only used to distinguish one constituent element from another constituent element. For example, the first constituent element may be referred to as the second constituent element, and similarly the second element may be referred to as the first element without departing from the teachings of the present invention. The term "and/or" refers to combinations of a plurality of related listed objects or any of a plurality of related listed objects.

Следует понимать, что когда определенный составляющий элемент называется «соединенным» или «связанным» с другим составляющим элементом, составляющий элемент может быть непосредственно соединен или связан с другим элементом. Также могут присутствовать другие составляющие элементы между этим составляющим элементом и другим составляющим элементом. Напротив, когда определенный составляющий элемент называется «непосредственно соединенным» или «непосредственно связанным» с другим составляющим элементом, между этим составляющим элементом и другим составляющим элементом отсутствуют другие составляющие элементы.It should be understood that when a certain constituent element is referred to as "connected" or "associated" with another constituent element, the constituent element may be directly connected to or associated with another element. Other constituent elements may also be present between this constituent element and another constituent element. In contrast, when a certain constituent element is referred to as "directly connected" or "directly connected" to another constituent element, there are no other constituent elements between that constituent element and the other constituent element.

Терминология, используемая в данном документе, предназначена только для целей описания конкретных вариантов осуществления и не предназначена для ограничения настоящего изобретения. Если другие значения явным образом не выражены в тексте, формы единственного числа включают в себя формы множественного числа. В настоящем описании также следует понимать, что термины «содержать» или «иметь» указывают на наличие перечисленных признаков, положительных целых чисел, этапов, операций, составляющих элементов, компонентов или их комбинаций, которые описаны в описании, но не исключают присутствия или добавления одного или более других признаков, положительных целых чисел, этапов, операций, элементов, компонентов и/или их групп.The terminology used in this document is for the purpose of describing particular embodiments only and is not intended to limit the present invention. Unless other meanings are explicitly expressed in the text, the singular forms include the plural forms. In the present description, it should also be understood that the terms "comprise" or "have" indicate the presence of the listed features, positive integers, steps, operations, constituent elements, components, or combinations thereof, which are described in the description, but do not exclude the presence or addition of one or more other features, positive integers, steps, operations, elements, components, and/or groups thereof.

Если отсутствует другое определение, все термины, включая технические или научные термины, имеют то же самое значение, что и значение, являющееся общепонятным для специалистов в данной области техники. Термины, определенные в широко используемых словарях, должны интерпретироваться как соответствующие значениям в соответствующих технических документах. Если они четко не определены в настоящем описании, их значения не должны интерпретироваться как идеальные или чрезмерно формальные.Unless otherwise defined, all terms, including technical or scientific terms, have the same meaning as that which is commonly understood by those skilled in the art. Terms defined in widely used dictionaries should be interpreted as corresponding to the meanings in the relevant technical documents. If they are not clearly defined in the present description, their meanings should not be interpreted as ideal or overly formal.

Далее предпочтительные примерные варианты осуществления настоящего изобретения будут подробно описаны со ссылкой на прилагаемые графические материалы. Подобные ссылочные позиции на графических материалах относятся к подобным составляющим элементам по всему документу, и излишние описания подобных составляющих элементов будут опущены в данном документе.Hereinafter, preferred exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings refer to like constituent elements throughout this document, and unnecessary descriptions of such constituent elements will be omitted herein.

На фиг. 1 изображена структурная схема устройства для кодирования согласно варианту осуществления настоящего изобретения.In FIG. 1 is a block diagram of an encoding apparatus according to an embodiment of the present invention.

Как показано на фиг. 1, устройство 100 для кодирования содержит часть 110 для разделения изображений, части 120 и 125 для предсказания, часть 130 для преобразования, часть 135 для квантования, часть 160 для перестановки, часть 165 для энтропийного кодирования, часть 140 для обратного квантования, часть 145 для обратного преобразования, часть 150 для фильтрации и запоминающее устройство 155.As shown in FIG. 1, the encoding apparatus 100 includes an image separation part 110, prediction parts 120 and 125, a transform part 130, a quantization part 135, a permutation part 160, an entropy coding part 165, an inverse quantization part 140, a inverse transformation, a filtering part 150, and a storage device 155.

Каждая из составных частей, показанных на фиг. 1, показана отдельно для представления разных характеристических функций в устройстве для кодирования изображений, и это может показывать, что каждая составная часть представлена отдельным аппаратным средством. Однако для простоты описания каждая составная часть указана в качестве отдельной составной части и включена. По меньшей мере две составные части во всех составных частях могут составлять одну составную часть, или одна составная часть может быть разделена на несколько составных частей для выполнения функций. Такие исчерпывающие варианты осуществления и отдельные варианты осуществления каждой составной части при условии, что они не отступают от сущности настоящего изобретения, также включены в объем прав по настоящему изобретению.Each of the components shown in Fig. 1 is shown separately to represent different characteristic functions in an image encoding apparatus, and it may show that each component is represented by separate hardware. However, for ease of description, each component is listed as a separate component and included. At least two constituent parts in all constituent parts may constitute one constituent part, or one constituent part may be divided into several constituent parts to perform functions. Such exhaustive embodiments and individual embodiments of each constituent part, provided that they do not depart from the spirit of the present invention, are also included within the scope of the present invention.

Некоторые составляющие элементы могут быть необязательными составляющими элементами только для улучшения производительности и могут не быть обязательными составляющими элементами для выполнения важных функций в настоящем изобретении. Настоящее изобретение может быть реализовано посредством включения только составных частей, которые являются важными для варианта осуществления настоящего изобретения, за исключением составных частей, используемых только для улучшения производительности. Структура, содержащая только важные составные части, за исключением видимых составных частей, используемых только для улучшения производительности, входит в объем настоящего изобретения.Some constituent elements may be optional constituent elements only to improve performance and may not be mandatory constituent elements for performing important functions in the present invention. The present invention can be implemented by including only components that are important to an embodiment of the present invention, with the exception of components used only to improve performance. A structure containing only essential components, with the exception of visible components used only to improve performance, is within the scope of the present invention.

Часть 110 для разделения изображений может разделять входное изображение на по меньшей мере один блок. В это время блок может представлять собой узел кодирования (CU), узел предсказания (PU) или узел преобразования (TU). Разделение может быть выполнено на основе по меньшей мере одного из следующего: четверичное дерево, двоичное дерево и троичное дерево. Четверичное дерево представляет собой метод разделения верхнего блока на нижние блоки, имеющие половину ширины и высоты верхнего блока, методом четверичного разделения. Двоичное дерево представляет собой метод разделения верхнего блока на нижние блоки, имеющие по меньшей мере одно из ширины или высоты половины верхнего блока, методом двоичного разделения. При разделении методом двоичного дерева блок может иметь не только форму квадрата, но и форму, отличную от квадрата, посредством разделения на основе приведенного выше двоичного дерева и иметь высоту половины верхнего блока.Part 110 for separating images may divide the input image into at least one block. At this time, the block may be a coding node (CU), a prediction node (PU), or a transform node (TU). The division may be based on at least one of the following: a quaternary tree, a binary tree, and a ternary tree. Quaternary tree is a method of dividing the top block into bottom blocks that have half the width and height of the top block using the quaternary splitting method. Binary tree is a method of dividing a top block into bottom blocks having at least one of the width or height of half of the top block by a binary splitting method. In binary tree division, a block can be not only a square shape, but also a shape other than a square by division based on the above binary tree, and have a height of half of the top block.

Далее в вариантах осуществления настоящего изобретения узел кодирования может представлять собой узел для выполнения кодирования и также может представлять собой узел для выполнения декодирования.Further, in embodiments of the present invention, the encoding node may be a node for performing encoding, and may also be a node for performing decoding.

Части 120 и 125 для предсказания могут содержать часть 120 для предсказания, осуществляемого между изображениями, для выполнения предсказания, осуществляемого между изображениями, и часть 125 для внутреннего предсказания для выполнения внутреннего предсказания. Определяют, какое из предсказания, осуществляемого между изображениями, и внутреннего предсказания выполняется в узле предсказания, и может быть определена конкретная информация (например, режим внутреннего предсказания, вектор движения, опорное изображение и т. п.) согласно каждому способу предсказания. В настоящем документе блок обработки для выполнения предсказания может отличаться от блока обработки для определения способа предсказания и конкретного содержимого. Например, способ предсказания, режим предсказания и т. п. может быть определен узлом предсказания, и предсказание также может быть выполнено узлом преобразования. Остаточное значение (остаточный блок) между сгенерированным блоком предсказания и первоначальным блоком может быть введено в часть 130 для преобразования. В дополнение, в части 165 для энтропийного кодирования информация о режиме предсказания, информация о векторе движения и т. п., которые используются для предсказания, могут быть закодированы вместе с остаточным значением и переданы на устройство для декодирования. Когда используется конкретный режим кодирования, первоначальный блок также может быть закодирован первоначальным способом и передан на часть для декодирования без необходимости генерирования блока предсказания посредством частей 120 и 125 для предсказания.The prediction portions 120 and 125 may comprise an inter-picture prediction portion 120 for performing inter-picture prediction and an intra prediction portion 125 for performing intra prediction. It is determined which of the inter-picture prediction and intra prediction is performed at the prediction node, and specific information (e.g., intra prediction mode, motion vector, reference picture, etc.) can be determined according to each prediction method. Herein, the processing unit for performing prediction may be different from the processing unit for determining the prediction method and specific content. For example, a prediction method, a prediction mode, and the like can be determined by the prediction node, and prediction can also be performed by the transform node. The residual value (residual block) between the generated prediction block and the original block may be input to the transform portion 130. In addition, in the entropy encoding portion 165, prediction mode information, motion vector information, and the like, which are used for prediction, can be encoded along with the residual value and transmitted to the device for decoding. When a particular coding mode is used, the original block can also be coded in the original way and transmitted to the decoding part without the need to generate a prediction block by the prediction parts 120 and 125.

Часть 120 для предсказания, осуществляемого между изображениями, может предсказывать узел предсказания на основании информации о по меньшей мере одном из изображения, предшествующего текущему изображению, или изображения, следующего за текущим изображением, и также может предсказывать узел предсказания на основании информации о некоторых областях кодирования в текущем изображении согласно ситуации. Узел 120 предсказания, осуществляемого между изображениями, может содержать часть для интерполяции опорного изображения, часть для предсказания движения и часть для компенсации движения.The inter-picture prediction portion 120 may predict a prediction node based on information about at least one of an image preceding the current image or an image following the current image, and may also predict the prediction node based on information about some coding areas in current image according to the situation. The inter-picture prediction part 120 may include a reference picture interpolation part, a motion prediction part, and a motion compensation part.

В части для интерполяции опорного изображения информация об опорном изображении предоставляется посредством запоминающего устройства 155, и для опорного изображения может генерироваться информация о пикселях, которые меньше или равны целочисленному пикселю. Для пикселя яркости с целью генерирования информации о пикселях, которые меньше или равны целочисленному пикселю в элементе 1/4 пикселя, могут использовать 8-отводный интерполяционный фильтр на основе DCT с разными коэффициентами фильтра. Для сигналов цветности с целью генерирования информации о пикселях, которые меньше или равны целочисленному пикселю в элементе 1/8 пикселя, могут использовать 4-отводный интерполяционный фильтр на основе DCT с разными коэффициентами фильтра.In the part for interpolating the reference image, information about the reference image is provided by the storage device 155, and information about pixels that are less than or equal to an integer pixel can be generated for the reference image. For the luma pixel, an 8-tap DCT-based interpolation filter with different filter coefficients can be used to generate information about pixels that are less than or equal to an integer pixel in a 1/4 pixel element. For chrominance signals, a 4-tap DCT-based interpolation filter with different filter coefficients can be used to generate information about pixels that are less than or equal to an integer pixel in a 1/8 pixel element.

Часть для предсказания движения может осуществлять предсказание движения на основании опорного изображения, интерполированного частью для интерполяции опорного изображения. Различные способы, такие как алгоритм сопоставления блоков на основе полного поиска (FBMA), трехступенчатый поиск (TSS), алгоритм нового трехступенчатого поиска (NTS) и т. п., могут использоваться для вычисления вектора движения. Вектор движения может иметь значение вектора движения в элементах 1/2 или 1/4 пикселя на основе интерполированного пикселя. Часть для предсказания движения может предсказывать текущий узел предсказания посредством разных способов предсказания движения. Различные способы, такие как способ пропуска, способ слияния, способ усовершенствованного предсказания вектора движения (AMVP) и т. п., могут использоваться в качестве способа предсказания движения.The motion prediction part may perform motion prediction based on the reference image interpolated by the reference image interpolation part. Various methods such as full search block matching algorithm (FBMA), three-step search (TSS), new three-step search (NTS) algorithm, and the like can be used to calculate the motion vector. The motion vector may have a motion vector value in 1/2 or 1/4 pixel units based on the interpolated pixel. The motion prediction part can predict the current prediction node by various motion prediction methods. Various methods, such as a skip method, a merge method, an advanced motion vector prediction (AMVP) method, and the like, can be used as a motion prediction method.

Часть 125 для внутреннего предсказания может генерировать узел предсказания на основании информации об опорных пикселях, соседних с текущим блоком, причем информация об опорных пикселях, соседних с текущим блоком, представляет собой информацию о пикселях в текущем изображении. Поскольку соседний блок текущего узла предсказания представляет собой блок, для которого выполнено предсказание, осуществляемое между изображениями, когда опорные пиксели представляют собой пиксели, для которых выполнено предсказание, осуществляемое между изображениями, информация об опорных пикселях, содержащихся в блоке, для которого выполнено предсказание, осуществляемое между изображениями, может быть заменена информацией об опорных пикселях соседнего блока, для которого выполнено внутреннее предсказание. То есть, когда опорные пиксели являются недоступными, информация о недоступных опорных пикселях может быть заменена по меньшей мере одним опорным пикселем среди доступных опорных пикселей.The intra prediction part 125 may generate a prediction node based on information about the reference pixels adjacent to the current block, where the information about the reference pixels adjacent to the current block is information about pixels in the current image. Since the neighboring block of the current prediction node is a block on which inter-picture prediction is performed, when the reference pixels are pixels on which inter-picture prediction is performed, information about the reference pixels contained in the block on which prediction is performed is between images, can be replaced by information about the reference pixels of the adjacent block for which intra-prediction is performed. That is, when the reference pixels are unavailable, the unavailable reference pixel information can be replaced with at least one reference pixel among the available reference pixels.

Режим предсказания для внутреннего предсказания может включать режим предсказания, основанный на информации об углах, при котором информация об опорном пикселе используется согласно направлению предсказания, и режим предсказания, не основанный на информации об углах, при котором информация об углах не используется при выполнении предсказания. Режим, используемый для предсказания компонента яркости, и режим, используемый для предсказания компонента цветности, могут отличаться. Компонент цветности может быть предсказан с использованием режима внутреннего предсказания для предсказания компонента яркости или с использованием предсказанного/восстановленного компонента яркости.The prediction mode for intra prediction may include an angle information based prediction mode in which reference pixel information is used according to the prediction direction, and an angle information non-information based prediction mode in which angle information is not used in performing prediction. The mode used to predict the luminance component and the mode used to predict the chrominance component may be different. The chrominance component may be predicted using an intra prediction mode for luminance component prediction, or using a predicted/recovered luminance component.

Посредством способа внутреннего предсказания можно генерировать блок предсказания после применения адаптивного фильтра внутрикадрового сглаживания (AIS) к опорным пикселям согласно режиму внутреннего предсказания. Типы фильтра AIS, применяемого к опорным пикселям, могут быть разными. Для осуществления способа внутреннего предсказания режим внутреннего предсказания для текущего узла предсказания может быть предсказан из режима внутреннего предсказания узла предсказания, соседнего с текущим узлом предсказания. Когда режим предсказания для текущего узла предсказания предсказывают с использованием информации о режиме, предсказанной из соседнего узла предсказания, если режим внутреннего предсказания для текущего узла предсказания является таким же, как и режим для соседнего узла предсказания, информация о предварительно определенном флаге может использоваться для передачи информации, указывающей, что режим внутреннего предсказания текущего узла предсказания является таким же, как и режим соседнего узла предсказания. Если режим внутреннего предсказания текущего узла предсказания отличается от режима соседнего узла предсказания, может выполняться энтропийное кодирование для кодирования информации о режиме внутреннего предсказания текущего блока.By the intra prediction method, it is possible to generate a prediction block after applying an adaptive intra-frame dithering (AIS) filter to the reference pixels according to the intra prediction mode. The types of AIS filter applied to the reference pixels can be different. To implement the intra prediction method, the intra prediction mode for the current prediction node may be predicted from the intra prediction mode of the prediction node adjacent to the current prediction node. When the prediction mode for the current prediction node is predicted using the mode information predicted from the neighbor prediction node, if the intra prediction mode for the current prediction node is the same as the mode for the neighbor prediction node, the predetermined flag information can be used to transmit information indicating that the intra prediction mode of the current prediction node is the same as that of the neighboring prediction node. If the intra prediction mode of the current prediction node is different from the mode of the neighboring prediction node, entropy encoding may be performed to encode information about the intra prediction mode of the current block.

В дополнение, части 120 и 125 для предсказания могут генерировать информацию об остаточном значении, включая значение разности между сгенерированным узлом предсказания и первоначальным блоком. Сгенерированный остаточный блок может быть введен в узел 130 преобразования.In addition, prediction portions 120 and 125 may generate residual value information including a difference value between the generated prediction node and the original block. The generated residual block may be input to the transform node 130 .

Часть 130 для преобразования может использовать преобразование, такое как DCT, DST и т. п., для преобразования остаточного блока, включая остаточные данные. В данном документе тип преобразования может быть определен на основании режима внутреннего предсказания узла предсказания, используемого для генерирования остаточного блока.The transform part 130 may use a transform such as DCT, DST, and the like to transform the residual block including the residual data. Herein, the transform type may be determined based on the intra prediction mode of the prediction node used to generate the residual block.

Часть 135 для квантования может выполнять квантование в отношении значения, преобразованного в частотную область посредством части 130 для преобразования. Коэффициент квантования может изменяться в зависимости от блока или важности изображения. Значение, вычисленное из части 135 для квантования, может быть предоставлено в часть 140 для обратного квантования и часть 160 для перестановки.The quantization part 135 may perform quantization on the value converted to the frequency domain by the transform part 130 . The quantization factor may vary depending on the block or image importance. The value calculated from the quantization part 135 may be provided to the inverse quantization part 140 and the permutation part 160.

Часть 160 для перестановки может выполнять перестановку в отношении значения коэффициента для квантованного остаточного блока. Часть 160 для перестановки может изменять коэффициенты двумерной блочной формы на одномерную векторную форму посредством способа сканирования коэффициентов. Например, часть 160 для перестановки может использовать предварительно определенный тип сканирования для сканирования от коэффициента DC до коэффициента в области высоких частот для его изменения на одномерную векторную форму.The permutation part 160 may perform permutation with respect to the coefficient value for the quantized residual block. The permutation part 160 may change the coefficients of the two-dimensional block form to a one-dimensional vector form by means of a coefficient scanning method. For example, the permutation portion 160 may use a predetermined scan type to scan from the DC coefficient to the high frequency coefficient to change it to a one-dimensional vector form.

Часть 165 для энтропийного кодирования может выполнять энтропийное кодирование на основании значения, вычисленного частью 160 для перестановки. Различные способы кодирования, такие как кодирование экспоненциальным способом Голомба, контекстно-адаптивное кодирование с переменной длиной слова (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т. п., могут использоваться для энтропийного кодирования.The entropy encoding part 165 may perform entropy encoding based on the value calculated by the permutation part 160. Various coding methods such as exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), etc., can be used for entropy coding.

Часть 165 для энтропийного кодирования может осуществлять кодирование различной информации, такой как информация об остаточном коэффициенте и информация о типе блока узла кодирования, информация о режиме предсказания, информация об узле разделения, информация об узле предсказания и информация об узле преобразования, информация о векторе движения, информация об опорном изображении, информация об интерполяции блока, информация о фильтрации и т. п., из части 160 для перестановки и частей 120 и 125 для предсказания.The entropy encoding part 165 can encode various information such as residual coefficient information and encoding node block type information, prediction mode information, split node information, prediction node information and transform node information, motion vector information, reference picture information, block interpolation information, filtering information, and the like, from the permutation part 160 and the prediction parts 120 and 125.

Часть 165 для энтропийного кодирования может выполнять энтропийное кодирование в отношении значения коэффициента узла кодирования, вводимого из части 160 для перестановки.The entropy encoding part 165 may perform entropy encoding on the coefficient value of the encoding node input from the permutation part 160.

Часть 140 для обратного квантования и часть 145 для обратного преобразования выполняют обратное квантование в отношении значения, квантованного посредством части 135 для квантования, и выполняют обратное преобразование в отношении значения, преобразованного частью 130 для преобразования. Остаточное значение, сгенерированное частью 140 для обратного квантования и частью 145 для обратного преобразования, может быть объединено с предсказанным узлом предсказания посредством части для анализа движения, части для компенсации движения и части для внутреннего предсказания, включенных в части 120 и 125 для предсказания, для генерирования восстановленного блока.The inverse quantization part 140 and the inverse transform part 145 perform inverse quantization on the value quantized by the quantization part 135, and perform inverse transformation on the value converted by the transform part 130. The residual value generated by the inverse quantization part 140 and the inverse transform part 145 can be combined with the predicted prediction node by the motion analysis part, the motion compensation part, and the intra prediction part included in the prediction parts 120 and 125 to generate restored block.

Часть 150 для фильтрации может содержать по меньшей мере одно из следующего: деблочный фильтр, часть для коррекции смещения и адаптивный контурный фильтр (ALF).The filtering portion 150 may comprise at least one of a deblocking filter, a bias correction portion, and an adaptive loop filter (ALF).

Деблочный фильтр может устранять искажение блока, вызванного границей между блоками в восстановленном изображении. Определение того, следует ли выполнять удаление блочности, применяется ли деблочный фильтр к текущему блоку, осуществляют на основании пикселей, содержащихся в нескольких столбцах или строках, содержащихся в блоке. Когда деблочный фильтр применяется к блоку, может применяться сильный фильтр или слабый фильтр согласно необходимой степени фильтрации для удаления блочности. В дополнение, при применении деблочного фильтра и выполнения вертикальной фильтрации и горизонтальной фильтрации, вертикальная фильтрация и горизонтальная фильтрация могут осуществляться одновременно.The deblocking filter can remove block distortion caused by the border between blocks in the reconstructed image. The determination of whether deblocking should be performed, whether a deblocking filter is applied to the current block, is made based on the pixels contained in multiple columns or rows contained in the block. When a deblocking filter is applied to a block, a strong filter or a weak filter can be applied according to the required degree of filtering to remove blocking. In addition, when applying a deblocking filter and performing vertical filtering and horizontal filtering, vertical filtering and horizontal filtering can be performed simultaneously.

Часть для коррекции смещения может корректировать смещение первоначального изображения в элементе пикселя для изображения, с которого была удалена деблочность. Для выполнения корректировки смещения для конкретного изображения применяют способ, в котором после разделения содержащихся в изображении пикселей на определенное количество областей определяют область, подлежащую смещению, и применяют смещение к области, или применяют способ, в котором используют соответствующее смещение в соответствии с информацией о крае каждого пикселя.The offset correction part may correct the offset of the original image in the pixel element of the image from which the deblocking has been removed. To perform offset correction for a specific image, a method is used in which, after dividing the pixels contained in the image into a certain number of areas, an area to be shifted is determined and an offset is applied to the area, or a method is applied in which an appropriate offset is used in accordance with the edge information of each pixel.

Адаптивная контурная фильтрация (ALF) может осуществляться на основании значения сравнения между фильтрованным восстановленным изображением и первоначальным изображением. После разделения пикселей, содержащихся в изображении, на предварительно определенные группы определяется фильтр, подлежащий применению к данной группе, и фильтрация может осуществляться для каждой группы по-разному. Для получения информации о том, применять ли ALF, каждый узел кодирования (CU) может передавать сигналы яркости, и форма и коэффициент фильтра ALF, подлежащего применению, могут быть изменены в соответствии с каждым блоком. В дополнение, фильтр ALF той же формы (фиксированной формы) может применяться независимо от характеристик применяемого блока.Adaptive loop filtering (ALF) may be performed based on a comparison value between the filtered reconstructed image and the original image. After dividing the pixels contained in the image into predetermined groups, a filter to be applied to that group is determined, and filtering can be performed differently for each group. To obtain information about whether to apply ALF, each coding unit (CU) may transmit luma signals, and the shape and coefficient of the ALF filter to be applied may be changed in accordance with each block. In addition, an ALF filter of the same shape (fixed shape) can be applied regardless of the characteristics of the applied block.

Запоминающее устройство 155 может хранить восстановленные блоки или изображения, вычисленные частью 150 для фильтрации, и хранимые восстановленные блоки или изображения могут быть предоставлены в части 120 и 125 для предсказания при выполнении предсказания, осуществляемого между изображениями.The storage device 155 may store the reconstructed blocks or images calculated by the filtering portion 150, and the stored reconstructed blocks or images may be provided to the prediction portions 120 and 125 when performing inter-picture prediction.

На фиг. 2 изображена структурная схема устройства для декодирования согласно варианту осуществления настоящего изобретения.In FIG. 2 is a block diagram of a decoding apparatus according to an embodiment of the present invention.

Как показано на фиг. 2, устройство 200 для декодирования может содержать часть 210 для энтропийного декодирования, часть 215 для перестановки, часть 220 для обратного квантования, часть 225 для обратного преобразования, части 230 и 235 для предсказания, часть 240 для фильтрации и запоминающее устройство 245.As shown in FIG. 2, the decoding apparatus 200 may comprise an entropy decoding portion 210, a permutation portion 215, an inverse quantization portion 220, an inverse transform portion 225, prediction portions 230 and 235, a filtering portion 240, and a memory 245.

Каждая из составных частей, показанных на фиг. 2, показана отдельно для представления разных характеристических функций в устройстве для декодирования, и это может показывать, что каждая составная часть представлена отдельным аппаратным средством. Однако для простоты описания каждая составная часть указана в качестве отдельной составной части и включена. По меньшей мере две составные части во всех составных частях могут составлять одну составную часть, или одна составная часть может быть разделена на несколько составных частей для выполнения функций. Такие исчерпывающие варианты осуществления и отдельные варианты осуществления каждой составной части при условии, что они не отступают от сущности настоящего изобретения, также включены в объем прав по настоящему изобретению.Each of the components shown in Fig. 2 is shown separately to represent different characteristic functions in the decoding apparatus, and it may show that each component is represented by separate hardware. However, for ease of description, each component is listed as a separate component and included. At least two constituent parts in all constituent parts may constitute one constituent part, or one constituent part may be divided into several constituent parts to perform functions. Such exhaustive embodiments and individual embodiments of each constituent part, provided that they do not depart from the spirit of the present invention, are also included within the scope of the present invention.

Часть 210 для энтропийного декодирования может выполнять энтропийное декодирование в отношении входного битового потока. Например, для выполнения энтропийного декодирования могут применяться различные способы, такие как кодирование экспоненциальным способом Голомба, контекстно-адаптивное кодирование с переменной длиной слова (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т. п.Part 210 for entropy decoding may perform entropy decoding on the input bitstream. For example, various techniques such as exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like, can be used to perform entropy decoding.

Часть 210 для энтропийного декодирования может выполнять декодирование в отношении информации, связанной с внутренним предсказанием и предсказанием, осуществляемым между изображениями, выполняемыми устройством для кодирования.The entropy decoding portion 210 may perform decoding on information related to intra prediction and prediction performed between pictures performed by the encoding apparatus.

Часть 215 для перестановки может выполнять перестановку в отношении битового потока, декодированного энтропийным образом частью 210 для энтропийного декодирования. Коэффициент, представленный одномерной векторной формой, может быть восстановлен до коэффициента двумерной блочной формы для выполнения перестановки. Часть 215 для перестановки может принимать информацию относительно сканирования коэффициента, выполненного устройством для кодирования, и может выполнять перестановку посредством выполнения обратного сканирования на основании порядка сканирования, выполняемого устройством для кодирования.The permutation part 215 may perform permutation on the bitstream decoded in an entropy manner by the entropy decoding part 210. The coefficient represented by the one-dimensional vector form can be restored to the coefficient of the two-dimensional block form to perform the permutation. The permutation part 215 may receive information regarding the coefficient scan performed by the encoding apparatus, and may perform permutation by performing inverse scanning based on the scan order performed by the encoding apparatus.

Часть 220 для обратного квантования может выполнять обратное квантование на основании параметра квантования и значения коэффициента перестроенного блока.The inverse quantization part 220 may perform inverse quantization based on the quantization parameter and the rearranged block coefficient value.

Часть 225 для обратного преобразования может выполнять обратное преобразование в отношении коэффициента преобразования для обратного квантования согласно предварительно определенному типу преобразования. В данном документе тип преобразования может быть определен на основании информации по меньшей мере об одном из следующих элементов: режим предсказания (предсказание, осуществляемое между изображениями/внутреннее предсказание), размер/форма блока, режим внутреннего предсказания, тип компонента (компонент яркости/цветности), тип разделения (QT, BT, TT и т. д.) и т. п.The inverse transform part 225 may perform an inverse transform on the inverse quantization transform coefficient according to a predetermined transform type. Herein, a transform type can be determined based on information about at least one of the following: prediction mode (inter-picture prediction/intra prediction), block size/shape, intra prediction mode, component type (luma/chrominance component) , separation type (QT, BT, TT, etc.), etc.

Части 230 и 235 для предсказания могут генерировать связанную информацию на основании блока предсказания, предусмотренного в части 210 для энтропийного декодирования, и генерировать блок предсказания на основании информации ранее декодированного блока или изображения, предоставленного запоминающим устройством 245.The prediction parts 230 and 235 may generate related information based on the prediction block provided in the entropy decoding part 210, and generate a prediction block based on the previously decoded block or image information provided by the memory 245.

Части 230 и 235 для предсказания могут содержать часть для определения узла предсказания, часть для предсказания, осуществляемого между изображениями, и часть для внутреннего предсказания. Часть для определения узла предсказания может принимать различную информацию, такую как информация об узле предсказания, введенная частью 210 для энтропийного декодирования, информация, связанная с режимом внутреннего предсказания способа внутреннего предсказания, информация, связанная с предсказанием движения способа предсказания, осуществляемого между изображениями, и т. п. Текущий узел кодирования (CU) выделяет узел предсказания и определяет, какое из предсказания, осуществляемого между изображениями, и внутрикадрового предсказания осуществляется в отношении узла предсказания. Часть 230 для предсказания, осуществляемого между изображениями, может использовать информацию, требуемую для предсказания, осуществляемого между изображениями, текущего узла предсказания, предоставленную устройством для кодирования, и выполнять предсказание, осуществляемое между изображениями, для текущего узла предсказания на основании информации, содержащейся в по меньшей мере одном из изображения, предшествующего текущему изображению, или изображения, следующего за текущим изображением, включая текущий узел предсказания. Или предсказание, осуществляемое между изображениями, также может выполняться в текущем изображении, содержащем текущий узел предсказания, на основании информации о некоторых из восстановленных областей. Для этой цели некоторые из восстановленных областей могут добавляться в список опорных изображений.The prediction portions 230 and 235 may comprise a prediction node determination portion, an inter-picture prediction portion, and an intra prediction portion. The prediction node determination part may receive various information such as prediction node information inputted by the entropy decoding part 210, information related to the intra prediction mode of the intra prediction method, information related to motion prediction of the inter-picture prediction method, and so on. The current coding node (CU) allocates a prediction node and determines which of the inter-picture prediction and intra-picture prediction is performed on the prediction node. The inter-picture prediction part 230 may use the information required for the inter-picture prediction of the current prediction node provided by the encoding device, and perform the inter-picture prediction for the current prediction node based on the information contained in at least at least one of the image preceding the current image or the image following the current image, including the current prediction node. Or, inter-picture prediction may also be performed on the current picture containing the current prediction node based on information about some of the reconstructed areas. For this purpose, some of the reconstructed areas may be added to the reference picture list.

Для выполнения предсказания, осуществляемого между изображениями, можно определять на основании узла кодирования, является ли способ предсказания движения для узла предсказания, содержащегося в узле кодирования, режимом пропуска, режимом слияния, режимом AMVP и исходным режимом для текущего изображения.To perform inter-picture prediction, it can be determined based on the encoding node whether the motion prediction method for the prediction node contained in the encoding node is a skip mode, a merge mode, an AMVP mode, and a source mode for the current picture.

Часть 235 для внутреннего предсказания может генерировать блок предсказания на основании информации о пикселях в текущем изображении. Когда узел предсказания представляет собой узел предсказания, для которого выполнено внутреннее предсказание, внутреннее предсказание может выполняться на основании информации о режиме внутреннего предсказания узла предсказания, предоставленного устройством для кодирования. Часть 235 для внутреннего предсказания может содержать адаптивный фильтр внутрикадрового сглаживания (AIS), часть для интерполяции опорного пикселя и фильтр DC. В качестве компонента для фильтрации опорных пикселей текущего блока фильтр AIS может определять, применять ли фильтр, согласно режиму предсказания текущего узла предсказания. Режим предсказания узла предсказания, предоставленного устройством для кодирования, и информация о фильтре AIS могут использоваться для выполнения фильтрации AIS в отношении опорных пикселей текущего блока. Когда режим предсказания текущего блока представляет собой режим, не выполняющий фильтрацию AIS, фильтр AIS может не применяться.Part 235 for intra prediction may generate a prediction block based on information about pixels in the current image. When the prediction node is a prediction node for which intra prediction has been performed, intra prediction may be performed based on the intra prediction mode information of the prediction node provided by the encoding apparatus. The intra prediction portion 235 may comprise an adaptive intra-frame smoothing (AIS) filter, a reference pixel interpolation portion, and a DC filter. As a component for filtering the reference pixels of the current block, the AIS filter may determine whether to apply the filter according to the prediction mode of the current prediction node. The prediction mode of the prediction node provided by the encoding device and the AIS filter information may be used to perform AIS filtering on the reference pixels of the current block. When the prediction mode of the current block is a mode not performing AIS filtering, the AIS filter may not be applied.

Когда режим предсказания узла предсказания представляет собой режим предсказания, в котором внутреннее предсказание выполняется на основании значения пикселей, полученного посредством выполнения интерполяции в отношении опорных пикселей, часть для интерполяции опорного пикселя может интерполировать опорные пиксели для генерирования опорных пикселей в элементе, меньшем чем целочисленное значение. Когда режим предсказания текущего узла предсказания представляет собой режим предсказания, в котором блок предсказания генерируется без интерполяции опорных пикселей, интерполяция может не выполняться в отношении опорных пикселей. Когда режим предсказания текущего блока представляет собой режим DC, фильтр DC может генерировать блок предсказания посредством фильтрации.When the prediction node prediction mode is a prediction mode in which intra prediction is performed based on a pixel value obtained by performing interpolation on the reference pixels, the reference pixel interpolation portion may interpolate the reference pixels to generate the reference pixels in an element smaller than an integer value. When the prediction mode of the current prediction node is a prediction mode in which a prediction block is generated without interpolation of the reference pixels, the interpolation may not be performed on the reference pixels. When the prediction mode of the current block is the DC mode, the DC filter may generate a prediction block by filtering.

Восстановленный блок или изображение могут быть предоставлены в часть 240 для фильтрации. Часть 240 для фильтрации может содержать деблочный фильтр, часть для коррекции смещения и ALF.The reconstructed block or image may be provided to part 240 for filtering. The filtering part 240 may include a deblocking filter, a bias correction part, and an ALF.

Информация, относящаяся к тому, применять ли деблочный фильтр к блоку или изображению, может приниматься от устройства для кодирования. Когда применяется деблочный фильтр, принимается информация, относящаяся к тому, применять ли сильный фильтр или слабый фильтр. Информация, связанная с деблочным фильтром, предоставленная устройством для кодирования, может приниматься деблочным фильтром устройства для декодирования, и фильтрация для удаления блочности может выполняться в отношении блока устройством для декодирования.Information relating to whether to apply a deblocking filter to a block or an image may be received from an encoding device. When a deblocking filter is applied, information regarding whether to apply a strong filter or a weak filter is received. Deblocking filter related information provided by the encoder may be received by the deblocker filter of the decoder, and deblocking filtering may be performed on the block by the decoder.

При выполнении кодирования часть для коррекции смещения может выполнять коррекцию смещения в отношении восстановленного изображения на основании информации о типе коррекции смещения и значении смещения, применяемого к изображению.When encoding is performed, the offset correction portion may perform offset correction on the reconstructed image based on information about the type of offset correction and the offset value applied to the image.

ALF может применяться к узлу кодирования на основании информации о том, применялся ли ALF, информации о коэффициенте ALF и т. п., предоставленной кодером. Информация об ALF такого типа может предоставляться путем включения в набор конкретных параметров.ALF may be applied to the encoding node based on whether ALF has been applied, ALF coefficient information, and the like provided by the encoder. Information about this type of ALF may be provided by inclusion in a set of specific parameters.

Запоминающее устройство 245 может хранить восстановленные изображения или блоки в качестве опорных изображений или опорных блоков и может предоставлять восстановленные изображения на часть вывода.The storage device 245 may store the reconstructed images or blocks as reference images or reference blocks, and may provide the reconstructed images to an output portion.

На фиг. 3 изображены типы разделения блоков согласно варианту осуществления настоящего изобретения.In FIG. 3 shows types of block separation according to an embodiment of the present invention.

Как показано на фиг. 3, блоки a–s могут быть получены согласно настройке разделения и методу разделения, и также могут быть получены формы дополнительных блоков, которые не показаны.As shown in FIG. 3, blocks a to s can be obtained according to the division setting and division method, and additional block shapes which are not shown can also be obtained.

В качестве примера (1) для древовидного разделения может быть разрешено асимметричное разделение. Например, для двоичного дерева это может быть блок, такой как b или c, или это также может быть блок, такой как b~g. Когда флаг, разрешающий асимметричное разделение, не активирован в явном виде или в неявном виде согласно настройке кодирования/декодирования, доступный кандидатный блок может представлять собой b или c. Когда флаг, разрешающий асимметричное разделение, активирован, доступный кандидатный блок может представлять собой b, d, e (горизонтальное разделение в этом примере) или c, f, g (вертикальное разделение в этом примере).As an example of (1), asymmetric partitioning may be allowed for tree partitioning. For example, for a binary tree, this could be a block like b or c, or it could also be a block like b~g. When the flag enabling asymmetric division is not explicitly or implicitly activated according to the encoding/decoding setting, the available candidate block may be b or c. When the flag enabling asymmetric split is enabled, the available candidate block may be b, d, e (horizontal split in this example) or c, f, g (vertical split in this example).

В примере предполагается, что соотношение длин левого блока и правого блока или верхнего блока и нижнего блока при асимметричном разделении составляет 1:3 или 3:1, что этим не ограничено. Группа кандидатов с другими соотношениями (например, 1:2, 1:4, 2:3, 2:5, 3:5 и т. д.) также может существовать согласно настройке кодирования.In the example, it is assumed that the ratio of the lengths of the left block and the right block or the top block and the bottom block in an asymmetric split is 1:3 or 3:1, which is not limited to this. A group of candidates with other ratios (eg 1:2, 1:4, 2:3, 2:5, 3:5, etc.) may also exist according to the encoding setting.

Далее представлены различные примеры информации о разделении, сгенерированной при разделении на основе двоичного дерева (группа кандидатов с соотношением 1:1, 1:3 и 3:1 в этом примере).The following are various examples of split information generated by splitting based on a binary tree (a group of candidates with a ratio of 1:1, 1:3, and 3:1 in this example).

Например, в дополнение к флагу, указывающему, следует ли выполнять разделение, и флагу, указывающему направление разделения, также может быть сгенерирован флаг, указывающий тип разделения. В данном документе тип разделения может указывать на симметричное разделение или асимметричное разделение. Когда в качестве типа разделения определено асимметричное разделение, может быть сгенерирован флаг, указывающий соотношение разделения, и может быть присвоен индекс согласно предварительной установке. Если соотношение разделения 1:3 или 3:1 поддерживается в качестве группы кандидатов, соотношение разделения может быть выбрано посредством 1-битового флага.For example, in addition to a flag indicating whether splitting should be performed and a flag indicating a splitting direction, a flag indicating a splitting type may also be generated. In this document, the partition type may indicate a symmetrical partition or an asymmetric partition. When an asymmetric partition is specified as a partition type, a flag indicating a partition ratio may be generated, and an index may be assigned according to a preset. If a split ratio of 1:3 or 3:1 is supported as a candidate group, the split ratio may be selected by a 1-bit flag.

Альтернативно в дополнение к флагу, указывающему, следует ли выполнять разделение, и флагу, указывающему направление разделения, также может быть сгенерирован флаг, указывающий соотношение разделения. В примере в качестве группы кандидатов для соотношения разделения может быть включен кандидат с симметричным отношением 1:1.Alternatively, in addition to a flag indicating whether or not to perform a division and a flag indicating a division direction, a flag indicating a division ratio may also be generated. In an example, a candidate with a 1:1 symmetrical ratio may be included as a group of candidates for a split ratio.

В настоящем изобретении предполагается (когда активируется флаг, позволяющий осуществлять асимметричное разделение), что разделение на основе двоичного дерева имеет структуру, упомянутую в предыдущем примере. Если не указано иное, двоичное дерево означает симметричное двоичное дерево.The present invention assumes (when the flag enabling asymmetric partitioning is activated) that the binary tree partitioning has the structure mentioned in the previous example. Unless otherwise noted, binary tree means symmetrical binary tree.

В качестве примера (2) для древовидного разделения может быть разрешено дополнительное разделение на основе дерева. Например, можно выполнять разделение на основе троичного дерева, четверичного дерева, восьмеричного дерева и т. п., посредством чего может быть получено N блоков разделения (3, 4, 8 и n в этом примере – целые числа). Для троичного дерева поддерживаемый блок (при разделении на несколько блоков в этом примере) может представлять собой h~m. Для четверичного дерева поддерживаемый блок может представлять собой n~p. Для восьмеричного дерева поддерживаемый блок может представлять собой q. Может быть неявным образом определено согласно настройке кодирования/декодирования, следует ли поддерживать древовидное разделение или генерировать в явном виде связанную информацию. В дополнение, согласно настройке кодирования/декодирования оно может использоваться самостоятельно или может использоваться в сочетании с разделением на основе двоичного дерева, четверичного дерева или т. п.As an example (2), additional tree-based partitioning may be allowed for tree partitioning. For example, division based on a ternary tree, a quaternary tree, an octal tree, and the like can be performed, whereby N division blocks can be obtained (3, 4, 8, and n are integers in this example). For a ternary tree, the supported block (when split into multiple blocks in this example) could be h~m. For a quad tree, the supported block may be n~p. For an octal tree, the supported block may be q. It may be implicitly determined according to the encoding/decoding setting whether to support tree division or explicitly generate associated information. In addition, according to the encoding/decoding setting, it may be used alone, or may be used in combination with binary tree, quaternary tree, or the like partitioning.

Например, для двоичного дерева могут использоваться блоки, такие как b и c. Когда двоичное дерево и троичное дерево используются вместе (в примере предполагается, что диапазон применения двоичного дерева и диапазон применения троичного дерева частично перекрываются), могут использоваться блоки, такие как b, c, i или l. Когда флаг, позволяющий осуществлять дополнительное разделение, отличное от текущего дерева, деактивирован в явном или неявном виде согласно настройке кодирования/декодирования, доступный кандидатный блок может представлять собой b или c. Когда флаг активирован, доступные кандидатные блоки могут представлять собой b и i или b, h, i и j (горизонтальное разделение в этом примере) или доступные кандидатные блоки могут представлять собой c и l или c, k, l и m (вертикальное разделение в этом примере).For example, blocks such as b and c can be used for a binary tree. When a binary tree and a ternary tree are used together (the example assumes that the application range of the binary tree and the application range of the ternary tree overlap), blocks such as b, c, i, or l can be used. When the flag allowing additional partitioning other than the current tree is explicitly or implicitly disabled according to the encoding/decoding setting, the available candidate block may be b or c. When the flag is enabled, the available candidate blocks may be b and i or b, h, i and j (horizontal split in this example) or the available candidate blocks may be c and l or c, k, l and m (vertical split in this example).

В примере, хотя описано предположение, что соотношение длин левого блока, среднего блока и правого блока или верхнего блока, среднего блока и нижнего блока составляет 2:1:1 или 1:2:1 или 1:1:2 при разбиении на основе троичного дерева, настоящее изобретение этим не ограничено, могут устанавливаться также другие соотношения согласно кодированию.In the example, although it is described assuming that the ratio of the lengths of the left block, middle block and right block or top block, middle block and bottom block is 2:1:1 or 1:2:1 or 1:1:2 when partitioned based on ternary tree, the present invention is not limited to this, other ratios can also be set according to the coding.

Далее представлен пример информации о разделении, сгенерированной при разделении на основе троичного дерева (кандидат с соотношением 1:2:1 в этом примере).The following is an example of split information generated from splitting based on a ternary tree (a candidate with a ratio of 1:2:1 in this example).

Например, в дополнение к флагу, указывающему, следует ли выполнять разделение, и флагу, указывающему направление разделения, также может быть сгенерирован флаг, указывающий тип разделения. В данном документе тип разделения может представлять собой разделение на основе двоичного дерева или разделение на основе троичного дерева.For example, in addition to a flag indicating whether splitting should be performed and a flag indicating a splitting direction, a flag indicating a splitting type may also be generated. In this document, the partition type may be a binary tree partition or a ternary tree partition.

В настоящем изобретении может применяться настройка адаптивного кодирования/декодирования согласно методу разделения.In the present invention, the adaptive encoding/decoding setting according to the separation method can be applied.

К примеру, метод разделения может быть определен согласно типу блока. Например, метод разделения на основе четверичного дерева может использоваться для блока кодирования и блока преобразования, и методы четверичного дерева и двоичного дерева (или троичного дерева и т. д.) могут использоваться для блока предсказания.For example, the division method may be determined according to the block type. For example, a quad-tree partitioning technique may be used for a coding block and a transformation block, and quad-tree and binary tree (or ternary tree, etc.) methods may be used for a prediction block.

К примеру, метод разделения может быть определен согласно размеру блока. Например, метод разделения на основе четверичного дерева может использоваться для некоторых диапазонов между максимальным значением и минимальным значением блока (например, a×b~c×d, когда последнее больше). В некоторых диапазонах (например, e×f~g×h) может выполняться разделение на основе двоичного дерева (или троичного дерева и т. д.). В данном документе информация о диапазоне согласно методу разделения может быть в явном виде сгенерирована или может быть в неявном виде определена, и она также может использоваться, когда эти диапазоны перекрываются.For example, the partitioning method may be determined according to the block size. For example, a quaternary tree partitioning method may be used for some ranges between the maximum value and the minimum block value (eg, a×b~c×d when the latter is larger). In some ranges (for example, e×f~g×h), a binary tree (or ternary tree, etc.) split may be performed. Here, the range information according to the partitioning method may be explicitly generated or may be implicitly defined, and it may also be used when these ranges overlap.

К примеру, метод разделения может быть определен согласно форме блока (или блока до выполнения разделения). Например, когда блок имеет квадратную форму, может выполняться разделение на основе четверичного дерева и двоичного дерева (или троичного дерева и т. д.). Альтернативно, когда блок имеет прямоугольную форму, может выполняться разделение на основе двоичного дерева (или троичного дерева и т. д.).For example, the division method may be determined according to the shape of the block (or the block before the division is performed). For example, when the block has a square shape, separation based on a quaternary tree and a binary tree (or a ternary tree, etc.) can be performed. Alternatively, when the block is rectangular, a binary tree (or ternary tree, etc.) split can be performed.

К примеру, настройка разделения может быть определена согласно типу блока. Например, в древовидном разделении блок кодирования и блок предсказания могут использовать разделение на основе четверичного дерева, и блок преобразования может использовать разделение на основе двоичного дерева. Альтернативно допустимая глубина разделения для блока кодирования может быть установлена как m, допустимая глубина разделения для блока предсказания может быть установлена как n, и допустимая глубина разделения для блока преобразования может быть установлена как o, и m, n и o могут быть одинаковыми или разными.For example, the split setting may be determined according to the block type. For example, in tree partitioning, the coding block and the prediction block may use quaternary tree-based partitioning, and the transform block may use binary tree-based partitioning. Alternatively, the allowable split depth for a coding block may be set to m, the allowable split depth for a prediction block may be set to n, and the allowable split depth for a transform block may be set to o, and m, n, and o may be the same or different.

К примеру, настройка разделения может быть определена согласно размеру блока. Например, разделение на основе четверичного дерева может использоваться в некоторых диапазонах блока (например, a×b~c×d), разделение на основе двоичного дерева может использоваться в некоторых диапазонах (например, e×f~g×h; предполагается, что c×d больше, чем g×h, в этом примере), и разделение на основе троичного дерева может использоваться в некоторых диапазонах (например, i×j~k×l; в этом примере предполагается, что g×h больше или равно k×l). В данном документе диапазоны могут включать все диапазоны от максимального значения блока до минимального значения блока, и диапазоны могут иметь настройки, которые не перекрываются, или настройки, которые перекрываются. Например, минимальное значение некоторых диапазонов может быть таким же, как и максимальное значение некоторых диапазонов, или минимальное значение некоторых диапазонов может быть меньше максимального значения некоторых диапазонов. Если диапазоны перекрываются, метод разделения с большим максимальным значением может быть в порядке приоритета, или может быть в явном виде сгенерирована информация о том, какой метод разделения следует использовать. То есть, среди методов разделения с порядком приоритета может быть определено, следует ли выполнять метод разделения с меньшим приоритетом согласно результату разделения, или метод разделения, подлежащий использованию, может быть определен согласно информации для выбора метода разделения.For example, the split setting may be determined according to the block size. For example, quaternary tree partitioning may be used in some ranges of a block (eg, a×b~c×d), binary tree partitioning may be used in some ranges (eg, e×f~g×h; it is assumed that c ×d is greater than g×h in this example), and ternary tree partitioning can be used in some ranges (e.g., i×j~k×l; in this example, g×h is assumed to be greater than or equal to k× l). In this document, ranges may include all ranges from the maximum block value to the minimum block value, and the ranges may have settings that do not overlap or settings that overlap. For example, the minimum value of some ranges may be the same as the maximum value of some ranges, or the minimum value of some ranges may be less than the maximum value of some ranges. If the ranges overlap, the split method with the larger maximum value may be in order of precedence, or information about which split method to use may be explicitly generated. That is, among the separation methods with order of priority, it can be determined whether the separation method with lower priority should be executed according to the separation result, or the separation method to be used can be determined according to the information for selecting the separation method.

К примеру, настройка разделения может быть определена согласно форме блока. Например, когда блок имеет квадратную форму, может использоваться разделение на основе четверичного дерева. Альтернативно, когда блок имеет прямоугольную форму, для разделения может использоваться двоичное дерево или троичное дерево.For example, the split setting may be determined according to the shape of the block. For example, when the block is square, a quaternary tree partition may be used. Alternatively, when the block is rectangular, a binary tree or a ternary tree may be used for partitioning.

К примеру, настройка разделения может быть определена согласно информации о кодировании/декодировании (например, типе среза, цветовом компоненте, режиме кодирования и т. д.). Например, если типом среза является I, разделение на основе четверичного дерева (или двоичного дерева, троичного дерева) может использоваться в некоторых диапазонах (например, a×b~c×d). Когда типом среза является P, оно может использоваться в некоторых диапазонах (например, e×f~g×h). Когда типом среза является B, оно может использоваться в некоторых диапазонах (например, i×j~k×l). В дополнение, когда типом среза является I, допустимая глубина разделения для разделения на основе четверичного дерева (или разделения на основе двоичного дерева или троичного дерева) может быть установлена как m, когда типом среза является P, допустимая глубина разделения может быть установлена как n, и когда типом среза является B, допустимая глубина разделения может быть установлена как o, при этом m, n и o могут быть одинаковыми или разными. Некоторые типы срезов могут иметь такую же настройку, что и другие срезы (например, срезы P и B).For example, the separation setting may be determined according to encoding/decoding information (eg, slice type, color component, encoding mode, etc.). For example, if the slice type is I, a quaternary tree (or binary tree, ternary tree) split may be used in some ranges (eg, a×b~c×d). When the slice type is P, it can be used in some ranges (eg, e×f~g×h). When the slice type is B, it can be used in some ranges (eg, i×j~k×l). In addition, when the slice type is I, the allowable split depth for quaternary tree split (or binary tree split or ternary tree split) may be set to m, when the slice type is P, the allowable split depth may be set to n, and when the slice type is B, the allowable splitting depth may be set to o, and m, n, and o may be the same or different. Some slice types may have the same setting as other slices (such as P and B slices).

В качестве других примеров, когда цветовой компонент представляет собой компонент яркости, допустимая глубина разделения четверичного дерева (или двоичного дерева, троичного дерева) может быть установлена как m. Когда цветовой компонент представляет собой компонент цветности, она может быть установлена как n, и при этом m и n могут быть одинаковыми или разными. В дополнение, диапазон разделения (например, a×b~c×d) четверичного дерева (или двоичного дерева, троичного дерева) в случае, когда цветовой компонент представляет собой компонент яркости, может быть таким же или отличным от диапазона разделения (например, e×f~g×h) четверичного дерева (или двоичного дерева, троичного дерева) в случае, когда цветовой компонент представляет собой компонент цветности.As other examples, when the color component is a luminance component, the allowable splitting depth of the quaternary tree (or binary tree, ternary tree) may be set to m. When the color component is a chrominance component, it may be set to n, and m and n may be the same or different. In addition, the separation range (eg, a×b~c×d) of the quad tree (or binary tree, ternary tree) in the case where the color component is the luminance component may be the same as or different from the separation range (eg, e ×f~g×h) of a quaternary tree (or binary tree, ternary tree) in the case where the color component is a chromaticity component.

В качестве других примеров, если режим кодирования является внутренним, допустимая глубина разделения четверичного дерева (или двоичного дерева, троичного дерева) может представлять собой m. Когда режим кодирования является межкадровым, она может представлять собой n (предполагается, что n больше m в этом примере), и при этом m и n могут быть одинаковыми или разными. В дополнение, диапазон разделения на основе четверичного дерева (или двоичного дерева, троичного дерева) в случае, если режим кодирования является внутренним, может быть одинаковым или отличным от диапазона разделения на основе четверичного дерева (или двоичного дерева, троичного дерева) в случае, если режим кодирования является межкадровым.As other examples, if the coding mode is intra, the allowable split depth of the quad tree (or binary tree, ternary tree) may be m. When the coding mode is interframe, it may be n (it is assumed that n is greater than m in this example), and m and n may be the same or different. In addition, the division range based on the quad tree (or binary tree, ternary tree) in case the coding mode is intra may be the same as or different from the division range based on the quad tree (or binary tree, ternary tree) in the case where the encoding mode is interframe.

В этом примере информация о том, следует ли поддерживать адаптивную структуру группы кандидатов разделения, которая зависит от информации о кодировании/декодировании, может генерироваться в явном виде или определяться в неявном виде. In this example, information about whether to support an adaptive split candidate group structure that depends on encoding/decoding information may be explicitly generated or implicitly determined.

Случай определения метода разделения и настройки разделения согласно настройке кодирования/декодирования описан посредством примеров. В примерах показано, что могут присутствовать вариации в других ситуациях на основании некоторых случаев различных факторов. В дополнение, метод разделения и настройка разделения также могут определяться на основании комбинации нескольких факторов. Например, метод разделения и настройка разделения могут быть определены согласно типу, размеру и форме блока, информации о кодировании/декодировании и т. п.The case of determining the separation method and setting the separation according to the encoding/decoding setting is described by way of examples. The examples show that variations may be present in other situations based on some instances of various factors. In addition, the separation method and separation setting may also be determined based on a combination of several factors. For example, the division method and division setting may be determined according to the block type, size and shape, encoding/decoding information, and the like.

В дополнение, факторы, связанные с методом разделения, настройкой разделения и т. п. в этом примере могут определяться в неявном виде, или информация может генерироваться в явном виде для определения, разрешены ли адаптивные ситуации, как упомянуто в вышеприведенных примерах.In addition, factors related to the split method, split setting, and the like in this example may be implicitly determined, or information may be explicitly generated to determine whether adaptive situations are allowed, as mentioned in the above examples.

Глубина разделения в настройке разделения указывает на количество пространственных разделений, выполненных на основании исходного блока (глубина разделения исходного блока в этом примере составляет 0). Чем больше глубина разделения, тем меньшие блоки могут быть получены в результате разделения. Настройки, связанные с глубиной, могут устанавливаться иным образом согласно методу разделения. Например, в методе выполнения древовидного разделения глубина разделения двоичного дерева может быть такой же, что и глубина разделения троичного дерева. Глубина разделения четверичного дерева может отличаться от глубины разделения двоичного дерева. Соответствующая глубина может использоваться согласно типу дерева.The split depth in the split setting indicates the number of spatial splits performed based on the original block (the split depth of the original block in this example is 0). The greater the depth of separation, the smaller blocks can be obtained as a result of separation. Depth-related settings may be set differently according to the separation method. For example, in a method for performing tree splitting, the split depth of a binary tree may be the same as the split depth of a ternary tree. The split depth of a quaternary tree may be different from the split depth of a binary tree. The appropriate depth can be used according to the type of tree.

В этом примере, когда соответствующая глубина разделения используется согласно типу дерева, глубина разделения для начального положения (блок до выполнения разделения в этом примере) разделения дерева может быть установлена как 0. Глубина разделения может быть вычислена путем принятия в качестве центра положения, в котором первоначально выполняется разделение, а не на основании диапазона разделения (максимального значения в этом примере) каждого дерева.In this example, when the corresponding splitting depth is used according to the tree type, the splitting depth for the start position (the block before splitting in this example) of the splitting of the tree can be set to 0. The splitting depth can be calculated by taking as the center the position where initially the split is performed, not based on the split range (the maximum value in this example) of each tree.

На фиг. 4 изображен способ сегментирования блока на основе древовидной структуры согласно варианту осуществления настоящего изобретения.In FIG. 4 shows a block segmentation method based on a tree structure according to an embodiment of the present invention.

На данной фигуре жирной сплошной линией показан базовый блок кодирования, жирной пунктирной линией показаны границы разделения четверичного дерева, двойной сплошной линией показаны границы разделения симметричного двоичного дерева, сплошной линией показаны границы разделения троичного дерева, и тонкой сплошной линией показаны границы разделения асимметричного двоичного дерева. Линиями, за исключением жирной сплошной линии, показаны границы разделения при различных методах разделения. Настройки разделения, описанные ниже (например, тип разделения, информация о разделении, порядок конфигурации информации о разделении и т. д.), не ограничиваются случаем этого примера, и могут существовать различные измененные примеры.In this figure, the bold solid line shows the basic coding block, the thick dotted line shows the quaternary tree split boundaries, the double solid line shows the symmetric binary tree split boundaries, the solid line shows the ternary tree split boundaries, and the thin solid line shows the asymmetric binary tree split boundaries. The lines, with the exception of the thick solid line, show the separation boundaries for various separation methods. The partition settings described below (eg, partition type, partition information, partition information configuration order, etc.) are not limited to the case of this example, and there may be various modified examples.

Для простоты описания описание выполняют с предположением, что верхний левый блок, верхний правый блок, нижний левый блок и нижний правый блок (N×N; 64×64), которые основаны на базовом блоке кодирования (2N×2N; 128×128), имеют собственные настройки разделения блока. Во-первых, предполагают, что 4 подблока уже получены вследствие операции разделения (глубина разделения 0->1; то есть глубину разделения увеличивают на 1) для исходного блока, и для настройки разделения четверичного дерева в случае, когда максимальный блок кодирования составляет 128×128, минимальный блок кодирования составляет 8×8 и максимальная глубина разделения составляет 4, это является обычной настройкой для каждого блока.For ease of description, the description is made with the assumption that the top left block, top right block, bottom left block, and bottom right block (N×N; 64×64), which are based on the base coding block (2N×2N; 128×128), have their own block division settings. First, it is assumed that 4 sub-blocks have already been obtained due to the split operation (split depth 0->1; that is, the split depth is increased by 1) for the original block, and to adjust the split of the quaternary tree in the case where the maximum coding block is 128× 128, the minimum coding block is 8×8 and the maximum division depth is 4, this is the usual setting for each block.

(первый; верхние левые блоки; A1~A6)(first; upper left blocks; A1~A6)

В этом примере поддерживается метод разделения одного дерева (четверичное дерево в этом примере), размер и форму полученного блока могут быть определены посредством настройки разделения блока, такой как максимальный блок кодирования, минимальный блок кодирования и глубина разделения. В этом примере количество блоков, полученных посредством разделения, составляет один (выполняют деление на две части в горизонтальном и вертикальном направлениях), информация о разделении, необходимая для разового разделения (на основании блока 4M×4N до разделения, глубину разделения увеличивают на 1), представляет собой флаг, указывающий, следует ли выполнять разделение (в этом примере, если равно 0, разделение не выполняют; если равно 1, разделение выполняют), полученные кандидаты могут представлять собой 4M×4N и 2M×2N.In this example, a single tree splitting method is supported (quaternary tree in this example), the size and shape of the resulting block can be determined by setting the block splitting such as maximum coding block, minimum coding block, and splitting depth. In this example, the number of blocks obtained by division is one (perform division into two parts in the horizontal and vertical directions), division information necessary for one-time division (based on the 4M×4N block before division, the division depth is increased by 1), is a flag indicating whether splitting should be performed (in this example, if equal to 0, splitting is not performed; if equal to 1, splitting is performed), the obtained candidates may be 4M×4N and 2M×2N.

(второй; верхние правые блоки; A7~A11)(second; upper right blocks; A7~A11)

В этом примере поддерживается метод разделения на основе нескольких деревьев (четверичных деревьев и двоичных деревьев в этом примере), размер и форма полученного блока могут быть определены посредством настроек разделения нескольких блоков. В этом примере предполагают, что максимальный блок кодирования для двоичного дерева составляет 64×64, длина минимального блока кодирования составляет 4, и максимальная глубина разделения составляет 4.This example supports splitting method based on multiple trees (quaternary trees and binary trees in this example), the size and shape of the resulting block can be determined through multi-block splitting settings. In this example, the maximum coding block for a binary tree is assumed to be 64x64, the minimum coding block length is 4, and the maximum split depth is 4.

В этом примере количество блоков, полученных посредством разделения, составляет 2 или более (в этом примере 2 или 4), информация о разделении, необходимая для разового разделения (глубину разделения четверичного дерева увеличивают на 1), представляет собой флаг, указывающий, следует ли выполнять разделение, флаг, указывающий тип разделения, и флаг, указывающий направление разделения. Доступными кандидатами могут являться 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N и 3M×4N/M×4N.In this example, the number of blocks obtained by splitting is 2 or more (in this example, 2 or 4), the split information needed for a one-time split (the split depth of the quad tree is increased by 1) is a flag indicating whether to perform a split, a flag indicating the type of split, and a flag indicating the direction of the split. Available candidates may be 4Mx4N, 4Mx2N, 2Mx4N, 4MxN/4Mx3N, 4Mx3N/4MxN, Mx4N/3Mx4N and 3Mx4N/Mx4N.

Если диапазон разделения на основе четверичного дерева перекрывается с диапазоном разделения на основе двоичного дерева (то есть диапазоны, при которых можно выполнять разделение на основе четверичного дерева и разделение на основе двоичного дерева на текущем этапе) и текущий блок (состояние перед выполнением разделения) представляет собой блок, полученный посредством разделения на основе четверичного дерева (блоки, полученные посредством разделения на основе четверичного дерева в порождающем блоке < глубина разделения меньше, чем текущая глубина разделения, на 1>), информацию о разделении могут отличать и конфигурировать в следующих случаях. То есть, когда блоки, поддерживаемые согласно различным настройкам разделения, могут быть получены посредством нескольких способов разделения, классификация может быть выполнена следующим образом для генерирования информации о разделении.If the quad tree split range overlaps with the binary tree split range (i.e., the ranges under which quad tree split and binary tree split can be performed in the current stage) and the current block (the state before the split was performed) is block obtained by quad-tree division (blocks obtained by quad-tree division in the parent block < division depth is less than the current division depth by 1>), division information can be distinguished and configured in the following cases. That is, when blocks supported according to different partition settings can be obtained by multiple partition methods, classification can be performed as follows to generate partition information.

(1) Случай, когда разделение на основе четверичного дерева перекрывается с разделением на основе двоичного дерева. (1) The case where the quaternary tree partition overlaps with the binary tree partition.

Таблица 1Table 1

aa bb cc dd ee QTQT 11 Нет разбиенияNo split 00 00 SBT horSBT hor 00 11 00 00 ABT hor 1/4ABT hor 1/4 00 11 00 11 00 ABT hor 3/4ABT hor 3/4 00 11 00 11 11 SBT verSBT ver 00 11 11 00 ABT ver 1/4ABT ver 1/4 00 11 11 11 00 ABT ver 3/4ABT ver 3/4 00 11 11 11 11

В таблице «a» представляет собой флаг, указывающий, следует ли выполнять разделение на основе четверичного дерева, и 1 указывает на выполнение разделения на основе четверичного дерева (QT). Если флаг равен 0, определяют флаг b, указывающий, следует ли выполнять разделение на основе двоичного дерева. Если b равен 0, разделение больше не выполняют в отношении блока (нет разбиения). Если b равен 1, выполняют разделение на основе двоичного дерева.In the table, "a" is a flag indicating whether or not to perform a quad tree split, and 1 indicates to perform a quad tree split (QT). If the flag is 0, a flag b is determined indicating whether to perform binary tree splitting. If b is 0, splitting is no longer performed on the block (no splitting). If b is 1, a binary tree split is performed.

«c» представляет собой флаг, указывающий направление разделения. Если c равен 0, указывают, что выполняют горизонтальное разделение (hor). Если c равен 1, указывают, что выполняют вертикальное разделение (ver). «d» представляет собой флаг, указывающий тип разделения. Если d равен 0, указывают, что выполняют симметричное двоичное дерево (SBT). Если d равен 1, указывают, что выполняют асимметричное двоичное дерево (ABT). Только когда d равен 1, определяют подробную информацию о соотношении разделения (1/4 или 3/4) для асимметричного двоичного дерева. Если d равен 0, в левом/правом блоке или верхнем/нижнем блоке соотношение левого блока и верхнего блока составляет 1/4, и соотношение правого блока и нижнего блока составляет 3/4. Если d равен 1, ситуация является противоположной вышеописанному."c" is a flag indicating the direction of the split. If c is 0, it is indicated that a horizontal split (hor) is performed. If c is 1, it is indicated that a vertical split (ver) is performed. "d" is a flag indicating the type of split. If d is 0, a symmetric binary tree (SBT) is indicated to be performed. If d is 1, an asymmetric binary tree (ABT) is indicated to be performed. Only when d is 1, the details of the split ratio (1/4 or 3/4) for the asymmetric binary tree are determined. If d is 0, in the left/right block or top/bottom block, the ratio of the left block to the top block is 1/4, and the ratio of the right block to the bottom block is 3/4. If d is equal to 1, the situation is the opposite of the above.

(2) Случай, когда может быть выполнено разделение только на основе двоичного дерева.(2) The case where the division can be performed based on the binary tree only.

В таблице информация о разделении может быть представлена посредством флагов, отличных от a, например b–e.In a table, partitioning information may be represented by flags other than a, such as b–e.

Для блока A7 на фиг. 4, поскольку разделение на основе четверичного дерева может быть выполнено в отношении блоков (A7~A11) до выполнения разделения (то есть, хотя может быть выполнено разделение на основе четверичного дерева, выполняют разделение на основе двоичного дерева вместо разделения на основе четверичного дерева), это соответствует случаю, в котором информацию о разделении генерируют в пункте (1).For block A7 in FIG. 4, since quad tree division can be performed on blocks (A7~A11) before division is performed (that is, although quad tree division can be performed, binary tree division is performed instead of quaternary tree division), this corresponds to the case in which the separation information is generated in item (1).

Напротив, для A8–A11, поскольку разделение на основе двоичного дерева вместо разделения на основе четверичного дерева уже было выполнено в отношении блоков (A8~A11) до выполнения разделения (то есть в случае, когда в отношении блоков <A8~A11> больше не может быть выполнено разделение на основе четверичного дерева), это соответствует случаю, в котором информацию о разделении генерируют в пункте (2).On the contrary, for A8-A11, since the split based on binary tree instead of split based on quad tree has already been performed on blocks (A8~A11) before splitting (that is, in the case where blocks <A8~A11> are no longer quaternary tree division can be performed), this corresponds to the case in which division information is generated in item (2).

(третье; нижние левые блоки; A12~A15)(third; lower left blocks; A12~A15)

В этом примере поддерживается метод разделения на основе нескольких деревьев (четверичного дерева, двоичного дерева и троичного дерева в этом примере), размер и форма полученного блока могут быть определены посредством настроек разделения нескольких блоков. В этом примере предполагают, что максимальный блок кодирования для двоичного дерева/троичного дерева составляет 64×64, длина минимального блока кодирования составляет 4, и максимальная глубина разделения составляет 4.This example supports splitting method based on multiple trees (quaternary tree, binary tree and ternary tree in this example), the size and shape of the resulting block can be determined through multi-block splitting settings. In this example, the maximum coding block for binary tree/ternary tree is assumed to be 64x64, the length of the minimum coding block is 4, and the maximum split depth is 4.

В этом примере количество блоков, полученных посредством разделения, составляет 2 или более (в этом примере 2, 3 или 4), информация о разделении, необходимая для разового разделения, представляет собой флаг, указывающий, следует ли выполнять разделение, флаг, указывающий тип разделения, и флаг, указывающий направление разделения. Доступным кандидатом может является 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.In this example, the number of blocks obtained by splitting is 2 or more (in this example, 2, 3, or 4), the split information needed for a one-time split is a flag indicating whether to perform split, a flag indicating the type of split , and a flag indicating the direction of the split. The available candidate may be 4Mx4N, 4Mx2N, 2Mx4N, 4MxN/4Mx2N/4MxN and Mx4N/2Mx4N/Mx4N.

Если диапазон разделения на основе четверичного дерева перекрывается с диапазоном разделения на основе двоичного дерева/троичного дерева и текущий блок представляет собой блок, полученный посредством разделения на основе четверичного дерева, информацию о разделении могут отличать и конфигурировать в следующих случаях.If the quad tree division range overlaps with the binary tree/ternary tree division range and the current block is a block obtained by quaternary tree division, the division information can be distinguished and configured in the following cases.

(1) Случай, когда разделение на основе четверичного дерева перекрывается с разделением на основе двоичного дерева/четверичного дерева.(1) The case where the quad tree partition overlaps with the binary tree/quad tree partition.

Таблица 2table 2

aa bb cc dd QTQT 11 Нет разбиенияNo split 00 00 BT horB.T.hor 00 11 00 00 TT horTT hor 00 11 00 11 BT horB.T.hor 00 11 11 00 TT verTT ver 00 11 11 11

В таблице «a» представляет собой флаг, указывающий, следует ли выполнять разделение на основе четверичного дерева. Если a равен 1, это указывает на выполнение разделения на основе четверичного дерева. Если флаг равен 0, определяют флаг b, указывающий, следует ли выполнять разделение на основе двоичного дерева или разделение на основе троичного дерева. Если b равен 0, разделение больше не выполняют в отношении блока. Если b равен 1, выполняют разделение на основе двоичного дерева или разделение на основе троичного дерева.In the table, "a" is a flag indicating whether to perform splitting based on a quaternary tree. If a is 1, this indicates that a quaternary tree split has been performed. If the flag is 0, a flag b indicating whether to perform binary tree splitting or ternary tree based splitting is determined. If b is 0, division is no longer performed on the block. If b is 1, a binary tree split or a ternary tree split is performed.

«c» представляет собой флаг, указывающий направление разделения, причем если c равен 0, указывают, что выполняют горизонтальное разделение. Если c равен 1, указывают, что выполняют вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения. Если d равен 0, указывают, что выполняют разделение на основе двоичного дерева (BT). Если d равен 1, указывают, что выполняют разделение на основе троичного дерева (TT). "c" is a flag indicating the split direction, where if c is 0, it indicates that a horizontal split is being performed. If c is 1, it is indicated that a vertical split is performed. "d" is a flag indicating the type of split. If d is 0, it is indicated that a binary tree (BT) split is performed. If d is 1, it is indicated that a ternary tree split (TT) is performed.

(2) Случай, когда может быть выполнено разделение только на основе двоичного дерева.(2) The case where the division can be performed based on the binary tree only.

В таблице информация о разделении может быть представлена посредством флагов, отличных от a, например b–d.In a table, partitioning information may be represented by flags other than a, such as b-d.

Для блоков A12 и A15 на фиг. 4, поскольку разделение на основе четверичного дерева может быть выполнено в отношении блоков A12~A15 до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (1).For blocks A12 and A15 in FIG. 4, since quaternary tree partitioning can be performed on blocks A12~A15 before partitioning is performed, this applies to the case where partitioning information is generated in item (1).

Напротив, для блоков A13 и A14, поскольку разделение на основе троичного дерева вместо разделения на основе четверичного дерева уже было выполнено в отношении блоков (A13 и A14) до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (2).On the contrary, for the blocks A13 and A14, since the division based on the ternary tree instead of the division based on the quaternary tree has already been performed on the blocks (A13 and A14) before the division is performed, this refers to the case where the division information is generated in step (2) .

(четвертое; нижние левые блоки; A16~A20)(fourth; lower left blocks; A16~A20)

В этом примере поддерживается метод разделения на основе нескольких деревьев (четверичного дерева, двоичного дерева и троичного дерева в этом примере), размер и форма полученного блока могут быть определены посредством настроек разделения нескольких блоков. В этом примере предполагают, что максимальный блок кодирования для двоичного дерева/троичного дерева составляет 64×64, длина минимального блока кодирования составляет 4, и максимальная глубина разделения составляет 4.This example supports splitting method based on multiple trees (quaternary tree, binary tree and ternary tree in this example), the size and shape of the resulting block can be determined through multi-block splitting settings. In this example, the maximum coding block for binary tree/ternary tree is assumed to be 64x64, the length of the minimum coding block is 4, and the maximum split depth is 4.

В этом примере количество блоков, полученных посредством разделения, составляет 2 или более (в этом примере 2, 3 или 4), информация о разделении, необходимая для разового разделения, представляет собой флаг, указывающий, следует ли выполнять разделение, флаг, указывающий тип разделения, и флаг, указывающий направление разделения. Доступным кандидатом могут являться 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N, 3M×4N/M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.In this example, the number of blocks obtained by splitting is 2 or more (in this example, 2, 3, or 4), the split information needed for a one-time split is a flag indicating whether to perform split, a flag indicating the type of split , and a flag indicating the direction of the split. The available candidate may be 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, 4N/3M×4N, 3M×4N/4N, 4M× N/4M×2N/4M×N and M×4N/2M×4N/4N.

Если диапазон разделения на основе четверичного дерева перекрывается с диапазоном разделения на основе двоичного дерева/троичного дерева и текущий блок представляет собой блок, полученный посредством разделения на основе четверичного дерева, информацию о разделении могут отличать и конфигурировать в следующих случаях.If the quad tree division range overlaps with the binary tree/ternary tree division range and the current block is a block obtained by quaternary tree division, the division information can be distinguished and configured in the following cases.

(1) Случай, когда разделение на основе четверичного дерева перекрывается с разделением на основе двоичного дерева/троичного дерева.(1) The case where the quaternary tree partition overlaps with the binary tree/ternary tree partition.

Таблица 3Table 3

aa bb cc dd ee ff QTQT 11 Нет разбиенияNo split 00 00 TT horTT hor 00 11 00 00 SBT horSBT hor 00 11 00 11 00 ABT hor 1/4ABT hor 1/4 00 11 00 11 11 00 ABT hor 3/4ABT hor 3/4 00 11 00 11 11 11 TT verTT ver 00 11 11 00 SBT verSBT ver 00 11 11 11 00 ABT ver 1/4ABT ver 1/4 00 11 11 11 11 00 ABT ver 3/4ABT ver 3/4 00 11 11 11 11 11

В таблице «a» представляет собой флаг, указывающий, следует ли выполнять разделение на основе четверичного дерева. Если a равен 1, это указывает на выполнение разделения на основе четверичного дерева (QT). Если флаг равен 0, определяют флаг b, указывающий, следует ли выполнять разделение на основе двоичного дерева. Если b равен 0, разделение больше не выполняют в отношении блока. Если b равен 1, выполняют разделение на основе двоичного дерева или разделение на основе троичного дерева.In the table, "a" is a flag indicating whether to perform splitting based on a quaternary tree. If a is 1, this indicates that a quaternary tree (QT) split has been performed. If the flag is 0, a flag b is determined indicating whether to perform binary tree splitting. If b is 0, division is no longer performed on the block. If b is 1, a binary tree split or a ternary tree split is performed.

«c» представляет собой флаг, указывающий направление разделения. Если c равен 0, указывают, что выполняют горизонтальное разделение. Если c равен 1, указывают, что выполняют вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения. Если d равен 0, указывают, что выполняют разделение на основе троичного дерева. Если d равен 1, указывают, что выполняют разделение на основе двоичного дерева. Если d равен 1, определяют флаг e, указывающий тип разделения. Симметричное разделение на основе двоичного дерева выполняют, когда e равен 0. Асимметричное разделение на основе двоичного дерева выполняют, когда e равен 1. Если e равен 1, определяют информацию о подробном соотношении разделения при асимметричном разделении на основе двоичного дерева, которая является такой же, что и в предыдущем примере."c" is a flag indicating the direction of the split. If c is 0, it is indicated that a horizontal split is being performed. If c is 1, it is indicated that a vertical split is performed. "d" is a flag indicating the type of split. If d is 0, it is indicated that a ternary tree split is performed. If d is equal to 1, it is indicated that a split based on a binary tree is performed. If d is equal to 1, a flag e is specified indicating the split type. Binary tree based symmetrical splitting is performed when e is 0. Binary tree based asymmetric splitting is performed when e is 1. If e is 1, information on the detailed splitting ratio of asymmetric binary tree based splitting is determined, which is the same as as in the previous example.

(2) Случай, когда может быть выполнено разделение только на основе двоичного дерева.(2) The case where the division can be performed based on the binary tree only.

В таблице информация о разделении может быть представлена посредством флагов, отличных от a, например b–f.In a table, partitioning information may be represented by flags other than a, such as b-f.

Поскольку блок A20 на фиг. 4 относится к случаю, когда разделение на основе четверичного дерева может быть выполнено в отношении блоков (A16~A19) до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (1).Since block A20 in FIG. 4 refers to a case where quad-tree division can be performed on blocks (A16~A19) before division is performed, this refers to a case where division information is generated in item (1).

Напротив, для блоков A16-A19, поскольку разделение на основе двоичного дерева вместо разделения на основе четверичного дерева уже выполнили в отношении блоков (A16-A19) до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (2).On the contrary, for blocks A16-A19, since the division based on binary tree instead of division based on quaternary tree has already been performed on the blocks (A16-A19) before the division is performed, this applies to the case where division information is generated in step (2).

На фиг. 5 изображен процесс выполнения внутреннего предсказания в отношении текущего блока на основании матрицы согласно варианту осуществления настоящего изобретения.In FIG. 5 shows a process for performing intra prediction on a current block based on a matrix, according to an embodiment of the present invention.

Как показано на фиг. 5, определяют режим внутреннего предсказания, используемый для внутреннего предсказания текущего блока.As shown in FIG. 5 determine the intra prediction mode used for intra prediction of the current block.

Когда внутреннее предсказание выполняют в отношении текущего блока, устройство для кодирования/декодирования может определять режим внутреннего предсказания. Текущий блок может представлять собой блок кодирования (CU), блок предсказания (PU), блок преобразования (TU) или любой из этих подблоков.When intra prediction is performed on the current block, the encoder/decoder may determine an intra prediction mode. The current block may be a coding unit (CU), a prediction unit (PU), a transform unit (TU), or any of these sub-blocks.

(Вариант осуществления 1) Режим внутреннего предсказания может быть определен на основании информации о переданном сигнале. Информация может обозначать любой из N режимов внутреннего предсказания, предварительно заданных в устройстве для кодирования/декодирования. Предварительно заданный режим внутреннего предсказания указывает на все режимы внутреннего предсказания текущего блока, которые могут быть использованы. N может представлять собой натуральное число, меньшее или равное 67 и большее или равное 11 (например, 67, 35 и 11). В дополнение, значение N может быть определено на основании размера текущего блока. Например, когда текущий блок меньше 8×8, определяют, что N составляет 35. В противном случае может быть определено, что N составляет 19 или 11.(Embodiment 1) An intra prediction mode may be determined based on the transmitted signal information. The information may denote any of the N intra prediction modes preset in the encoder/decoder. The predefined intra prediction mode indicates all intra prediction modes of the current block that can be used. N may be a natural number less than or equal to 67 and greater than or equal to 11 (eg, 67, 35, and 11). In addition, the value of N may be determined based on the size of the current block. For example, when the current block is less than 8×8, N is determined to be 35. Otherwise, N may be determined to be 19 or 11.

(Вариант осуществления 2) Режим внутреннего предсказания также могут определять посредством режима по умолчанию или индекса, предварительно определенного в устройстве для кодирования/декодирования. Режим по умолчанию может представлять собой по меньшей мере одно из планарного режима (индекс 0), режима DC (индекс 1), горизонтального режима (индекс 18), вертикального режима (индекс 50) и диагонального режима (индекс 2, 34, 66). Индекс соответствует случаю, когда имеются 67 предварительно заданных режимов внутреннего предсказания, и каждому режиму могут присвоить разный индекс в соответствии со значением N.(Embodiment 2) The intra prediction mode may also be determined by a default mode or an index predetermined in the encoding/decoding apparatus. The default mode may be at least one of planar mode (index 0), DC mode (index 1), horizontal mode (index 18), vertical mode (index 50), and diagonal mode (index 2, 34, 66). The index corresponds to the case where there are 67 preset intra prediction modes, and each mode may be assigned a different index according to the value of N.

(Вариант осуществления 3) Режим внутреннего предсказания могут определять переменным образом на основании информации о кодировании. Информация о кодировании может содержать не только информацию, которая закодирована и использована для передачи сигнала в устройство для кодирования, но и информацию, полученную на основании информации для передачи сигнала в устройство для декодирования. Информация о кодировании может представлять собой информацию, связанную с по меньшей мере одним из текущего блока или соседнего блока. Соседний блок содержит пространственный и/или временной соседний блок текущего блока, и пространственный соседний блок может представлять по меньшей мере одно из левого, верхнего, верхнего левого, нижнего левого или верхнего правого блока, смежного с текущим блоком.(Embodiment 3) The intra prediction mode may be determined variably based on the coding information. The encoding information may contain not only information that is encoded and used for signal transmission to the encoding device, but also information obtained based on the information for signal transmission to the decoding device. The encoding information may be information associated with at least one of the current block or a neighboring block. The neighbor block contains the spatial and/or temporal neighbor block of the current block, and the spatial neighbor block may represent at least one of the left, top, top left, bottom left, or top right adjacent to the current block.

Информация о кодировании может содержать следующее: размер/форма блока, доступность блока, тип разделения, количество разделений, тип компонента, режим предсказания, информация о режиме внутреннего предсказания, межкадровый режим, информация о движении, тип преобразования, режим пропуска преобразования, информация о ненулевом остаточном коэффициенте, порядок сканирования, формат цвета, информация о фильтре в контуре и т. п. Размер блока может быть представлен шириной или высотой, минимальным/максимальным значением ширины и высоты, суммой ширины и высоты, количеством выборок, относящихся к блоку, и т. п. Доступность блока может быть определена с учетом положения блока, диапазона участка параллельной обработки, порядка декодирования и т. п. Режим предсказания может указывать информацию для указания на внутренний режим или межкадровый режим. Информация о режиме внутреннего предсказания может содержать следующее: является ли режим внутреннего предсказания режимом предсказания, не основанным на информации об углах, является ли режим внутреннего предсказания вертикальным/горизонтальным режимом, направленность режима внутреннего предсказания и информацию, связанную с количеством предварительно заданных режимов внутреннего предсказания в устройстве для кодирования/декодирования. Межкадровый режим может указывать информацию для указания на режим слияния/пропуска, режим AMVP или исходный режим текущего изображения. Исходный режим текущего изображения указывает на способ предсказания текущего блока с использованием восстановленных областей текущего изображения. Текущее изображение может представлять собой изображение, к которому относится текущий блок. Текущее изображение может быть добавлено в список опорных изображений для выполнения предсказания, осуществляемого между изображениями, и текущее изображение может быть расположено рядом с кратковременным опорным изображением или долговременным опорным изображением в списке опорных изображений. Информация о движении может содержать следующее: флаг направления предсказания, вектор движения, индекс опорного изображения и т. д.The encoding information may include the following: block size/shape, block availability, split type, number of splits, component type, prediction mode, intra prediction mode information, interframe mode, motion information, transform type, transform skip mode, non-zero information. residual coefficient, scan order, color format, filter information in the loop, etc. Block size can be represented by width or height, minimum/maximum value of width and height, sum of width and height, number of samples related to the block, etc. The availability of a block may be determined based on the position of the block, the range of the parallel processing section, the decoding order, and the like. The prediction mode may indicate information for indicating an intra mode or an inter frame mode. The intra prediction mode information may include whether the intra prediction mode is a prediction mode not based on angle information, whether the intra prediction mode is a vertical/horizontal mode, the directivity of the intra prediction mode, and information related to the number of predefined intra prediction modes in device for encoding/decoding. The interframe mode may indicate information for indicating a merge/skip mode, an AMVP mode, or an original mode of the current picture. The source mode of the current image indicates how the current block is predicted using the reconstructed regions of the current image. The current image may be the image to which the current block belongs. The current picture may be added to the reference picture list to perform inter-picture prediction, and the current picture may be adjacent to the short-term reference picture or the long-term reference picture in the reference picture list. The motion information may include the following: prediction direction flag, motion vector, reference picture index, etc.

(Вариант осуществления 4) Режим внутреннего предсказания также могут получать на основании списка MPM и индекса MPM. Список MPM содержит несколько MPM, и MPM может быть определен на основании режима внутреннего предсказания пространственного и/или временного соседнего блока текущего блока. Количество MPM составляет x, и x может представлять собой 3, 4, 5, 6 или большее целое число.(Embodiment 4) The intra prediction mode may also be obtained based on the MPM list and the MPM index. The MPM list contains multiple MPMs, and the MPM may be determined based on the intra prediction mode of the spatial and/or temporal neighboring block of the current block. The number of MPMs is x, and x may be 3, 4, 5, 6 or more integer.

Например, список MPM может содержать по меньшей мере одно из режима внутреннего предсказания соседнего блока, режима A, (режима A-n), (режима A+n) или режима по умолчанию. Значение n может составлять 1, 2, 3, 4 или большее целое число. Соседние блоки могут представлять блоки, смежные с левым и/или верхним боковым текущим блоком. Режим по умолчанию может представлять собой по меньшей мере одно из планарного режима, режима DC или режима предварительно определенной направленности. Режим предварительно определенной направленности может включать по меньшей мере одно из горизонтального режима (режим V), вертикального режима (режим H), (режима V-k), (режима V+k), (режима H-k) или (режима H+k).For example, the MPM list may contain at least one of intra neighbor prediction mode, A mode, (A-n mode), (A+n mode), or default mode. The value of n can be 1, 2, 3, 4 or greater integer. Adjacent boxes may represent boxes adjacent to the left and/or top side current box. The default mode may be at least one of planar mode, DC mode, or predetermined directivity mode. The predetermined directivity mode may include at least one of horizontal mode (V mode), vertical mode (H mode), (V-k mode), (V+k mode), (H-k mode), or (H+k mode).

Индекс MPM может обозначать MPM, который является таким же, как и режим внутреннего предсказания текущего блока, в списке MPM. То есть MPM, обозначенный индексом MPM, может быть установлен как режим внутреннего предсказания текущего блока.The MPM index may indicate an MPM that is the same as the intra prediction mode of the current block in the MPM list. That is, the MPM indicated by the MPM index can be set as the intra prediction mode of the current block.

Необязательно режим внутреннего предсказания текущего блока может быть определен с использованием любого из приведенных выше вариантов осуществления 1–4, и режим внутреннего предсказания текущего блока может быть определен на основании комбинаций по меньшей мере двух из вариантов осуществления 1–4. Предварительно определенный флаг может быть использован для выбора. В данном документе флаг может быть закодирован посредством устройства для кодирования и использован для передачи сигнала.Optionally, the intra prediction mode of the current block may be determined using any of Embodiments 1-4 above, and the intra prediction mode of the current block may be determined based on combinations of at least two of Embodiments 1-4. A predefined flag can be used for selection. Herein, a flag may be encoded by an encoder and used for signal transmission.

Как показано на фиг. 5, определяют исходную выборку, используемую для внутреннего предсказания текущего блока (S510).As shown in FIG. 5, an initial sample used for intra prediction of the current block is determined (S510).

Исходную выборку могут получать от соседней области текущего блока. Соседняя область текущего блока может содержать по меньшей мере одно из левого участка, правого участка, верхнего участка, нижнего левого участка, верхнего левого участка, нижнего правого участка или верхнего правого участка, смежного с текущим блоком.The initial sample may be obtained from an adjacent region of the current block. The adjacent region of the current block may comprise at least one of a left region, a right region, a top region, a lower left region, an upper left region, a lower right region, or an upper right region adjacent to the current block.

Соседняя область может содержать одну или более линий выборок. В частности, количество линий выборок, относящихся к соседней области, составляет k, при этом k может составлять 1, 2, 3, 4 или может представлять собой натуральное число, большее чем эти числа. Значение k может представлять собой фиксированное значение, предварительно определенное в устройстве для кодирования/декодирования, или может быть переменным образом определено на основании приведенной выше информации о кодировании. Например, когда текущий блок имеет первый размер (например, 4×4, 4×8, 8×4), соседняя область может быть сконфигурирована на 1 линию выборок. Когда текущий блок имеет второй размер (например, 8×8, 16×16 и т. д.), соседняя область может быть сконфигурирована на 2 линии выборок. Линия выборок может быть определена в вертикальном направлении или горизонтальном направлении согласно положению соседней области. В дополнение, линия выборок может находиться в контакте с текущим блоком или может быть удалена от текущего блока на предварительно определенное расстояние в вертикальном и/или горизонтальном направлении.An adjacent region may contain one or more sample lines. In particular, the number of sample lines related to the neighboring area is k, whereby k may be 1, 2, 3, 4, or may be a natural number greater than these numbers. The value of k may be a fixed value predetermined in the encoder/decoder, or may be variably determined based on the above encoding information. For example, when the current block has a first size (eg, 4×4, 4×8, 8×4), the adjacent area may be configured to 1 sample line. When the current block has a second size (for example, 8x8, 16x16, etc.), the adjacent area can be configured into 2 sample lines. The sampling line may be defined in the vertical direction or the horizontal direction according to the position of the adjacent area. In addition, the sample line may be in contact with the current block or may be removed from the current block by a predetermined distance in the vertical and/or horizontal direction.

Несколько линий выборок существуют непрерывно в вертикальном и/или горизонтальном направлении с текущим блоком в качестве исходного элемента или могут быть отделены друг от друга на предварительно определенное расстояние. В качестве варианта осуществления, если имеются две линии выборок в верхнем участке, смежном с текущим блоком, их соответствующим образом называют первой линией выборок и второй линией выборок в направлении от нижней линии выборок из двух линий к верхней. В данном документе первая линия выборок и вторая линия выборок могут находиться в контакте друг с другом или могут быть отделены друг от друга на предварительно определенное расстояние. Предварительно определенное расстояние может быть представлено значениями длины линии i (т. е. шириной или высотой). i может составлять 0, 1, 2, 3 или представлять собой большее натуральное число. В качестве варианта осуществления, если имеются три линии выборок в верхнем участке, смежном с текущим блоком, их соответствующим образом называют первой линией выборок, второй линией выборок и третьей линией выборок в направлении от нижней линии выборок из множества линий выборок к верхней. В данном документе первая линия выборок может находиться в контакте со второй линией выборок, и вторая линия выборок может находиться в контакте с третьей линией выборок. Альтернативно первая линия выборок также может быть удалена от третьей линии выборок на описанное выше предварительно определенное расстояние. В данном документе расстояние (d1) между первой линией выборок и второй линией выборок может быть таким же, что и расстояние (d2) между второй линией выборок и третьей линией выборок. Альтернативно d1 может быть установлено большим, чем d2, и, напротив, d1 также может быть установлено меньшим, чем d2. В качестве варианта осуществления, если имеются более 4 линий выборок в верхнем участке, смежном с текущим блоком, 4 линии выборок могут быть определены таким же образом, что и в случае с 3 линиями выборок. В дополнение, вариант осуществления может быть применен не только к линии выборок, расположенной в верхнем участке, но и к линии выборок, расположенной на левой стороне, и подробное описание здесь опущено.Several sample lines exist continuously in the vertical and/or horizontal direction with the current block as the parent element, or may be separated from each other by a predetermined distance. As an option, if there are two sample lines in the upper region adjacent to the current block, they are appropriately called the first sample line and the second sample line in the direction from the bottom sample line of the two lines to the top. Herein, the first sample line and the second sample line may be in contact with each other or may be separated from each other by a predetermined distance. The predetermined distance can be represented by line length values i (i.e. width or height). i can be 0, 1, 2, 3, or a larger natural number. As an embodiment, if there are three sample lines in the upper portion adjacent to the current block, they are respectively called the first sample line, the second sample line, and the third sample line in the direction from the bottom sample line of the plurality of sample lines to the top. Herein, the first sample line may be in contact with the second sample line, and the second sample line may be in contact with the third sample line. Alternatively, the first sample line may also be spaced from the third sample line by the predetermined distance described above. Herein, the distance (d1) between the first sample line and the second sample line may be the same as the distance (d2) between the second sample line and the third sample line. Alternatively, d1 can be set larger than d2, and conversely, d1 can also be set smaller than d2. As an option, if there are more than 4 sample lines in the upper portion adjacent to the current block, 4 sample lines can be defined in the same manner as in the case of 3 sample lines. In addition, the embodiment can be applied not only to the sample line located in the upper portion, but also to the sample line located on the left side, and a detailed description is omitted here.

Исходную выборку могут получать с использованием всех или части выборок, относящихся к соседней области.The initial sample can be obtained using all or part of the samples related to the neighboring area.

(Вариант осуществления 1) Некоторые выборки в соседней области могут представлять собой выборки в положениях, предварительно определенных в устройстве для кодирования/декодирования. Предварительно определенные положения могут включать по меньшей мере одну из самой левой выборки, самой правой выборки или средней выборки верхней линии выборок. Предварительно определенные положения могут включать по меньшей мере одну из самой верхней выборки, самой нижней выборки или средней выборки левой линии выборок. Альтернативно предварительно определенные положения могут включать по меньшей мере одну из выборок с нечетными номерами верхней линии выборок и/или левой линии выборок или по меньшей мере одну из выборок с нечетными номерами. Альтернативно предварительно определенные положения также могут включать выборки, x-координаты которых представляют собой кратное j, среди выборок верхней линии выборок, или выборки, y-координаты которых представляют собой кратное j, среди выборок левой линии выборок. При этом j может составлять 2, 3, 4 или представлять собой большее натуральное число.(Embodiment 1) Some samples in the adjacent area may be samples at positions predetermined in the encoder/decoder. The predetermined positions may include at least one of the leftmost sample, the rightmost sample, or the middle sample of the top line of samples. The predefined positions may include at least one of the topmost sample, the bottommost sample, or the middle sample of the left line of samples. Alternatively, the predetermined positions may include at least one of the odd-numbered samples of the top sample line and/or left sample line, or at least one of the odd-numbered samples. Alternatively, the predetermined positions may also include samples whose x-coordinates are a multiple of j among the samples of the upper sample line, or samples whose y-coordinates are a multiple of j among the samples of the left sample line. In this case, j can be 2, 3, 4 or be a larger natural number.

(Вариант осуществления 2) Некоторые выборки соседней области определяют на основании информации о кодировании. Информация о кодировании представляет собой информацию, описанную выше, и подробные описания здесь опущены.(Embodiment 2) Some neighbor area samples are determined based on the encoding information. The encoding information is the information described above, and detailed descriptions are omitted here.

Необязательно некоторые выборки могут быть обозначены посредством использования любого из приведенных выше варианта осуществления 1 или варианта осуществления 2, или на основании комбинации варианта осуществления 1 и варианта осуществления 2. В данном документе, как описано выше, расстояния между некоторыми выборками могут быть установлены одинаковыми, но этим не ограничены, и расстояния между некоторыми выборками также могут быть установлены разными.Optionally, some samples may be designated by using any of the above Embodiment 1 or Embodiment 2, or based on a combination of Embodiment 1 and Embodiment 2. In this document, as described above, the distances between some of the samples may be set to be the same, but are not limited to this, and the distances between some of the samples can also be set to be different.

Количество некоторых выборок может составлять 1, 2, 3, 4 или более, что предварительно задано в устройстве для кодирования/декодирования. В дополнение, количества выборок могут быть определены разными для левого участка соседней области и верхнего участка соседней области текущего блока. Например, когда ширина текущего блока больше, чем высота текущего блока, количество выборок (numSamA), относящихся к верхнему участку соседней области, может быть больше количества выборок (numSamL), относящихся к левому участку соседней области. Напротив, когда ширина текущего блока меньше высоты, numSamA может быть меньше numSamL. Альтернативно количество некоторых выборок также могут переменным образом определять на основании приведенной выше информации о кодировании.The number of some samples may be 1, 2, 3, 4 or more, which is preset in the device for encoding/decoding. In addition, the numbers of samples may be defined differently for the left portion of the neighboring region and the upper portion of the neighboring region of the current block. For example, when the width of the current box is greater than the height of the current box, the number of samples (numSamA) related to the top portion of the adjacent area may be greater than the number of samples (numSamL) related to the left portion of the adjacent area. Conversely, when the width of the current block is less than the height, numSamA may be less than numSamL. Alternatively, the number of some samples may also be variably determined based on the above encoding information.

Выборки в соседней области могут представлять собой выборки предсказания или восстановленные выборки. Выборки предсказания могут получать посредством внутреннего предсказания или предсказания, осуществляемого между изображениями. Восстановленные выборки могут представлять собой восстановленные выборки до применения фильтра в контуре или могут представлять собой восстановленные выборки после применения фильтра в контуре.The samples in the neighboring region may be prediction samples or reconstructed samples. Prediction samples may be obtained by intra-picture prediction or inter-picture prediction. The recovered samples may be the recovered samples before the loop filter was applied, or may be the recovered samples after the loop filter was applied.

С другой стороны, исходные выборки могут получать непосредственно из выборок соседней области (случай 1) или могут получать посредством осуществления понижающей выборки для выборок соседней области (случай 2). Необязательно могут использовать любой из случая 1 и случая 2. Выбор могут осуществлять на основании приведенной выше информации о кодировании. Например, когда размер текущего блока меньше предварительно определенного порогового значения, исходная выборка может быть получена на основании случая 1, в противном случае исходная выборка может быть получена на основании случая 2. При этом размер может быть представлен любым из ширины, высоты, максимального/минимального значения ширины и высоты, соотношения ширины к высоте или произведения ширины на высоту текущего блока. К примеру, когда текущий блок меньше чем 8×8, исходную выборку можно получать из выборок соседней области; в противном случае исходную выборку можно получать путем осуществления понижающей выборки в отношении выборок соседней области. Способ осуществления понижающей выборки может быть более понятен со ссылкой на фиг. 6 и фиг. 7.On the other hand, the original samples may be obtained directly from the adjacent area samples (case 1) or may be obtained by downsampling the neighbor area samples (case 2). Optionally, any of Case 1 and Case 2 may be used. The selection may be made based on the above encoding information. For example, when the size of the current block is less than a predetermined threshold, the initial sample may be obtained based on case 1, otherwise, the initial sample may be obtained based on case 2. Here, the size may be represented by any of width, height, maximum/minimum the width and height values, the width-to-height ratio, or the product of the width times the height of the current block. For example, when the current block is less than 8x8, the original sample may be obtained from the neighbor area samples; otherwise, the original sample may be obtained by down-sampling the neighbor area samples. The downsampling method can be better understood with reference to FIG. 6 and FIG. 7.

Как показано на фиг. 5, может быть определена матрица, используемая для внутреннего предсказания текущего блока (S520).As shown in FIG. 5, a matrix used for intra prediction of the current block may be determined (S520).

Матрица может быть определена на основании по меньшей мере одного из режима внутреннего предсказания или размера текущего блока, определенного на этапе S500. Альтернативно может существовать ограничение относительно того, что матрица может быть определена с учетом только режима внутреннего предсказания текущего блока. Или матрица может быть определена с учетом только размера текущего блока. Размер может быть представлен любым из ширины или высоты, минимального/максимального значения ширины и высоты, суммы ширины и высоты, количества выборок, относящихся к текущему блоку, и т. п. Однако этим не ограничивается, и матрица может быть определена дополнительно с учетом информации о кодировании текущего блока. Информация о кодировании представляет собой информацию, описанную выше, и подробные описания здесь опущены.The matrix may be determined based on at least one of the intra prediction mode or the current block size determined in step S500. Alternatively, there may be a limitation that the matrix may be determined considering only the intra prediction mode of the current block. Or the matrix can be defined considering only the size of the current block. The size can be represented by any of the width or height, the minimum/maximum value of the width and height, the sum of the width and height, the number of samples related to the current block, and so on. However, it is not limited to this, and the matrix can be further determined considering the information about encoding the current block. The encoding information is the information described above, and detailed descriptions are omitted here.

В частности, матрицу, предварительно определенную в устройстве для кодирования/декодирования, могут разделять на множество групп матриц. Множество групп матриц могут быть сконфигурированы посредством первой группы матриц, второй группы матриц, …, m-ной группы матриц. При этом m может составлять 2, 3, 4, 5 или представлять собой большее натуральное число. Необязательно текущий блок может использовать любую из множества групп матриц на основании размера текущего блока. Например, первую группу матриц могут использовать, когда размер текущего блока составляет 4×4, вторую группу матриц могут использовать, когда размер текущего блока составляет 8×4, 4×8 и 8×8, а в иных случаях могут использовать третью группу матриц. Группа матриц, выбранная на основании размера текущего блока, может содержать одну или более кандидатных матриц. Любая из множества кандидатных матриц может быть определена посредством матрицы текущего блока. Определение может быть выполнено на основании информации о кодировании (например, режим внутреннего предсказания) текущего блока.In particular, the matrix predetermined in the encoding/decoding apparatus may be divided into a plurality of matrix groups. The plurality of matrix groups may be configured by the first matrix group, the second matrix group, ..., the m-th matrix group. In this case, m can be 2, 3, 4, 5 or be a larger natural number. Optionally, the current block may use any of a plurality of matrix groups based on the size of the current block. For example, the first matrix group may be used when the current block size is 4x4, the second matrix group may be used when the current block size is 8x4, 4x8, and 8x8, and the third matrix group may otherwise be used. The matrix group, selected based on the size of the current block, may contain one or more candidate matrices. Any of the plurality of candidate matrices may be determined by the matrix of the current block. The determination may be made based on coding information (eg, intra prediction mode) of the current block.

Количество предварительно определенных матриц может быть таким же, что и количество представленных выше предварительно заданных режимов внутреннего предсказания. В дополнение, количество предварительно определенных матриц может быть меньше количества предварительно заданных режимов внутреннего предсказания. В данном документе одна матрица может быть соотнесена со множеством режимов внутреннего предсказания. Например, одна матрица может быть соотнесена с 2 режимами внутреннего предсказания. В данном документе количество предварительно определенных матриц может иметь значение, которое составляет 1/2 от количества предварительно заданных режимов внутреннего предсказания. Однако этим не ограничивается, и количество режимов внутреннего предсказания, соотнесенных с одной матрицей, может составлять 3, 4, 5, 6 или более.The number of predetermined matrices may be the same as the number of the above predetermined intra prediction modes. In addition, the number of predefined matrices may be less than the number of predefined intra prediction modes. Herein, one matrix may be associated with a plurality of intra prediction modes. For example, one matrix may be associated with 2 intra prediction modes. Herein, the number of predefined matrices may have a value that is 1/2 of the number of predefined intra prediction modes. However, it is not limited to this, and the number of intra prediction modes associated with one matrix may be 3, 4, 5, 6 or more.

В качестве варианта осуществления соотнесение может быть определено с учетом направленности и/или симметричности режима внутреннего предсказания.As an embodiment, the correlation may be determined in terms of directivity and/or symmetry of the intra prediction mode.

Предварительно заданный режим внутреннего предсказания может включать режим направленности, имеющий предварительно определенный угол. Режимы направленности могут быть разделены на первую группу режимов с горизонтальной направленностью и вторую группу режимов с вертикальной направленностью. Полагают, что количество режимов, основанных на информации об углах, составляет 65, первую группу режимов могут сконфигурировать в качестве режимов с индексом от 2 до 34, и вторую группу режимов могут сконфигурировать в качестве режимов с индексом от 34 до 66.The predetermined intra prediction mode may include a directivity mode having a predetermined angle. Directional modes can be divided into a first group of horizontal directive modes and a second group of vertical directive modes. The number of modes based on angle information is considered to be 65, the first group of modes may be configured as modes with an index of 2 to 34, and the second group of modes may be configured as modes with an index of 34 to 66.

Устройство для кодирования/декодирования определяет матрицу только для первой группы режимов, и вторая группа режимов также может использовать матрицу, определенную для первой группы режимов. Напротив, устройство для кодирования/декодирования определяет матрицу только для второй группы режимов, и первая группа режимов также может использовать матрицу, определенную для второй группы режимов. В данном документе количество определенных матриц может иметь значение, которое составляет 1/2 от количества предварительно заданных режимов внутреннего предсказания. В качестве варианта осуществления, если количество групп режимов, имеющих симметрию, составляет x, то количество предварительно определенных матриц может иметь значение 1/x от количества предварительно заданных режимов внутреннего предсказания. При этом x может составлять 3, 4 или более.The encoder/decoder only determines the matrix for the first mode group, and the second mode group may also use the matrix defined for the first mode group. In contrast, the encoder/decoder only determines the matrix for the second mode group, and the first mode group may also use the matrix defined for the second mode group. Herein, the number of defined matrices may have a value that is 1/2 of the number of predefined intra prediction modes. As an embodiment, if the number of mode groups having symmetry is x, then the number of predetermined matrices may be 1/x of the number of predetermined intra prediction modes. In this case, x can be 3, 4 or more.

Симметрия может включать с учетом режима внутреннего предсказания с углом -45° в качестве исходного элемента симметрию угла предсказания между режимом с вертикальной направленностью и режимом с горизонтальной направленностью. Режим внутреннего предсказания с направленностью имеет угол предсказания (PredAngle), который зависит от различных направленностей. Режим с вертикальной направленностью может включать с учетом режима внутреннего предсказания с углом -45° в качестве исходного элемента этот режим и режим с углом -45°<(PredAngle)≤45° вдоль направления по оси x от режима. Режим с горизонтальной направленностью может включать с учетом режима внутреннего предсказания с углом -45° в качестве исходного элемента режимы, отличные от этого режима, и имеющий угол -45°<(PredAngle)≤45° вдоль направления по оси y от режима.The symmetry may include, given the -45° intra prediction mode as a starting point, the prediction angle symmetry between the vertical mode and the horizontal mode. Directional intra prediction mode has a prediction angle (PredAngle) that depends on different directivity. The vertical directionality mode may include, taking into account the -45° intra prediction mode as the source element, this mode and the mode with -45°<(PredAngle)≤45° along the x-direction from the mode. The horizontal directionality mode may include, taking into account the intra prediction mode with an angle of -45° as a source, modes other than this mode and having an angle of -45°<(PredAngle)≤45° along the y-direction from the mode.

Как показано на фиг. 5, на основании исходной выборки и матрицы может быть предсказан текущий блок (S530).As shown in FIG. 5, based on the original sample and the matrix, the current block can be predicted (S530).

Когда исходную выборку определяют на этапе S510 и матрицу определяют на этапе S520, устройство для кодирования/декодирования может предсказывать текущий блок на основании исходной выборки и матрицы.When the initial sample is determined in step S510 and the matrix is determined in step S520, the encoder/decoder may predict the current block based on the original sample and the matrix.

Этап предсказания текущего блока может включать следующую операцию. Матрицу применяют к исходной выборке для получения выборки предсказания (далее в данном документе называемой первой выборкой предсказания) блока DS. Блок DS может представлять текущий блок или текущий блок с пониженной выборкой. То есть блок DS может иметь тот же размер, что и текущий блок, и блок DS также может иметь размер, составляющий 1/2, 1/4, 1/8 или 1/16 от размера (по меньшей мере одного из ширины или высоты) текущего блока. Например, когда текущий блок представляет собой блок 4×4, 4×8 или 8×4, блок DS может представлять собой блок 4×4. Или, когда текущий блок представляет собой блок 8×8, 8×16 или 16×8, блок DS может представлять собой блок 4×4 или 8×8. Или, когда текущий блок больше или равен 16×16, блок DS может представлять собой блок 8×8 или 16×16. Однако блок DS не ограничен квадратной формой блока и также может представлять собой блок отличной от квадрата формы. Альтернативно блок DS может быть ограничен квадратной формой блока. Применение матрицы может включать умножение исходной выборки на взвешенное значение, полученное из матрицы.The current block prediction step may include the following operation. The matrix is applied to the original sample to obtain a prediction sample (hereinafter referred to as the first prediction sample) of the DS block. The DS block may represent the current block or the current downsampled block. That is, the DS block may have the same size as the current block, and the DS block may also have a size that is 1/2, 1/4, 1/8, or 1/16 of the size (at least one of the width or height ) of the current block. For example, when the current block is a 4x4, 4x8, or 8x4 block, the DS block may be a 4x4 block. Or, when the current block is an 8x8, 8x16, or 16x8 block, the DS block may be a 4x4 or 8x8 block. Or, when the current block is greater than or equal to 16x16, the DS block may be an 8x8 or 16x16 block. However, the DS block is not limited to a square block shape, and may also be a block other than a square shape. Alternatively, the DS block may be limited to a square block shape. Applying a matrix may include multiplying the original sample by a weighted value obtained from the matrix.

Операция получения первых выборок предсказания может включать по меньшей мере одну из операции добавления значения смещения или операции фильтрации.The operation of obtaining the first prediction samples may include at least one of an operation of adding an offset value or a filtering operation.

Операция получения первых выборок предсказания может дополнительно включать следующую операцию. Выполняют перестановку в отношении первых выборок предсказания. Перестановка может быть выполнена, только когда множество режимов внутреннего предсказания соотнесены с одной матрицей.The operation of obtaining the first prediction samples may further include the following operation. A permutation is performed on the first prediction samples. The permutation can only be performed when a plurality of intra prediction modes are associated with one matrix.

Альтернативно перестановка может быть выполнена, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с горизонтальной направленностью. Например, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с горизонтальной направленностью, выполняют перестановку для первых выборок предсказания блока DS. И, когда режим внутреннего предсказания текущего блока относится ко второй группе режимов с вертикальной направленностью, могут не выполнять перестановку для первых выборок предсказания блока DS.Alternatively, the permutation may be performed when the intra prediction mode of the current block belongs to the first group of horizontal directivity modes. For example, when the intra prediction mode of the current block belongs to the first horizontal directivity mode group, permutation is performed for the first prediction samples of the DS block. And, when the intra prediction mode of the current block belongs to the second group of vertical directivity modes, the permutation may not be performed for the first prediction samples of the DS block.

Напротив, перестановка может быть выполнена, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с вертикальной направленностью. Например, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с горизонтальной направленностью, могут не выполнять перестановку для первых выборок предсказания блока DS. Когда режим внутреннего предсказания текущего блока относится ко второй группе режимов с вертикальной направленностью, может быть выполнена перестановка для первых выборок предсказания блока DS.On the contrary, the permutation can be performed when the intra prediction mode of the current block belongs to the first vertical mode group. For example, when the intra prediction mode of the current block belongs to the first group of horizontal directivity modes, permutation may not be performed for the first prediction samples of the DS block. When the intra prediction mode of the current block belongs to the second vertical mode group, permutation may be performed for the first prediction samples of the DS block.

Перестановка может быть выполнена посредством уравнения 1, представленного ниже. В уравнении x может представлять значение координаты на оси x, а y может представлять значение координаты на оси y. То есть перестановка может представлять процесс присвоения первой выборки предсказания с координатами (x, y) координатам (y, x).The permutation can be done by Equation 1 below. In an equation, x can represent a coordinate value on the x-axis, and y can represent a coordinate value on the y-axis. That is, the permutation may represent the process of assigning the first prediction sample with coordinates (x, y) to coordinates (y, x).

Уравнение 1Equation 1

First_prediction_sample[x][y] = First_prediction_sample[y][x]First_prediction_sample[x][y] = First_prediction_sample[y][x]

Альтернативно перестановка согласно настоящему изобретению также может представлять процесс, в котором блок DS, состоящий из первых выборок предсказания, поворачивают под предварительно определенным углом. Предварительно определенный угол может указывать 90 градусов или 180 градусов в направлении по часовой стрелке или может указывать 90 градусов или 180 градусов в направлении против часовой стрелки.Alternatively, the permutation according to the present invention may also represent a process in which the DS block consisting of the first prediction samples is rotated at a predetermined angle. The predetermined angle may indicate 90 degrees or 180 degrees in a clockwise direction, or may indicate 90 degrees or 180 degrees in a counterclockwise direction.

Этап предсказания текущего блока может дополнительно включать следующую операцию. Выполняют повышающую выборку в отношении текущего блока на основании по меньшей мере одного из соседних восстановленных выборок или первых выборок предсказания с получением второй выборки предсказания.The step of predicting the current block may further include the following operation. Upsampling is performed on the current block based on at least one of the neighboring recovered samples or the first prediction samples to obtain a second prediction sample.

В процессе осуществления повышающей выборки может быть определено по меньшей мере одно из того, следует ли выполнять повышающую выборку, или способа выполнения повышающей выборки, на основании информации о кодировании текущего блока. Например, может быть определено по меньшей мере одно из того, следует ли выполнять повышающую выборку, или способа выполнения повышающей выборки, на основании размера блока DS, состоящего из первых выборок предсказания, и размера текущего блока. Размер блока может быть представлен шириной или высотой, минимальным/максимальным значением ширины и высоты, суммой ширины и высоты, количеством выборок, относящихся к блоку, и т. п.In the upsampling process, at least one of whether to perform upsampling or how to perform upsampling may be determined based on the coding information of the current block. For example, at least one of whether to perform upsampling or how to perform upsampling may be determined based on the size of the DS block consisting of the first prediction samples and the size of the current block. The block size can be represented by the width or height, the minimum/maximum value of the width and height, the sum of the width and height, the number of samples related to the block, and so on.

Может быть определено, следует ли выполнять повышающую выборку, только когда размер блока DS, состоящего из первых выборок предсказания, меньше размера текущего блока.It may be determined whether to perform upsampling only when the size of the DS block consisting of the first prediction samples is less than the size of the current block.

Способ выполнения повышающей выборки может включать следующие операции. Используют соотношение размера блока DS, состоящего из первых выборок предсказания, к размеру текущего блока. Первые выборки предсказания распределяют в предварительно определенных положениях в текущем блоке. Выполняют интерполяцию в отношении оставшихся областей в текущем блоке. Оставшиеся области могут представлять области в текущем блоке за исключением областей, разделенных для первых выборок предсказания. Разделение для первых выборок предсказания и способ интерполяции для оставшихся областей будут подробно описаны со ссылкой на фиг. 8–10.The method for performing upsampling may include the following operations. The ratio of the size of the DS block consisting of the first prediction samples to the size of the current block is used. The first prediction samples are distributed at predetermined positions in the current block. Perform interpolation with respect to the remaining areas in the current block. The remaining regions may represent regions in the current block except for the regions split for the first prediction samples. The division for the first prediction samples and the interpolation method for the remaining areas will be described in detail with reference to FIG. 8–10.

На фиг. 6 изображен способ определения исходной выборки посредством осуществления понижающей выборки в отношении соседней области согласно варианту осуществления настоящего изобретения.In FIG. 6 shows a method for determining an initial sample by downsampling a neighboring area according to an embodiment of the present invention.

Как показано на фиг. 6, на изображении (a) фиг. 6 изображен случай, когда соседняя область, используемая для внутреннего предсказания, расположена на левой стороне и верхнем участке, смежном с текущим блоком. В дополнение, в качестве варианта осуществления, линия выборок, расположенная на левой стороне текущего блока, находится в контакте с текущим блоком и состоит из одной линии выборок в вертикальном направлении. Линия выборок, расположенная на верхнем участке текущего блока, находится в контакте с текущим блоком и состоит из одной линии выборок в горизонтальном направлении.As shown in FIG. 6, in the image (a) of FIG. 6 shows the case where the adjacent area used for intra prediction is located on the left side and the top portion adjacent to the current block. In addition, as an embodiment, the sample line located on the left side of the current block is in contact with the current block and consists of one sample line in the vertical direction. The sample line located on the top portion of the current block is in contact with the current block and consists of one sample line in the horizontal direction.

Исходная выборка может содержать область понижающей выборки, образованную посредством выполнения понижающей выборки в отношении соседней области текущего блока.The initial sample may comprise a downsampling area formed by downsampling an adjacent area of the current block.

Область понижающей выборки могут получать из среднего, максимального, минимального значения, значения режима или подвергнутого фильтрации значения всех или некоторых выборок, относящихся к соседней области.The downsampling area may be derived from the average, maximum, minimum, mode value, or filtered value of all or some of the samples belonging to the adjacent area.

При получении из среднего значения область понижающей выборки могут образовывать посредством способа присвоения среднего значения N разных выборок выборкам в области понижающей выборки.When derived from the mean, a downsampling area may be formed by a method of assigning an average of N different samples to the samples in the downsampling area.

N разных выборок могут представлять собой последовательно расположенные выборки или могут быть разделены посредством определенного интервала. Определенный интервал может представлять собой интервал одного или более размеров выборки. Когда имеется множество интервалов, множество интервалов может быть равномерным или неравномерным (где N больше 2 и меньше общего количества выборок, относящихся к соседней области). В дополнение, комбинацию из N разных выборок называют группой выборок. В данном документе первая группа выборок может перекрываться со второй группой выборок или может не перекрываться со второй группой выборок.The N different samples may be consecutive samples or may be spaced apart. The defined interval may be an interval of one or more sample sizes. When there are multiple bins, the bin multiple may be uniform or non-uniform (where N is greater than 2 and less than the total number of samples belonging to the adjacent area). In addition, a combination of N different samples is called a sample group. Herein, the first group of samples may overlap with the second group of samples or may not overlap with the second group of samples.

К примеру, на фиг. 6 показано, что N составляет 2, две группы выборок не перекрываются друг с другом, и среднее значение двух выборок, относящихся к каждой группе выборок, присваивают одной выборке в области понижающей выборки для выполнения понижающей выборки.For example, in FIG. 6 shows that N is 2, the two groups of samples do not overlap with each other, and the average of the two samples belonging to each group of samples is assigned to one sample in the downsampling area to perform downsampling.

Альтернативно 3 последовательные выборки (S1, S2 и S3) могут составлять первую группу выборок, и среднее значение трех выборок, относящихся к первой группе выборок, может быть присвоено выборкам (DS1) в области понижающей выборки. Три последовательные выборки (S2, S3 и S4) могут составлять вторую группу выборок, и среднее значение трех выборок, относящихся ко второй группе выборок, может быть присвоено выборкам (DS2) в области понижающей выборки.Alternatively, 3 consecutive samples (S1, S2 and S3) may constitute the first group of samples, and the average of the three samples belonging to the first group of samples may be assigned to the samples (DS1) in the downsampling region. Three consecutive samples (S2, S3, and S4) may constitute the second group of samples, and the average of the three samples belonging to the second group of samples may be assigned to the samples (DS2) in the downsampling region.

Альтернативно после определения минимального или максимального значения двух выборок (S1, S2), относящихся к первой группе выборок, оно может быть присвоено выборке (DS1) в области понижающей выборки. Аналогичным образом, после определения минимального или максимального значения двух выборок (S3, S4), относящихся ко второй группе выборок, оно может быть присвоено выборке (DS2) в области понижающей выборки. Это может быть выполнено аналогичным образом, когда первая/вторая группа выборок состоит из трех выборок.Alternatively, after determining the minimum or maximum value of the two samples (S1, S2) belonging to the first group of samples, it can be assigned to the sample (DS1) in the downsampling area. Similarly, after determining the minimum or maximum value of the two samples (S3, S4) belonging to the second group of samples, it can be assigned to the sample (DS2) in the downsampling area. This can be done in a similar way when the first/second group of samples consists of three samples.

Альтернативно в верхней части соседней области выборки в предварительно заданных положениях среди нескольких выборок, относящихся к первой группе выборок, могут быть присвоены выборке (DS1) в области понижающей выборки, и выборки в предварительно заданных положениях среди нескольких выборок, относящихся ко второй группе выборок, могут быть присвоены выборке (DS2) в области понижающей выборки. Предварительно заданные положения могут представлять фиксированные положения, предварительно определенные в устройстве для кодирования/декодирования. К примеру, оно может представлять собой любое положение из самого левого, самого правого или среднего положений. В левой части соседней области выборки в предварительно заданных положениях среди нескольких выборок, относящихся к каждой группе выборок, также могут быть присвоены соответствующей выборке в области понижающей выборки. В данном документе предварительно заданные положения могут представлять собой любое положение из самого верхнего, самого нижнего или среднего положений.Alternatively, at the top of the adjacent sample area, samples at predetermined positions among the multiple samples belonging to the first group of samples may be assigned to a sample (DS1) in the downsampling area, and samples at predetermined positions among the multiple samples belonging to the second group of samples may be assigned to a sample (DS2) in the downsampling area. The preset positions may represent fixed positions predetermined in the encoder/decoder. For example, it can be any of the leftmost, rightmost, or middle positions. On the left side of the neighboring area, the samples at predetermined positions among the multiple samples belonging to each group of samples may also be assigned to the corresponding sample in the downsampling area. In this document, the preset positions may be any of the highest, lowest, or middle positions.

На фиг. 7 изображен способ осуществления понижающей выборки на основании взвешенного среднего согласно варианту осуществления настоящего изобретения.In FIG. 7 illustrates a weighted average downsampling method according to an embodiment of the present invention.

В варианте осуществления среднее значение могут вычислять посредством следующего уравнения (далее называемого первым уравнением вычисления среднего):In an embodiment, the average value may be calculated by the following equation (hereinafter referred to as the first average calculation equation):

сумма выборок, относящихся к группе выборок / количество выборок;sum of samples related to the group of samples / number of samples;

или среднее значение могут вычислять посредством следующего уравнения (далее называемого вторым уравнением вычисления среднего):or the average may be calculated by the following equation (hereinafter referred to as the second average calculation equation):

сумма (взвешенное значение × выборка, относящаяся к группе выборок) / количество выборок.sum (weighted value × sample related to the group of samples) / number of samples.

На фиг. 7 (a) показан случай, когда представленная выше группа выборок состоит из трех выборок. В данном документе взвешенные значения, применяемые для 3 выборок, могут быть определены как соотношение 1:2:1. Как показано на фиг. 7 (b), когда группа выборок состоит из 5 выборок, взвешенные значения могут быть определены как соотношение 1:1:4:1:1. Как показано на фиг. 7 (c), когда группа выборок состоит из 6 выборок, взвешенное значение может быть определено как соотношение 1:2:1:2:2:1 или 1:2:2:1:2:1 в направлении Z с верхней левой частью в качестве начальной точки. В дополнение, хотя на фиг. 7 (a) и фиг. 7 (c) показаны взвешенные значения, применяемые к верхней части соседней области, они также могут быть применены к левой части соседней области.In FIG. 7(a) shows the case where the above sample group consists of three samples. In this document, the weighted values applied for the 3 samples can be defined as a ratio of 1:2:1. As shown in FIG. 7(b), when the sample group consists of 5 samples, the weighted values can be determined as a ratio of 1:1:4:1:1. As shown in FIG. 7(c), when the sample group consists of 6 samples, the weighted value can be defined as a ratio of 1:2:1:2:2:1 or 1:2:2:1:2:1 in the Z direction with the upper left part as a starting point. In addition, although in FIG. 7(a) and FIG. 7(c) shows the weighted values applied to the top of the neighboring area, they can also be applied to the left side of the neighboring area.

Среднее значение также может включать полученное в результате значение, полученное посредством применения предварительно определенной операции ко множеству средних значений, вычисленных посредством первого уравнения вычисления среднего или второго уравнения вычисления среднего. Предварительно определенная операция может представлять собой приведенное выше первое уравнение вычисления среднего или второе уравнение вычисления среднего. Например, если 3 выборки (т. е. от первой выборки до третьей выборки) относятся к группе выборок, среднее значение (первое значение) первой выборки и второй выборки и среднее значение (второе значение) второй выборки и третьей выборки могут быть вычислены соответствующим образом. Среднее значение может быть получено из среднего значения вычисленных первого значения и второго значения.The average may also include a result value obtained by applying a predetermined operation to the set of averages calculated by the first average calculation equation or the second average calculation equation. The predetermined operation may be the above first average calculation equation or the second average calculation equation. For example, if 3 samples (i.e., from the first sample to the third sample) belong to a group of samples, the mean (first value) of the first sample and the second sample and the mean (second value) of the second sample and the third sample can be calculated accordingly . The average value can be obtained from the average of the computed first value and second value.

Приведенный выше способ осуществления понижающей выборки может быть применен только к верхней части соседней области. С другой стороны, он также может быть применен только к левой части соседней области. Альтернативно способ осуществления понижающей выборки (далее называемый первым способом) по фиг. 6 может быть применен к любой из верхней части или левой части соседней области. Способ осуществления понижающей выборки (далее называемый вторым способом) по фиг. 7 может быть применен к другой из верхней части или левой части соседней области.The above downsampling method can only be applied to the top of the adjacent region. On the other hand, it can also only be applied to the left side of the adjacent area. Alternatively, the downsampling method (hereinafter referred to as the first method) of FIG. 6 can be applied to either the top or left side of the adjacent area. The downsampling method (hereinafter referred to as the second method) of FIG. 7 can be applied to another from the top or left side of the adjacent area.

В дополнение, с учетом размера/формы текущего блока опционально может быть использован по меньшей мере один из первого способа или второго способа. Например, когда ширина текущего блока больше предварительно определенного порогового значения, первый способ может быть применен к верхней части соседней области текущего блока. В противном случае может быть применен второй способ. Понижающая выборка также может быть выполнена в отношении высоты текущего блока таким же образом. Или, когда текущий блок имеет форму, отличную от квадрата, первый способ может быть применен к любой из верхней части или левой части соседней области, и второй способ может быть применен к другому участку. В данном документе, когда ширина текущего блока больше высоты, первый способ может быть применен к верхней части соседней области, и второй способ может быть применен к левой части соседней области. С другой стороны, когда ширина текущего блока меньше высоты, второй способ может быть применен к верхней части соседней области, и первый способ может быть применен к левой части соседней области. Когда текущий блок имеет квадратную форму, может быть использован тот же самый способ осуществления понижающей выборки для верхней части и левой части соседней области, при этом способ осуществления понижающей выборки может быть ограничен первым способом.In addition, considering the size/shape of the current block, at least one of the first method or the second method can optionally be used. For example, when the width of the current block is greater than a predetermined threshold, the first method may be applied to the top of an adjacent area of the current block. Otherwise, the second method can be applied. Downsampling can also be performed on the height of the current block in the same way. Or, when the current block has a shape other than a square, the first method can be applied to any of the top or left of the adjacent area, and the second method can be applied to another area. Herein, when the width of the current block is greater than the height, the first method may be applied to the top of the adjacent area, and the second method may be applied to the left side of the adjacent area. On the other hand, when the width of the current block is smaller than the height, the second method may be applied to the top of the adjacent area, and the first method may be applied to the left side of the adjacent area. When the current block is square, the same downsampling method for the top and left of the adjacent area can be used, and the downsampling method can be limited to the first method.

На фиг. 8 изображены разделение первой выборки предсказания и способ интерполяции оставшихся областей согласно варианту осуществления настоящего изобретения.In FIG. 8 shows a division of the first prediction sample and a method for interpolating the remaining areas according to an embodiment of the present invention.

Как показано на фиг. 8 (a), выборки предсказания блока DS могут быть присвоены выборкам предсказания в предварительно определенных положениях в текущем блоке. Предварительно определенные положения могут быть определены с учетом соотношения размера текущего блока к размеру блока DS. Например, соответствующее взаимоотношение выборок предсказания между блоком DS и текущим блоком может быть определено посредством следующего уравнения 2.As shown in FIG. 8(a), prediction samples of a DS block may be assigned to prediction samples at predetermined positions in the current block. The predetermined positions may be determined considering the ratio of the current block size to the DS block size. For example, the corresponding relationship of prediction samples between the DS block and the current block can be determined by the following Equation 2.

Уравнение 2Equation 2

First Prediction_Sample_curBLK[(x+1)×r-1][(y+1)×r-1]=First_Prediction_Sample_dsBLK[x][y]First Prediction_Sample_curBLK[(x+1)×r-1][(y+1)×r-1]=First_Prediction_Sample_dsBLK[x][y]

В данном документе r представляет соотношение размера текущего блока к размеру блока DS, а x и y представляют собой координаты по оси x и оси y первой выборки предсказания в каждом блоке DS. First Prediction_Sample_curBLK может указывать положение первой выборки предсказания в текущем блоке, и First_Prediction_Sample_dsBLK может указывать положение первой выборки предсказания в блоке DS.Here, r represents the ratio of the current block size to the DS block size, and x and y represent the x and y coordinates of the first prediction sample in each DS block. First Prediction_Sample_curBLK may indicate the position of the first prediction sample in the current block, and First_Prediction_Sample_dsBLK may indicate the position of the first prediction sample in the DS block.

Что касается интерполяции, как показано на фиг. 8 (b), по меньшей мере один элемент (далее называемый интерполированной исходной выборкой) из первых выборок предсказания, разделенных для текущего блока, или восстановленных выборок, смежных с текущим блоком, может быть использован для получения выборок, которые не разделены для первых выборок предсказания в текущем блоке (далее называемых интерполированными целевыми выборками). В дополнение, интерполированная исходная выборка также может содержать выборку предсказания, сгенерированную посредством интерполяции до текущей интерполированной целевой выборки (т. е. предыдущую интерполированную целевую выборку).With regard to interpolation, as shown in FIG. 8(b), at least one element (hereinafter referred to as the interpolated original sample) of the first prediction samples split for the current block or reconstructed samples adjacent to the current block can be used to obtain samples that are not split for the first prediction samples. in the current block (hereinafter referred to as the interpolated target samples). In addition, the interpolated source sample may also contain a prediction sample generated by interpolation to the current interpolated target sample (i.e., the previous interpolated target sample).

Положение и диапазон восстановленной выборки, смежной с текущим блоком, являются такими же, как и для приведенной выше исходной выборки, и, следовательно, подробные описания здесь опущены.The position and range of the reconstructed sample adjacent to the current block is the same as for the above original sample, and therefore detailed descriptions are omitted here.

В соответствии с положением интерполированной целевой выборки, интерполированная исходная выборка может состоять из множества первых выборок предсказания или может состоять из по меньшей мере одной первой выборки предсказания и по меньшей мере одной восстановленной соседней выборки. Необязательно восстановленные соседние выборки могут использовать любую из выборок, имеющих такую же x-координату или такую же y-координату, как и у интерполированной целевой выборки, или могут использовать выборки, в которых по меньшей мере одна из x-координаты или y-координаты является такой же, как и у интерполированной целевой выборки. Выбор может быть произведен на основании положения интерполированной целевой выборки. Например, если интерполированная целевая выборка имеет такую же x-координату, что и первая выборка предсказания, восстановленные соседние выборки могут включать только выборки с такой же x-координатой, как и у интерполированной целевой выборки. Напротив, если интерполированная целевая выборка имеет такую же y-координату, что и первая выборка предсказания, восстановленные соседние выборки могут включать только выборки с такой же y-координатой, как и у интерполированной целевой выборки. Альтернативно восстановленные соседние выборки также могут включать несколько выборок, расположенных на тех же горизонтальных и вертикальных линиях, что и интерполированные целевые выборки.According to the position of the interpolated target sample, the interpolated source sample may consist of a plurality of first prediction samples, or may consist of at least one first prediction sample and at least one reconstructed adjacent sample. Optionally, the reconstructed adjacent samples may use any of the samples having the same x-coordinate or the same y-coordinate as the interpolated target sample, or may use samples where at least one of the x-coordinate or y-coordinate is the same as for the interpolated target sample. The selection may be made based on the position of the interpolated target sample. For example, if the interpolated target sample has the same x-coordinate as the first prediction sample, the reconstructed adjacent samples may only include samples with the same x-coordinate as the interpolated target sample. In contrast, if the interpolated target sample has the same y-coordinate as the first prediction sample, the reconstructed adjacent samples may only include samples with the same y-coordinate as the interpolated target sample. Alternatively, the reconstructed adjacent samples may also include multiple samples located on the same horizontal and vertical lines as the interpolated target samples.

Интерполированную целевую выборку можно получать из репрезентативного значения множества интерполированных исходных выборок, при этом репрезентативное значение может включать одно из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.The interpolated target sample may be derived from a representative value of the plurality of interpolated source samples, wherein the representative value may include one of the following: average, minimum, maximum, mode value, and intermediate value.

Среднее значение может быть вычислено посредством следующего уравнения (далее называемого первым уравнением вычисления среднего):The average value can be calculated by the following equation (hereinafter referred to as the first average calculation equation):

сумма разностных исходных выборок / количество разностных исходных выборокsum of difference initial samples / number of difference initial samples

Или среднее значение может быть вычислено посредством следующего уравнения (далее называемого вторым уравнением вычисления среднего):Or, the average value can be calculated by the following equation (hereinafter referred to as the second average calculation equation):

сумма (взвешенное значение × разностная исходная выборка) / количество разностных исходных выборокsum (weighted value × difference original sample) / number of difference original samples

Взвешенное значение в соответствии со вторым уравнением вычисления среднего может быть определено на основании относительного/абсолютного расстояния между интерполированной целевой выборкой и интерполированной исходной выборкой, что подробно описано со ссылкой на фиг. 9.The weighted value according to the second averaging equation can be determined based on the relative/absolute distance between the interpolated target sample and the interpolated source sample, which is described in detail with reference to FIG. 9.

На фиг. 9 изображено взвешенное значение для расстояния, присвоенное в операции интерполяции, согласно варианту осуществления настоящего изобретения.In FIG. 9 shows a weighted value for a distance assigned in an interpolation operation according to an embodiment of the present invention.

Взвешенное значение согласно настоящему изобретению может включать взвешенное значение, определенное на основании расстояния между интерполированной целевой выборкой и интерполированной исходной выборкой. В качестве варианта осуществления, как показано на фиг. 9, если интерполяцию выполняют в отношении первой интерполированной целевой выборки 910, поскольку соотношение расстояния между первой интерполированной целевой выборкой 910 и первой интерполированной исходной выборкой 911 к расстоянию между первой интерполированной целевой выборкой 910 и второй интерполированной исходной выборкой 912 составляет 3:1, соотношение соотношений взвешенных значений, применяемых к первой интерполированной исходной выборке 911 и второй интерполированной исходной выборке 912, может составлять 1:3. Если интерполяцию выполняют в отношении второй интерполированной целевой выборки 920, поскольку соотношение расстояния между второй интерполированной целевой выборкой 920 и второй интерполированной исходной выборкой 921 к расстоянию между второй интерполированной целевой выборкой 920 и второй интерполированной исходной выборкой 922 составляет 1:1, соотношение взвешенных значений, применяемых к первой интерполированной исходной выборке 921 и второй интерполированной исходной выборке 922, может составлять 1:1.The weighted value according to the present invention may include a weighted value determined based on the distance between the interpolated target sample and the interpolated source sample. As an embodiment, as shown in FIG. 9, if interpolation is performed on the first interpolated target sample 910, since the ratio of the distance between the first interpolated target sample 910 and the first interpolated source sample 911 to the distance between the first interpolated target sample 910 and the second interpolated source sample 912 is 3:1, the ratio of the ratios of the weighted the values applied to the first interpolated source sample 911 and the second interpolated source sample 912 may be 1:3. If interpolation is performed on the second interpolated target sample 920, since the ratio of the distance between the second interpolated target sample 920 and the second interpolated source sample 921 to the distance between the second interpolated target sample 920 and the second interpolated source sample 922 is 1:1, the ratio of weighted values applied to the first interpolated source sample 921 and the second interpolated source sample 922 may be 1:1.

В дополнение, интерполяционный фильтр согласно настоящему изобретению может иметь направленность. Направленность может быть вертикальной, горизонтальной, в форме z, диагональной и т. п.In addition, the interpolation filter according to the present invention may be directional. Orientation can be vertical, horizontal, z-shaped, diagonal, etc.

Интерполяцию можно выполнять на основании предварительно определенного порядка приоритета. Порядок приоритета может представлять собой либо случай выполнения интерполяции в горизонтальном направлении после выполнения интерполяции в вертикальном направлении (первый порядок) или случай выполнения интерполяции в вертикальном направлении после выполнения интерполяции в горизонтальном направлении (второй порядок). Или интерполяцию можно выполнять в вертикальном направлении и горизонтальном направлении одновременно (третий порядок).The interpolation may be performed based on a predetermined priority order. The priority order may be either a case of performing interpolation in the horizontal direction after performing interpolation in the vertical direction (first order) or a case of performing interpolation in the vertical direction after performing interpolation in the horizontal direction (second order). Or interpolation can be performed in the vertical direction and the horizontal direction at the same time (third order).

Только один из приведенных выше порядков с первого порядка по третий порядок может быть использован для выполнения интерполяции, или для выполнения интерполяции могут быть использованы комбинации по меньшей мере двух из порядков с первого порядка по третий порядок. Последовательность интерполяции смотрите на фиг. 10.Only one of the above first order to third order orders may be used to perform the interpolation, or combinations of at least two of the first order to third order orders may be used to perform the interpolation. See the interpolation sequence in Fig. 10.

На фиг. 10 изображена последовательность операций интерполяции согласно варианту осуществления настоящего изобретения.In FIG. 10 shows a sequence of interpolation operations according to an embodiment of the present invention.

На фиг. 10 (a) показан первый порядок по фиг. 9. В частности, интерполяцию можно сначала выполнять в отношении вертикальной линии, принадлежащей первым выборкам предсказания, и затем интерполяцию можно выполнять в отношении горизонтальной линии на основании интерполированной линии и интерполированной исходной выборки на левой стороне текущего блока.In FIG. 10(a) shows the first order of FIG. 9. Specifically, interpolation may be first performed on a vertical line belonging to the first prediction samples, and then interpolation may be performed on a horizontal line based on the interpolated line and the interpolated original sample on the left side of the current block.

На фиг. 10 (b) показан второй порядок по фиг. 9. В частности, интерполяцию можно сначала выполнять в отношении горизонтальной линии, принадлежащей первым выборкам предсказания, и затем интерполяцию можно выполнять в отношении вертикальной линии на основании интерполированной линии и интерполированной исходной выборки на верхней части текущего блока.In FIG. 10(b) shows the second order of FIG. 9. Specifically, interpolation may be first performed on a horizontal line belonging to the first prediction samples, and then interpolation may be performed on a vertical line based on the interpolated line and the interpolated original sample at the top of the current block.

На фиг. 10 (c) показан третий порядок по фиг. 9. Сначала интерполяцию можно выполнять в отношении вертикальной линии и горизонтальной линии, принадлежащих первым выборкам предсказания. Затем интерполяцию можно выполнять в отношении оставшихся выборок, которые не были интерполированы. В данном документе интерполяцию можно выполнять в отношении только вертикальной линии или только горизонтальной линии, или интерполяцию можно выполнять в отношении вертикальной линии и горизонтальной линии одновременно. Если интерполяцию выполняют в отношении вертикальной линии и горизонтальной линии одновременно, одна интерполированная целевая выборка может иметь первое интерполированное значение в отношении вертикальной линии и второе интерполированное значение в отношении горизонтальной линии одновременно. В данном документе репрезентативное значение для первого интерполированного значения и второго интерполированного значения могут присваивать интерполированной целевой выборке. При этом репрезентативное значение может быть получено из среднего значения, минимального значения, максимального значения, значения режима или промежуточного значения.In FIG. 10(c) shows the third order of FIG. 9. First, interpolation may be performed on a vertical line and a horizontal line belonging to the first prediction samples. Interpolation can then be performed on the remaining samples that have not been interpolated. Here, interpolation may be performed on only the vertical line or only the horizontal line, or interpolation may be performed on the vertical line and the horizontal line at the same time. If the interpolation is performed on the vertical line and the horizontal line at the same time, one interpolated target sample may have the first interpolated value on the vertical line and the second interpolated value on the horizontal line at the same time. Herein, a representative value for the first interpolated value and the second interpolated value may be assigned to the interpolated target sample. Here, a representative value can be obtained from an average value, a minimum value, a maximum value, a mode value, or an intermediate value.

Порядок интерполяции может представлять собой порядок, предварительно определенный в устройстве для кодирования/декодирования, или он необязательно может быть определен на основании информации о кодировании текущего блока. Информация о кодировании представляет собой информацию, описанную выше, и, следовательно, подробные описания опущены.The interpolation order may be an order predetermined in the device for encoding/decoding, or it may optionally be determined based on the encoding information of the current block. The encoding information is the information described above and, therefore, detailed descriptions are omitted.

Порядок может быть определен на основании размера блока. Размер блока может быть представлен шириной или высотой, минимальным/максимальным значением ширины и высоты, суммой ширины и высоты, количеством выборок, относящихся к блоку, и т. п.The order may be determined based on the block size. The block size can be represented by the width or height, the minimum/maximum value of the width and height, the sum of the width and height, the number of samples related to the block, and so on.

Например, когда размер текущего блока больше предварительно определенного порогового значения, может быть выполнена первая интерполяция. В противном случае может быть выполнена вторая интерполяция. Напротив, когда размер текущего блока меньше предварительно определенного порогового значения, может быть выполнена вторая интерполяция. В противном случае может быть выполнена первая интерполяция. Пороговое значение может составлять 8, 16, 32 или представлять собой большее натуральное число.For example, when the size of the current block is larger than a predetermined threshold value, a first interpolation may be performed. Otherwise, a second interpolation may be performed. Conversely, when the size of the current block is less than a predetermined threshold, a second interpolation may be performed. Otherwise, the first interpolation may be performed. The threshold value can be 8, 16, 32, or a larger natural number.

Claims (46)

1. Способ обработки видеосигнала, выполняемый устройством для декодирования, включающий: 1. A video signal processing method performed by a decoding device, including: определение режима внутреннего предсказания текущего блока; determining an intra prediction mode of the current block; определение исходной выборки, используемой для внутреннего предсказания текущего блока; determining an initial sample used for intra-prediction of the current block; определение матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и determining a matrix from the plurality of previously stored matrix groups based on the intra prediction mode; And предсказание текущего блока на основании исходной выборки и матрицы, при этом предсказание текущего блока на основании исходной выборки и матрицы включает: prediction of the current block based on the original sample and matrix, wherein the prediction of the current block based on the original sample and matrix includes: генерирование блока предсказания путем применения матрицы к исходной выборке. generating a prediction block by applying the matrix to the original sample. 2. Способ по п. 1, отличающийся тем, что определение исходной выборки включает: 2. The method according to p. 1, characterized in that the definition of the initial sample includes: определение соседней области текущего блока и determining the adjacent area of the current block, and выполнение понижающей выборки в отношении определенной соседней области, при этом соседнюю область разделяют на множество групп выборок, группа выборок содержит одну или более выборок, репрезентативное значение группы выборок определяют в качестве исходной выборки и репрезентативное значение представляет собой одно из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение. performing downsampling on a certain neighboring region, wherein the neighboring region is divided into a plurality of sample groups, the sample group contains one or more samples, the representative value of the sample group is defined as the original sample, and the representative value is one of the following: average, minimum, maximum value, mode value, and intermediate value. 3. Способ по п. 1, отличающийся тем, что матрицу определяют дополнительно с учетом информации о кодировании текущего блока и 3. The method according to claim 1, characterized in that the matrix is additionally determined taking into account information about the encoding of the current block and информация о кодировании содержит размер и форму текущего блока. encoding information contains the size and shape of the current block. 4. Способ по п. 1, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает: 4. The method according to claim 1, characterized in that the prediction of the current block based on the original sample and the matrix further includes: выполнение перестановки всех или части выборок предсказания сгенерированного блока предсказания. performing a permutation of all or part of the prediction samples of the generated prediction block. 5. Способ по п. 1, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает: 5. The method of claim. 1, characterized in that the prediction of the current block based on the original sample and the matrix further includes: выполнение интерполяции в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком. performing interpolation with respect to the current block based on at least one of the prediction block or reconstructed samples adjacent to the current block. 6. Способ обработки видеосигнала, выполняемый устройством для кодирования, включающий: 6. Video signal processing method performed by the encoding device, including: определение режима внутреннего предсказания текущего блока; determining an intra prediction mode of the current block; определение исходной выборки, используемой для внутреннего предсказания текущего блока; determining an initial sample used for intra-prediction of the current block; определение матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и determining a matrix from the plurality of previously stored matrix groups based on the intra prediction mode; And предсказание текущего блока на основании исходной выборки и матрицы, при этом предсказание текущего блока на основании исходной выборки и матрицы включает: prediction of the current block based on the original sample and matrix, wherein the prediction of the current block based on the original sample and matrix includes: генерирование блока предсказания путем применения матрицы к исходной выборке. generating a prediction block by applying the matrix to the original sample. 7. Способ по п. 6, отличающийся тем, что определение исходной выборки включает: 7. The method according to claim 6, characterized in that the definition of the initial sample includes: определение соседней области текущего блока и determining the adjacent area of the current block, and выполнение понижающей выборки в отношении определенной соседней области, при этом соседнюю область разделяют на множество групп выборок, группа выборок содержит одну или более выборок, репрезентативное значение группы выборок определяют в качестве исходной выборки, и репрезентативное значение представляет собой одно из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение. performing downsampling on a certain neighboring region, wherein the neighboring region is divided into a plurality of sample groups, the sample group contains one or more samples, the representative value of the sample group is defined as the original sample, and the representative value is one of the following: average, minimum, maximum value, mode value and intermediate value. 8. Способ по п. 6, отличающийся тем, что матрицу определяют дополнительно с учетом информации о кодировании текущего блока и 8. The method according to claim 6, characterized in that the matrix is additionally determined taking into account information about the encoding of the current block and информация о кодировании содержит размер и форму текущего блока. encoding information contains the size and shape of the current block. 9. Способ по п. 6, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает: 9. The method of claim 6, wherein predicting the current block based on the original sample and the matrix further comprises: выполнение перестановки всех или части выборок предсказания сгенерированного блока предсказания. performing a permutation of all or part of the prediction samples of the generated prediction block. 10. Способ по п. 6, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает: 10. The method according to claim 6, characterized in that the prediction of the current block based on the original sample and the matrix further includes: выполнение интерполяции в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком. performing interpolation with respect to the current block based on at least one of the prediction block or reconstructed samples adjacent to the current block. 11. Устройство для декодирования для обработки видеосигнала, содержащее: 11. A device for decoding for processing a video signal, comprising: первый узел определения, выполненный с возможностью определения режима внутреннего предсказания текущего блока; a first determination node, configured to determine the intra prediction mode of the current block; второй узел определения, выполненный с возможностью определения исходной выборки, используемой для внутреннего предсказания текущего блока; a second determining node, configured to determine the original sample used for intra prediction of the current block; третий узел определения, выполненный с возможностью определения матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и a third determination node, configured to determine a matrix from the plurality of previously stored matrix groups based on the intra prediction mode; And узел генерирования, выполненный с возможностью генерирования блока предсказания путем применения матрицы к исходной выборке. a generating node configured to generate a prediction block by applying a matrix to the original sample. 12. Декодер, содержащий: 12. Decoder, containing: процессор и processor and запоминающее устройство, при этом запоминающее устройство выполнено с возможностью хранения компьютерных программ, способных запускаться на процессоре, и когда компьютерные программы запускаются процессором, процессор выполнен с возможностью реализации способа по любому из пп. 1–5. a storage device, wherein the storage device is configured to store computer programs capable of running on the processor, and when the computer programs are run by the processor, the processor is configured to implement the method of any one of claims. 1–5. 13. Устройство для кодирования для обработки видеосигнала, содержащее: 13. An encoding device for processing a video signal, comprising: первый узел определения, выполненный с возможностью определения режима внутреннего предсказания текущего блока; a first determination node, configured to determine the intra prediction mode of the current block; второй узел определения, выполненный с возможностью определения исходной выборки, используемой для внутреннего предсказания текущего блока; a second determining node, configured to determine the original sample used for intra prediction of the current block; третий узел определения, выполненный с возможностью определения матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и a third determination node, configured to determine a matrix from the plurality of previously stored matrix groups based on the intra prediction mode; And узел генерирования, выполненный с возможностью генерирования блока предсказания путем применения матрицы к исходной выборке. a generating node configured to generate a prediction block by applying a matrix to the original sample. 14. Кодер, содержащий: 14. An encoder containing: процессор и processor and запоминающее устройство, при этом запоминающее устройство выполнено с возможностью хранения компьютерных программ, способных запускаться на процессоре, и когда компьютерные программы запускаются процессором, процессор выполнен с возможностью реализации способа по любому из пп. 6–10.a storage device, wherein the storage device is configured to store computer programs capable of running on the processor, and when the computer programs are run by the processor, the processor is configured to implement the method of any one of claims. 6–10.
RU2021109293A 2018-09-07 2019-09-06 Method and device for image encoding/decoding using intra prediction RU2801823C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2018-0107255 2018-09-07

Related Child Applications (2)

Application Number Title Priority Date Filing Date
RU2023120256A Division RU2808540C2 (en) 2018-09-07 2019-09-06 Method and device for image coding/decoding using intra prediction
RU2023120254A Division RU2809077C2 (en) 2018-09-07 2019-09-06 Method and device for image encoding/decoding using intra prediction

Publications (2)

Publication Number Publication Date
RU2021109293A RU2021109293A (en) 2022-10-07
RU2801823C2 true RU2801823C2 (en) 2023-08-16

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080219576A1 (en) * 2007-03-07 2008-09-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding image
EP2388999A3 (en) * 2010-05-17 2013-01-23 Lg Electronics Inc. New intra prediction modes
RU2586017C2 (en) * 2011-01-31 2016-06-10 Электроникс Энд Телекоммьюникейшнз Рисерч Инститьют Method and apparatus for encoding/decoding images using motion vector
US20170359595A1 (en) * 2016-06-08 2017-12-14 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080219576A1 (en) * 2007-03-07 2008-09-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding image
EP2388999A3 (en) * 2010-05-17 2013-01-23 Lg Electronics Inc. New intra prediction modes
RU2586017C2 (en) * 2011-01-31 2016-06-10 Электроникс Энд Телекоммьюникейшнз Рисерч Инститьют Method and apparatus for encoding/decoding images using motion vector
US20170359595A1 (en) * 2016-06-08 2017-12-14 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction

Similar Documents

Publication Publication Date Title
US11477439B2 (en) Method and device for video signal processing
RU2766152C1 (en) Method and device for encoding/decoding an image signal
CN108353185B (en) Method and apparatus for processing video signal
US20210084292A1 (en) Method and device for processing video signal
US11184639B2 (en) Method and device for video signal processing
US20190104304A1 (en) Method and apparatus for processing intra-prediction-based video signal
CN110651478A (en) Method and apparatus for video signal processing
CN116916014A (en) Method for decoding or encoding video and apparatus for storing video data
CN113873242A (en) Method for decoding video and method for encoding video
CN113574878A (en) Method for encoding/decoding video signal and apparatus therefor
CA3102546A1 (en) Method and apparatus for processing video signal
CN114303369A (en) Video signal processing method and apparatus
CN112262576A (en) Residual coefficient encoding/decoding method and apparatus
RU2801823C2 (en) Method and device for image encoding/decoding using intra prediction
RU2809077C2 (en) Method and device for image encoding/decoding using intra prediction
RU2808540C2 (en) Method and device for image coding/decoding using intra prediction
US20240137497A1 (en) Image signal encoding/decoding method and apparatus therefor
RU2793836C2 (en) Method and device for video signal processing