RU2795549C2 - Method and device for intra-frame prediction - Google Patents

Method and device for intra-frame prediction Download PDF

Info

Publication number
RU2795549C2
RU2795549C2 RU2021101193A RU2021101193A RU2795549C2 RU 2795549 C2 RU2795549 C2 RU 2795549C2 RU 2021101193 A RU2021101193 A RU 2021101193A RU 2021101193 A RU2021101193 A RU 2021101193A RU 2795549 C2 RU2795549 C2 RU 2795549C2
Authority
RU
Russia
Prior art keywords
block
mode
prediction
pixel
pixels
Prior art date
Application number
RU2021101193A
Other languages
Russian (ru)
Other versions
RU2021101193A (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 RU2021101193A publication Critical patent/RU2021101193A/en
Application granted granted Critical
Publication of RU2795549C2 publication Critical patent/RU2795549C2/en

Links

Images

Abstract

FIELD: image encoding and decoding technology.
SUBSTANCE: invention is related in particular to a method and apparatus for encoding/decoding intra prediction. A device for intra-frame prediction is proposed, which is capable of obtaining the intra-frame prediction mode of the current block, determining among the plurality of pixel lines a pixel line for intra-frame prediction of the current block, and performing intra-frame prediction of the current block based on the intra-frame prediction mode and the pixel line. In addition, the first reference pixel of the determined pixel line can be selectively filtered, and the prediction pixel of the current block can be selectively corrected, and thus the intra-frame prediction accuracy can be improved.
EFFECT: increase of efficiency of image compression.
7 cl, 35 dwg, 8 tbl

Description

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

[0001] Настоящее изобретение относится к технологии кодирования и декодирования изображения и, в частности, к способу и устройству для кодирования/декодирования внутреннего предсказания.[0001] The present invention relates to a technology for encoding and decoding an image, and in particular, to a method and apparatus for encoding/decoding intra prediction.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

[0002] В последнее время в различных областях применения растет спрос на изображения высокого разрешения и высокого качества, такие как изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD), и поэтому разрабатываются высокоэффективные методики сжатия изображения.[0002] Recently, the demand for high resolution and high quality images, such as high definition (HD) images and ultra high definition (UHD) images, has been increasing in various applications, and therefore, highly efficient image compression techniques have been developed.

[0003] Что касается технологии сжатия изображения, могут иметь место различные технологии, такие как технология предсказания, осуществляемого между изображениями, в которой значение пикселя, включенного в текущий кадр, предсказывается на основе кадра до или после текущего кадра, технология внутреннего предсказания, в которой значение пикселя, включенного в текущий кадр, предсказывается с использованием информации пикселя в текущем кадре, и технология энтропийного кодирования для присвоения короткого кода информации, имеющей высокую частоту появления, и присвоения длинного кода информации, имеющей низкую частоту появления. Эти технологии сжатий изображения можно использовать для эффективного сжатия и передачи или хранения данных изображения.[0003] As for the image compression technology, there may be various technologies such as inter-image prediction technology in which the value of a pixel included in the current frame is predicted based on the frame before or after the current frame, intra prediction technology in which a value of a pixel included in the current frame is predicted using the pixel information in the current frame, and an entropy encoding technique for assigning a short code to information having a high occurrence rate and assigning a long code to information having a low occurrence rate. These image compression technologies can be used to efficiently compress and transmit or store image data.

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

Техническая задачаTechnical task

[0004] Настоящее изобретение относится к технологии кодирования и декодирования изображения и, в частности, к способу и устройству для кодирования/декодирования внутреннего предсказания.[0004] The present invention relates to an image encoding and decoding technology, and more particularly to a method and apparatus for intra prediction encoding/decoding.

Техническое решениеTechnical solution

[0005] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть получен режим внутреннего предсказания текущего блока, среди множества линий пикселей может быть определена линия пикселей для внутреннего предсказания текущего блока, и на основе режима внутреннего предсказания и определенной линии пикселей может быть выполнено внутреннее предсказание текущего блока.[0005] According to the method and apparatus for intra prediction according to the present invention, the intra prediction mode of the current block can be obtained, among the plurality of pixel lines, a pixel line for intra prediction of the current block can be determined, and based on the intra prediction mode and the determined pixel line intra-prediction of the current block can be performed.

[0006] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть выполнена фильтрация в отношении первого опорного пикселя определенной линии пикселей.[0006] According to the method and apparatus for intra prediction according to the present invention, filtering can be performed on the first reference pixel of a certain pixel line.

[0007] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, фильтрация может быть выборочно выполнена на основе первого флага, указывающего, подвергался ли фильтрации первый опорный пиксель для внутреннего предсказания.[0007] According to the method and apparatus for intra prediction according to the present invention, filtering can be selectively performed based on a first flag indicating whether the first reference pixel for intra prediction has been filtered.

[0008] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, первый флаг может быть получен из устройства для декодирования на основе параметра кодирования текущего блока, и параметр кодирования может содержать по меньшей мере одно из размера блока, типа компоненты, режима внутреннего предсказания или того, применялось ли внутреннее предсказание в элементах подблоков.[0008] According to the method and device for intra prediction according to the present invention, the first flag can be obtained from the device for decoding based on the coding parameter of the current block, and the coding parameter can contain at least one of the block size, component type, intra mode prediction, or whether intra-prediction was applied to sub-block elements.

[0009] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть выполнена коррекция в отношении пикселя предсказания текущего блока в соответствии с внутренним предсказанием.[0009] According to the method and apparatus for intra prediction according to the present invention, a prediction pixel of a current block can be corrected according to intra prediction.

[0010] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция выполнения коррекции может дополнительно включать: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока.[0010] In accordance with the method and apparatus for intra prediction according to the present invention, the step of performing the correction may further include: determining at least one of the second reference pixel or a weighted value for correction based on the prediction pixel position of the current block.

[0011] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, коррекция может быть выборочно выполнена с учетом по меньшей мере одного из положения линии пикселей текущего блока, режима внутреннего предсказания текущего блока или того, выполнялось ли внутреннее предсказание в элементах подблоков текущего блока.[0011] According to the method and apparatus for intra prediction according to the present invention, the correction can be selectively performed considering at least one of the position of a pixel line of the current block, the intra prediction mode of the current block, or whether intra prediction has been performed in subblock elements of the current block.

[0012] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, внутренне предсказание может быть выполнено в элементах подблоков текущего блока, а подблоки могут быть определены на основе по меньшей мере одного из второго флага, указывающего, выполнять ли разделение, информации о направлении разделения или информации о номере раздела.[0012] According to the method and apparatus for intra prediction according to the present invention, intra prediction may be performed on sub-block elements of the current block, and sub-blocks may be determined based on at least one of a second flag indicating whether to perform division, information about partition direction or partition number information.

[0013] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, режим внутреннего предсказания может быть получен на основе предварительно определенного режима по умолчанию или множества наиболее вероятных режимов (МРМ)-кандидатов.[0013] According to the method and apparatus for intra prediction according to the present invention, an intra prediction mode can be obtained based on a predetermined default mode or a plurality of most likely (MPM) candidate modes.

Технический эффектtechnical effect

[0014] Согласно настоящему изобретению, за счет предсказания в элементах подблоков можно повысить эффективность кодирования/декодирования.[0014] According to the present invention, coding/decoding efficiency can be improved by predicting in sub-block elements.

[0015] Согласно настоящему изобретению, за счет внутреннего предсказания на основе множества линий пикселей можно повысить эффективность кодирования/декодирования внутреннего предсказания.[0015] According to the present invention, by intra prediction based on a plurality of pixel lines, intra prediction encoding/decoding efficiency can be improved.

[0016] Согласно настоящему изобретению, за счет выполнения фильтрации в отношении опорного пикселя можно повысить эффективность кодирования/декодирования внутреннего предсказания.[0016] According to the present invention, by performing filtering on a reference pixel, intra prediction encoding/decoding efficiency can be improved.

[0017] Согласно настоящему изобретению, за счет коррекции пикселя внутреннего предсказания можно повысить эффективность кодирования/декодирования внутреннего предсказания.[0017] According to the present invention, by correcting an intra prediction pixel, it is possible to improve the efficiency of intra prediction encoding/decoding.

[0018] Согласно настоящему изобретению, за счет получения режима внутреннего предсказания на основе режима по умолчанию или МРМ-кандидата можно повысить эффективность кодирования/декодирования режима внутреннего предсказания.[0018] According to the present invention, by obtaining an intra prediction mode based on a default mode or an MPM candidate, the coding/decoding efficiency of the intra prediction mode can be improved.

КРАТКОЕ ОПИСАНИЕ ЕРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF THE ERAPHY MATERIALS

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

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

[0021] На фиг. 3 представлена принципиальная схема, изображающая древовидную форму блока.[0021] In FIG. 3 is a schematic diagram showing the tree form of the block.

[0022] На фиг. 4 представлена принципиальная схема, изображающая типизированную форму блока.[0022] FIG. 4 is a schematic diagram depicting a typed block shape.

[0023] На фиг. 5 представлена принципиальная схема, изображающая различные формы блоков, которые могут быть получены при помощи секции разделения блока согласно настоящему изобретению.[0023] FIG. 5 is a schematic diagram showing various block shapes that can be obtained using the block splitting section according to the present invention.

[0024] На фиг. 6 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.[0024] In FIG. 6 is a schematic diagram for explaining a tree division according to an embodiment of the present invention.

[0025] На фиг. 7 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.[0025] In FIG. 7 is a schematic diagram for explaining tree division according to an embodiment of the present invention.

[0026] На фиг. 8 изображен способ разделения блока согласно варианту осуществления настоящего изобретения.[0026] FIG. 8 shows a block splitting method according to an embodiment of the present invention.

[0027] На фиг. 9 представлена принципиальная схема, изображающая режим внутреннего предсказания, предопределенный в устройстве для кодирования/декодирования изображения.[0027] FIG. 9 is a circuit diagram showing an intra prediction mode predefined in the image encoding/decoding apparatus.

[0028] На фиг. 10 изображен пример сравнения пикселей из разных цветовых пространств с целью получения информации о корреляции.[0028] FIG. 10 shows an example of comparing pixels from different color spaces to obtain correlation information.

[0029] На фиг. 11 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания.[0029] FIG. 11 is a schematic diagram for explaining the configuration of reference pixels for intra prediction.

[0030] На фиг. 12 представлена принципиальная схема для разъяснения диапазона опорного пикселя для внутреннего предсказания.[0030] FIG. 12 is a circuit diagram for explaining the range of a reference pixel for intra prediction.

[0031] На фиг. 13 представлена схема, на которой изображен блок, смежный с текущим блоком, для генерирования блока предсказания.[0031] In FIG. 13 is a diagram showing a block adjacent to a current block for generating a prediction block.

[0032] На фиг. 14 и 15 представлены некоторые примеры подтверждения информации о разделении каждого блока.[0032] FIG. 14 and 15 show some examples of confirming the division information of each block.

[0033] На фиг. 16 представлена принципиальная схема, изображающая различные ситуации разделения блока.[0033] FIG. 16 is a circuit diagram showing various situations of block division.

[0034] На фиг. 17 изображен пример разделения блока согласно варианту осуществления настоящего изобретения.[0034] FIG. 17 shows an example of block division according to an embodiment of the present invention.

[0035] На фиг. 18 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки 2N×N).[0035] FIG. 18 shows various examples of intra prediction mode candidate groups for setting blocks generating prediction information (the prediction blocks in this example are 2N×N blocks).

[0036] На фиг. 19 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки N×2N).[0036] FIG. 19 shows various examples of intra prediction mode candidate groups for setting blocks generating prediction information (the prediction blocks in this example are N×2N blocks).

[0037] На фиг. 20 изображен пример разделения блока согласно варианту осуществления настоящего изобретения.[0037] FIG. 20 shows an example of block division according to an embodiment of the present invention.

[0038] На фиг. 21 и 22 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию о предсказании.[0038] FIG. 21 and 22 show various examples of intra prediction mode candidate groups for setting blocks generating prediction information.

[0039] На фиг. 23-25 изображены примеры генерирования блока предсказания в соответствии с режимом предсказания смежных блоков.[0039] FIG. 23-25 show examples of generating a prediction block according to the adjacent block prediction mode.

[0040] На фиг. 26 представлена принципиальная схема взаимосвязи между текущим блоком и смежным блоком.[0040] FIG. 26 is a schematic diagram of the relationship between the current block and the adjacent block.

[0041] На фиг. 27 и 28 изображено внутреннее предсказание с учетом направленности режима предсказания.[0041] In FIG. 27 and 28 show intra prediction considering the directivity of the prediction mode.

[0042] На фиг. 29 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания.[0042] FIG. 29 is a schematic diagram for explaining the configuration of reference pixels for intra prediction.

[0043] На фиг. 30-35 представлены принципиальные схемы в отношении конфигурации опорных пикселей.[0043] FIG. 30-35 are schematic diagrams with respect to the configuration of reference pixels.

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

[0044] Способ и устройство для внутреннего предсказания согласно настоящему изобретению выполнены с возможностью получения режима внутреннего предсказания текущего блока, определения среди множества линий пикселей линии пикселей для внутреннего предсказания текущего блока и выполнения внутреннего предсказания текущего блока на основе режима внутреннего предсказания и определенной линии пикселей.[0044] The method and apparatus for intra prediction according to the present invention are configured to obtain the intra prediction mode of the current block, determine among the plurality of pixel lines a pixel line for intra prediction of the current block, and perform intra prediction of the current block based on the intra prediction mode and the determined pixel line.

[0045] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, первый опорный пиксель из определенной линии пикселей может быть подвергнут фильтрации.[0045] In accordance with the method and device for intra prediction according to the present invention, the first reference pixel from a certain line of pixels can be filtered.

[0046] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, фильтрация может быть выборочно выполнена на основе первого флага, указывающего, подвергался ли фильтрации первый опорный пиксель для внутреннего предсказания.[0046] According to the method and apparatus for intra prediction according to the present invention, filtering can be selectively performed based on a first flag indicating whether the first reference pixel for intra prediction has been filtered.

[0047] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, первый флаг может быть получен из устройства для декодирования на основе параметра кодирования текущего блока, и параметр кодирования может содержать по меньшей мере одно из размера блока, типа компоненты, режима внутреннего предсказания или того, применялось ли внутреннее предсказание в элементах подблоков.[0047] According to the method and device for intra prediction according to the present invention, the first flag can be obtained from the device for decoding based on the coding parameter of the current block, and the coding parameter can contain at least one of the block size, component type, intra mode prediction, or whether intra-prediction was applied to sub-block elements.

[0048] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, может быть выполнена коррекция в отношении пикселя предсказания текущего блока в соответствии с внутренним предсказанием.[0048] According to the method and apparatus for intra prediction according to the present invention, a prediction pixel of a current block can be corrected according to intra prediction.

[0049] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция коррекции может дополнительно включать: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока.[0049] In accordance with the method and apparatus for intra prediction according to the present invention, the correction operation may further include: determining at least one of the second reference pixel or a weighted value for correction based on the prediction pixel position of the current block.

[0050] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция коррекции может быть выборочно выполнена с учетом по меньшей мере одного из положения линии пикселей текущего блока, режима внутреннего предсказания текущего блока или того, выполнялось ли внутреннее предсказание в элементах подблоков текущего блока.[0050] According to the method and apparatus for intra prediction according to the present invention, the correction operation can be selectively performed considering at least one of the position of a pixel line of the current block, the intra prediction mode of the current block, or whether intra prediction has been performed in sub-block elements current block.

[0051] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, внутренне предсказание может быть выполнено в элементах подблоков текущего блока, а подблоки могут быть определены на основе по меньшей мере одного из второго флага, указывающего, выполнять ли разделение, информации о направлении разделения или информации о номере раздела.[0051] According to the method and apparatus for intra prediction according to the present invention, intra prediction may be performed on sub-block elements of the current block, and sub-blocks may be determined based on at least one of a second flag indicating whether to perform division, information about partition direction or partition number information.

[0052] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, режим внутреннего предсказания может быть получен на основе предварительно определенного режима по умолчанию или множества МРМ-кандидатов.[0052] According to the method and apparatus for intra prediction according to the present invention, an intra prediction mode can be obtained based on a predetermined default mode or a plurality of MPM candidates.

[0053] В настоящем изобретении могут быть выполнены различные модификации и могут быть предоставлены различные варианты осуществления, и конкретные варианты осуществления будут подробно описаны со ссылкой на сопроводительные графические материалы. Однако следует понимать, что настоящее изобретение не ограничено этими конкретными вариантами осуществления, но должно включать все изменения, эквиваленты и замены, которые находятся в пределах сущности и объема настоящего изобретения.[0053] Various modifications may be made to the present invention and various embodiments may be provided, and specific embodiments will be described in detail with reference to the accompanying drawings. However, it should be understood that the present invention is not limited to these specific embodiments, but is to include all alterations, equivalents, and substitutions that are within the spirit and scope of the present invention.

[0054] Такие термины, как первый, второй, А и В, могут использоваться для описания различных элементов, но эти элементы не следует ограничивать такими терминами. Эти термины предназначены только для отличения одного элемента от другого. Например, первый элемент может быть назван вторым элементом, и, аналогично, второй элемент может быть назван первым элементом без выхода за пределы объема настоящего изобретения. Термин «и/или» может включать в себя комбинацию множества связанных перечисленных объектов или любого из множества связанных перечисленных объектов.[0054] Terms such as first, second, A, and B may be used to describe various elements, but these elements should not be limited to such terms. These terms are only meant to distinguish one element from another. For example, the first element may be referred to as the second element, and similarly, the second element may be referred to as the first element without departing from the scope of the present invention. The term "and/or" may include a combination of a plurality of related listed objects or any of a plurality of related listed objects.

[0055] Следует понимать, что, если элемент называется «соединенным» или «связанным» с другим элементом, элемент может быть непосредственно соединен или связан с другим элементом. Однако следует понимать, что между ними может присутствовать еще один элемент. С другой стороны, если элемент называется «непосредственно соединенным» или «непосредственно связанным» с другим элементом, следует понимать, что между ними нет другого элемента.[0055] It should be understood that if an element is called "connected" or "associated" with another element, the element may be directly connected to or associated with another element. However, it should be understood that there may be another element between them. On the other hand, if an element is said to be "directly connected" or "directly connected" to another element, it should be understood that there is no other element between them.

[0056] Термины, используемые в настоящей заявке, используются только для описания конкретных вариантов осуществления и не предназначены для ограничения настоящего изобретения. Формы единственного числа включают в себя формы множественного числа, если контекст явно не указывает иное. В настоящей заявке термин, такой как «включать» или «иметь», предназначен для обозначения наличия признаков, чисел, этапов, действий, компонентов, частей или их комбинаций, описанных в описании, и следует понимать, что этот термин не исключает возможности наличия или добавления одного или более других признаков или чисел, этапов, действий, компонентов, частей или их комбинаций.[0056] The terms used in this application are used only to describe specific embodiments and are not intended to limit the present invention. Singular forms include plural forms unless the context clearly indicates otherwise. In this application, a term such as "include" or "have" is intended to mean the presence of features, numbers, steps, acts, components, parts, or combinations thereof, described in the description, and it should be understood that this term does not exclude the possibility of the presence or adding one or more other features or numbers, steps, actions, components, parts, or combinations thereof.

[0057] Если не указано иное, все используемые в данном документе термины, включая технические или научные термины, означают то же, что обычно понимается специалистом в данной области техники, к которой относится настоящее изобретение. Такие термины, как те, которые определены в обычно используемом словаре, должны интерпретироваться как соответствующие значениям соответствующей технологии и не должны интерпретироваться как идеальные или чрезмерно формальные значения, если они явно не определены в настоящей заявке.[0057] Unless otherwise indicated, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by a person skilled in the art to which the present invention pertains. Terms such as those defined in a commonly used dictionary should be interpreted as corresponding to the meanings of the relevant technology and should not be interpreted as ideal or overly formal meanings unless they are explicitly defined in this application.

[0058] Устройства для кодирования и декодирования видео могут представлять собой пользовательские терминалы, такие как персональный компьютер (PC), ноутбук, персональный цифровой ассистент (PDA), портативный мультимедийный проигрыватель (РМР), игровую консоль PlayStation Portable (PSP), терминал беспроводной связи, смартфон, телевизор, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство смешанной реальности (MR), наголовный дисплей (HMD) и умные очки, или серверные терминалы, такие как сервер приложений и сервер услуг, и могут включать в себя различные устройства, такие как устройство связи, содержащее модем связи, для осуществления связи с различными устройствами или сетями проводной/беспроводной связи, запоминающее устройство для хранения различных программ и данных для кодирования или декодирования изображения или для выполнения предсказания, осуществляемого между изображениями или внутри изображения, для кодирования или декодирования, процессор для исполнения программы для выполнения операций вычисления и управления и т.д. Кроме того, изображение, закодированное как битовый поток с помощью устройства для кодирования изображения, может быть передано на устройство для декодирования изображения в реальном времени или не в реальном времени через проводную или беспроводную сеть, такую как Интернет, локальная сеть, беспроводная сеть LAN, сеть WiBro или сеть мобильной связи, или через различные интерфейсы связи, такие как кабель и универсальная последовательная шина (USB), декодировано устройством для декодирования изображения и восстановлено и воспроизведено как изображение.[0058] Video encoding and decoding devices may be user terminals such as a personal computer (PC), laptop, personal digital assistant (PDA), portable media player (PMP), PlayStation Portable game console (PSP), wireless communication terminal , smartphone, TV, virtual reality (VR) device, augmented reality (AR) device, mixed reality (MR) device, head-mounted display (HMD), and smart glasses, or server terminals such as an application server and a service server, and may include includes various devices such as a communication device containing a communication modem for communicating with various wired/wireless communication devices or networks, a memory device for storing various programs and data for encoding or decoding an image, or for performing prediction between or within images. images, for encoding or decoding, a processor for executing a program for performing calculation and control operations, etc. In addition, an image encoded as a bitstream by an image encoding device can be transmitted to the image decoding device in real time or non-real time via a wired or wireless network such as the Internet, a local area network, a wireless LAN, a network WiBro or mobile communication network, or through various communication interfaces such as cable and universal serial bus (USB), is decoded by the image decoding device and restored and reproduced as an image.

[0059] Кроме того, изображение, закодированное как битовый поток с помощью устройства для кодирования изображения, может быть передано от устройства для кодирования на устройство для декодирования посредством машиночитаемого носителя данных.[0059] In addition, an image encoded as a bitstream by an image encoding device can be transmitted from an encoding device to a decoding device via a computer-readable storage medium.

[0060] Вышеописанные устройство для кодирования изображения и устройство для декодирования изображения, соответственно, могут представлять собой отдельные устройства. Однако устройства могут быть выполнены как одно устройство для кодирования/декодирования изображения согласно реализации. В этом случае некоторые компоненты устройства для кодирования изображения представляют собой по существу такие же технические элементы, как некоторые компоненты устройства для декодирования изображения, и могут быть реализованы по меньшей мере с такой же конструкцией или выполнять по меньшей мере такую же функцию, как и некоторые компоненты устройства для декодирования изображения.[0060] The above-described image encoding device and image decoding device, respectively, may be separate devices. However, the devices may be implemented as a single image encoding/decoding device according to the implementation. In this case, some components of the image encoding device are essentially the same technical elements as some components of the image decoding device, and can be implemented with at least the same structure or perform at least the same function as some components. image decoding devices.

[0061] Следовательно, избыточные описания соответствующих технических элементов будут опущены в подробном описании следующих технических элементов и принципов их работы.[0061] Therefore, redundant descriptions of the respective technical elements will be omitted in the detailed description of the following technical elements and their working principles.

[0062] Кроме того, поскольку устройство для декодирования изображения соответствует вычислительному устройству, которое применяет способ кодирования изображения, выполняемый устройством для кодирования изображения, к декодированию, следующее описание будет сосредоточено на устройстве для кодирования изображения.[0062] In addition, since the image decoding apparatus corresponds to a computing device that applies the image encoding method performed by the image encoding apparatus to decoding, the following description will focus on the image encoding apparatus.

[0063] Вычислительное устройство может содержать запоминающее устройство, на котором хранится программа или модуль программного обеспечения, реализующий способ кодирования изображения и/или способ декодирования изображения, и процессор, связанный с запоминающим устройством для выполнения программы. Кроме того, устройство для кодирования изображения может называться кодером, а устройство для декодирования изображения может называться декодером.[0063] The computing device may include a storage device that stores a program or software module that implements an image encoding method and/or an image decoding method, and a processor associated with the storage device for executing the program. In addition, an image encoding apparatus may be referred to as an encoder, and an image decoding apparatus may be referred to as a decoder.

[0064] Обычно изображение может быть выполнено как ряд неподвижных изображений, причем эти неподвижные изображения можно классифицировать по элементам группы кадров (GOP), и каждое неподвижное изображение может называться кадром. В этом случае кадр может представлять одно из фрейма или поля в сигнале с прогрессивной разверткой или сигнале с чересстрочной разверткой, и изображение может быть выражено как «фрейм», если кодирование/декодирование выполняется в элементах фреймов, и выражено как «поле», если кодирование/декодирование выполняется в элементах полей. В настоящем изобретении рассматривается и описывается сигнал с прогрессивной разверткой. Однако настоящее изобретение может быть применено и к сигналу с чересстрочной разверткой. В концепции более высокого уровня могут существовать такие элементы, как GOP и последовательность, и каждый кадр может быть разделен на предварительно определенные области, такие как срезы, плитки и блоки. Кроме того, одна GOP может содержать элементы, такие как кадр I, кадр Р и кадр В. Кадр I может относиться к кадру, который сам закодирован/декодирован без использования опорного кадра, а кадр Р и кадр В могут относиться к кадрам, которые закодированы/декодированы за счет выполнения такого процесса, как оценка движения и компенсация движения, с использованием опорного кадра. В целом, кадр I и кадр Р могут использоваться в качестве опорных кадров в случае кадра Р, и кадр I и кадр Р могут использоваться в качестве опорных кадров в случае кадра В. Однако вышеприведенное определение может быть изменено посредством настройки кодирования/декодирования.[0064] In general, a picture may be made as a series of still pictures, and these still pictures can be classified by group of frames (GOP) elements, and each still picture can be called a frame. In this case, a frame may represent one of a frame or a field in a progressive or interlaced signal, and an image may be expressed as a "frame" if encoding/decoding is performed in frame units, and expressed as a "field" if encoding /decoding is done in field elements. The present invention discusses and describes a progressive signal. However, the present invention can also be applied to an interlaced signal. In a higher level concept, elements such as GOP and sequence may exist, and each frame may be divided into predefined regions such as slices, tiles, and blocks. In addition, one GOP may contain elements such as an I frame, a P frame, and a B frame. /decoded by performing a process such as motion estimation and motion compensation using a reference frame. In general, an I frame and a P frame may be used as reference frames in the case of a P frame, and an I frame and a P frame may be used as reference frames in the case of a B frame. However, the above definition can be changed by encoding/decoding setting.

[0065] В данном случае кадр для кодирования/декодирования называется опорным кадром, а относящийся к нему блок или пиксель называется опорным блоком или опорным пикселем. Кроме того, опорные данные могут представлять собой не только значение пикселя в пространственной области, но также значение коэффициента в частотной области и различные типы информации о кодировании/декодировании, сгенерированной и определенной во время процесса кодирования/декодирования. Их примеры могут представлять собой информацию, связанную с внутренним предсказанием, или информацию, связанную с движением в секции предсказания, информацию, связанную с преобразованием в секции преобразования/секции обратного преобразования, информацию, связанную с квантованием в секции квантования/секции обратного квантования, информацию, связанную с кодированием/декодированием (контекстную информацию) в секции кодирования/секции декодирования, информацию, связанную с фильтром в секции фильтра в контуре, и т.д.[0065] In this case, the frame for encoding/decoding is called a reference frame, and the block or pixel related to it is called a reference block or reference pixel. In addition, the reference data may be not only a pixel value in the spatial domain, but also a coefficient value in the frequency domain and various types of encoding/decoding information generated and determined during the encoding/decoding process. Examples thereof may be information related to intra prediction or motion related information in the prediction section, information related to transformation in the transform section/inverse transform section, information related to quantization in the quantization section/inverse quantization section, information related to encoding/decoding (context information) in the encoding section/decoding section, information associated with the filter in the filter section in the loop, and so on.

[0066] Наименьший элемент, составляющий изображение, может представлять собой пиксель, и количество битов, используемых для представления одного пикселя, называется битовой глубиной. В целом, битовая глубина может составлять 8 битов, и согласно настройкам кодирования может поддерживаться битовая глубина более 8 битов. В качестве битовой глубины может поддерживаться по меньшей мере одна битовая глубина согласно цветовому пространству. Кроме того, по меньшей мере одно цветовое пространство может быть выполнено в соответствии с форматом цвета изображения. Один или более кадров, имеющих определенный размер, или один или более кадров, имеющих разные размеры, могут быть предусмотрены согласно формату цвета. Например, в случае YCbCr 4:2:0 могут быть предусмотрены одна компонента яркости (Y в этом примере) и две цветоразностные компоненты (Cb/Cr в этом примере). В этом примере компонентное соотношение цветоразностных компонент и компоненты яркости может представлять собой соотношение 1:2 в ширину и высоту. В качестве другого примера, в случае 4:4:4 ширина и высота могут быть такими же в компонентном соотношении. В случае наличия одного или более цветовых пространств, как в вышеприведенном примере, кадр может быть разделен на соответствующие цветовые пространства.[0066] The smallest element constituting an image may be a pixel, and the number of bits used to represent one pixel is called bit depth. In general, the bit depth may be 8 bits, and according to the encoding settings, a bit depth of more than 8 bits may be supported. As the bit depth, at least one bit depth according to the color space may be supported. In addition, at least one color space may be made in accordance with the color format of the image. One or more frames having a certain size or one or more frames having different sizes may be provided according to the color format. For example, in the case of YCbCr 4:2:0, one luminance component (Y in this example) and two color difference components (Cb/Cr in this example) may be provided. In this example, the component ratio of the color difference components and the luminance component may be a 1:2 ratio in width and height. As another example, in the case of 4:4:4, the width and height may be the same in aspect ratio. In the case of having one or more color spaces, as in the example above, the frame can be divided into the respective color spaces.

[0067] В настоящем изобретении описание будет приведено на основе некоторых цветовых пространств (Y в этом примере) некоторых форматов цвета (YCbCr в этом примере), и такое же или аналогичное применение (настройка, зависящая от конкретного цветового пространства) может быть применено к другим цветовым пространствам (Cb и Cr в этом примере) согласно формату цвета. Однако в каждое цветовое пространство могут быть внесены некоторые отличия (не зависящие от настройки для конкретного цветового пространства). Другими словами, настройка, зависящая от каждого цветового пространства, может означать наличие настройки, связанной с компонентным соотношением каждой компоненты, или зависящей от него (например, 4:2:0, 4:2:2, 4:4:4 и т.д.), а независимая настройка для каждого цветового пространства может означать наличие настройки только соответствующего цветового пространства, не учитывающей или не зависящей от компонентного соотношения каждой компоненты. В настоящем изобретении в зависимости от кодера/декодера некоторые конфигурации могут иметь независимые или зависимые настройки.[0067] In the present invention, the description will be given based on some color spaces (Y in this example) of some color formats (YCbCr in this example), and the same or similar application (setting depending on the particular color space) can be applied to others. color spaces (Cb and Cr in this example) according to the color format. However, some differences can be made to each color space (regardless of the setting for a particular color space). In other words, a setting dependent on each color space may mean having a setting associated with or dependent on the component ratio of each component (e.g., 4:2:0, 4:2:2, 4:4:4, etc.). and an independent setting for each color space may mean that there is only a setting for the corresponding color space that does not take into account or does not depend on the component ratio of each component. In the present invention, depending on the encoder/decoder, some configurations may have independent or dependent settings.

[0068] Информация о настройках или элемент синтаксиса, необходимый в процессе кодирования изображения, может быть определен на уровне элементов, таком как видео, последовательность, кадр, срез, плитка, блок и т.д., который включен в битовый поток в элементах, таких как набор параметров видео (VPS), набор параметров последовательности (SPS), набор параметров кадра (PPS), заголовок среза, заголовок плитки, заголовок блока и т.д., и передается в кодер, и декодер может выполнять анализ в элементах того же уровня для восстановления информации о настройках, переданной от кодера, и использовать восстановленную информацию о настройках в процессе декодирования изображения. Кроме того, связанная информация может передаваться как битовый поток в виде информации для дополнительной оптимизации (SEI) или метаданных, и она может быть проанализирована и использована. Каждый набор параметров имеет уникальное значение ID (идентификатора), а нижний набор параметров может иметь значение ID верхнего набора параметров, на который следует ссылаться. Например, нижний набор параметров может относиться к информации верхнего набора параметров, имеющего такое же значение ID среди одного или более верхних наборов параметров. Среди примеров различных элементов, упомянутых выше, когда один элемент включает один или более других элементов, соответствующий элемент может называться верхним элементом, а включенный элемент может называться нижним элементом.[0068] The setting information or syntax element required in the image encoding process may be defined at the element level, such as video, sequence, frame, slice, tile, block, etc., which is included in the bitstream in elements, such as Video Parameter Set (VPS), Sequence Parameter Set (SPS), Frame Parameter Set (PPS), slice header, tile header, block header, etc., and is passed to the encoder, and the decoder can perform analysis in the elements of that the same level to recover the setting information transmitted from the encoder, and use the recovered setting information in the image decoding process. In addition, related information can be transmitted as a bitstream in the form of additional optimization information (SEI) or metadata, and it can be parsed and used. Each option set has a unique ID (identifier) value, and the bottom option set can have the value of the ID of the top option set to refer to. For example, the lower parameter set may refer to the information of the upper parameter set having the same ID value among one or more upper parameter sets. Among the examples of the various elements mentioned above, when one element includes one or more other elements, the corresponding element may be referred to as the top element, and the included element may be referred to as the bottom element.

[0069] Информация о настройках, сгенерированная в элементе, может включать содержимое в отношении независимой настройки для каждого элемента или включать содержимое в отношении настройки, зависящей от предыдущего, последующего или верхнего элемента. В данном случае зависимую настройку можно понимать как указывающую информацию о настройках соответствующего элемента в качестве информации флага, указывающей, что соблюдается настройка предыдущего, последующего или верхнего элемента (например, 1-битовый флаг, настройка соблюдается в случае 1 и не соблюдается в случае 0). Описание информации о настройках в настоящем изобретении будет сосредоточено на примере независимой настройки. Однако может быть включен пример добавления или замены содержимого, зависящего от информации о настройках предыдущего или последующего элемента относительно текущего элемента или верхнего элемента.[0069] The setting information generated in an element may include content regarding an independent setting for each element, or include content regarding a setting dependent on the previous, next, or top element. In this case, the dependent setting can be understood as indicating the setting information of the corresponding element as flag information indicating that the setting of the previous, next or top element is observed (for example, 1-bit flag, the setting is observed in the case of 1 and not observed in the case of 0) . The description of setting information in the present invention will focus on an example of independent setting. However, an example of adding or replacing content depending on the setting information of the previous or next element relative to the current element or the top element can be included.

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

[0071] Со ссылкой на фиг. 1, устройство для кодирования изображения может содержать секцию предсказания, секцию вычитания, секцию преобразования, секцию квантования, секцию обратного квантования, секцию обратного преобразования, секцию сложения, секцию фильтра в контуре, запоминающее устройство и/или секцию кодирования. Некоторые из вышеперечисленных компонентов, необязательно, могут быть включены, некоторые или все из компонентов могут быть включены выборочно по мере необходимости, и могут быть включены некоторые другие конфигурации, не изображенные на фигуре.[0071] With reference to FIG. 1, the image encoding apparatus may comprise a prediction section, a subtraction section, a transform section, a quantization section, an inverse quantization section, an inverse transform section, an adder section, an in-loop filter section, a memory, and/or an encoding section. Some of the above components may optionally be included, some or all of the components may be included selectively as needed, and some other configurations not shown in the figure may be included.

[0072] Со ссылкой на фиг. 2, устройство для декодирования изображения может содержать секцию декодирования, секцию предсказания, секцию обратного квантования, секцию обратного преобразования, секцию сложения, секцию фильтра в контуре и/или запоминающее устройство. Некоторые из вышеперечисленных компонентов, необязательно, могут быть включены, некоторые или все из компонентов могут быть включены выборочно по мере необходимости, и могут быть включены некоторые другие конфигурации, не изображенные на фигуре.[0072] With reference to FIG. 2, the image decoding apparatus may comprise a decoding section, a prediction section, an inverse quantization section, an inverse transform section, an addition section, an in-loop filter section, and/or a storage device. Some of the above components may optionally be included, some or all of the components may be included selectively as needed, and some other configurations not shown in the figure may be included.

[0073] Устройство для кодирования изображения и устройство для декодирования изображения могут представлять собой отдельные устройства, однако, в соответствии с реализацией, могут быть составлены как устройство для кодирования/декодирования изображения. В этом случае некоторые конфигурации устройства для кодирования изображения представляют собой по существу такие же технические элементы, как некоторые компоненты устройства для декодирования изображения, и могут быть реализованы по меньшей мере с такой же конструкцией или выполнять по меньшей мере такую же функцию, как и некоторые компоненты устройства для декодирования изображения. Следовательно, избыточные описания соответствующих технических элементов будут опущены в подробном описании следующих технических элементов и принципов их работы. Поскольку устройство для декодирования изображения соответствует вычислительному устройству, которое применяет способ кодирования изображения, выполняемый устройством для кодирования изображения, к декодированию, следующее описание будет сосредоточено на устройстве для кодирования изображения. Устройство для кодирования изображения может называться кодером, а устройство для декодирования видео может называться декодером.[0073] The image encoding device and the image decoding device may be separate devices, however, according to the implementation, may be composed as an image encoding/decoding device. In this case, some configurations of the image encoding device are essentially the same technical elements as some components of the image decoding device, and can be implemented with at least the same structure or perform at least the same function as some components. image decoding devices. Therefore, redundant descriptions of the respective technical elements will be omitted from the detailed description of the following technical elements and their working principles. Since the image decoding device corresponds to a computing device that applies the image encoding method performed by the image encoding device to decoding, the following description will focus on the image encoding device. An image encoding device may be referred to as an encoder and a video decoding device may be referred to as a decoder.

[0074] Секция предсказания может включать секцию внутреннего предсказания, которая выполняет внутреннее предсказание, и секцию предсказания, осуществляемого между изображениями, которая выполняет предсказание, осуществляемое между изображениями. При внутреннем предсказании режим внутреннего предсказания может быть определен за счет конфигурирования пикселя блока, смежного с текущим блоком, в качестве опорного пикселя, и с использованием режима внутреннего предсказания может быть сгенерирован блок предсказания. В предсказании, осуществляемом между изображениями, блок предсказания может быть сгенерирован за счет определения информации о движении текущего блока с использованием одного или более опорных изображений и выполнения компенсации движения с использованием информации о движении. Для использования в отношении текущего блока может быть определено одно из внутреннего предсказания и предсказания, осуществляемого между изображениями (элемент кодирования или элемент предсказания), и может быть определена конкретная информация (например, режим внутреннего предсказания, вектор движения, опорное видео и т.д.) согласно каждому способу предсказания. В этом случае элемент обработки, в котором выполняется предсказание, и элемент обработки, в котором определяются способ предсказания и конкретное содержимое, могут быть определены согласно настройке кодирования/декодирования. Например, способ предсказания, режим предсказания и т.д. определяются в элементе предсказания (или элементе кодирования), и предсказание выполняется в элементе блока предсказания (или элементе кодирования, или элементе преобразования).[0074] The prediction section may include an intra prediction section that performs intra prediction and an inter-picture prediction section that performs inter-picture prediction. In intra prediction, an intra prediction mode may be determined by configuring a block pixel adjacent to the current block as a reference pixel, and using the intra prediction mode, a prediction block may be generated. In inter-picture prediction, a prediction block may be generated by determining motion information of the current block using one or more reference pictures and performing motion compensation using the motion information. One of intra-picture prediction and inter-picture prediction (coding unit or prediction unit) may be specified for use with respect to the current block, and specific information (e.g., intra prediction mode, motion vector, reference video, etc.) may be specified. ) according to each prediction method. In this case, the processing element in which prediction is performed and the processing element in which the prediction method and specific content are determined can be determined according to the encoding/decoding setting. For example, a prediction method, a prediction mode, and so on. are defined at a prediction element (or coding element), and prediction is performed at a prediction block element (or coding element or transform element).

[0075] Секция вычитания генерирует остаточный блок за счет вычитания блока предсказания из текущего блока. То есть секция вычитания вычисляет разницу между значением пикселя каждого пикселя в текущем блоке, который должен быть закодирован, и предсказанным значением пикселя каждого пикселя в блоке предсказания, который сгенерирован посредством секции предсказания, для генерирования остаточного блока, который представляет собой остаточный сигнал в изображении.[0075] The subtraction section generates a residual block by subtracting a prediction block from the current block. That is, the subtraction section calculates the difference between the pixel value of each pixel in the current block to be encoded and the predicted pixel value of each pixel in the prediction block, which is generated by the prediction section, to generate a residual block, which is a residual signal in the image.

[0076] Секция преобразования может преобразовывать сигнал, принадлежащий пространственной области, в сигнал, принадлежащий частотной области, и сигнал, полученный в результате процесса преобразования, называется преобразованным коэффициентом. Например, блок преобразования, содержащий преобразованный коэффициент, может быть получен за счет преобразования остаточного блока, имеющего остаточный сигнал, принятый от секции вычитания, и входной сигнал определяется согласно настройке кодирования и не ограничен остаточным сигналом.[0076] The conversion section can convert a signal belonging to the spatial domain into a signal belonging to the frequency domain, and the signal resulting from the conversion process is called a converted coefficient. For example, a transformation block containing a transformed coefficient can be obtained by transforming a residual block having a residual signal received from the subtractor section, and the input signal is determined according to the encoding setting and is not limited to the residual signal.

[0077] Секция преобразования может преобразовывать остаточный блок с использованием такой схемы преобразования, как преобразование Адамара, дискретное синусное преобразование (преобразование на основе DST) или дискретное косинусное преобразование (преобразование на основе DCT). Однако схема преобразования не ограничена этим, и можно использовать различные схемы преобразования, полученные путем улучшения и модификации этой схемы преобразования.[0077] The transform section may transform the residual block using a transform scheme such as Hadamard transform, discrete sine transform (DST-based transform), or discrete cosine transform (DCT-based transform). However, the conversion scheme is not limited to this, and various conversion schemes obtained by improving and modifying this conversion scheme can be used.

[0078] Например, при преобразовании может поддерживаться по меньшей мере одна схема преобразования, и в каждой схеме преобразования может поддерживаться по меньшей мере одна подробная схема преобразования. В этом случае по меньшей мере одна подробная схема преобразования может представлять собой схему преобразования, в которой часть базисного вектора конфигурируется по-разному в каждом способе преобразования. Например, как технологии преобразования могут поддерживаться преобразования на основе DST и на основе DCT. Для DST могут поддерживаться такие подробные схемы преобразования, как DST-I, DST-II, DST-III, DST-V, DST-VI, DST-VII и DST-VIII. Для DCT могут поддерживаться такие подробные схемы преобразования, как DCT-I, DCT-II, DCT-III, DCT-V, DCT-VI, DCT-VII и DCT-VIII.[0078] For example, the transformation may support at least one transformation scheme, and each transformation scheme may support at least one detailed transformation scheme. In this case, the at least one detailed transformation scheme may be a transformation scheme in which the basis vector part is configured differently in each transformation method. For example, how transform technologies can support DST-based and DCT-based transforms. For DST, detailed mapping schemes such as DST-I, DST-II, DST-III, DST-V, DST-VI, DST-VII, and DST-VIII can be supported. For DCT, detailed mapping schemes such as DCT-I, DCT-II, DCT-III, DCT-V, DCT-VI, DCT-VII and DCT-VIII can be supported.

[0079] Одно из преобразований (например, схема преобразования и подробная схема преобразования) может быть задано как базовая схема преобразования. Поэтому могут поддерживаться дополнительные схемы преобразования (например, множество схем преобразования и множество подробных схем преобразования). Можно определить поддержку дополнительной схемы преобразования в элементах последовательности, кадра, среза, плитки и т.д. так, что в данном элементе может генерироваться связанная информация, и, если поддерживается дополнительная схема преобразования, для генерирования связанной информации в таких элементах, как блоки, может быть определена информация о выборе схемы преобразования.[0079] One of the transformations (for example, a transformation scheme and a detailed transformation scheme) may be set as a basic transformation scheme. Therefore, additional conversion schemes (eg, a plurality of conversion schemes and a plurality of detailed conversion schemes) may be supported. You can define support for an additional transformation scheme in sequence, frame, slice, tile, and so on elements. so that related information can be generated in a given element, and if an additional mapping scheme is supported, mapping schema selection information can be defined to generate related information in elements such as blocks.

[0080] Преобразование может выполняться в горизонтальном/вертикальном направлении. Например, используя базисный вектор при преобразовании, полное двумерное преобразование может быть выполнено за счет выполнения одномерного преобразования в горизонтальном направлении и выполнения одномерного преобразования в вертикальном направлении, тем самым преобразуя значение пикселя в пространственной области в значение пикселя в частотной области.[0080] The conversion may be performed in the horizontal/vertical direction. For example, using a basis vector in the transformation, a full 2D transformation can be performed by performing a 1D transformation in the horizontal direction and performing a 1D transformation in the vertical direction, thereby converting a pixel value in the spatial domain to a pixel value in the frequency domain.

[0081] Кроме того, преобразование в горизонтальном/вертикальном направлении может выполняться адаптивно. Подробнее, выполнение адаптивного преобразования может быть определено в соответствии с по меньшей мере одной настройкой кодирования. Например, в случае внутреннего преобразования, если режим преобразования представляет собой горизонтальный режим, в горизонтальном направлении может применяться DCT-I, и в вертикальном направлении может применяться DST-I. Если режим преобразования представляет собой вертикальный режим, в горизонтальном направлении может применяться DST-VI, и в вертикальном направлении может применяться DCT-VI. В случае режима диагонально вниз влево, в горизонтальном направлении может применяться DCT-II, и в вертикальном направлении может применяться DCT-V. В случае режима диагонально вниз вправо, в горизонтальном направлении может применяться DST-I, и в вертикальном направлении может применяться DST-VI.[0081] In addition, the transformation in the horizontal/vertical direction can be performed adaptively. In more detail, the performance of an adaptive transform may be determined in accordance with at least one coding setting. For example, in the case of internal conversion, if the conversion mode is the horizontal mode, DCT-I may be applied in the horizontal direction, and DST-I may be applied in the vertical direction. If the conversion mode is the vertical mode, DST-VI may be applied in the horizontal direction, and DCT-VI may be applied in the vertical direction. In the case of the diagonal down left mode, DCT-II may be applied in the horizontal direction, and DCT-V may be applied in the vertical direction. In the case of diagonal down right mode, DST-I may be applied in the horizontal direction, and DST-VI may be applied in the vertical direction.

[0082] Размер и форма каждого блока преобразования могут быть определены в соответствии со стоимостью кодирования каждым кандидатом размера и формы блока преобразования, и может кодироваться такая информация, как определенные данные изображения каждого блока преобразования и определенные размер и форма каждого блока преобразования.[0082] The size and shape of each transformation block may be determined according to the encoding cost of each transformation block size and shape candidate, and information such as the determined image data of each transformation block and the determined size and shape of each transformation block may be encoded.

[0083] Квадратное преобразование в форме преобразования может быть задано как базовая форма преобразования, и могут поддерживаться дополнительные формы преобразования (например, прямоугольные формы). Может быть определена поддержка дополнительных форм преобразования в элементах последовательности, кадра, среза, плитки и т.д., в данном элементе может генерироваться связанная информация, и для генерирования связанной информации в таких элементах, как блоки, может быть определена информация о выборе формы преобразования.[0083] A square transform in a transform shape may be specified as a basic transform shape, and additional transform shapes (eg, rectangular shapes) may be supported. Support for additional transformation forms can be defined in sequence, frame, slice, tile, etc. elements, related information can be generated in a given element, and transformation form selection information can be defined to generate related information in elements such as blocks. .

[0084] Кроме того, в соответствии с информацией о кодировании может быть определена поддержка формата блока преобразования. В этом случае информация о кодировании может соответствовать типу среза, режиму кодирования, размеру и форме блока, режиму разделения блока и т.д. То есть одна форма преобразования может поддерживаться в соответствии с по меньшей мере одним видом информации о кодировании, и в соответствии с по меньшей мере одним видом информации о кодировании может поддерживаться множество форм преобразования. Первый случай может представлять собой неявный случай, и последний случай может представлять собой явный случай. В явном случае может быть сгенерирована и включена в битовый поток адаптивная информация о выборе, указывающая лучшую группу кандидатов среди множества групп кандидатов. Понятно, что в настоящем изобретении, включая настоящий пример, при генерировании информации о кодировании в явном виде соответствующая информация включается в битовый поток в различных элементах, и для восстановления декодированной информации декодер анализирует связанную информацию в различных элементах. Кроме того, понятно, что при обработке информации о кодировании/декодировании в неявном виде кодер и декодер выполняют обработку при помощи одного и того же способа и правила.[0084] In addition, according to the encoding information, support for the transform block format can be determined. In this case, the encoding information may correspond to a slice type, an encoding mode, a block size and shape, a block division mode, and so on. That is, one transformation form can be supported according to at least one kind of encoding information, and a plurality of transformation forms can be supported according to at least one kind of encoding information. The first case may be an implicit case and the last case may be an explicit case. In the explicit case, adaptive selection information indicating the best candidate group among the plurality of candidate groups can be generated and included in the bitstream. It is understood that in the present invention, including the present example, when explicitly generating encoding information, corresponding information is included in the bitstream in various elements, and the decoder parses the related information in various elements to recover the decoded information. In addition, it is understood that when processing information about encoding/decoding implicitly, the encoder and the decoder perform processing using the same method and rule.

[0085] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с типом среза. В случае среза I поддерживаемым преобразованием может являться квадратное преобразование, а в случае срезов Р/В преобразование может представлять собой преобразование квадратной или прямоугольной формы.[0085] As an example, support for converting rectangular shapes can be defined according to the slice type. In the case of an I slice, the supported transform may be a square transform, and in the case of P/B slices, the transform may be a square or rectangular transform.

[0086] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с режимом кодирования. В случае внутреннего предсказания поддерживаемой формой преобразования может являться преобразование квадратной формы, а в случае предсказания, осуществляемого между изображениями, поддерживаемое преобразование может представлять собой преобразование квадратной или прямоугольной формы.[0086] As an example, support for converting rectangular shapes may be determined according to the coding mode. In the case of intra prediction, the supported transform may be a square transform, and in the case of inter-picture prediction, the supported transform may be a square or rectangular transform.

[0087] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с размером и типом блока. Форма преобразования, поддерживаемая в блоке предварительно определенного или большего размера, может представлять собой преобразование квадратной формы, и форма преобразования, поддерживаемая в блоке предварительно определенного или меньшего размера, может представлять собой преобразование квадратной или прямоугольной формы.[0087] As an example, support for converting rectangular shapes can be determined according to the block size and type. The transform shape supported in a predefined size block or larger may be a square shape transform, and the transform shape supported in a predefined size block or smaller may be a square or rectangular shape transform.

[0088] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с режимом разделения блока. Если блок, подлежащий преобразованию, представляет собой блок, полученный при помощи режима разделения на основе четверичного дерева, поддерживаемая форма преобразования может представлять собой преобразование квадратной формы, и, если блок представляет собой блок, полученный при помощи режима разделения на основе двоичного дерева, поддерживаемая форма преобразования может представлять собой преобразование квадратной или прямоугольной формы.[0088] As an example, support for converting rectangular shapes can be defined according to the block splitting mode. If the block to be transformed is a block obtained by the quad-tree partitioning mode, the supported transformation form may be a square transformation, and if the block is a block obtained by the binary tree-based partitioning mode, the supported form the transformation may be a square or rectangular transformation.

[0089] Приведенный выше пример представляет собой пример поддержки формы преобразования в соответствии с одним фрагментом информации о кодировании, а для участия в настройке поддерживаемых дополнительных форм преобразования может быть скомбинировано множество фрагментов информации. Приведенный выше пример не ограничен приведенными выше примерами, но направлен на примеры, в которых дополнительные формы преобразования поддерживаются в соответствии с различными настройками кодирования, и могут быть реализованы различные примеры модификаций.[0089] The above example is an example of supporting a transform form according to one piece of encoding information, and multiple pieces of information can be combined to participate in setting supported additional transform forms. The above example is not limited to the above examples, but is directed to examples in which additional transform forms are supported according to different encoding settings, and various modification examples can be implemented.

[0090] В соответствии с настройками кодирования или характеристиками изображения, процесс преобразования может быть опущен. Например, процесс преобразования (включая обратный процесс) может быть опущен в соответствии с настойками кодирования (в данном примере предполагаются условия сжатия без потерь). В другом примере процесс преобразования может быть опущен, если выполнение сжатия путем преобразования не применяется в соответствии с характеристиками изображения. В этом случае опущенное преобразование может представлять собой элемент полностью, или может быть опущен один из горизонтального и вертикального элементов, и может быть определено, поддерживается ли такое опущение в соответствии с размером и формой блока.[0090] According to the encoding settings or image characteristics, the conversion process may be omitted. For example, the conversion process (including the inverse process) may be omitted according to the encoding settings (lossless compression conditions are assumed in this example). In another example, the conversion process may be omitted if performing compression by conversion is not applied according to the characteristics of the image. In this case, the omitted transform may be the entire element, or one of the horizontal and vertical elements may be omitted, and it may be determined whether such omission is supported according to the block size and shape.

[0091] Например, в настройке, при которой опущение горизонтального и вертикального преобразований связаны, если флаг опущения преобразования равен 1, преобразование не выполняется в горизонтальном и вертикальном направлениях, и, если флаг равен 0, преобразование выполняется в горизонтальном и вертикальном направлениях. В настройке, где операции с горизонтальным и вертикальным преобразованиями выполняются независимо, если первый флаг опущения преобразования равен 1, преобразование не выполняется в горизонтальном направлении, и, если флаг равен 0, преобразование выполняется в горизонтальном направлении. Если второй флаг опущения преобразования равен 1, преобразование не выполняется в вертикальном направлении, и, если флаг равен 0, преобразование выполняется в вертикальном направлении.[0091] For example, in a setting in which horizontal and vertical transformation omission are associated, if the transformation omission flag is 1, the transformation is not performed in the horizontal and vertical directions, and if the flag is 0, the transformation is performed in the horizontal and vertical directions. In a setting where horizontal and vertical conversion operations are performed independently, if the first conversion omission flag is 1, the conversion is not performed in the horizontal direction, and if the flag is 0, the conversion is performed in the horizontal direction. If the second conversion omit flag is 1, no conversion is performed in the vertical direction, and if the flag is 0, the conversion is performed in the vertical direction.

[0092] В случае если размер блока соответствует диапазону А, опущение преобразования может поддерживаться, а в случае диапазона В опущение преобразования может не поддерживаться. Например, если горизонтальная длина блока больше М, или вертикальная длина блока больше N, флаг опущения преобразования не может поддерживаться, и, если горизонтальная длина блока меньше m, или вертикальная длина блока меньше n, флаг опущения преобразования может поддерживаться. М(m) и N(n) могут быть одинаковыми или разными. Настройки, связанные с преобразованием, могут быть определены в элементах последовательности, кадра, среза и т.д.[0092] In case the block size is in range A, omission of the transform may be supported, and in the case of range B, omission of the transform may not be supported. For example, if the horizontal block length is greater than M or the vertical block length is greater than N, the transform omitted flag may not be supported, and if the horizontal block length is less than m or the vertical block length is less than n, the transform omitted flag may be supported. M(m) and N(n) may be the same or different. Transform related settings can be defined in sequence, frame, slice, etc. elements.

[0093] Если поддерживаются дополнительные схемы преобразования, настройки схемы преобразования могут быть определены в соответствии с по меньшей мере одним фрагментом информации о кодировании. В этом случае информация о кодировании может соответствовать типу среза, режиму кодирования, размеру и форме блока, режиму предсказания и т.д.[0093] If additional transformation schemes are supported, transformation scheme settings may be determined in accordance with at least one piece of encoding information. In this case, the encoding information may correspond to a slice type, an encoding mode, a block size and shape, a prediction mode, and so on.

[0094] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с режимом кодирования. Для внутреннего предсказания поддерживаемыми схемами преобразования могут являться DCT-I, DCT-III, DCT-VI, DST-II и DST-III, и для предсказания, осуществляемого между изображениями, поддерживаемыми схемами преобразования могут являться DCT-II, DCT-III и DST-III.[0094] As an example, support for a transform scheme may be determined according to an encoding mode. For intra prediction, the supported transform schemes may be DCT-I, DCT-III, DCT-VI, DST-II, and DST-III, and for inter-picture prediction, the supported transform schemes may be DCT-II, DCT-III, and DST -III.

[0095] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с типом среза. В случае среза I поддерживаемыми схемами преобразования могут являться DCT-I, DCT-II и DCT-III, в случае среза Р поддерживаемыми схемами преобразования могут являться DCT-V, DST-V и DST-VI, и в случае среза В поддерживаемыми схемами преобразования могут являться DCT-I, DCT-II и DST-III.[0095] As an example, support for a transformation scheme may be determined according to a slice type. In the case of slice I, the supported transform schemes may be DCT-I, DCT-II, and DCT-III, in the case of slice P, the supported transform schemes may be DCT-V, DST-V, and DST-VI, and in the case of slice B, the supported transform schemes may be DCT-I, DCT-II and DST-III.

[0096] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с режимом предсказания. Схемами преобразования, поддерживаемыми в режиме А предсказания, могут являться DCT-1 и DCT-II, схемами преобразования, поддерживаемыми в режиме В предсказания, могут являться DCT-1 и DST-1, и схемой преобразования, поддерживаемой в режиме С предсказания, может являться DCT-I. В этом случае режимы А и В предсказания могут представлять собой направленные режимы, а режим С предсказания может представлять собой ненаправленный режим.[0096] As an example, support for a transform scheme may be determined according to a prediction mode. The transformation schemes supported in prediction mode A may be DCT-1 and DCT-II, the transformation schemes supported in prediction mode B may be DCT-1 and DST-1, and the transformation scheme supported in prediction mode C may be DCT-I. In this case, prediction modes A and B may be directional modes, and prediction mode C may be non-directional mode.

[0097] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с размером и типом блока. Схемой преобразования, поддерживаемой в отношении блоков с размерами, которые больше определенного размера, может являться DCT-II, схемами преобразования, поддерживаемыми в отношении блоков с размерами, которые меньше определенного размера, могут являться DCT-II и DST-V, и схемами преобразования, поддерживаемыми в отношении блоков с размерами, которые больше и меньше определенного размера, могут являться DCT-I, DCT-II и DST-I. Кроме того, схемами преобразования, поддерживаемыми в квадратной форме, могут являться DCT-1 и DCT-II, и схемами преобразования, поддерживаемыми в прямоугольной форме, могут являться DCT-1 и DST-1.[0097] As an example, support for a mapping scheme may be determined according to the block size and type. The transformation scheme supported for blocks with sizes that are greater than a certain size may be DCT-II, the transformation schemes supported for blocks with sizes that are less than a certain size may be DCT-II and DST-V, and transformation schemes supported for blocks with sizes greater than or less than a certain size may be DCT-I, DCT-II, and DST-I. In addition, square-shaped conversion circuits may be DCT-1 and DCT-II, and square-shaped conversion circuits may be DCT-1 and DST-1.

[0098] Приведенные выше примеры представляют собой примеры поддержки схемы преобразования в соответствии с одним фрагментом информации о кодировании, а для участия в настройке поддерживаемых дополнительных технологий преобразования может быть скомбинировано множество фрагментов информации. Примеры не ограничены приведенными выше примерами, но также могут быть преобразованы в другие примеры. Кроме того, секция преобразования может передавать информацию, необходимую для генерирования блока преобразования, в секцию кодирования с целью кодирования информации, включения информация в битовый поток и передачи в декодер, и секция декодирования декодера анализирует информацию и использует информацию для процесса обратного преобразования.[0098] The above examples are examples of supporting a transformation scheme according to one piece of encoding information, and multiple pieces of information can be combined to participate in customizing the supported additional transformation technologies. The examples are not limited to the examples above, but can also be converted to other examples. In addition, the transformation section can pass information necessary for generating a transformation block to the encoding section for encoding information, including the information in a bitstream, and transmitting to the decoder, and the decoding section of the decoder analyzes the information and uses the information for an inverse transformation process.

[0099] Секция квантования выполнена с возможностью квантования входного сигнала, и сигнал, полученный в результате процесса квантования, называется квантованным коэффициентом. Например, блок квантования с квантованным коэффициентом может быть получен путем квантования остаточного блока, содержащего остаточный коэффициент преобразования, принятый из секции преобразования. В этом случае входной сигнал определяется в соответствии с настройкой кодирования, которая не ограничена остаточным коэффициентом преобразования.[0099] The quantization section is configured to quantize the input signal, and the signal resulting from the quantization process is called a quantized coefficient. For example, a quantized coefficient quantization block may be obtained by quantizing a residual block containing a residual transform coefficient received from the transform section. In this case, the input signal is determined according to the encoding setting, which is not limited by the residual transform coefficient.

[00100] Секция квантования выполнена с возможностью квантования преобразованного остаточного блока с использованием технологии квантования, такой как равномерное пороговое квантование с мертвой зоной и взвешенная матрица квантования. Однако технология квантования не ограничена этим, и можно использовать различные технологии квантования, полученные путем улучшения и модификации этой технологии квантования.[00100] The quantization section is configured to quantize the transformed residual block using quantization technology such as uniform threshold quantization with dead zone and weighted quantization matrix. However, the quantization technology is not limited to this, and various quantization technologies obtained by improving and modifying this quantization technology can be used.

[00101] Кроме того, секция квантования выполнена с возможностью передачи информации, необходимой для генерирования блока квантования, в секцию кодирования, вследствие чего информация кодируется, включения информации в битовый поток и передачи в декодер, а секция декодирования декодера выполнена с возможностью анализа информации и использования информации для процесса обратного квантования.[00101] In addition, the quantization section is configured to transmit information necessary for generating a quantization block to the coding section, whereby the information is encoded, the information is included in the bitstream, and transmitted to the decoder, and the decoding section of the decoder is configured to analyze the information and use information for the inverse quantization process.

[00102] В вышеприведенном примере описание было сделано с учетом предположения, что остаточный блок подвергнут преобразованию и квантованию посредством секции преобразования и секции квантования. Однако остаточный сигнал остаточного блока может быть преобразован для генерирования остаточного блока, имеющего преобразованный коэффициент, и процесс квантования может не выполняться. Альтернативно остаточный сигнал остаточного блока может быть не преобразован в преобразованный коэффициент, и может выполняться только процесс квантования. Альтернативно может не выполняться ни процесс преобразования, ни процесс квантования. Это может быть определено на основе настроек кодера.[00102] In the above example, the description has been made on the assumption that the residual block is subjected to transformation and quantization by a transformation section and a quantization section. However, the residual signal of the residual block may be transformed to generate a residual block having a transformed coefficient, and the quantization process may not be performed. Alternatively, the residual signal of the residual block may not be converted to a transformed coefficient, and only the quantization process may be performed. Alternatively, neither the transform process nor the quantization process may be performed. This can be determined based on the encoder settings.

[00103] Секция кодирования сканирует квантованный коэффициент, преобразованный коэффициент или остаточный сигнал сгенерированного остаточного блока в соответствии с по меньшей мере одним порядком сканирования (например, зигзагообразное сканирование, вертикальное сканирование, горизонтальное сканирование и т.д.), генерирует последовательность квантованных коэффициентов, последовательность преобразованных коэффициентов или последовательности сигналов и может выполнять кодирование с использованием по меньшей мере одной технологии энтропийного кодирования. В этом случае информация о порядке сканирования может быть определена в соответствии с настройкой кодирования (например, режимом кодирования, режимом предсказания и т.д.), и связанная информация может быть сгенерирована в неявном виде или в явном виде. Например, один из множества порядков сканирования может быть выбран в соответствии с режимом внутреннего предсказания. В этом случае схема сканирования может быть установлена как одна из различных схем, таких как зигзагообразная схема, диагональные линии и растр. [00103] The encoding section scans the quantized coefficient, the transformed coefficient, or the residual signal of the generated residual block in accordance with at least one scan order (e.g., zigzag scan, vertical scan, horizontal scan, etc.), generates a sequence of quantized coefficients, a sequence transformed coefficients or signal sequence, and may perform coding using at least one entropy coding technique. In this case, the scan order information may be determined according to the coding setting (eg, coding mode, prediction mode, etc.), and related information may be generated implicitly or explicitly. For example, one of a plurality of scan orders may be selected according to the intra prediction mode. In this case, the scanning pattern can be set to one of various patterns such as zigzag pattern, diagonal lines, and raster.

[00104] Кроме того, данные кодирования, включающие информацию о кодировании, переданную от каждого компонента, могут быть сгенерированы и выведены в качестве битового потока, который может быть реализован посредством мультиплексора (MUX). В этом случае кодирование может выполняться с использованием в качестве схемы кодирования такого способа, как экспоненциальный способ Голомба, контекстно-адаптивное кодирование с переменной длиной слова (CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (САВАС). Однако схема кодирования не ограничена этим, и можно использовать различные схемы кодирования, полученные путем улучшения и модификации этой схемы кодирования.[00104] In addition, encoding data including encoding information transmitted from each component may be generated and output as a bit stream, which may be implemented by a multiplexer (MUX). In this case, encoding may be performed using a method such as exponential Golomb, context adaptive variable length coding (CAVLC), or context adaptive binary arithmetic coding (CABAC) as the coding scheme. However, the coding scheme is not limited to this, and various coding schemes obtained by improving and modifying this coding scheme can be used.

[00105] При выполнении энтропийного кодирования (в данном примере предполагается САВАС) в отношении данных остаточного блока и элемента синтаксиса, такого как информация, сгенерированная в процессе кодирования/декодирования, устройство для энтропийного кодирования может содержать преобразователь в двоичную форму, средство контекстного моделирования и двоичный арифметический кодер. В этом случае двоичный арифметический кодер может содержать движок для нормального кодирования и движок для обходного кодирования. В этом случае движок для нормального кодирования может представлять собой секцию, выполняемую в отношении средства контекстного моделирования, а движок для обходного кодирования может представлять собой средство, выполняемое независимо от средства контекстного моделирования.[00105] When performing entropy encoding (in this example, CABAC is assumed) on residual block data and a syntax element such as information generated during encoding/decoding, the entropy encoding apparatus may comprise a binarizer, a context modeler, and a binary arithmetic encoder. In this case, the binary arithmetic encoder may comprise a normal coding engine and a bypass coding engine. In this case, the engine for normal coding may be a section executed on the context modeler, and the engine for bypass coding may be a means executed independently of the context simulator.

[00106] Поскольку элемент синтаксиса, введенный в устройство для энтропийного кодирования, может не представлять собой двоичное значение, когда элементы синтаксиса не являются двоичными значениями, преобразователь в двоичную форму может преобразовывать в двоичную форму элементы синтаксиса и выводить строку двоичных чисел, содержащую 0 или 1. В этом случае двоичное число представляет собой бит, содержащий 0 или 1, и он может быть закодирован с помощью двоичного арифметического кодера. В этом случае один из движка для нормального кодирования и движка для обходного кодирования может быть выбран на основе вероятности появления 0 и 1, которая может быть определена согласно настройке кодирования/декодирования. Движок для обходного кодирования может использоваться, когда элемент синтаксиса представляет собой данные, в которых частота появления 0 и 1 одинакова, а движок для нормального кодирования может использоваться в иных случаях, на которые можно ссылаться, когда последующий движок для нормального кодирования выполняется посредством контекстного моделирования (или обновления контекстной информации).[00106] Because the syntax element input to the entropy encoding device may not be a binary value when the syntax elements are not binary values, the binarizer can binarize the syntax elements and output a binary number string containing 0 or 1 In this case, the binary number is a bit containing 0 or 1, and it can be encoded using a binary arithmetic encoder. In this case, one of the engine for normal coding and the engine for bypass coding may be selected based on the occurrence probability of 0 and 1, which may be determined according to the encoding/decoding setting. The engine for bypass encoding can be used when the syntax element is data in which the frequency of occurrence of 0 and 1 is the same, and the engine for normal encoding can be used in other cases that can be referenced when the subsequent engine for normal encoding is performed via context modeling ( or contextual information updates).

[00107] В этом случае контекст представляет собой информацию о вероятности появления двоичного числа, и контекстное моделирование представляет собой процесс оценки вероятности двоичного числа, необходимого для двоичного арифметического кодирования с использованием двоичного числа, которое получено в результате преобразования в двоичную форму, в качестве входного значения. Для оценки вероятности может использоваться элемент синтаксиса двоичного числа, индекс, который является положением двоичного числа в строке двоичных чисел, вероятность того, что двоичное число включено в соседний блок и т.д., и для этого может использоваться по меньшей мере одна контекстная таблица. Например, в качестве информации для некоторых флагов может использоваться множество контекстных таблиц в соответствии с комбинацией того, используются ли флаги соседних блоков.[00107] In this case, the context is information about the probability of occurrence of a binary number, and context modeling is a process of estimating the probability of a binary number necessary for binary arithmetic encoding using a binary number, which is obtained by binarization, as an input value . A binary number syntax element, an index that is the position of a binary number in a string of binary numbers, the probability that the binary number is included in an adjacent block, etc. can be used to evaluate the probability, and at least one context table can be used for this. For example, a plurality of context tables may be used as information for some flags according to a combination of whether the flags of neighboring blocks are used.

[00108] При выполнении преобразования элемента синтаксиса в двоичную форму могут использоваться различные способы. Например, способы могут быть разделены на преобразование в двоичную форму с фиксированной длиной и преобразование в двоичную форму с переменной длиной. В случае преобразования в двоичную форму с переменной длиной можно использовать унарное преобразование в двоичную форму (усеченное унарное преобразование в двоичную форму), усеченное преобразование в двоичную форму Раиса, преобразование в двоичную форму по экспоненциальному методу Голомба порядка k, усеченное двоичное преобразование в двоичную форму и т.д. Кроме того, может выполняться знаковое преобразование в двоичную форму или беззнаковое преобразование в двоичную форму согласно диапазону значений элемента синтаксиса. Процесс преобразования в двоичную форму для элемента синтаксиса, осуществляемый в настоящем изобретении, может быть выполнен, включая не только преобразование в двоичную форму, упомянутое в вышеописанном примере, но также другие дополнительные способы преобразования в двоичную форму.[00108] Various methods may be used when converting a syntax element to binary form. For example, the methods can be divided into fixed-length binarization and variable-length binarization. In the case of variable length binarization, one can use unary binarization (truncated unary binarization), truncated Rais binarization, exponential Golomb binarization of order k, truncated binarization, and etc. Also, signed binarization or unsigned binarization can be performed according to the value range of the syntax element. The binarization process for the syntax element carried out in the present invention can be performed, including not only the binarization mentioned in the above example, but also other additional binarization methods.

[00109] Секция обратного квантования и секция обратного преобразования могут быть реализованы путем выполнения в обратном порядке процессов секции преобразования и секции квантования. Например, секция обратного квантования выполнена с возможностью обратного квантования квантованного преобразованного коэффициента, сгенерированного посредством секции квантования, а секция обратного преобразования может осуществлять обратное преобразование преобразованного коэффициента, подвергнутого обратному квантованию, для генерирования восстановленного остаточного блока.[00109] The inverse quantization section and the inverse transform section can be implemented by performing in reverse order the processes of the transform section and the quantization section. For example, the inverse quantization section is configured to inversely quantize the quantized transformed coefficient generated by the quantization section, and the inverse transformation section may inversely transform the inversely quantized transformed coefficient to generate a reconstructed residual block.

[00110] Секция сложения восстанавливает текущий блок за счет сложения блока предсказания и восстановленного остаточного блока. Восстановленный блок может храниться в запоминающем устройстве и использоваться в качестве опорных данных (секция предсказания, элемент фильтра и т.д.).[00110] The addition section reconstructs the current block by adding the prediction block and the restored residual block. The reconstructed block may be stored in the memory and used as reference data (prediction section, filter element, etc.).

[00111] Секция фильтра в контуре может предусматривать по меньшей мере один компонент фильтрации после обработки, такой как деблочный фильтр, адаптивный к выборке сдвиг (SAO) и адаптивный контурный фильтр (ALF). Деблочный фильтр может удалять искажение блока, возникающее на границе между блоками в восстановленном изображении. ALF может выполнять фильтрацию на основе значения, полученного за счет сравнения восстановленного изображения и входного изображения. Подробнее, фильтрация может выполняться на основе значения, полученного путем сравнения изображения, восстановленного после фильтрации блока при помощи деблочного фильтра, и входного изображения. Альтернативно фильтрация может выполняться на основе значения, полученного путем сравнения изображения, восстановленного после фильтрации блока при помощи SAO, и входного видео.[00111] The in-loop filter section may provide at least one post-processing filtering component such as a deblocking filter, sample adaptive shift (SAO), and adaptive loop filter (ALF). The deblocking filter can remove block distortion that occurs at the boundary between blocks in the reconstructed image. ALF can perform filtering based on the value obtained by comparing the reconstructed image and the input image. In more detail, filtering can be performed based on the value obtained by comparing the image restored after filtering the block using the deblocker filter and the input image. Alternatively, filtering may be performed based on a value obtained by comparing the image reconstructed after filtering the block with SAO and the input video.

[00112] Восстановленный блок или кадр могут храниться в запоминающем устройстве. Восстановленный блок или кадр, хранящиеся в запоминающем устройстве, могут быть предоставлены в секцию предсказания, которая выполняет внутреннее предсказание или предсказание, осуществляемое между изображениями. Подробнее, пространство хранения в виде очереди битового потока, сжатого кодером, может быть обработано как буфер кодированных кадров (СРВ), а пространство для хранения декодированного изображения в элементах кадров может быть обработано как буфер декодированных кадров (DPB). В случае СРВ элементы декодирования сохраняются в соответствии с порядком декодирования, операция декодирования эмулируется в кодере, битовый поток, сжатый во время процесса эмуляции, может быть сохранен, битовый поток, выводимый из СРВ, восстанавливается посредством процесса декодирования, восстановленное изображение сохраняется в DPB, и кадры, сохраненные в DPB, могут упоминаться в последующем процессе кодирования и декодирования изображения.[00112] The recovered block or frame may be stored in a storage device. The reconstructed block or frame stored in the memory may be provided to a prediction section that performs intra or inter-picture prediction. More specifically, a storage space in the form of a bitstream queue compressed by an encoder may be treated as a coded frame buffer (CPB), and a space for storing a decoded image in frame elements may be treated as a decoded frame buffer (DPB). In the case of the CPB, the decoding items are stored according to the decoding order, the decoding operation is emulated in the encoder, the bitstream compressed during the emulation process can be stored, the bitstream output from the CPB is restored by the decoding process, the reconstructed image is stored in the DPB, and the frames stored in the DPB may be referred to in a subsequent picture encoding and decoding process.

[00113] Секция декодирования может быть реализована за счет выполнения процесса в секции кодирования в обратном порядке. Например, последовательность квантованных коэффициентов, последовательность преобразованных коэффициентов или последовательность сигналов могут быть приняты из битового потока и декодированы, и данные декодирования, включающие информацию декодирования, могут быть проанализированы и переданы в каждый компонент.[00113] The decoding section may be implemented by performing the process in the encoding section in reverse order. For example, a sequence of quantized coefficients, a sequence of transformed coefficients, or a sequence of signals may be received from a bitstream and decoded, and decoding data including decoding information may be parsed and transmitted to each component.

[00114] С другой стороны, секция разделения блока также может быть включена в устройство для кодирования изображения и устройство для декодирования изображения, представленные на фиг. 1 и 2, хотя она на них не изображена. Информация о базовом элементе кодирования может быть получена из секции разделения кадра, и базовый элемент кодирования может представлять базовый (или начальный) элемент, использованный для предсказания, преобразования, квантования и т.д. в процессе кодирования/декодирования изображения. В этом случае элементы кодирования могут быть составлены в один блок кодирования яркости и два блока кодирования цветоразностных компонент в соответствии с форматом цвета (в данном примере YCbCr), и размер каждого блока может быть определен в соответствии с форматом цвета. В следующих примерах будет осуществлено описание на основе блоков (в данном примере компонент яркости). В этом случае предполагается, что блок представляет собой элемент, который может быть получен после определения каждого элемента, и описание будет дано в предположении того, что аналогичные настройки могут быть применены к другим типам блоков.[00114] On the other hand, the block dividing section may also be included in the image encoding apparatus and the image decoding apparatus shown in FIG. 1 and 2, although she is not depicted on them. Information about the base bin may be obtained from the frame division section, and the base bin may represent the base (or start) bin used for prediction, transformation, quantization, and so on. during image encoding/decoding. In this case, coding units may be composed into one luma coding unit and two chroma component coding units according to a color format (YCbCr in this example), and the size of each block can be determined according to the color format. In the following examples, a block-based description (in this example, the luma component) will be implemented. In this case, the block is assumed to be an element that can be obtained after defining each element, and description will be given on the assumption that similar settings can be applied to other types of blocks.

[00115] Секция разделения блока может быть задана в связи с каждым компонентом устройства для кодирования и устройства для декодирования изображения, и при помощи этого процесса могут быть определены размер и форма блока. В этом случае заданный блок может быть определен по-разному в зависимости от конфигурации и может соответствовать блоку предсказания в случае секции предсказания, блоку преобразования - в случае секции предсказания, и блоку квантования - в случае секции квантования. Настоящее изобретение этим не ограничено, и дополнительно могут быть определены элементы блоков согласно другим компонентам. Размер и форма блока могут определяться горизонтальной и вертикальной длинами блока.[00115] A block division section may be defined in connection with each component of an image encoding apparatus and an image decoding apparatus, and a block size and shape may be determined by this process. In this case, the predetermined block may be defined differently depending on the configuration, and may correspond to a prediction block in the case of a prediction section, a transformation block in the case of a prediction section, and a quantization block in the case of a quantization section. The present invention is not limited to this, and block elements according to other components can be further defined. The size and shape of the block can be determined by the horizontal and vertical lengths of the block.

[00116] В секции разделения блока блок может быть выражен как M×N, и максимальное и минимальное значения каждого блока могут быть получены в пределах некоторого диапазона. Например, если форма блока поддерживает квадрат, и максимальное значение блока равно 256×256, и минимальное значение блока равно 8×8, возможно получить блок, имеющий размер 2m×2m (в данном примере m - целое число от 3 до 8, например, 8×8, 16×16, 32×32, 64×64, 128×128 или 256×256), блок, имеющий размер 2m×2m (в данном примере m - целое число от 4 до 128), или блок, имеющий размер m×m (в данном примере m - целое число от 8 до 256). Альтернативно, в случае если форма блока поддерживает квадрат и прямоугольник, и он имеет такой же диапазон, как в приведенном выше примере, возможно получить блок, имеющий размер 2m×2n (в данном примере m и n целые числа от 3 до 8, например, 8×8, 8×16, 16×8, 16×16, 16×32, 32×16, 32×32, 32×64, 64×32, 64×64, 64×128, 128×64, 128×128, 128×256, 256×128 или 256×256 в предположении, что максимальное отношение ширины к высоте равно 2:1, и, в зависимости от настройки кодирования/декодирования, может не быть предела отношения ширины к высоте, или может иметься максимальное значение этого отношения). Альтернативно возможно получить блок, имеющий размер 2m×2n (в данном примере m и n целые числа от 4 до 128). Альтернативно возможно получить блок, имеющий размер m×n (в данном примере тип- целые числа от 8 до 256).[00116] In a block division section, a block may be expressed as M×N, and the maximum and minimum values of each block may be obtained within a certain range. For example, if the block shape supports a square, and the maximum block value is 256×256, and the minimum block value is 8×8, it is possible to obtain a block having a size of 2 m ×2 m (in this example, m is an integer from 3 to 8, for example, 8x8, 16x16, 32x32, 64x64, 128x128, or 256x256), a block having a size of 2mx2m ( in this example, m is an integer from 4 to 128), or a block having a size m×m (in this example, m is an integer from 8 to 256). Alternatively, if the shape of the block supports square and rectangle, and it has the same range as in the above example, it is possible to obtain a block having a size of 2 m × 2 n (in this example, m and n are integers from 3 to 8, e.g. 8x8, 8x16, 16x8, 16x16, 16x32, 32x16, 32x32, 32x64, 64x32, 64x64, 64x128, 128x64, 128x128, 128x256, 256x128, or 256x256 assuming the maximum width-to-height ratio is 2:1, and depending on the encoding/decoding setting, there may be no width-to-height ratio limit, or there may there is a maximum value of this ratio). Alternatively, it is possible to obtain a block having a size of 2m×2n (in this example, m and n are integers from 4 to 128). Alternatively, it is possible to obtain a block having a size of m×n (in this example, the type is integers from 8 to 256).

[00117] Получаемые блоки могут быть определены в соответствии с настройками кодирования/декодирования (например, типом блока, схемой разделения, настройкой разделения и т.д.). Например, как блок кодирования может быть получен блок, имеющий размер 2m×2n, как блок предсказания может быть получен блок, имеющий размер 2m×2n или m×n, и как блок преобразования может быть получен блок, имеющий размер 2m×2n. Информация о размере блока, диапазоне и т.д. (например, информация, связанная с индексом и множителем, и т.д.) может быть сгенерирована на основе настроек.[00117] Received blocks may be determined according to encoding/decoding settings (eg, block type, partitioning scheme, partitioning setting, etc.). For example, as a coding block, a block having a size of 2m × 2n can be obtained, as a prediction block, a block having a size of 2m×2n or m×n can be obtained, and as a transformation block, a block having a size of 2m ×2 can be obtained. 2n . Information about block size, range, etc. (eg information related to index and multiplier, etc.) can be generated based on the settings.

[00118] Диапазон (определяемый в данном примере как максимальное значение и минимальное значение) может быть определен в соответствии с типом блока. Кроме того, для некоторых блоков информация о диапазоне блока может генерироваться в явном виде, а для некоторых блоков информация о диапазоне блока может быть определена в неявном виде. Например, связанная информация может генерироваться в явном виде в блоке кодирования и преобразования, и связанная информация может в неявном виде обрабатываться в блоке предсказания.[00118] A range (defined in this example as a maximum value and a minimum value) may be determined according to the block type. In addition, for some blocks, the block range information may be explicitly generated, and for some blocks, the block range information may be implicitly defined. For example, the related information may be explicitly generated in the coding and transform block, and the related information may be implicitly processed in the prediction block.

[00119] В явном случае может генерироваться по меньшей мере один фрагмент информации о диапазоне. Например, в случае блока кодирования информация о диапазоне может генерировать информацию о максимальном значении и минимальном значении. Альтернативно информация может быть сгенерирована на основе разности между максимальным значением и предварительно заданным минимальным значением (например, 8) (например, сгенерированным на основе настройки, информации о значении разности между индексами максимального значения и минимального значения и т.д.). Кроме того, для горизонтальной и вертикальной длин прямоугольного блока может быть сгенерирована информация о множестве диапазонов.[00119] In the explicit case, at least one piece of range information may be generated. For example, in the case of a coding block, the range information may generate maximum value and minimum value information. Alternatively, the information may be generated based on the difference between the maximum value and a predetermined minimum value (eg, 8) (eg, generated based on a setting, value information of the difference between the maximum value and minimum value indices, etc.). In addition, multiple range information can be generated for the horizontal and vertical lengths of the rectangular box.

[00120] В неявном случае информация о диапазоне может быть определена на основе настроек кодирования/декодирования (например, типа блока, схемы разделения, настройки разделения и т.д.). Например, в случае блока предсказания информация о максимальном значении и минимальном значении может быть получена при помощи группы кандидатов (в данном примере M×N и m/2×n/2), которая может быть получена посредством настройки разделения блока предсказания (например, разделение на основе четверичного дерева + глубина разделения 0) в блоке кодирования (например, максимальный размер блока кодирования равен M×N, и минимальный размер блока кодирования равен m×n), который представляет собой верхний элемент.[00120] In the implicit case, the range information may be determined based on encoding/decoding settings (eg, block type, partitioning scheme, partitioning setting, etc.). For example, in the case of a prediction block, information about the maximum value and minimum value can be obtained using a candidate group (in this example, M×N and m/2×n/2), which can be obtained by setting the division of the prediction block (for example, division based on a quaternary tree + split depth 0) in a coding block (for example, the maximum coding block size is M×N and the minimum coding block size is m×n), which is the top element.

[00121] Размер и форма исходного (или начального) блока секции разделения блока могут быть определены посредством верхнего элемента. В случае блока кодирования исходным блоком может являться базовый блок кодирования, полученный из секции разделения кадра, в случае блока предсказания исходным блоком может являться блок кодирования, и в случае блока преобразования исходным блоком может являться блок кодирования или блок предсказания, которые могут быть определены в соответствии с настройками кодирования/декодирования. Например, если режимом кодирования является внутреннее предсказание, верхним элементом блока преобразования может являться блок предсказания, и, если режимом кодирования является предсказание, осуществляемое между изображениями, блок предсказания может представлять собой элемент, независимый от блока преобразования. Исходный блок может быть разделен на блоки меньших размеров в качестве начальных элементов разделения. Если определены оптимальные размер и форма в соответствии с разделением каждого блока, блок может быть определен как исходный блок нижнего элемента. Например, в первом случае блок может представлять собой блок кодирования, и в последнем случае (нижний элемент) он может представлять собой блок предсказания или блок преобразования. Если исходный блок нижнего элемента определен так, как в приведенном выше примере, для нахождения блока, имеющего оптимальные размер и форму, как верхнего элемента может быть выполнен процесс разделения.[00121] The size and shape of the initial (or initial) block of the block division section may be determined by the top element. In the case of a coding block, the source block may be a basic coding block obtained from a frame split section, in the case of a prediction block, the source block may be a coding block, and in the case of a transform block, the source block may be a coding block or a prediction block, which may be determined according to with encoding/decoding settings. For example, if the coding mode is intra-prediction, the top element of the transform block may be the prediction block, and if the coding mode is inter-picture prediction, the prediction block may be an element independent of the transform block. The original block may be divided into smaller blocks as initial partition elements. If the optimal size and shape is determined according to the division of each block, the block can be determined as the source block of the bottom element. For example, in the first case, the block may be a coding block, and in the latter case (lower element), it may be a prediction block or a transformation block. If the source block of the bottom element is defined as in the example above, a splitting process can be performed to find a block having the optimal size and shape as the top element.

[00122] Подводя итог, секция разделения блока выполнена с возможностью разделения базового элемента кодирования (или наибольшего элемента кодирования) на по меньшей мере один элемент кодирования (или нижний элемент кодирования). Кроме того, элемент кодирования может быть разделен на по меньшей мере один элемент предсказания и может быть разделен на по меньшей мере один элемент преобразования. Элемент кодирования может быть разделен на по меньшей мере один блок кодирования, блок кодирования может быть разделен на по меньшей мере один блок предсказания и может быть разделен на по меньшей мере один блок преобразования. Элемент предсказания может быть разделен на по меньшей мере один блок предсказания, и элемент преобразования может быть разделен на по меньшей мере один блок преобразования.[00122] To sum up, the block splitting section is configured to split the base coding unit (or the largest coding unit) into at least one coding unit (or bottom coding unit). In addition, the coding element may be divided into at least one prediction element and may be divided into at least one transformation element. A coding unit may be divided into at least one coding block, a coding block may be divided into at least one prediction block, and may be divided into at least one transform block. The prediction element may be divided into at least one prediction block, and the transform element may be divided into at least one transformation block.

[00123] Как в приведенном выше примере, если блок, имеющий оптимальные размер и форму, найден при помощи процесса определения режима, для данного блока может генерироваться информация о режиме (например, информация о разделении и т.д.). Информация о режиме может быть включена в битовый поток наряду с информацией, сгенерированной компонентом, к которому принадлежит данный блок (например, информация, связанная с предсказанием, информация, связанная с преобразованием, и т.д.) и передана в декодер и может быть подвергнута анализу в том же элементе уровня в декодере и использована в процессе декодирования изображения.[00123] As in the above example, if a block having an optimal size and shape is found by the mode determination process, mode information (eg, split information, etc.) can be generated for that block. The mode information may be included in the bitstream along with the information generated by the component to which the given block belongs (eg, prediction related information, transform related information, etc.) and transmitted to the decoder and can be subjected to analysis in the same level element in the decoder and used in the image decoding process.

[00124] В примере, описанном ниже, будет описана схема разделения, и описание будет дано в предположении, что исходный блок имеет квадратную форму. Однако в случае прямоугольной формы допускается такой же или аналогичный пример.[00124] In the example described below, the separation scheme will be described, and the description will be given on the assumption that the original block is square. However, in the case of a rectangular shape, the same or similar example is allowed.

[00125] Секция разделения блока выполнена с возможностью поддержки различных режимов разделения. Например, может поддерживаться древовидное разделение или типизированное разделение, и могут применяться другие способы. В случае древовидного разделения для генерирования информации о разделении может использоваться флаг разделения, и в случае типизированного разделения для генерирования информации о разделении может использоваться информация об индексах для форм блоков, включенных в предварительно заданную группу кандидатов.[00125] The block division section is configured to support various division modes. For example, tree partitioning or typed partitioning may be supported, and other methods may be used. In the case of a tree partition, a partition flag may be used to generate partition information, and in the case of a typed partition, index information for block shapes included in a predefined candidate group can be used to generate partition information.

[00126] На фиг. 3 представлена принципиальная схема, изображающая древовидную форму блока.[00126] FIG. 3 is a schematic diagram showing the tree form of the block.

[00127] Со ссылкой на фиг. 3, «а» изображает один блок 2N×2N, не подвергнутый разделению, «b» изображает блоки 2N×N, полученные посредством некоторого флага разделения (в данном примере - горизонтального разделения двоичного дерева), «с» изображает два блока N×2N, полученных посредством некоторого флага разделения (в данном примере вертикального разделения двоичного дерева), и «d» изображает четыре блока N×N, полученных посредством некоторого флага разделения (в данном примере - четырех разделений четверичного дерева, или горизонтального и вертикального разделений двоичного дерева). Форма полученного блока может быть определена в соответствии с типом дерева, использованного для разделения. Например, если выполняется разделение на основе четверичного дерева, получаемыми кандидатными блоками могут являться блоки «а» и «d». Если выполняется разделение на основе двоичного дерева, получаемыми кандидатными блоками могут являться блоки «а», «b» и «с». В случае четверичного дерева поддерживается один флаг разделения. Блок «а» может быть получен, если флаг разделения равен «0», и блок «b» может быть получен, если флаг разделения равен «1». В случае двоичного дерева поддерживается множество флагов разделения, одним из которых может являться флаг, указывающий, выполнено ли разделение, одним из которых может являться флаг, указывающий выполнение горизонтального/вертикального разделения, и одним из которых может являться флаг, указывающий, разрешено ли перекрывание горизонтального/вертикального разделения. Если перекрывание разрешено, получаемыми кандидатными блоками могут являться блоки «а», «b», «с» и «d», и, если перекрывание не разрешено, получаемыми кандидатными блоками могут являться блоки «а», «b» и «с». Четверичное дерево может представлять собой базовую древовидную схему разделения. Кроме того, в древовидную схему разделения может быть включена схема разделения на основе некоторого дерева (в данном примере - двоичного дерева). Если в неявном или явном виде активируется флаг, разрешающий дополнительное разделение на основе дерева, может выполняться множество разделений на основе дерева. Древовидное разделение может представлять собой способ, допускающий рекурсивное разделение. То есть разделяемый блок может быть снова задан как исходный блок для выполнения древовидного разделения, которое может быть определено в соответствии с такими настройками разделения, как диапазон разделения и допустимая глубина разделения. Данная схема может представлять собой пример иерархической схемы разделения.[00127] With reference to FIG. 3, "a" depicts one 2N×2N block not split, "b" depicts 2N×N blocks obtained by some partition flag (in this example, horizontal split of the binary tree), "c" depicts two N×2N blocks , obtained by some split flag (in this example, a vertical split of a binary tree), and "d" depicts four N×N blocks obtained by some split flag (in this example, four splits of a quaternary tree, or horizontal and vertical splits of a binary tree) . The shape of the resulting block can be determined according to the type of tree used for splitting. For example, if quaternary tree partitioning is performed, the resulting candidate blocks may be "a" and "d" blocks. If binary tree-based partitioning is performed, the resulting candidate blocks may be "a", "b", and "c" blocks. In the case of a quad tree, one split flag is supported. Block "a" can be obtained if the split flag is "0", and block "b" can be obtained if the split flag is "1". In the case of a binary tree, a plurality of split flags are supported, one of which may be a flag indicating whether a split has been performed, one of which may be a flag indicating whether a horizontal/vertical split has been performed, and one of which may be a flag indicating whether horizontal overlap is allowed. /vertical separation. If overlap is enabled, the received candidate blocks may be blocks "a", "b", "c", and "d", and if overlap is not allowed, the received candidate blocks may be blocks "a", "b", and "c". . The quaternary tree may be a basic partitioning tree. In addition, a partitioning scheme based on a tree (in this example, a binary tree) may be included in the partitioning tree. If a flag is enabled implicitly or explicitly to enable additional tree-based partitioning, multiple tree-based partitioning can be performed. Tree partitioning may be a method allowing recursive partitioning. That is, the partitioned block can be set again as the original block to perform tree partitioning, which can be determined according to partitioning settings such as a partitioning range and a valid splitting depth. This scheme may be an example of a hierarchical partitioning scheme.

[00128] На фиг. 4 представлена принципиальная схема, изображающая типизированную форму блока.[00128] FIG. 4 is a schematic diagram depicting a typed block shape.

[00129] Как изображено на фиг. 4, в соответствии с типом, разделяемый блок может иметь 1 форму разделения (в данном примере - «а»), 2 формы разделения (в данном примере - «b», «с», «d», «е», «f» и «g») и 4 формы разделения (в данном примере «h»). Группа кандидатов может быть сконфигурирована при помощи различных конфигураций. Например, на фиг. 5 группа кандидатов может быть сконфигурирована при помощи а, b, с, n или a, b-g, n, или a, n, q и т.д. Но данный пример ими не ограничен и включает следующие примеры, вследствие чего могут исполняться различные преобразованные примеры. При активации флага, разрешающего симметричное разделение, поддерживаемыми блоками могут являться «а», «b», «с» и «h» на фиг. 4, и, если активируется флаг, разрешающий асимметричное разделение, поддерживаемыми блоками могут являться все блоки «a»-«h» на фиг. 4. В первом случае связанная информация (в данном примере флаг, разрешающий симметричное разделение) может активироваться в неявном виде, а в последнем случае связанная информация (в данном примере - флаг, разрешающий асимметричное разделение) может генерироваться в явном виде. Типизированное разделение может представлять собой способ поддержки однократного разделения. По сравнению с древовидным разделением, дальнейшее разделение блоков, полученных путем типизированного разделения, может не допускаться. Это может представлять пример, в котором допустимая глубина разделения равна нулю (например, одноуровневое разделение).[00129] As shown in FIG. 4, according to the type, the block to be divided can have 1 division form (in this example, "a"), 2 division forms (in this example, "b", "c", "d", "e", "f ” and “g”) and 4 division forms (in this example, “h”). The candidate group may be configured with various configurations. For example, in FIG. 5, the candidate group may be configured with a, b, c, n, or a, b-g, n, or a, n, q, etc. But this example is not limited to them, and includes the following examples, whereby various converted examples can be executed. When the flag enabling symmetric separation is activated, the supported blocks may be "a", "b", "c", and "h" in FIG. 4, and if the flag enabling asymmetric partitioning is activated, the supported blocks may be all blocks "a"-"h" in FIG. 4. In the first case, the associated information (in this example, the flag enabling symmetric separation) may be implicitly activated, and in the latter case, the associated information (in this example, the flag enabling asymmetric separation) may be explicitly generated. Typed partitioning may be a way to support single partitioning. Compared to tree partitioning, further partitioning of blocks obtained by typed partitioning may not be allowed. This may represent an example where the allowable split depth is zero (eg, unilevel split).

[00130] На фиг. 5 представлена принципиальная схема, изображающая различные формы блоков, которые могут быть получены при помощи секции разделения блока согласно настоящему изобретению.[00130] FIG. 5 is a schematic diagram showing various block shapes that can be obtained using the block splitting section according to the present invention.

[00131] Со ссылкой на фиг. 5, блоки a-s могут быть получены в соответствии с настройкой разделения и режимом разделения, а также могут иметь дополнительные формы блоков, которые не изображены.[00131] With reference to FIG. 5, blocks a-s may be obtained according to the division setting and division mode, and may also have additional block shapes that are not shown.

[00132] В качестве примера, для древовидного разделения может быть разрешено асимметричное разделение. Например, в случае двоичного дерева асимметричное разделение может быть разрешено для блоков b и с на фиг. 5 (в данном примере - случай разделения на множество блоков), или асимметричное разделение может быть разрешено для блоков b-g на фиг. 5 (в данном примере - случай разделения на множество блоков). Если флаг, разрешающий асимметричное разделение в явном или неявном виде деактивирован в соответствии с настройками кодирования/декодирования, получаемым кандидатным блоком может являться блок b или с (в данном примере предполагается, что перекрывание горизонтальных и вертикальных разделений не разрешено), и, если флаг, разрешающий асимметричное разделение, активирован, получаемыми кандидатными блоками могут являться b, d, е (в данном примере - горизонтальное разделение) или с, f, g (в данном примере - вертикальное разделение). Данный пример может соответствовать случаю, в котором направление разделения определяется флагом горизонтального или вертикального разделения, а форма блока определяется в соответствии с флагом, разрешающим асимметрию. Однако настоящее изобретение не ограничено данными примерами, и их можно преобразовать в другие примеры.[00132] As an example, for tree partitioning, asymmetric partitioning may be enabled. For example, in the case of a binary tree, asymmetric partitioning may be allowed for blocks b and c in FIG. 5 (in this example, the case of partitioning into multiple blocks), or asymmetric partitioning may be allowed for blocks b-g in FIG. 5 (in this example, the case of division into multiple blocks). If the flag allowing explicit or implicit asymmetric separation is deactivated according to the encoding/decoding settings, the resulting block candidate may be block b or c (in this example, it is assumed that overlapping horizontal and vertical separations is not allowed), and if the flag, allowing asymmetric partitioning is enabled, the resulting candidate blocks may be b, d, e (in this example, horizontal partitioning) or c, f, g (in this example, vertical partitioning). This example may correspond to the case in which the division direction is determined by the horizontal or vertical division flag, and the block shape is determined according to the flag allowing asymmetry. However, the present invention is not limited to these examples, and they can be converted to other examples.

[00133] В качестве примера, для древовидного разделения может быть использовано дополнительное разделение на основе дерева. Например, может быть выполнено разделение на основе троичного дерева, четверичного дерева, восьмеричного дерева и т.д. для получения n блоков разделения (в данном примере - 3, 4 и 8, n - целое число). В случае троичного дерева поддерживаемыми блоками (в данном примере - разделенными на множество блоков) могут являться блоки h-m. В случае четверичного дерева поддерживаемыми блоками могут являться блоки n-р. В случае восьмеричного дерева поддерживаемым блоком может являться блок q. Поддержка древовидного разделения может быть в неявном виде определена в соответствии с настройкой кодирования/декодирования, или может в явном виде генерироваться связанная информация. Кроме того, в зависимости от настроек кодирования/декодирования, разделение может использоваться само по себе или в комбинации с разделением на основе двоичного дерева или четверичного дерева. Например, в случае двоичного дерева могут быть получены такие блоки, как блоки b и с. Если двоичное дерево и троичное дерево используются в комбинации (в данном примере предполагается, что диапазон применения двоичного дерева и диапазон применения троичного дерева частично перекрываются), могут быть получены такие блоки, как блоки b, с, i, и l. Если флаг, разрешающий дополнительное разделение, отличное от существующего дерева, деактивирован в явном или неявном виде в соответствии с настройкой кодирования/декодирования, получаемым кандидатным блоком может являться блок b или с. Если этот флаг активирован, получаемым кандидатным блоком могут являться блоки b и i или блоки b, h, i и j (в данном примере - горизонтальное разделение) или могут являться блоки с и l или блоки с, k, l и m (в данном примере вертикальное разделение). Данный пример может соответствовать случаю, в котором направление разделения определяется флагом горизонтального или вертикального разделения, а форма блока определяется в соответствии с флагом, разрешающим дополнительное разделение. Однако настоящее изобретение не ограничено данными примерами, и эти примеры преобразуются в другие примеры.[00133] As an example, additional tree-based partitioning can be used for tree partitioning. For example, division based on a ternary tree, a quaternary tree, an octal tree, and so on can be performed. to get n split blocks (in this example, 3, 4, and 8, n is an integer). In the case of a ternary tree, the supported blocks (in this example divided into multiple blocks) may be h-m blocks. In the case of a quad tree, the supported blocks may be n-p blocks. In the case of an octal tree, the supported block may be block q. Tree partitioning support may be implicitly determined according to the encoding/decoding setting, or associated information may be explicitly generated. Furthermore, depending on the encoding/decoding settings, partitioning may be used alone or in combination with binary tree or quaternary tree partitioning. For example, in the case of a binary tree, blocks such as blocks b and c can be obtained. If a binary tree and a ternary tree are used in combination (in this example, it is assumed that the application range of the binary tree and the application range of the ternary tree partially overlap), blocks such as blocks b, c, i, and l can be obtained. If the flag allowing additional partitioning other than the existing tree is explicitly or implicitly deactivated according to the encoding/decoding setting, the resulting candidate block may be block b or c. If this flag is enabled, the resulting candidate block may be blocks b and i, or blocks b, h, i, and j (in this example, a horizontal split), or may be blocks c and l, or blocks c, k, l, and m (in this example). example vertical separation). This example may correspond to the case in which the division direction is determined by the horizontal or vertical division flag, and the block shape is determined according to the additional division enabling flag. However, the present invention is not limited to these examples, and these examples are converted to other examples.

[00134] Например, для типизированных блоков может быть разрешено непрямоугольное разделение. Например, возможно разделение в форме блоков r и s. При комбинировании с вышеописанной типизированной группой блоков-кандидатов поддерживаемыми блоками являются блоки а, b, с, h, r, s или a-h, r, s. Кроме того, в группу кандидатов могут быть включены блоки, поддерживающие n разделений (например, в данном примере n - целое число 3, отличное от 1, 2 и 4), такие как блоки h-m.[00134] For example, non-rectangular division may be allowed for typed blocks. For example, separation in the form of blocks r and s is possible. When combined with the typed candidate block group described above, the supported blocks are blocks a, b, c, h, r, s, or a-h, r, s. In addition, blocks supporting n partitions (eg, in this example, n is an integer 3 other than 1, 2, and 4), such as h-m blocks, may be included in the candidate group.

[00135] Режим разделения может быть определен в соответствии с настойками кодирования/декодирования.[00135] The split mode may be determined according to the encoding/decoding settings.

[00136] В качестве примера, режим разделения может быть определен в соответствии с типом блока. Например, в блоке кодирования и блоке преобразования может использоваться древовидное разделение, а в блоке предсказания может использоваться типизированное разделение. Кроме того, может использоваться комбинация из двух типов разделения. Например, в блоке предсказания может использоваться режим разделения, в котором древовидное разделение скомбинировано с типизированным разделением, и этот режим разделения отличается в соответствии с по меньшей мере одним диапазоном, применяемым к блоку.[00136] As an example, the division mode may be determined according to the block type. For example, a tree partition may be used in the coding block and the transform block, and a typed partition may be used in the prediction block. In addition, a combination of the two types of separation may be used. For example, a division mode may be used in a prediction block in which a tree division is combined with a typed division, and this division mode differs according to at least one range applied to the block.

[00137] Например, режим разделения может быть определен в соответствии с размером блока. Например, древовидное разделение может выполняться для некоторого диапазона (например, a×b-c×d, если последний имеет больший размер) между максимальным значением и минимальным значением блока, и для некоторого диапазона (например, e×f-g×h) может выполняться типизированное разделение. В этом случае информация о диапазоне в соответствии с режимом разделения может генерироваться в явном виде или может определяться в неявном виде.[00137] For example, the division mode may be determined according to the block size. For example, tree partitioning may be performed on some range (eg, a×b-c×d, if the latter is larger) between the block's maximum value and minimum value, and typed partitioning may be performed on some range (eg, e×f-g×h). In this case, the range information according to the split mode may be explicitly generated or may be implicitly determined.

[00138] В качестве примера, режим разделения может быть определен в соответствии с формой блока (или блоком до разделения). Например, если блок имеет квадратную форму, могут выполняться древовидное разделение и типизированное разделение. Альтернативно, если блок является прямоугольным, может выполняться древовидное разделение.[00138] As an example, the splitting mode may be determined according to the shape of the block (or block before splitting). For example, if the block is square in shape, tree splitting and typed splitting can be performed. Alternatively, if the block is rectangular, a tree division may be performed.

[00139] Настройка разделения может быть определена в соответствии с настойками кодирования/декодирования.[00139] The separation setting may be determined according to the encoding/decoding settings.

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

[00141] Например, настройка разделения может быть определена в соответствии с размером блока. Например, разделение на основе четверичного дерева может выполняться для некоторого диапазона блока (например, а×b - c×d), и для некоторого диапазона (например, e×f - g×h, в данном примере предполагается, что c×d больше, чем g×h) может выполняться разделение на основе двоичного дерева. В этом случае диапазон может включать в себя все диапазоны от максимального значения до минимального значения блока, и эти диапазоны могут быть заданы как не перекрывающиеся друг с другом или как перекрывающиеся друг с другом. Например, минимальное значение некоторого диапазона может быть равно максимальному значению некоторого диапазона, или минимальное значение некоторого диапазона может быть меньше максимального значения некоторого диапазона. В случае перекрывающихся диапазонов приоритет будет иметь схема разделения, содержащая большее максимальное значение. То есть в схеме разделения, имеющей определенный приоритет, выполнение схемы разделения, имеющей менее высокий приоритет, может быть определено в соответствии с результатом разделения. В этом случае информация о диапазоне в соответствии с типом дерева может генерироваться в явном виде или может определяться в неявном виде.[00141] For example, the split setting may be determined according to the block size. For example, quaternary tree partitioning may be performed for a range of a block (eg, a×b - c×d), and for a range (eg, e×f - g×h, in this example, c×d is assumed to be greater than than g×h) splitting based on a binary tree can be performed. In this case, the range may include all ranges from the maximum value to the minimum value of the block, and these ranges may be defined as non-overlapping with each other or as overlapping with each other. For example, the minimum value of a certain range may be equal to the maximum value of a certain range, or the minimum value of a certain range may be less than the maximum value of a certain range. In the case of overlapping ranges, the split scheme containing the larger maximum value will take precedence. That is, in a partition scheme having a certain priority, execution of a partition scheme having a lower priority can be determined according to the partition result. In this case, the range information according to the tree type may be explicitly generated or may be implicitly determined.

[00142] В качестве другого примера, типизированное разделение для некоторых групп кандидатов может выполняться в определенных диапазонах блока (таких же, как в примере), и в определенных диапазонах (таких же, как в примере) может выполняться типизированное разделение для некоторых групп кандидатов (в настоящем примере по меньшей мере одна конфигурация отличается от предыдущей группы кандидатов). В этом случае диапазон может включать в себя все диапазоны от максимального значения до минимального значения блока, и диапазон может иметь настройки, которые не перекрываются друге другом.[00142] As another example, typed splitting for some candidate groups can be performed in certain block ranges (same as in the example), and typed splitting can be performed in certain ranges (same as in the example) for some candidate groups ( in the present example, at least one configuration is different from the previous candidate group). In this case, the range may include all ranges from the maximum value to the minimum value of the block, and the range may have settings that do not overlap with each other.

[00143] В качестве примера, настройка разделения может быть определена в соответствии с формой блока. Например, если блок имеет квадратную форму, может выполняться разделение на основе четверичного дерева. Кроме того, если блок является прямоугольным, может выполняться разделение на основе двоичного дерева.[00143] As an example, the separation setting may be determined according to the shape of the block. For example, if the block has a square shape, a division based on a quaternary tree can be performed. In addition, if the block is rectangular, binary tree-based separation may be performed.

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

[00145] В качестве другого примера, допустимая глубина разделения на основе четверичного дерева (или двоичного дерева) может быть приравнена к m, если цветовая компонента представляет собой компоненту яркости, и может быть приравнена к n, если цветовая компонента представляет собой цветоразностную компоненту, и m и n могут являться или не являться одинаковыми. Кроме того, диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда цветовой компонентой является компонента яркости (например, a×b - c×d), может являться или не являться таким же, как диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда цветовой компонентой является цветоразностная компонента (например, e×f - g×h).[00145] As another example, the allowable separation depth based on a quaternary tree (or binary tree) may be set to m if the color component is a luminance component, and may be set to n if the color component is a color difference component, and m and n may or may not be the same. In addition, the division range based on the quaternary tree (or binary tree) in the case where the color component is the luminance component (for example, a×b - c×d) may or may not be the same as the division range based on the quaternary tree. (or binary tree) in the case where the color component is a color difference component (for example, e×f - g×h).

[00146] В качестве другого примера, допустимая глубина разделения на основе четверичного дерева (или двоичного дерева) может быть равна m, если режимом кодирования является внутреннее предсказание, и может быть равна n (в данном примере предполагается, что n больше, чем m), если режимом кодирования является предсказание, осуществляемое между изображениями, где m и n могут являться или не являться одинаковыми. Кроме того, диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда режимом кодирования является внутреннее предсказание, может являться или не являться таким же, как диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда режимом кодирования является предсказание, осуществляемое между изображениями.[00146] As another example, the allowable split depth based on a quaternary tree (or binary tree) may be m if the coding mode is intra prediction, and may be n (in this example, n is assumed to be greater than m) if the coding mode is inter-picture prediction, where m and n may or may not be the same. In addition, the division range based on the quaternary tree (or binary tree) in the case where the coding mode is intra prediction may or may not be the same as the division range based on the quaternary tree (or binary tree) in the case where the coding mode is is the prediction made between images.

[00147] В приведенном выше примере информация о поддержке адаптивной конфигурации группы кандидатов разделения в соответствии с информацией о кодировании/декодировании может генерироваться в явном виде или определяться в неявном виде.[00147] In the above example, information about supporting the adaptive configuration of the split candidate group according to the encoding/decoding information may be explicitly generated or implicitly determined.

[00148] При помощи приведенного выше примера описан случай, в котором режим разделения и настройка разделения определяются в соответствии с настройкой кодирования/декодирования. В приведенном выше примере представлены некоторые случаи в соответствии с каждым элементом, и может быть возможна модификация в другие случаи. Кроме того, режим разделения и настройка разделения могут быть определены в соответствии с комбинацией множества элементов. Например, режим разделения и настройка разделения могут быть определены в соответствии с типом, размером, формой, информацией о кодировании/декодировании и т.д. блока.[00148] With the above example, a case has been described in which the split mode and the split setting are determined according to the encoding/decoding setting. The example above shows some cases according to each element, and modification to other cases may be possible. In addition, the split mode and split setting can be determined according to the combination of the plurality of items. For example, the split mode and split setting may be determined according to type, size, shape, encoding/decoding information, and so on. block.

[00149] Кроме того, в приведенном выше примере элементы, связанные с режимом разделения, настройкой и т.д., могут быть определены в неявном виде, или эта информация может генерироваться в явном виде для определения того, разрешен ли адаптивный случай, как в приведенном выше примере.[00149] In addition, in the above example, elements related to the split mode, setting, etc. may be implicitly defined, or this information may be explicitly generated to determine whether the adaptive case is allowed, as in the example above.

[00150] Глубина разделения в настройке разделения относится к количеству случаев пространственного разделения в отношении исходного блока (в данном примере глубина разделения исходного блока равна 0), и при увеличении глубины разделения может выполняться разделение на блоки меньшего размера. Настройка, связанная с глубиной, может изменяться в зависимости от схемы разделения. Например, в режиме древовидного разделения одна общая глубина может использоваться для глубины разделения на основе двоичного дерева и глубины разделения на основе троичного дерева, и, в зависимости от типа дерева, могут использоваться отдельные глубины.[00150] The split depth in the split setting refers to the number of occurrences of spatial splits with respect to the original block (in this example, the split depth of the original block is 0), and as the split depth increases, splitting into smaller blocks can be performed. The setting related to depth may vary depending on the split pattern. For example, in the tree splitting mode, one common depth may be used for a binary tree based splitting depth and a ternary tree based splitting depth, and separate depths may be used depending on the tree type.

[00151] В приведенном выше примере, если в соответствии с типом дерева используется отдельная глубина разделения, эта глубина разделения может быть приравнена к 0 в положении начала разделения (в данном примере блока до разделения) на основе дерева. Глубина разделения может быть вычислена путем принятия в качестве центра положения, в котором начинается разделение, не основанного на диапазоне разделения каждого дерева (в данном примере -максимальное значение).[00151] In the above example, if a separate split depth is used according to the type of tree, this split depth can be set to 0 at the split start position (in this example, the block before the split) based on the tree. The split depth can be calculated by taking as the center the position where the split starts, not based on the split range of each tree (in this example, the maximum value).

[00152] На фиг. 6 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.[00152] FIG. 6 is a schematic diagram for explaining tree division according to an embodiment of the present invention.

[00153] «а» представляет пример разделения на основе четверичного дерева и двоичного дерева. В частности, верхний левый блок «а» изображает разделение на основе четверичного дерева, верхний правый блок и нижний левый блок изображают разделение на основе четверичного дерева и двоичного дерева, и нижний правый блок изображает разделение на основе двоичного дерева. На фигуре сплошная линия (в данном примере - Quad1) представляет граничную линию, которая разделяется в четверичное дерево, штриховая линия (в данном примере - Binary1) представляет граничную линию, которая разделяется в двоичное дерево, и жирная сплошная линия (в данном примере - Binin2) представляет граничную линию, которая разделяется в двоичное дерево. Разница между штриховой линией и жирной сплошной линией представляет собой разность в схемах разделения.[00153] "a" represents an example of separation based on a quaternary tree and a binary tree. Specifically, the top left box "a" depicts a quaternary tree partition, the upper right box and the lower left box depict a quaternary tree and binary tree partition, and the lower right box depicts a binary tree partition. In the figure, the solid line (in this example, Quad1) represents the boundary line, which splits into a quad tree, the dashed line (in this example, Binary1) represents the boundary line, which splits into a binary tree, and the heavy solid line (in this example, Binin2 ) represents a boundary line that splits into a binary tree. The difference between the dashed line and the heavy solid line represents the difference in separation schemes.

[00154] В качестве примера (допустимая глубина разделения на основе четверичного дерева верхнего левого блока равна 3, если текущий блок имеет размер N×N, разделение выполняется до тех пор, пока одна из горизонтали или вертикали не достигнет (N>>3), и информация о разделении генерируется до (N>>2). Это также применимо к следующему примеру. Предполагается, что максимальное и минимальное значения четверичного дерева равны N×N, (N>>3)×(N>>3)), при выполнении древовидного разделения они могут быть разделены на четыре блока с 1/2 горизонтальной и вертикальной длин. При активации разделения значение флага разделения может быть равно «1», и при деактивации разделения значение флага разделения может быть равно «0». Согласно настройке, флаг разделения верхнего левого блока может генерироваться вместе с верхним левым блоком b.[00154] As an example (the allowable splitting depth based on the quaternary tree of the upper left block is 3, if the current block has a size of N×N, splitting is performed until one of the horizontal or vertical reaches (N>>3), and the split information is generated up to (N>>2) This also applies to the following example: The maximum and minimum values of the quad tree are assumed to be N×N, (N>>3)×(N>>3)), with performing tree division, they can be divided into four blocks with 1/2 horizontal and vertical lengths. When partition is enabled, the value of the partition flag may be "1", and when partition is deactivated, the value of the partition flag may be "0". According to the setting, the top-left block split flag may be generated together with the top-left block b.

[00155] В качестве примера (для верхнего правого блока предполагается, что допустимая глубина разделения на основе четверичного дерева равна 0, допустимая глубина разделения на основе двоичного дерева равна 4, максимальное и минимальное значения разделения на основе четверичного дерева равны N×N, (N>>2)×(N>>2), максимальное и минимальное значения двоичного дерева равны (N>>1)×(N>>1), (N>>3)×(N>>3)), в случае выполнения разделения на основе четверичного дерева в отношении исходного блока верхний правый блок может быть разделен на четыре блока с длиной в 1/2 горизонтальной и вертикальной длин. Размер разделенного блока равен (N>>1)×(N>>), что означает, что разделение на основе двоичного дерева может выполняться (в данном примере он больше минимального значения разделения на основе четверичного дерева, но глубина разделения ограничена). То есть данный пример может представлять собой пример, в котором разделение на основе четверичного дерева и разделение на основе двоичного дерева не могут перекрываться. Информация о разделении на основе двоичного дерева в данном примере может быть сконфигурирована при помощи множества флагов разделения. Некоторые флаги могут представлять собой флаги горизонтального разделения (в данном примере соответствующие х в х/у), и некоторые флаги могут представлять собой флаги вертикального разделения (в данном примере соответствующие у в х/у). Конфигурация флагов разделения может иметь настройки, аналогичные разделению на основе четверичного дерева (например, выполнять ли активацию). В данном примере два флага могут активироваться повторно. Если для генерирования информации флага на фигуре используется «-», «-» может соответствовать обработке флага в неявном виде. Если дополнительное разделение не может быть выполнено в соответствии такими условиями, как максимальное значение, минимальное значение и глубина древовидного разделения, может генерироваться обработка флага в неявном виде. Согласно настройке, флаг разделения верхнего правого блока может генерироваться вместе с верхним левым блоком b.[00155] As an example (for the upper right block, it is assumed that the allowable split depth based on the quad tree is 0, the allowable split depth based on the binary tree is 4, the maximum and minimum values of the split based on the quad tree are N×N, (N >>2)×(N>>2), the maximum and minimum values of the binary tree are (N>>1)×(N>>1), (N>>3)×(N>>3)), in case performing quaternary tree partitioning with respect to the original block, the upper right block can be divided into four blocks with a length of 1/2 of the horizontal and vertical lengths. The split block size is (N>>1)×(N>>), which means that binary tree splitting can be performed (in this example, it is greater than the minimum quad tree splitting value, but the splitting depth is limited). That is, this example may be an example in which the quaternary tree partition and the binary tree partition cannot overlap. The binary tree split information in this example can be configured with a plurality of split flags. Some flags may be horizontal split flags (corresponding to x in x/y in this example), and some flags may be vertical split flags (corresponding to y in x/y in this example). The split flags configuration may have settings similar to quaternary tree split (eg, whether to perform activation). In this example, two flags can be reactivated. If "-" is used to generate flag information on a figure, "-" may correspond to flag processing implicitly. If additional splitting cannot be performed according to conditions such as maximum value, minimum value, and tree splitting depth, implicit flag processing may be generated. According to the setting, the upper right block split flag may be generated together with the upper left block b.

[00156] В качестве примера (для верхнего левого блока предполагается, что допустимая глубина разделения на основе четверичного дерева равна 3, допустимая глубина разделения на основе двоичного дерева равна 2, максимальное и минимальное значения разделения на основе четверичного дерева равны N×N, (N>>3)×(N>>3), максимальное и минимальное значения разделения на основе двоичного дерева равны (N>>2)×(N>>2), (N>>4)×(N>>4), и в перекрывающемся диапазоне приоритетом разделения наделяется разделение на основе четверичного дерева), при выполнении разделения на основе четверичного дерева в отношении исходного блока нижний левый блок может быть разделен на четыре блока с длиной в 1/2 горизонтальной и вертикальной длин. Размер разделенного блока равен (N>>1)×(N>>), что означает, что в соответствии с настройками данного примера могут быть выполнены разделение на основе двоичного дерева и разделение на основе четверичного дерева. То есть данный пример может представлять собой пример, в котором разделение на основе четверичного дерева и разделение на основе двоичного дерева могут перекрываться. В этом случае может быть определено выполнение разделения на основе двоичного дерева в соответствии с результатом разделения на основе четверичного дерева, имеющего заданный приоритет. При выполнении разделения на основе четверичного дерева разделение на основе двоичного дерева не будет выполняться. Если разделение на основе четверичного дерева не выполняется, может выполняться разделение на основе двоичного дерева. Если разделение на основе четверичного дерева не выполняется, даже если удовлетворяются условия для разделения в соответствии с вышеперечисленными настройками, разделение на основе четверичного дерева может не выполняться. Информация о разделении на основе двоичного дерева в данном примере может быть сконфигурирована при помощи множества флагов разделения. Некоторые флаги могут представлять собой флаги разделения (в данном примере соответствующие х в х/у), и некоторые флаги могут представлять собой флаги направления разделения (в данном примере соответствующие у в х/у, и может быть определено, генерировать ли информацию у в соответствии с х). Флаги разделения могут иметь настройки, аналогичные разделению на основе четверичного дерева. В данном примере горизонтальное и вертикальное разделения не могут быть активированы за счет перекрывания друг с другом. При генерировании информации флага как «-» на фигуре, «-» может иметь настройки, аналогичные приведенному выше примеру. В соответствии с настройкой, флаг разделения нижнего левого блока может генерироваться вместе с нижним левым блоком b.[00156] As an example (for the upper left block, it is assumed that the allowable split depth based on the quad tree is 3, the allowable split depth based on the binary tree is 2, the maximum and minimum values of the split based on the quad tree are N×N, (N >>3)×(N>>3), the maximum and minimum binary tree partitioning values are (N>>2)×(N>>2), (N>>4)×(N>>4), and in the overlapping range, splitting priority is given to quad-tree splitting), when performing quad-tree splitting on the original block, the lower left block can be divided into four blocks with a length of 1/2 of the horizontal and vertical lengths. The partitioned block size is (N>>1)×(N>>), which means that, according to the settings of this example, binary tree-based partitioning and quaternary tree-based partitioning can be performed. That is, this example may be an example in which the quaternary tree division and the binary tree division may overlap. In this case, the execution of the binary tree division can be determined according to the result of the quaternary tree division having the predetermined priority. When performing quaternary tree splitting, binary tree based splitting will not be performed. If quaternary tree splitting is not performed, binary tree based splitting may be performed. If quad-tree division is not performed even if the conditions for division according to the above settings are satisfied, quad-tree division may not be performed. The binary tree split information in this example can be configured with a plurality of split flags. Some flags may be split flags (corresponding to x in x/y in this example) and some flags may be split direction flags (corresponding to y in x/y in this example, and it can be determined whether to generate y information according to with x). Split flags can be configured similar to quad tree split. In this example, horizontal and vertical separations cannot be activated by overlapping each other. When generating flag information as "-" in the figure, "-" can have settings similar to the above example. According to the setting, the bottom-left block split flag may be generated together with the bottom-left block b.

[00157] В качестве примера (для нижнего правого блока предполагается, что допустимая глубина разделения на основе двоичного дерева равна 5, максимальное и минимальное значения разделения на основе двоичного дерева равны N×N, (N>>2)×(N>>3)), в случае выполнения разделения на основе двоичного дерева в отношении исходного блока нижний правый блок может быть разделен на два блока с длиной в 1/2 горизонтальной и вертикальной длин. Настройка флага разделения в данном примере может являться такой же, как для нижнего левого блока. При генерировании информации флага как «-» на фигуре, «-» может иметь настройки, аналогичные приведенному выше примеру. В данном примере изображен случай, в котором горизонтальное и вертикальное минимальные значения двоичного дерева заданы по-разному. В соответствии с настройкой, флаг разделения нижнего правого блока может генерироваться вместе с нижним правым блоком b.[00157] As an example (for the lower right block, it is assumed that the allowable splitting depth based on the binary tree is 5, the maximum and minimum splitting values based on the binary tree are N×N, (N>>2)×(N>>3 )), in the case of performing binary tree-based partitioning on the original block, the lower right block can be divided into two blocks with a length of 1/2 of the horizontal and vertical lengths. The split flag setting in this example may be the same as for the lower left block. When generating flag information as "-" in the figure, "-" can have settings similar to the above example. This example shows a case in which the horizontal and vertical minimum values of a binary tree are specified differently. According to the setting, the bottom right block split flag may be generated together with the bottom right block b.

[00158] Как изображено в приведенном выше примере, после определения информации о блоке (например, типа, размера, формы, положения, типа среза, цветовой компоненты и т.д.) в соответствии с информацией о блоке могут быть определены режим разделения и настройка разделения, и процесс разделения может быть выполнен соответственно.[00158] As shown in the above example, after block information (e.g., type, size, shape, position, slice type, color component, etc.) is determined, a separation mode and setting can be determined according to the block information. separation, and the separation process can be performed accordingly.

[00159] На фиг. 7 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.[00159] FIG. 7 is a schematic diagram for explaining tree division according to an embodiment of the present invention.

[00160] Что касается блока а и блока b, жирная сплошная линия L0 представляет максимальный блок кодирования, блок, разделенный жирной сплошной линией, а другие линии L1-L5 представляют разделенный блок кодирования, при этом число внутри блока представляет положение разделенного подблока (в данном примере в порядке растрового сканирования), количество символов «-» представляет глубину разделения соответствующего блока, а номер линии границы между блоками представляет количество разделений. Например, если блок разделен на четыре блока (в данном примере на основе четверичного дерева), он имеет порядок UL(0)-UR(1)-DL(2)-DR(3), и, если блок разделен на два блока (в данном примере - на основе двоичного дерева), он имеет порядок L, или U(0)-R, или D(1), который может быть определен при каждой глубине разделения. В следующем примере изображен случай, в котором получаемые блоки кодирования ограничены.[00160] With regard to block a and block b, the thick solid line L0 represents the maximum coding block, the block divided by the thick solid line, and the other lines L1-L5 represent the divided coding block, with the number inside the block representing the position of the divided sub-block (in this example in raster scan order), the number of "-" characters represents the division depth of the corresponding block, and the number of the boundary line between blocks represents the number of divisions. For example, if a block is divided into four blocks (based on a quaternary tree in this example), it has the order UL(0)-UR(1)-DL(2)-DR(3), and if the block is divided into two blocks ( in this example based on a binary tree), it has the order L, or U(0)-R, or D(1), which can be determined at each split depth. The following example shows a case in which the resulting coding units are limited.

[00161] В качестве примера, предполагается, что максимальный блок кодирования а имеет размер 64×64, минимальный блок кодирования имеет размер 16×16, и используется разделение на основе четверичного дерева. В данном случае, поскольку размер блоков 2-0, 2-1 и 2-2 (в данном примере имеющих размер 16×16) равен размеру минимального блока кодирования, они могут не подвергаться разделению на блоки меньшего размера, такие как блоки 2-3-0, 2-3-1, 2-3-2 и 2-3-3 (в данном примере имеющие размер 8×8). В данном случае, поскольку имеются блоки 16×16, получаемые в блоках 2-0, 2-1, 2-2 и 2-3, то есть одна группа кандидатов, информация о разделении блока не генерируется.[00161] As an example, it is assumed that the maximum coding block a has a size of 64x64, the minimum coding block has a size of 16x16, and quaternary tree partitioning is used. In this case, since the size of blocks 2-0, 2-1 and 2-2 (in this example having a size of 16×16) is equal to the size of the minimum coding block, they may not be divided into smaller blocks such as blocks 2-3 -0, 2-3-1, 2-3-2 and 2-3-3 (in this example having a size of 8×8). In this case, since there are 16×16 blocks obtained in blocks 2-0, 2-1, 2-2, and 2-3, that is, one group of candidates, no block division information is generated.

[00162] В качестве примера, предполагается, что максимальный блок кодирования b имеет размер 64×64, длина минимального блока кодирования в горизонтальном или вертикальном направлении равна 8, и допустимая глубина разделения равна 3. В этом случае, так как блок 1-0-1-1 (в данном примере имеющий размер 16×16 и глубину разделения 3) удовлетворяет условию минимального блока кодирования, этот блок может быть разделен на блоки меньшего размера. Однако поскольку он равен допустимой глубине разделения, этот блок не может быть разделен на блоки, имеющие большую глубину разделения (в данном примере - блоки 1-0-1-0-0 и 1-0-1-0-1). В этом случае, поскольку имеются блоки 16×8, получаемые в блоках 1-0-1-0 и 1-0-1-1, то есть одна группа кандидатов, информация о разделении блока не генерируется.[00162] As an example, it is assumed that the maximum coding block b has a size of 64x64, the length of the minimum coding block in the horizontal or vertical direction is 8, and the allowable split depth is 3. In this case, since the block is 1-0- 1-1 (in this example having a size of 16×16 and a split depth of 3) satisfies the minimum coding block condition, this block can be divided into smaller blocks. However, since it is equal to the allowable split depth, this block cannot be divided into blocks having a larger split depth (in this example, blocks 1-0-1-0-0 and 1-0-1-0-1). In this case, since there are 16×8 blocks obtained in blocks 1-0-1-0 and 1-0-1-1, that is, one candidate group, no block division information is generated.

[00163] Как изображено в приведенном выше примере, разделение на основе четверичного дерева или разделение на основе двоичного дерева может поддерживаться в соответствии с кодированием/декодированием. Альтернативно разделение на основе четверичного дерева и разделение на основе двоичного дерева могут поддерживаться совместно. Например, один или два из вышеперечисленных режимов могут поддерживаться в соответствии с размером блока, глубиной разделения и т.д. Если блок принадлежит к первому диапазону блока, может поддерживаться разделение на основе четверичного дерева, и, если блок принадлежит ко второму диапазону блока, может поддерживаться разделение на основе двоичного дерева. При поддержке множества режимов разделения в соответствии с каждым режимом может иметься по меньшей мере одна настройка максимального размера блока кодирования, минимального размера блока кодирования, допустимой глубины разделения и т.д. Диапазоны могут быть настроены для перекрывания друг с другом, или они могут не перекрываться. Альтернативно также возможно, что некоторый диапазон включает другой диапазон. Вышеперечисленные настройки могут быть определены в соответствии с единственным или смешанными факторами, такими как тип среза, режим кодирования и цветовая компонента.[00163] As shown in the example above, quaternary tree partitioning or binary tree partitioning may be supported according to encoding/decoding. Alternatively, quaternary tree partitioning and binary tree partitioning may be supported together. For example, one or two of the above modes may be supported according to block size, split depth, and so on. If the block belongs to the first block range, quaternary tree-based partitioning may be supported, and if the block belongs to the second block range, binary tree-based partitioning may be supported. When supporting a plurality of split modes, there may be at least one setting of the maximum coding block size, the minimum coding block size, the allowable split depth, and so on, according to each mode. The ranges can be configured to overlap with each other, or they can be non-overlapping. Alternatively, it is also possible that a certain range includes another range. The above settings can be defined according to single or mixed factors such as slice type, encoding mode, and color component.

[00164] В качестве примера, настройка разделения может быть определена в соответствии с типом среза. В случае среза I поддерживаемая настройка разделения такова, что в случае четверичного дерева поддерживаемым диапазоном разделения является 128×128 - 32×32, и в случае двоичного дерева поддерживаемым диапазоном разделения является 32×32 - 8×8. В случае среза Р/В поддерживаемая настройка разделения такова, что в случае четверичного дерева поддерживаемым диапазоном разделения является 128×128 - 32×32, и в случае двоичного дерева поддерживаемым диапазоном разделения является 64×64 - 8×8.[00164] As an example, a split setting may be determined according to a slice type. In the case of slice I, the supported split setting is such that, in the case of a quaternary tree, the supported split range is 128x128 - 32x32, and in the case of a binary tree, the supported split range is 32x32 - 8x8. In the case of P/B slice, the supported split setting is such that, in the case of a quaternary tree, the supported split range is 128x128 - 32x32, and in the case of a binary tree, the supported split range is 64x64 - 8x8.

[00165] В качестве примера, настройка разделения может быть определена в соответствии с режимом кодирования. Если режимом кодирования является внутреннее предсказание, поддерживаемой настройкой разделения является следующее: для двоичного дерева могут поддерживаться диапазон разделения 64×64 - 8×8 и допустимая глубина разделения 2. Если режимом кодирования является предсказание, осуществляемое между изображениями, поддерживаемой настройкой разделения является следующее: для двоичного дерева могут поддерживаться диапазон разделения 32×32 - 8×8, и допустимая глубина разделения 3.[00165] As an example, a split setting may be determined according to a coding mode. If the coding mode is intra-prediction, the supported split setting is: For a binary tree, a split range of 64×64 to 8×8 and a valid split depth of 2 can be supported. If the coding mode is inter-picture prediction, the supported split setting is: for binary tree, a split range of 32×32 - 8×8 can be supported, and a valid split depth of 3.

[00166] В качестве примера, настройка разделения может быть определена в соответствии с цветовой компонентой. Для компоненты яркости поддерживаемым диапазоном разделения является 256×256 - 64×64 в случае четверичного дерева, и поддерживаемым диапазоном разделения является 64×64 - 16×16 в случае двоичного дерева. Для цветоразностной компоненты в случае четверичного дерева поддерживаются такие же настройки, как для компоненты яркости (в данном примере соотношение длин каждого блока задается в соответствии с цветоразностным форматом), и поддерживаемым диапазоном разделения в случае двоичного дерева является 64×64 - 4×4 (в данном примере предполагается, что этим диапазоном в той же компоненте яркости является 128×128 8×8, 4:2:0).[00166] As an example, a separation setting may be determined according to a color component. For the luma component, the supported split range is 256x256 - 64x64 in the case of a quaternary tree, and the supported split range is 64x64 - 16x16 in the case of a binary tree. The chroma component in the case of a quaternary tree supports the same settings as the luma component (in this example, the ratio of the lengths of each block is set according to the chroma format), and the supported separation range in the case of a binary tree is 64x64 - 4x4 (in this example assumes that this range in the same luma component is 128×128 8×8, 4:2:0).

[00167] Примеры описывают случай, в котором настройки разделения отличаются в соответствии с типом блока. Кроме того, для выполнения процесса разделения некоторые блоки могут быть скомбинированы с другими блоками. Например, при комбинировании в один элемент блока кодирования и блока преобразования процесс разделения выполняется с целью получения оптимальных размера и формы блока, которые могут представлять собой не только оптимальные размер и форму блока кодирования, но также и оптимальные размер и форму блока преобразования. Альтернативно в один элемент могут быть скомбинированы блок кодирования и блок преобразования, в один элемент могут быть скомбинированы блок предсказания и блок преобразования, в один элемент могут быть скомбинированы блок кодирования, блок предсказания и блок преобразования, а также могут комбинироваться другие блоки.[00167] The examples describe the case in which the division settings differ according to the block type. In addition, some blocks may be combined with other blocks to carry out the separation process. For example, when combining an encoding block and a transformation block into one element, a separation process is performed to obtain an optimal block size and shape, which may be not only an optimal encoding block size and shape, but also an optimal transformation block size and shape. Alternatively, an encoding block and a transformation block may be combined into one element, a prediction block and a transformation block may be combined into one element, an encoding block, a prediction block and a transformation block may be combined into one element, and other blocks may be combined.

[00168] В данном документе описан случай, в котором в каждом блоке предусматривается отдельная настройка разделения, но также можно комбинировать множество элементов в один элемент, имеющий одну настройку разделения.[00168] This document describes the case in which each block is provided with a separate separation setting, but it is also possible to combine multiple elements into one element having one separation setting.

[00169] В вышеописанном процессе генерируемая информация будет включаться в кодере в битовый поток в по меньшей мере одном элементе последовательности, кадра, среза, плитки и т.д., и декодер будет анализировать связанную информацию из битового потока.[00169] In the above process, the generated information will be included in the encoder in the bitstream in at least one element of sequence, frame, slice, tile, etc., and the decoder will parse the associated information from the bitstream.

[00170] В процессе кодирования/декодирования изображения входное значение пикселя может отличаться от выходного значения пикселя, и для предотвращения искажения, вызванного операционными ошибками, может быть выполнен процесс корректировки значения пикселя. Схема корректировки значения пикселя представляет собой процесс корректировки значения пикселя, выходящего за пределы диапазона значения пикселя, с целью его нахождения в диапазоне значения пикселя и может называться отсечением.[00170] In the image encoding/decoding process, the input pixel value may differ from the output pixel value, and a pixel value correction process may be performed to prevent distortion caused by operating errors. The pixel value correction circuit is a process of correcting a pixel value that is out of the pixel value range to be within the pixel value range, and may be referred to as clipping.

Figure 00000001
Figure 00000001

[00171] В таблице 1 представлен пример кода для отсекающей функции (Clip_х), используемой для выполнения корректировки значения пикселя. Со ссылкой на таблицу 1, вводом в качестве параметров отсекающей функции (Clip_х) могут являться входное значение пикселя (pixel_val), а также минимальное значение (minI) и максимальное значение (maxI) из допустимого диапазона значений пикселя. В данном случае, если описание осуществляется на основе битовой глубины (bit_depth), минимальное значение (minI) может быть равно 0, и максимальное значение (maxI) может быть равно (2bit_depth-1). При исполнении отсекающей функции (Clip_х) входное значение пикселя (pixel_val, параметр А), которое меньше минимального значения (minI), заменяется минимальным значением (minI), и входное значение пикселя, которое больше максимального значения maxI (параметр С), может быть заменено максимальным значением (maxI). Поэтому после завершения корректировки значения пикселя выходное значение (output) может возвращаться как выходное значение пикселя (pixel_val').[00171] Table 1 shows an example code for a clipping function (Clip_x) used to perform pixel value adjustment. With reference to Table 1, the input as parameters of the clipping function (Clip_x) may be the input pixel value (pixel_val), as well as the minimum value (minI) and maximum value (maxI) of the allowed range of pixel values. Here, if the description is based on bit depth (bit_depth), the minimum value (minI) may be 0, and the maximum value (maxI) may be (2bit_depth-1). When executing the clipping function (Clip_x), the pixel input value (pixel_val, parameter A) that is less than the minimum value (minI) is replaced by the minimum value (minI), and the pixel input value that is greater than the maximum value maxI (parameter C) can be replaced maximum value (maxI). Therefore, after the pixel value adjustment is completed, the output value (output) may be returned as the output pixel value (pixel_val').

[00172] Диапазон значений пикселя определяется в соответствии с битовой глубиной, но значения пикселя (например, кадры, срезы, плитки, блоки и т.д.), которые составляют изображение, отличаются в соответствии с типом и характеристиками изображения, поэтому они могут не генерироваться в диапазоне всех значений пикселя. Согласно варианту осуществления настоящего изобретения, чтобы диапазон значений пикселя можно было использовать в процессе кодирования/декодирования изображения, можно сделать отсылку к диапазону значений пикселя, которые составляют фактическое изображение.[00172] A pixel value range is determined according to bit depth, but the pixel values (e.g., frames, slices, tiles, blocks, etc.) that make up an image differ according to the type and characteristics of the image, so they may not be generated in the range of all pixel values. According to an embodiment of the present invention, in order for a range of pixel values to be used in an image encoding/decoding process, reference can be made to a range of pixel values that constitute an actual image.

[00173] Например, в способе корректировки значений пикселя согласно таблице 1 минимальное значение (minI) отсекающей функции может быть использовано как минимальное значение для значений пикселя, которые составляют фактическое изображение, и максимальное значение (maxI) отсекающей функции может быть использовано как максимальное значение для значений пикселя, которые составляют фактическое изображение.[00173] For example, in the method for correcting pixel values according to Table 1, the minimum value (minI) of the clipping function may be used as the minimum value for the pixel values that constitute the actual image, and the maximum value (maxI) of the clipping function may be used as the maximum value for the pixel values that make up the actual image.

[00174] Подводя итог, устройство для кодирования/декодирования изображения может предусматривать способ корректировки значений пикселя на основе битовой глубины и/или способ корректировки значений пикселя на основе диапазона значений пикселя, составляющего изображение. В кодере/декодере может поддерживаться информация флага, используемая для определения того, возможна ли поддержка адаптивного способа корректировки значений пикселя. Если информация флага равна «1», может генерироваться информация о выборе способа корректировки значений пикселя, и, если информация флага равна «0», в качестве базового способа корректировки значений пикселя может использоваться предварительно заданный способ корректировки значений пикселя (в данном примере - способ на основе битовой глубины). Если информация о выборе способа корректировки значений пикселя указывает, что способ корректировки значений пикселя основывается на диапазоне значений пикселя, которые составляют изображение, может быть включена связанная информация о значениях пикселей изображения. Например, может быть включена информация о минимальном и максимальном значениях каждого изображения и срединном значении, описанном ниже в соответствии с цветовыми компонентами. Информация, генерируемая в ходе корректировки, может быть записана в элементах видео, последовательности, кадра, среза, плитки, блока и т.д. кодера и затем передана, и информация, записанная в декодере, может подвергаться анализу для восстановления связанной информации в том же элементе.[00174] Summarizing, an image encoding/decoding apparatus may provide a method for correcting pixel values based on bit depth and/or a method for correcting pixel values based on a range of pixel values constituting an image. The encoder/decoder may maintain flag information used to determine whether it is possible to support an adaptive method for adjusting pixel values. If the flag information is "1", information on selecting a pixel value correction method can be generated, and if the flag information is "0", a predetermined pixel value correction method (in this example, a bit depth basis). If the pixel value adjustment method selection information indicates that the pixel value adjustment method is based on a range of pixel values that make up an image, related image pixel value information can be included. For example, information about the minimum and maximum values of each image and the median value described below in accordance with the color components may be included. The information generated during the adjustment can be recorded in the elements of video, sequence, frame, slice, tile, block, and so on. encoder and then transmitted, and the information recorded in the decoder may be parsed to recover related information in the same element.

[00175] С другой стороны, при помощи этого процесса и посредством корректировки значений пикселя на основе битовой глубины или корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение, диапазон значений пикселя, включающий минимальное и максимальное значения среди значений пикселя, может быть изменен (определен или задан), или также может быть изменена (определена или задана) дополнительная информация о диапазоне значений пикселя. Например, могут быть изменены максимальное и минимальное значения среди значений пикселя, используемых для составления фактического изображения, а также может быть изменено срединное значение, используемое для конфигурирования значений пикселя.[00175] On the other hand, by this process and by adjusting pixel values based on bit depth or adjusting pixel values based on a range of pixel values that make up an image, a range of pixel values including the minimum and maximum values among the pixel values can be changed (defined or set), or additional information about the range of pixel values can also be changed (defined or set). For example, the maximum and minimum values among the pixel values used to compose the actual image can be changed, and the middle value used to configure the pixel values can also be changed.

[00176] То есть в процессе корректировки значений пикселя на основе битовой глубины minI может представлять минимальное значение пикселей изображения, maxI может представлять максимальное значение пикселей изображения, I может представлять цветовую компоненту, и medianI может представлять центральное значение пикселей изображения, minI может быть равно 0, maxI может быть равно (1<<bit_depth-1)-1, midI может быть равно 1<<(bit_depth-1), и medianI может быть получено в других формах, включая приведенные выше примеры в соответствии с настройками кодирования/декодирования. Срединное значение представляет собой всего лишь термин, используемый в настоящем изобретении для описания, и он может относиться к информации о диапазоне значений пикселя, которая может быть изменена (определена или задана) в соответствии с процессом корректировки значений пикселя в процессе кодирования/декодирования изображения.[00176] That is, in the process of adjusting pixel values based on bit depth, minI may represent the minimum pixel value of the image, maxI may represent the maximum pixel value of the image, I may represent the color component, and medianI may represent the center value of the image pixels, minI may be 0 , maxI may be equal to (1<<bit_depth-1)-1, midI may be equal to 1<<(bit_depth-1), and medianI may be obtained in other forms, including the above examples, according to encoding/decoding settings. The median value is just a term used in the present invention to describe, and may refer to pixel value range information that can be changed (determined or set) according to the pixel value correction process in the image encoding/decoding process.

[00177] Например, в процессе корректировки значений пикселя в соответствии с диапазоном значений пикселя, которые составляют изображение, minI может представлять собой минимальное значение пикселей изображения, maxI может представлять собой максимальное значение пикселей изображения, и medianI может представлять собой центральное значение пикселей изображения, medianI может представлять собой среднее значение значений пикселей в изображении, может представлять собой значение в центре, когда пиксели выровнены, или может представлять собой значение, полученное в соответствии с информацией о диапазоне значений пикселя изображения. Для по меньшей мере одного из minI или maxI может быть получено medianI. То есть medianI может представлять собой значение пикселя в пределах диапазона значений пикселя изображения.[00177] For example, in the process of adjusting pixel values according to a range of pixel values that make up an image, minI may be the minimum value of image pixels, maxI may be the maximum value of image pixels, and medianI may be the center value of image pixels, medianI may be an average value of the pixel values in the image, may be the value at the center when the pixels are aligned, or may be a value obtained according to the range information of the image pixel values. For at least one of minI or maxI, medianI can be obtained. That is, medianI may be a pixel value within a range of image pixel values.

[00178] В частности, medianI может представлять собой значение, полученное в соответствии с информацией о диапазоне значений пикселя изображения (в данном примере - minI или maxI), такое как (minI+maxI)/2 или (minI+maxI)>>1, (minI+maxI+1)/2, (minI+maxI+1)>>1, и medianI может быть получено в других формах, включая приведенные выше примеры в соответствии с настройками кодирования/декодирования.[00178] In particular, medianI may be a value obtained in accordance with information about the range of values of the image pixel (in this example, minI or maxI), such as (minI+maxI)/2 or (minI+maxI)>>1 , (minI+maxI+1)/2, (minI+maxI+1)>>1, and medianI can be obtained in other forms including the above examples according to encoding/decoding settings.

[00179] Ниже будет описан вариант осуществления в соответствии с обработкой корректировки значений пикселя (в данном примере это срединное значение).[00179] An embodiment will be described below in accordance with the processing of adjusting pixel values (in this example, it is the middle value).

[00180] В качестве примера, базовая битовая глубина составляет 8 битов (0-255), выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере минимальное значение равно 10, максимальное значение равно 190, и срединное значение, полученное (путем усреднения) из минимального и максимального значений, равно 100), и, если текущий блок представляет собой первый блок в изображении (в данном примере - в кадре), смежные блоки, используемые для кодирования/декодирования (в данном примере левый, нижний левый, верхний левый, верхний и верхний правый), не существуют, поэтому опорный пиксель может быть заполнен срединным значением 100. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.[00180] As an example, the base bit depth is 8 bits (0-255), the process of adjusting pixel values based on the range of pixel values that make up the image is selected (in this example, the minimum value is 10, the maximum value is 190, and the median value , obtained (by averaging) from the minimum and maximum values, is 100), and if the current block is the first block in the picture (in this example, in the frame), the adjacent blocks used for encoding/decoding (in this example, the left, bottom left, top left, top and top right) do not exist, so the reference pixel may be filled with a middle value of 100. The reference pixel may be used to perform an intra prediction process according to the prediction mode.

[00181] В качестве примера, базовая битовая глубина равна 10 битов (0-1023), выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере срединное значение равно 600, и имеются связанные элементы синтаксиса), и, если текущий блок представляет собой первый блок в изображении (в данном примере - срез или плитку), смежные блоки, используемые для кодирования/декодирования (в данном примере левый, нижний левый, верхний левый, верхний и верхний правый), не существуют, поэтому опорный пиксель может быть заполнен срединным значением 600. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.[00181] As an example, the base bit depth is 10 bits (0-1023), the pixel value adjustment process is selected based on the range of pixel values that make up the image (in this example, the median value is 600, and there are associated syntax elements), and , if the current block is the first block in the image (slice or tile in this example), adjacent blocks used for encoding/decoding (in this example left, bottom left, top left, top and top right) do not exist, so the reference pixel may be filled with a median value of 600. The reference pixel may be used to perform an intra prediction process according to the prediction mode.

[00182] В качестве примера, базовая битовая глубина равна 10 битов, выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере промежуточное значение равно 112, и имеются связанные элементы синтаксиса), настройка определения того, можно ли использовать пиксели соответствующих блоков в предсказании текущего блока, активируется в соответствии с режимом кодирования смежных блоков (внутреннее предсказание/предсказание, осуществляемое между изображениями) (в данном примере, если режимом кодирования соответствующих блоков является внутреннее предсказание, то его можно использовать для опорного пикселя текущего блока, и, если режимом кодирования является предсказание, осуществляемое между изображениями, его нельзя использовать для опорного пикселя текущего блока; если настройка деактивирована, его можно использовать как пиксель текущего блока независимо от режима кодирования соответствующих блоков; связанным элементом синтаксиса является constrained_intra_pred_flag, который может появляться в типе Р или В изображения). Если текущий блок расположен на левой стороне изображения, смежные блоки, используемые для кодирования/декодирования (в данном примере - левый, нижний левый и верхний левый), не существуют, и, если имеются смежные блоки, используемые для кодирования/декодирования (в данном примере правый и верхний правый), однако, поскольку режимом кодирования блока является предсказание, осуществляемое между изображениями, и он отключен посредством вышеуказанной настройки, доступный опорный пиксель отсутствует, и тогда опорный пиксель может быть заполнен срединным значением (в данном примере - 112). То есть, так как доступный опорный пиксель отсутствует, он может быть заполнен срединным значением из диапазона значений пикселя изображения. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.[00182] As an example, the base bit depth is 10 bits, the process of adjusting pixel values based on the range of pixel values that make up the image is selected (in this example, the intermediate value is 112, and there are associated syntax elements), the setting of determining whether use pixels of corresponding blocks in prediction of the current block, is activated according to the coding mode of adjacent blocks (intra prediction/prediction between pictures) (in this example, if the coding mode of the corresponding blocks is intra prediction, then it can be used for the reference pixel of the current block , and if the encoding mode is inter-picture prediction, it cannot be used for the reference pixel of the current block; if the setting is deactivated, it can be used as the current block pixel regardless of the encoding mode of the corresponding blocks; a related syntax element is constrained_intra_pred_flag, which can appear in type P or B images). If the current block is located on the left side of the picture, adjacent blocks used for encoding/decoding (in this example, left, bottom left, and top left) do not exist, and if there are adjacent blocks used for encoding/decoding (in this example, right and top right), however, since the block coding mode is inter-picture prediction and is disabled by the above setting, there is no available reference pixel, and then the reference pixel can be filled with the middle value (in this example, 112). That is, since there is no available reference pixel, it can be filled with a median value from the range of image pixel values. The reference pixel may be used to perform an intra prediction process according to the prediction mode.

[00183] В вышеописанном варианте осуществления секция предсказания содержит различные изображенные случаи, связанные со срединным значением, но она может быть включена в другую конфигурацию кодирования/декодирования видео. Кроме того, настоящее изобретение не ограничено вышеописанным вариантом осуществления, и в различных случаях могут выполняться модификации и расширения.[00183] In the above embodiment, the prediction section contains various depicted cases associated with the median value, but it may be included in a different video encoding/decoding configuration. In addition, the present invention is not limited to the above-described embodiment, and modifications and extensions can be made in various cases.

[00184] В настоящем изобретении процесс корректировки значений пикселя может применяться к процессу кодирования/декодирования секции предсказания, секции преобразования, секции квантования, секции обратного квантования, секции обратного преобразования, секции фильтра, запоминающего устройства и т.д. Например, входной пиксель в способе корректировки значений пикселя может представлять собой опорное дискретное значение или дискретное значение предсказания в процессе предсказания и может представлять собой восстановленное дискретное значение в процессе преобразования, квантования, обратного преобразования и обратного квантования. Кроме того, пиксель может представлять собой восстановленное дискретное значение в процессе фильтрации в контуре или может представлять собой пиксель, сохраненный в запоминающем устройстве. В этом случае в процессе преобразования, квантования, обратного преобразования и обратного квантования восстановленное дискретное значение может относиться к восстановленному дискретному значению перед применением фильтрации в контуре. Восстановленное дискретное значение в фильтре в контуре может относиться к восстановленному дискретному значению после применения фильтра в контуре. Восстановленное дискретное значение в процессе фильтрации в деблочном фильтре может относиться к восстановленному дискретному значению после применения декодирующего фильтра. Восстановленное дискретное значение в процессе SAO может относиться к восстановленному дискретному значению после применения SAO. Восстановленное дискретное значение в процессе ALF может относиться к восстановленному дискретному значению после применения ALF. Были описаны примеры различных вышеописанных случаев, но настоящее изобретение ими не ограничено и может быть применено к входным, промежуточным и выходным этапам всех процессов кодирования/декодирования, которые вызывают процесс корректировки значений пикселя.[00184] In the present invention, the pixel value correction process can be applied to the encoding/decoding process of a prediction section, a transform section, a quantization section, an inverse quantization section, an inverse transform section, a filter section, a memory, and so on. For example, an input pixel in the pixel value correction method may be a reference sample or a prediction sample in a prediction process, and may be a reconstructed sample in a transform, quantization, inverse transform, and inverse quantization process. In addition, the pixel may be a recovered sample from the loop filtering process, or may be a pixel stored in the memory. In this case, in the process of transformation, quantization, inverse transformation, and inverse quantization, the reconstructed sample may refer to the reconstructed sample before applying the filtering in the loop. The restored sample value in the filter in the loop may refer to the restored sample value after applying the filter in the loop. The recovered sample during filtering in the deblocking filter may refer to the recovered sample after application of the decoding filter. The recovered sample in the SAO process may refer to the recovered sample after applying the SAO. The recovered sample in the ALF process may refer to the recovered sample after applying the ALF. Examples of the various cases described above have been described, but the present invention is not limited thereto and can be applied to the input, intermediate, and output steps of all encoding/decoding processes that cause the pixel value adjustment process.

[00185] Следующий пример описан на основе предположения о том, что поддерживаются отсекающая функция Clip_Y компоненты Y яркости и отсекающие функции Clip_Cb и Clip_Cr цветоразностных компонент Cb и Cr.[00185] The following example is described based on the assumption that clipping function Clip_Y of the Y luminance component and clipping functions Clip_Cb and Clip_Cr of the Cb and Cr color difference components are supported.

[00186] В настоящем изобретении секция предсказания может быть классифицирована на внутреннее предсказание и предсказание, осуществляемое между изображениями, и внутреннее предсказание и предсказание, осуществляемое между изображениями, могут быть определены следующим образом.[00186] In the present invention, the prediction section can be classified into intra prediction and inter-picture prediction, and intra-picture prediction and inter-picture prediction can be defined as follows.

[00187] Внутреннее предсказание может представлять собой технологию для генерирования значения предсказания из области, в которой кодирование/декодирование текущего изображения (например, кадра, среза, плитки и т.д.) завершено, а предсказание, осуществляемое между изображениями, может представлять собой технологию для генерирования значения предсказания из изображения (например, кадра, среза, плитки и т.д.), для которого кодирование/декодирование было завершено перед текущим изображением.[00187] Intra prediction may be a technique for generating a prediction value from a region in which encoding/decoding of the current image (e.g., frame, slice, tile, etc.) is completed, and inter-picture prediction may be a technique for generating a prediction value from an image (eg, frame, slice, tile, etc.) for which encoding/decoding was completed before the current image.

[00188] Кроме того, внутреннее предсказание может представлять собой технологию для генерирования значения предсказания из области, в которой кодирование/декодирование текущего изображения завершено, но некоторые способы предсказания могут исключать, например, способ генерирования значения предсказания из опорного изображения, совпадения блоков, совпадения шаблонов и других предсказаний. Предсказание, осуществляемое между изображениями, может представлять собой технологию для генерирования значения предсказания из изображения, в котором по меньшей мере одно кодирование/декодирование завершено. Изображение, в котором завершено по меньшей мере одно кодирование/декодирование, может быть сконфигурировано так, что оно включает текущее изображение.[00188] In addition, intra prediction may be a technique for generating a prediction value from a region in which encoding/decoding of the current picture is completed, but some prediction methods may exclude, for example, a method for generating a prediction value from a reference picture, block matching, pattern matching and other predictions. Inter-picture prediction may be a technique for generating a prediction value from a picture in which at least one encoding/decoding is completed. An image in which at least one encoding/decoding is completed may be configured to include the current image.

[00189] Одно из приведенных выше определений может соблюдаться в соответствии с настройками кодирования/декодирования, и следующий пример будет описан в предположении, что соблюдается первое определение. Кроме того, хотя описание выполнено на основе предположения о том, что значение предсказания представляет собой значение, полученное путем предсказания в пространственной области, настоящее изобретение этим не ограничено.[00189] One of the above definitions may be observed in accordance with the encoding/decoding settings, and the following example will be described on the assumption that the first determination is observed. In addition, although the description is made on the assumption that the prediction value is a value obtained by prediction in the spatial domain, the present invention is not limited to this.

[00190] На фиг. 8 изображен способ разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, на данной фигуре изображен пример размера и формы блока, получаемого в соответствии с одним или более способами разделения, начиная с базового блока кодирования.[00190] FIG. 8 shows a block splitting method according to an embodiment of the present invention. In more detail, this figure shows an example of the size and shape of a block obtained in accordance with one or more partitioning methods, starting from the basic coding block.

[00191] На данной фигуре жирная сплошная линия представляет базовый блок кодирования, жирная пунктирная линия представляет границу разделения на основе четверичного дерева, двойная сплошная линия представляет границу симметричного разделения на основе двоичного дерева, сплошная линия представляет границу разделения на основе троичного дерева, и тонкая пунктирная линия представляет границу асимметричного разделения на основе двоичного дерева. За исключением жирной сплошной линии, каждая линия представляет границу, разделенную в соответствии с каждым способом разделения. Описываемые ниже настройки разделения (например, тип разделения, информация о разделении, порядок конфигурации информации о разделении и т.д.) не ограничиваются случаем соответствующего примера, и могут осуществляться различные модификации.[00191] In this figure, the heavy solid line represents the base coding block, the thick dashed line represents the quaternary tree partition boundary, the double solid line represents the symmetric binary tree partition boundary, the solid line represents the ternary tree partition boundary, and the thin dashed the line represents the boundary of the asymmetric partition based on the binary tree. Except for the thick solid line, each line represents a border divided according to each division method. The partition settings described below (eg, partition type, partition information, partition information configuration order, etc.) are not limited to the case of the corresponding example, and various modifications can be made.

[00192] Для простоты описания, описание будет дано в предположении, что отдельные настройки разделения блока заданы для верхнего левого, верхнего правого, нижнего левого и нижнего правого блоков (N×N, 64×64) на основе базового блока кодирования (2N×2N, 128×128). В первую очередь вследствие одной операции разделения в исходном блоке получается четыре подблока (глубина разделения 0 -> 1, т.е. глубина разделения увеличивается на 1), и максимальный блок кодирования равен 128×128, минимальный блок кодирования равен 8×8, и максимальная глубина разделения равна 4 вследствие настройки разделения для четверичного дерева, которая представляет собой настройку, обычно применяемую к каждому блоку.[00192] For ease of description, description will be given assuming that separate block division settings are specified for top left, top right, bottom left, and bottom right blocks (NxN, 64x64) based on a base coding block (2Nx2N , 128×128). First of all, due to one splitting operation, four sub-blocks are obtained in the original block (split depth 0 -> 1, i.e. split depth is increased by 1), and the maximum coding block is 128x128, the minimum coding block is 8x8, and the maximum split depth is 4 due to the split setting for quad tree, which is the setting typically applied to each block.

[00193] (1 раз, верхний левый блок, А1-А6)[00193] (1 time, upper left block, A1-A6)

[00194] В данном примере, если поддерживается разделение на основе одного дерева (в данном примере - на основе четверичного дерева), размер и форма получаемых блоков могут определяться одной настройкой разделения блока (например, максимальным блоком кодирования, минимальным блоком кодирования, блоком глубины разделения и т.д.). В данном примере, если блок может быть получен в соответствии с разделением (соответственно, разделяя ширину и высоту на две части), информация о разделении, необходимая для одной операции разделения (на основе блока 4M×4N до разделения, глубина разделения увеличивается на 1), представляет собой флаг, указывающий, выполняется ли разделение (в данном примере, если флаг равен 0, разделяется х, и, если флаг равен 1, разделяется о). Получаемыми кандидатами могут являться 4M×4N и 2M×2N.[00194] In this example, if single tree based partitioning (quaternary tree based in this example) is supported, the size and shape of resulting blocks may be determined by a single block splitting setting (e.g., maximum coding block, minimum coding block, split depth block etc.). In this example, if the block can be obtained according to the division (respectively, dividing the width and height into two parts), the division information required for one division operation (based on the 4M×4N block before division, the division depth is increased by 1) , is a flag indicating whether the split is performed (in this example, if the flag is 0, x is split, and if the flag is 1, o is split). The resulting candidates may be 4Mx4N and 2Mx2N.

[00195] (2 раза, верхний правый блок, А7-А11)[00195] (2 times, upper right block, A7-A11)

[00196] В данном примере, если поддерживается разделение на основе множества деревьев (в данном примере на основе четверичного дерева и двоичного дерева), размер и форма получаемых блоков могут быть определены посредством настроек разделения на основе множества деревьев. В данном примере предполагается, что в случае двоичного дерева максимальный блок кодирования имеет размер 64×64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.[00196] In this example, if multi-tree splitting (in this example, quaternary tree and binary tree based) is supported, the size and shape of the resulting blocks can be determined by multi-tree splitting settings. In this example, it is assumed that in the case of a binary tree, the maximum coding block has a size of 64x64, the minimum coding block has a length of 4, and the maximum split depth is 4.

[00197] В данном примере, если в соответствии с разделением может быть получено более двух блоков (в данном примере - 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.[00197] In this example, if more than two blocks (2 or 4 in this example) can be obtained according to the split, the split information needed for one split operation (the split depth of the quad tree is increased by 1) is the flag, indicating whether a division is performed, a flag indicating the type of division, a flag indicating the shape of the division, and a flag indicating the direction of division. The resulting candidates are 4Mx4N, 4Mx2N, 2Mx4N, 4MxN/4Mx3N, 4Mx3N/4MxN, Mx4N/3Mx4N and 3Mx4N/Mx4N.

[00198] Если диапазоны разделения на основе четверичного дерева и двоичного дерева перекрываются (то есть в диапазоне, где на текущей стадии могут выполняться разделение на основе четверичного дерева и разделение на основе двоичного дерева), и текущий блок (в состоянии до разделения) представляет собой блок, полученный при помощи разделения на основе четверичного дерева (порождающий блок <если глубина разделения на 1 меньше текущей глубины разделения> блок, полученный путем разделения на основе четверичного дерева), информация о разделении может быть разделена на следующие случаи. То есть, если блок, поддерживаемый в соответствии с каждой настройкой разделения, может быть получен при помощи множества способов разделения, информация о разделении может генерироваться при помощи следующей классификации.[00198] If the ranges of quaternary tree splitting and binary tree splitting overlap (that is, in the range where quad tree splitting and binary tree splitting can be performed in the current stage), and the current block (in the pre-split state) is a block obtained by splitting based on a quad tree (parent block <if the splitting depth is 1 less than the current splitting depth> a block obtained by splitting based on a quaternary tree), splitting information can be divided into the following cases. That is, if a block supported in accordance with each division setting can be obtained by a plurality of division methods, division information can be generated by the following classification.

[00199] (1) Когда разделение на основе четверичного дерева и разделение на основе двоичного дерева перекрываются друг с другом, то происходит следующее.[00199] (1) When the quaternary tree division and the binary tree division overlap with each other, the following occurs.

Figure 00000002
Figure 00000002

[00200] В приведенной выше таблице «а» - флаг, указывающий, выполняется ли разделение на основе четверичного дерева. Если этот флаг равен 1, выполняется разделение на основе четверичного дерева (QT). Если этот флаг равен 0, то подтверждается «b», представляющий собой флаг, который указывает, выполняется ли разделение на основе двоичного дерева. Если b равен 0, разделение в данном блоке не выполняется (нет разделения), и, если b равен 1, выполняется разделение на основе двоичного дерева.[00200] In the above table, "a" is a flag indicating whether splitting is performed based on a quaternary tree. If this flag is set to 1, quadruple tree (QT) splitting is performed. If this flag is 0, then "b" is asserted, which is a flag that indicates whether splitting is performed based on a binary tree. If b is 0, no split is performed in the given block (no split), and if b is 1, binary tree based split is performed.

[00201] «с» представляет собой флаг, указывающий направление разделения, с = 0 означает горизонтальное разделение (hor), и с = 1 означает вертикальное разделение (ver). «d» обозначает флаг, указывающий форму разделения, d = 0 означает симметричное разделение (SBT, симметричное двоичное дерево), и d = 1 означает асимметричное разделение (АВТ, асимметричное двоичное дерево). Только когда d равен 1, выполняется проверка информации о подробном соотношении разделения (1/4 или 3/4) при асимметричном разделении. Если d равен 0, в левом/правом или верхнем/нижнем блоках соотношение левого блока к верхнему блоку равно 1/4, и отношение верхнего блока к нижнему блоку равно 3/4. Если d равен 1, соотношение является противоположным.[00201] "c" is a flag indicating the split direction, c=0 means horizontal split (hor), and c=1 means vertical split (ver). "d" denotes a flag indicating the shape of the split, d=0 means symmetric split (SBT, symmetric binary tree), and d=1 means asymmetric split (ABT, asymmetric binary tree). Only when d is equal to 1, the information on the detailed split ratio (1/4 or 3/4) is checked in asymmetric split. If d is 0, in left/right or top/bottom blocks, the ratio of left block to top block is 1/4, and the ratio of top block to bottom block is 3/4. If d is 1, the relationship is reversed.

[00202] (2) Если может выполняться только разделение на основе двоичного дерева, то происходит следующее.[00202] (2) If only binary tree-based partitioning can be performed, then the following occurs.

[00203] В приведенной выше таблице информация о разделении выражена с использованием флагов «b»-«е» с исключением флага «а».[00203] In the above table, separation information is expressed using flags "b" through "e" with the exception of flag "a".

[00204] На фиг. 8 случай блока А7 представляет собой случай, в котором в блоках (А7-А11) до разделения может быть выполнено разделение на основе четверичного дерева (то есть, даже если может быть выполнено разделение на основе четверичного дерева, вместо разделения на основе четверичного дерева выполняется разделение на основе двоичного дерева), и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).[00204] FIG. 8, the case of block A7 is a case in which, in blocks (A7 to A11), prior to splitting, quad-tree based splitting can be performed (that is, even if quad-tree based splitting can be performed, splitting is performed instead of quad-tree based splitting). based on the binary tree), and thus corresponds to the case in which the split information is generated in item (1).

[00205] С другой стороны, в случае блоков А8-А11, если разделение на основе двоичного дерева выполняется без предварительного выполнения разделения на основе четверичного дерева в блоках (А8-А11) до разделения (то есть разделение на основе четверичного дерева в соответствующих блоках <А8-А11> более невозможно), данный случай, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (2).[00205] On the other hand, in the case of blocks A8-A11, if binary tree-based partitioning is performed without first performing quaternary tree-based partitioning in the blocks (A8-A11) prior to partitioning (i.e., quaternary tree-based partitioning in the respective blocks < A8-A11> is no longer possible), this case thus corresponds to the case in which the separation information is generated in item (2).

[00206] (3 раза, нижний левый блок, А12-А15)[00206] (3 times, lower left block, A12-A15)

[00207] В данном примере поддерживается разделение по схеме на основе множества деревьев (в данном примере четверичного дерева, двоичного дерева и троичного дерева), и размер и форма блока, который может быть получен, могут определяться посредством множества настроек разделения блока. В данном примере предполагается, что в случае двоичного дерева / троичного дерева максимальный блок кодирования имеет размер 64×64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.[00207] In this example, multiple tree-based schema partitioning (in this example, quaternary tree, binary tree, and ternary tree) is supported, and the size and shape of the block that can be obtained can be determined by multiple block partition settings. In this example, it is assumed that in the case of a binary tree/ternary tree, the maximum coding block has a size of 64x64, the minimum coding block has a length of 4, and the maximum split depth is 4.

[00208] В данном примере, если в соответствии с разделением может быть получено более двух блоков (в данном примере - 2, 3 и 4), информацией о разделении, необходимой для одной операции разделения, является флаг, указывающий, выполняется ли разделение, флаг, указывающий тип разделения, флаг, указывающий форму разделения, и флаг, указывающий направление разделения. Получаемыми кандидатами являются 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.[00208] In this example, if more than two blocks (in this example, 2, 3, and 4) can be obtained according to the split, the split information required for one split operation is a flag indicating whether the split is performed, the flag A indicating the type of split, a flag indicating the shape of the split, and a flag indicating the direction of the split. The resulting candidates are 4Mx4N, 4Mx2N, 2Mx4N, 4MxN/4Mx2N/4MxN and Mx4N/2Mx4N/Mx4N.

[00209] Если диапазоны разделения на основе четверичного дерева и двоичного дерева / троичного дерева перекрываются друг с другом, и текущим блоком является блок, полученный путем разделения на основе четверичного дерева, информация о разделении может быть разделена на следующие случаи.[00209] If the division ranges based on quaternary tree and binary tree/ternary tree overlap with each other, and the current block is a block obtained by division based on quaternary tree, the division information can be divided into the following cases.

[00210] (1) Если разделение на основе четверичного дерева и разделение на основе двоичного дерева / троичного дерева перекрываются друг с другом, то происходит следующее.[00210] (1) If the quaternary tree partition and the binary tree/ternary tree partition overlap with each other, then the following occurs.

Figure 00000003
Figure 00000003

[00211] В приведенной выше таблице «а» флаг, указывающий, выполняется ли разделение на основе четверичного дерева. Если этот флаг равен 1, выполняется разделение на основе четверичного дерева. Если этот флаг равен 0, определяется флаг «b», указывающий, выполняется ли разделение на основе двоичного дерева или разделение на основе троичного дерева. Если b равен 0, дальнейшее разделение в данном блоке не выполняется. Если b равен 1, выполняется разделение на основе двоичного дерева или разделение на основе троичного дерева.[00211] In the above table "a", a flag indicating whether splitting is performed based on a quaternary tree. If this flag is set to 1, a quad-tree split is performed. If this flag is 0, flag "b" is defined indicating whether binary tree splitting or ternary tree based splitting is performed. If b is 0, no further division is performed in this block. If b is 1, a binary tree split or a ternary tree split is performed.

[00212] «с» представляет собой флаг, указывающий направление разделения, с = 0 означает горизонтальное разделение, и с = 1 означает вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения, d = 0 означает разделение на основе двоичного дерева (ВТ), и d = 1 означает разделение на основе троичного дерева (ТТ).[00212] "c" is a flag indicating the split direction, c=0 means horizontal split, and c=1 means vertical split. "d" is a flag indicating the type of split, d=0 means binary tree (BT) split, and d=1 means ternary tree (TT) split.

[00213] (2) Если может выполняться только разделение на основе двоичного дерева / троичного дерева, то происходит следующее.[00213] (2) If only binary tree/ternary tree splitting can be performed, then the following occurs.

[00214] В приведенной выше таблице информация о разделении выражена с использованием флагов «b»-«d» с исключением флага «а».[00214] In the above table, the separation information is expressed using the flags "b"-"d" with the exception of the flag "a".

[00215] На фиг. 8 случай блоков А12 и А15 соответствует случаю, в котором разделение на основе четверичного дерева может быть выполнено в блоках А12-А15 до разделения, и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).[00215] FIG. 8, the case of blocks A12 and A15 corresponds to a case in which quaternary tree division can be performed in blocks A12 to A15 before division, and thus corresponds to a case in which division information is generated in item (1).

[00216] С другой стороны, случай А13 и А14 соответствует случаю, в котором вместо разделения на основе четверичного дерева в блоках А13 и А14 до разделения выполняется разделение на основе троичного дерева, и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (2).[00216] On the other hand, the case of A13 and A14 corresponds to a case in which, instead of splitting based on a quaternary tree, in blocks A13 and A14, splitting based on a ternary tree is performed before splitting, and thus corresponds to a case in which split information is generated in paragraph (2).

[00217] (4 раза, нижний левый блок, А16-А20)[00217] (4 times, lower left block, A16-A20)

[00218] В данном примере поддерживается разделение по схеме на основе множества деревьев (в данном примере четверичного дерева, двоичного дерева и троичного дерева), и размер и форма блока, который может быть получен, могут определяться посредством множества настроек разделения блока. В данном примере предполагается, что в случае двоичного дерева / троичного дерева максимальный блок кодирования имеет размер 64×64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.[00218] In this example, multiple tree-based schema partitioning (in this example, quad tree, binary tree, and ternary tree) is supported, and the size and shape of the block that can be obtained can be determined by multiple block partition settings. In this example, it is assumed that in the case of a binary tree/ternary tree, the maximum coding block has a size of 64x64, the minimum coding block has a length of 4, and the maximum split depth is 4.

[00219] В данном примере, если в соответствии с разделением может быть получено более двух блоков (в данном примере - 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/4MxN и M×4N/2M×4N/M×4N.[00219] In this example, if more than two blocks (in this example, 2, 3, and 4) can be obtained according to the split, the split information required for one split operation is a flag indicating whether the split is performed, the flag , indicating the type of split, a flag indicating the shape of the split, and a flag indicating the direction of the split. Candidates obtained are 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, 4N/3M×4N, 3M×4N/4N, 4M, if possible. ×N/4Mx2N/4MxN and Mx4N/2Mx4N/Mx4N.

[00220] Если диапазоны разделения на основе четверичного дерева и двоичного дерева / троичного дерева перекрываются друг с другом, и текущим блоком является блок, полученный путем разделения на основе четверичного дерева, информация о разделении может быть разделена на следующие случаи.[00220] If the division ranges based on quaternary tree and binary tree/ternary tree overlap with each other, and the current block is a block obtained by division based on quaternary tree, the division information can be divided into the following cases.

[00221] (1) Если разделение на основе четверичного дерева и разделение на основе двоичного дерева / троичного дерева перекрываются друг с другом, то происходит следующее.[00221] (1) If the quaternary tree partition and the binary tree/ternary tree partition overlap with each other, then the following occurs.

Figure 00000004
Figure 00000004

[00222] В приведенной выше таблице «а» - флаг, указывающий, выполняется ли разделение на основе четверичного дерева. Если этот флаг равен 1, выполняется разделение на основе четверичного дерева. Если этот флаг равен 0, определяется флаг «b», указывающий, выполняется ли разделение на основе двоичного дерева. Если b равен 0, дальнейшее разделение в данном блоке не выполняется. Если b равен 1, выполняется разделение на основе двоичного дерева или разделение на основе троичного дерева.[00222] In the above table, "a" is a flag indicating whether splitting is performed based on a quaternary tree. If this flag is 1, a quad-tree split is performed. If this flag is 0, the flag "b" is defined to indicate whether splitting is performed based on a binary tree. If b is 0, no further division is performed in this block. If b is 1, a binary tree split or a ternary tree split is performed.

[00223] «с» представляет собой флаг, указывающий направление разделения, с = 0 означает горизонтальное разделение, и с = 1 означает вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения, d = 0 означает разделение на основе двоичного дерева, и d = 1 означает разделение на основе троичного дерева. Если d равен 1, определяется флаг «е», соответствующий форме разделения, если е равен 0, выполняется симметричное разделение, и, если е равен 1, выполняется асимметричное разделение. Если е равен 1, определяется информация о подробном соотношении разделения при асимметричном разделении, которая является аналогичной предыдущему примеру.[00223] "c" is a flag indicating the split direction, c=0 means horizontal split, and c=1 means vertical split. "d" is a flag indicating the type of split, d=0 means binary tree split, and d=1 means ternary tree split. If d is 1, a flag "e" corresponding to the split shape is determined, if e is 0, a symmetrical split is performed, and if e is 1, an asymmetric split is performed. If e is equal to 1, information about the detailed division ratio in asymmetric division is determined, which is similar to the previous example.

[00224] (2) Если может выполняться только разделение на основе двоичного дерева / троичного дерева, то происходит следующее.[00224] (2) If only binary tree/ternary tree splitting can be performed, then the following occurs.

[00225] В приведенной выше таблице информация о разделении выражена с использованием флагов «b»-«f» с исключением флага «а».[00225] In the above table, the separation information is expressed using the flags "b" - "f" with the exception of the flag "a".

[00226] На фиг. 8 случай блока А20 соответствует случаю, в котором разделение на основе четверичного дерева может быть выполнено в блоках А16-А19 до разделения, и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).[00226] FIG. 8, the case of the block A20 corresponds to the case in which the quaternary tree division can be performed in the blocks A16 to A19 before the division, and thus corresponds to the case in which the division information is generated in item (1).

[00227] С другой стороны, в случае А16-А19, поскольку вместо разделения на основе четверичного дерева в блоках А16-А19 до разделения выполняется разделение на основе двоичного дерева, таким образом, этот случай соответствует случаю, в котором информация о разделении генерируется в пункте (2).[00227] On the other hand, in the case of A16-A19, since instead of splitting based on a quaternary tree in blocks A16-A19, splitting based on a binary tree is performed before splitting, so this case corresponds to the case in which splitting information is generated at point (2).

[00228] Ниже будет описано внутреннее предсказание секции предсказания согласно настоящему изобретению.[00228] Intra prediction of the prediction section according to the present invention will be described below.

[00229] На фиг. 9 представлена примерная схема, изображающая режим внутреннего предсказания, предопределенный в устройстве для кодирования/декодирования изображения.[00229] FIG. 9 is an exemplary diagram showing an intra prediction mode predefined in an image encoding/decoding apparatus.

[00230] Со ссылкой на фиг. 9, в качестве групп режимов-кандидатов предсказания для внутреннего предсказания сконфигурировано 67 режимов предсказания. 65 режимов предсказания являются направленными режимами (2-66) и два режима предсказания являются ненаправленными режимами (DC, плоский). В этом случае направленный режим может быть разделен на информацию о наклоне (например, dy/dx) или об угле (градусы). Все или часть из режимов предсказания, описанных в приведенных выше примерах, могут быть включены в группу режимов-кандидатов предсказания компоненты яркости или цветоразностной компоненты, и в группу режимов-кандидатов предсказания могут быть включены другие, дополнительные режимы.[00230] With reference to FIG. 9, 67 prediction modes are configured as groups of prediction modes for intra prediction. 65 prediction modes are directional modes (2-66) and two prediction modes are non-directional modes (DC, flat). In this case, the directional mode may be divided into tilt information (eg dy/dx) or angle information (degrees). All or part of the prediction modes described in the above examples may be included in the luminance component or chrominance component prediction candidate mode group, and other additional modes may be included in the prediction mode candidate group.

[00231] Кроме того, за счет использования корреляции между цветовыми пространствами, для предсказания текущего блока может быть использован восстановленный блок из другого цветового пространства, который был кодирован/декодирован, и может быть включен поддерживающий это режим предсказания. Например, в случае цветоразностной компоненты, для генерирования блока предсказания текущего блока может быть использован восстановленный блок компоненты яркости, соответствующий текущему блоку. То есть блок предсказания может генерироваться на основе восстановленного блока с учетом корреляции между цветовыми пространствами.[00231] In addition, by using correlation between color spaces, a reconstructed block from a different color space that has been coded/decoded can be used to predict the current block, and a prediction mode that supports this can be enabled. For example, in the case of a chroma component, a reconstructed luminance component block corresponding to the current block can be used to generate a prediction block of the current block. That is, a prediction block may be generated based on the reconstructed block considering the correlation between color spaces.

[00232] Группа режимов-кандидатов предсказания может быть адаптивно определена в соответствии с настойками кодирования/декодирования. Для повышения точности предсказания количество групп кандидатов может быть увеличено, а для снижения количества битов в соответствии с режимом предсказания, количество групп кандидатов может быть уменьшено.[00232] A group of candidate prediction modes may be adaptively determined in accordance with encoding/decoding settings. To improve the prediction accuracy, the number of candidate groups can be increased, and to reduce the number of bits according to the prediction mode, the number of candidate groups can be reduced.

[00233] Например, может быть выбрана одна группа из группы А кандидатов (67 режимов, 65 направленных режимов и 2 ненаправленных режима), группы В кандидатов (35 режимов, 33 направленных режима и 2 ненаправленных режима) и группы С кандидатов (18 режимов, 17 направленных режимов и 1 ненаправленный режим), и эта группа кандидатов может быть выбрана адаптивно или определена в соответствии с размером и формой блока.[00233] For example, one group may be selected from candidate group A (67 modes, 65 directional modes, and 2 non-directional modes), candidate group B (35 modes, 33 directional modes, and 2 non-directional modes), and candidate group C (18 modes, 17 directional modes and 1 non-directional mode), and this group of candidates can be selected adaptively or determined according to the size and shape of the block.

[00234] Кроме того, группа режимов-кандидатов предсказания может иметь различные конфигурации в соответствии с настойками кодирования/декодирования. Например, как изображено на фиг. 2, на фиг. 9 группа режимов-кандидатов предсказания сконфигурирована равным образом для всех режимов, или на фиг. 9 группа кандидатов может быть сконфигурирована так, что количество режимов от 18 до 34 больше количества режимов от 2 до 18. Альтернативно может также иметь место противоположный случай, и группа кандидатов может быть сконфигурирована адаптивно в соответствии с формой блока (т.е. квадратной, прямоугольной с длинными горизонтальными сторонами или прямоугольной с длинными вертикальными сторонами). Например, если ширина текущего блока больше высоты, режимы внутреннего предсказания, принадлежащие к 2-15, не используются, и для замены могут использоваться режимы внутреннего предсказания, принадлежащие к 67-80. С другой стороны, если ширина текущего блока меньше высоты, не используются режимы внутреннего предсказания, принадлежащие к 53 66, и для замены могут использоваться режимы внутреннего предсказания, принадлежащие к -14 - -1.[00234] In addition, a group of candidate prediction modes may have different configurations in accordance with encoding/decoding settings. For example, as shown in FIG. 2 in FIG. 9, a group of prediction candidate modes is configured in the same way for all modes, or in FIG. 9, the candidate group may be configured such that the number of modes from 18 to 34 is greater than the number of modes from 2 to 18. Alternatively, the opposite case may also take place, and the candidate group may be configured adaptively according to the shape of the block (i.e., square, rectangular with long horizontal sides or rectangular with long vertical sides). For example, if the width of the current block is larger than the height, intra prediction modes belonging to 2-15 are not used, and intra prediction modes belonging to 67-80 may be used for replacement. On the other hand, if the width of the current block is smaller than the height, intra prediction modes belonging to 53 66 are not used, and intra prediction modes belonging to -14 to -1 can be used for replacement.

[00235] В настоящем описании, если не указано иное, предполагается, что внутреннее предсказание выполняется с использованием предварительно заданной группы режимов-кандидатов предсказания (группы А кандидатов) с равными интервалами между режимами, однако основные элементы настоящего изобретения также могут использоваться для задания вышеописанного адаптивного внутреннего предсказания после изменения.[00235] In the present description, unless otherwise indicated, it is assumed that intra prediction is performed using a predetermined group of prediction candidate modes (candidate group A) with equal intervals between modes, however, the main elements of the present invention can also be used to specify the above-described adaptive internal prediction after change.

[00236] На фиг. 9 может быть представлен режим предсказания, поддерживаемый в случае квадратного или прямоугольного блока. Кроме того, режимом предсказания, поддерживаемым в случае прямоугольного блока, может являться режим предсказания, отличный от приведенного выше примера. Например, режимы предсказания с разными количествами групп режимов-кандидатов предсказания или равным количеством групп режимов-кандидатов предсказания, но с большими длинами блоков, являются более плотными. И наоборот, может иметь место случай, в котором режимы предсказания являются рассеянными, или может иметь место противоположный случай. В настоящем описании, как изображено на фиг. 9, режим предсказания описан при условии, что настройка режима предсказания (равные интервалы между направленными режимами) поддерживается независимо от формы блока, но он также применим и в других случаях.[00236] FIG. 9, the prediction mode supported in the case of a square block or a rectangular block can be represented. In addition, the prediction mode supported in the case of a rectangular block may be a prediction mode other than the above example. For example, prediction modes with different numbers of prediction mode candidate groups or an equal number of prediction mode candidate groups but with larger block lengths are denser. Conversely, there may be a case in which the prediction modes are scattered, or the opposite case may be the case. In the present description, as shown in FIG. 9, the prediction mode is described on the assumption that the prediction mode setting (equal intervals between directional modes) is maintained regardless of the block shape, but it is also applicable in other cases.

[00237] Для задания индекса, присваиваемого режиму предсказания, могут быть использованы различные способы. В случае направленного режима индекс, присваиваемый каждому режиму, может быть определен на основе предварительно заданной информации о приоритетах в соответствии с информацией об угле или о наклоне режима предсказания. Например, режим, соответствующий оси х или оси у (режимы 18 и 50 на фиг. 9), может иметь более высокий приоритет, диагональный режим (режимы 2, 34 и 66), имеющий угловую разность 45 или -45 градусов на основе горизонтального или вертикального режима, может иметь следующий приоритет, диагональный режим, имеющий угловую разность 22,5 или -22,5 градусов на основе диагонального режима, может иметь следующий приоритет, и информация о приоритетах может быть задана этим способом (следующий - 11,25 или -11,25 градусов и т.д.) или другими различными способами.[00237] Various methods can be used to set the index assigned to the prediction mode. In the case of the directional mode, an index assigned to each mode may be determined based on predetermined priority information according to the angle or slope information of the prediction mode. For example, the x-axis or y-axis mode (modes 18 and 50 in FIG. 9) may have higher priority, the diagonal mode (modes 2, 34, and 66) having an angular difference of 45 or -45 degrees based on horizontal or vertical mode may have the following priority, the diagonal mode having an angle difference of 22.5 or -22.5 degrees based on the diagonal mode may have the next priority, and the priority information can be set in this way (the next is 11.25 or - 11.25 degrees, etc.) or in various other ways.

[00238] Альтернативно индекс может присваиваться в конкретном порядке направлений на основе предварительно заданного режима предсказания. Например, как изображено на фиг. 9, индекс может присваиваться в направлении по часовой стрелке от определенного диагонального режима (режим 2). В следующем примере описание будет сделано на основе предположения о том, что индекс присваивается в направлении по часовой стрелке на основе предварительно заданного режима предсказания.[00238] Alternatively, the index may be assigned in a particular order of directions based on a predetermined prediction mode. For example, as shown in FIG. 9, an index may be assigned in a clockwise direction from a certain diagonal mode (mode 2). In the following example, description will be made based on the assumption that an index is assigned in a clockwise direction based on a predetermined prediction mode.

[00239] Кроме того, ненаправленный режим предсказания может присваивать информацию об индексах перед направленным режимом, или может присваивать информацию об индексах между направленными режимами, или может присваивать информацию об индексах в конце, что может быть определено в соответствии с настройками кодирования/декодирования. В данном примере предполагается, что ненаправленный режим имеет высший приоритет присвоения индексов среди режимов предсказания (ему присваивается низкий индекс, режим 0 - плоский, и режим 1 - DC).[00239] In addition, the non-directional prediction mode may assign index information before the directional mode, or may assign index information between directional modes, or may assign index information at the end, which may be determined according to encoding/decoding settings. In this example, the non-directional mode is assumed to have the highest index assignment priority among the prediction modes (it is assigned a low index, mode 0 is flat, and mode 1 is DC).

[00240] Несмотря на то что при помощи приведенных выше примеров были описаны различные примеры присвоения индекса режиму предсказания, индекс может присваиваться с другими настройками, приведенный выше пример не является ограничивающим, или могут иметь место различные преобразованные примеры.[00240] Although various examples of index assignment to the prediction mode have been described with the above examples, the index may be assigned with other settings, the above example is not limiting, or various converted examples may occur.

[00241] В приведенном выше примере информация о приоритетах была описана на примере присвоения индекса режиму предсказания, однако информация о приоритетах используется не только для присвоения индекса режиму предсказания, но также может использоваться в процессе кодирования/декодирования режима предсказания. Например, информация о приоритетах может использоваться для конфигурации МРМ и т.д., и в процессе кодирования/декодирования режима предсказания может поддерживаться множество наборов информации о приоритетах.[00241] In the above example, the priority information has been described using the prediction mode index assignment example, however, the priority information is not only used to assign the prediction mode index, but can also be used in the prediction mode encoding/decoding process. For example, the priority information may be used for MPM configuration, etc., and multiple sets of priority information may be supported in the prediction mode encoding/decoding process.

[00242] Ниже будет описана схема получения режима внутреннего предсказания (в частности, компоненты яркости) текущего блока.[00242] The scheme for obtaining the intra prediction mode (in particular, the luminance component) of the current block will be described below.

[00243] Для текущего блока может использоваться режим по умолчанию, предопределенный в устройстве для кодирования/декодирования изображения. Режим по умолчанию может представлять собой направленный режим или ненаправленный режим. Например, направленный режим может включать по меньшей мере один из вертикального режима, горизонтального режима или диагонального режима. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Если определено, что для текущего блока используется режим по умолчанию, режим внутреннего предсказания текущего блока может быть приравнен к режиму по умолчанию.[00243] The current block may use the default mode predefined in the image encoding/decoding device. The default mode may be directional mode or non-directional mode. For example, the directional mode may include at least one of vertical mode, horizontal mode, or diagonal mode. The non-directional mode may include at least one of planar mode or DC mode. If it is determined that the default mode is used for the current block, the intra prediction mode of the current block may be equated to the default mode.

[00244] Альтернативно режим внутреннего предсказания текущего блока может быть получен на основе множества МРМ-кандидатов. В первую очередь, из вышеупомянутой группы режимов-кандидатов предсказания может быть выбран предварительно определенный МРМ-кандидат. Количество МРМ-кандидатов может составлять три, четыре, пять или более. МРМ-кандидаты могут быть получены на основе режима внутреннего предсказания смежных блоков, смежных с текущим блоком. Смежный блок может представлять собой блок, смежный с по меньшей мере одним из левой стороны, верхнего конца, верхнего левого конца, нижнего левого конца или верхнего правого конца текущего блока.[00244] Alternatively, the intra prediction mode of the current block may be obtained based on a plurality of MPM candidates. First, a predetermined MPM candidate can be selected from the above group of prediction candidate modes. The number of MPM candidates may be three, four, five or more. MPM candidates may be derived based on the intra prediction mode of adjacent blocks adjacent to the current block. An adjacent block may be a block adjacent to at least one of the left side, top end, top left end, bottom left end, or top right end of the current block.

[00245] В частности, МРМ-кандидат может быть определен с учетом того, являются ли одинаковыми режим внутреннего предсказания (candIntraPredModeA) блока с левой стороны и режим внутреннего предсказания (candIntraPredModeB) блока на верхнем конце и являются ли candIntraPredModeA и candIntraPredModeB ненаправленными режимами.[00245] In particular, the MPM candidate can be determined considering whether the intra prediction mode (candIntraPredModeA) of the block on the left side and the intra prediction mode (candIntraPredModeB) of the block on the upper end are the same, and whether candIntraPredModeA and candIntraPredModeB are non-directional modes.

[00246] Например, если candIntraPredModeA и candIntraPredModeB являются одинаковыми, и candIntraPredModeA не является ненаправленным режимом, МРМ-кандидаты текущего блока могут включать по меньшей мере один из candIntraPredModeA, (candIntraPredModeA-n), (candIntraPredModeA+n) или ненаправленного режима. Здесь n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Например, МРМ-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 2. Индекс в таблице 2 определяет, но без ограничения, положение или приоритет МРМ-кандидатов. Например, index1 может быть присвоен режиму DC, или может быть присвоен index4.[00246] For example, if candIntraPredModeA and candIntraPredModeB are the same, and candIntraPredModeA is not Omnidirectional, MPM candidates of the current block may include at least one of candIntraPredModeA, (candIntraPredModeA-n), (candIntraPredModeA+n), or Omnidirectional. Here, n may be an integer equal to 1, 2 or more. The non-directional mode may include at least one of planar mode or DC mode. For example, the MPM candidates of the current block may be defined as shown in Table 2 below. The index in Table 2 specifies, but is not limited to, the position or priority of the MPM candidates. For example, index1 may be assigned to DC mode, or index4 may be assigned.

Figure 00000005
Figure 00000005

[00247] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными, и candIntraPredModeA и candIntraPredModeB не являются ненаправленными режимами, МРМ-кандидаты текущего блока могут включать по меньшей мере один из candIntraPredModeA, candIntraPredModeB, (maxAB-n), (maxAB+n) или ненаправленного режима. Здесь тахАВ представляет максимальное значение из candIntraPredModeA и candIntraPredModeB, и п может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Например, МРМ-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 3. Индекс в таблице 3 определяет, но без ограничения, положение или приоритет МРМ-кандидатов. Например, максимальный индекс может быть присвоен режиму DC. Если разность между candIntraPredModeA и candIntraPredModeB находится в пределах предварительно определенного диапазона пороговых значений, будет применен МРМ-кандидат 1 из таблицы 3, в ином случае может быть применен МРМ-кандидат 2. Здесь диапазон пороговых значений может представлять собой диапазон, больший или равный 2 и меньший или равный 62.[00247] Alternatively, if candIntraPredModeA and candIntraPredModeB are different, and candIntraPredModeA and candIntraPredModeB are not non-directional modes, the MPM candidates of the current block may include at least one of candIntraPredModeA, candIntraPredModeB, (maxAB-n), (maxAB+n), or non-directional mode. Here, maxAB is the maximum value of candIntraPredModeA and candIntraPredModeB, and n can be an integer equal to 1, 2, or more. The non-directional mode may include at least one of planar mode or DC mode. For example, the MPM candidates of the current block may be defined as shown in Table 3 below. The index in Table 3 defines, but is not limited to, the position or priority of the MPM candidates. For example, the maximum index may be assigned to the DC mode. If the difference between candIntraPredModeA and candIntraPredModeB is within a predetermined threshold range, MPM candidate 1 from Table 3 will be applied, otherwise MPM candidate 2 may be applied. Here, the threshold range may be a range greater than or equal to 2 and less than or equal to 62.

Figure 00000006
Figure 00000006

[00248] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными и только один из candIntraPredModeA и candIntraPredModeB находится в ненаправленном режиме, МРМ-кандидаты текущего блока могут включать по меньшей мере один из maxAB, (maxAB-n), (maxAB+n) или ненаправленного режима. Здесь maxAB представляет максимальное значение из candIntraPredModeA и candIntraPredModeB, и n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из плоского режима или режима DC. Например, МРМ-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 4. Индекс в таблице 4 определяет, но без ограничения, положение или приоритет МРМ-кандидатов. Например, индекс 0 может быть присвоен режиму DC, или может быть присвоен максимальный индекс.[00248] Alternatively, if candIntraPredModeA and candIntraPredModeB are different and only one of candIntraPredModeA and candIntraPredModeB is in non-directional mode, MPM candidates of the current block may include at least one of maxAB, (maxAB-n), (maxAB+n), or non-directional mode. Here, maxAB represents the maximum value of candIntraPredModeA and candIntraPredModeB, and n can be an integer equal to 1, 2, or more. The non-directional mode may include at least one of a flat mode or a DC mode. For example, the MPM candidates of the current block may be defined as shown in Table 4 below. The index in Table 4 specifies, but is not limited to, the position or priority of the MPM candidates. For example, index 0 may be assigned to DC mode, or a maximum index may be assigned.

Figure 00000007
Figure 00000007

[00249] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными, и оба из candIntraPredModeA и candIntraPredModeB являются ненаправленными режимами, МРМ-кандидаты текущего блока могут включать по меньшей мере один из ненаправленного режима, вертикального режима, горизонтального режима, (вертикального режима-m), (вертикального режима+m), (горизонтального режима-m) или (горизонтального режима+m). Здесь m может представлять собой целое число, равное 1, 2, 3, 4 или более. Ненаправленный режим может включать по меньшей мере один из плоского режима или режима DC. Например, МРМ-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 5. Индекс в таблице 5 определяет, но без ограничения, положение или приоритет МРМ-кандидатов. Например, index1 может быть присвоен горизонтальному режиму, или может быть присвоен максимальный индекс.[00249] Alternatively, if candIntraPredModeA and candIntraPredModeB are different and both of candIntraPredModeA and candIntraPredModeB are non-directional modes, the MPM candidates of the current block may include at least one of non-directional mode, vertical mode, horizontal mode, (vertical mode-m), (vertical mode+m), (horizontal mode-m) or (horizontal mode+m). Here, m may be an integer equal to 1, 2, 3, 4 or more. The non-directional mode may include at least one of the flat mode or the DC mode. For example, the MPM candidates of the current block may be defined as shown in Table 5 below. The index in Table 5 defines, but is not limited to, the position or priority of the MPM candidates. For example, index1 may be assigned to horizontal mode, or a maximum index may be assigned.

Figure 00000008
Figure 00000008

[00250] МРМ-кандидат из вышеупомянутого множества МРМ-кандидатов, указанный индексом МРМ, может быть задан как режим внутреннего предсказания текущего блока. Индекс МРМ может кодироваться и сообщаться устройством для кодирования изображения.[00250] An MPM candidate of the aforementioned MPM candidate set, indicated by the MPM index, may be set as the intra prediction mode of the current block. The MPM index may be encoded and reported by the image encoding device.

[00251] Как описано выше, режим внутреннего предсказания может быть получен путем выборочного использования любого из режима по умолчанию или МРМ-кандидата. Выбор может быть сделан на основе флага, сообщаемого устройством для кодирования. В этом случае флаг может указывать то, задается ли режим внутреннего предсказания текущего блока как режим по умолчанию. Если флаг имеет первое значение, режим внутреннего предсказания текущего блока задается как режим по умолчанию, а если нет, может передаваться информация о том, является ли режим внутреннего предсказания текущего блока производным от МРМ-кандидата, индекса МРМ и т.д.[00251] As described above, the intra prediction mode can be obtained by selectively using any of the default or MPM candidate mode. The selection may be made based on a flag provided by the encoder. In this case, the flag may indicate whether the intra prediction mode of the current block is set as the default mode. If the flag has a first value, the intra prediction mode of the current block is set as the default mode, and if not, information about whether the intra prediction mode of the current block is derived from the MPM candidate, MPM index, etc. may be transmitted.

[00252] Цветоразностная компонента может иметь такую же группу кандидатов, как группа режимов-кандидатов предсказания компоненты яркости, или может включать группу кандидатов, выполненную из части группы режимов-кандидатов предсказания компоненты яркости. В этом случае группа режимов-кандидатов предсказания цветоразностной компоненты может иметь фиксированную конфигурацию или переменную (или адаптивную) конфигурацию.[00252] The color difference component may have the same candidate group as the luma component prediction mode candidate group, or may include a candidate group made from part of the luminance component prediction mode candidate group. In this case, the group of candidate color difference component prediction modes may have a fixed configuration or a variable (or adaptive) configuration.

[00253] (Фиксированная конфигурация группы кандидатов в сравнении с переменной конфигурацией группы кандидатов)[00253] (Fixed Candidate Group Configuration Versus Candidate Group Variable Configuration)

[00254] В качестве примера фиксированной конфигурации, как группа режимов-кандидатов предсказания цветоразностной компоненты для выполнения внутреннего предсказания сконфигурированы некоторые режимы в группе режимов-кандидатов предсказания компоненты яркости (например, предполагается, что этими некоторыми режимами являются по меньшей мере один из режима DC, планарного режима, вертикального режима, горизонтального режима или диагонального режима <предполагается, что некоторые режимы представляют собой по меньшей мере один из DL, UL или UR, DL - режим, в котором предсказание выполняется от нижнего правого угла до верхнего правого угла, UL - режим, в котором предсказание выполняется от верхнего левого угла до нижнего правого угла, и UR - режим, в котором предсказание выполняется от верхнего правого угла до нижнего левого угла, и предполагается, что указанными некоторыми режимами являются, соответственно, режимы 2, 34 и 66 на фиг. 9.[00254] As an example of a fixed configuration, some modes in the luminance component prediction mode candidate group are configured as a group of chroma component prediction modes to perform intra prediction (for example, it is assumed that these some modes are at least one of the DC mode, planar mode, vertical mode, horizontal mode or diagonal mode < some modes are assumed to be at least one of DL, UL or UR, DL is a mode in which prediction is performed from the lower right corner to the upper right corner, UL is the mode , in which prediction is performed from the upper left corner to the lower right corner, and UR is a mode in which prediction is performed from the upper right corner to the lower left corner, and it is assumed that the specified some modes are, respectively, modes 2, 34 and 66 on Fig. 9.

[00255] В качестве примера переменной конфигурации, как базовая группа режимов-кандидатов предсказания цветоразностной компоненты сконфигурированы некоторые режимы в группе режимов-кандидатов предсказания компоненты яркости (например, предполагается, что этими некоторыми режимами являются режим DC, планарный режим, вертикальный режим, горизонтальный режим и диагональный режим UR, и предполагается, что в качестве базовой группы режимов-кандидатов предсказания в целом сконфигурировано больше выбранных режимов). Однако режимы, включенные в группу кандидатов, могут неверно отражать характеристики цветоразностной компоненты. Для улучшения в данном отношении, конфигурация группы режимов-кандидатов предсказания цветоразностной компоненты может быть изменена.[00255] As an example of a configuration variable, some modes in the luma component prediction mode candidate group are configured as a base group of chroma component prediction modes (for example, it is assumed that these some modes are DC mode, planar mode, vertical mode, horizontal mode and diagonal UR mode, and it is assumed that more selected modes are configured as the base group of candidate prediction modes in general). However, the modes included in the candidate group may not correctly reflect the characteristics of the color difference component. To improve in this regard, the configuration of the group of candidate color difference prediction modes can be changed.

[00256] Например, по меньшей мере один режим предсказания блока или подблока компоненты яркости в положении, идентичном или соответствующем блоку цветоразностной компоненты, может быть включен (описанный ниже пример 1) в базовую группу режимов-кандидатов предсказания, или вместо некоторых режимов может быть выполнена новая группа режимов-кандидатов предсказания (описанный ниже пример 2). Например, в случае если соответствующее положение в компоненте яркости, соответствующее цветоразностной компоненте<в соответствии с форматом цвета>, нельзя сконфигурировать при помощи одного блока, но конфигурируется как множество подблоков путем разделения одного блока, представляется блок предварительно заданного положения. В этом случае положение предварительно заданного блока определяется в верхнем левом, верхнем правом, нижнем левом, нижнем правом, среднем, верхнем среднем, нижнем среднем, левом среднем и правом среднем положениях в блоке компоненты яркости, соответствующем блоку цветоразностной компоненты; если оно различается до координаты внутри изображения, оно может представлять собой положение, включающее координату (0, 0) вверху слева, положение, включающее координату (blk_width-1, 0) вверху справа, положение, включающее координату (0, blk_height-1) внизу слева, положение, включающее координату (blk_width-1, blk_height-1) внизу справа, положение, включающее одну из координат (blk_width/2-1, blk_height/2-1), (blk_width/2, blk_height/2-1), (blk_width/2-1, blk_height/2) и (blk_width/2, blk_height/2) в центре, положение, включающее одну из координат (blk_width/2-1, 0) и (blk_width/2, 0) вверху посередине, положение, включающее одну из координат (blk_width/2-1, blk_height-1) и (blk_width/2, blk_height-1) внизу посередине, положение, включающее одну из координат (0, blk_height/2-1) и (0, blk_height/2) слева посередине, и положение, включающее одну из координат (blk_width-1, blk_height/2-1) и (blk_width-1, blk_height/2) справа посередине. То есть это означает блок, включающий положение координаты. Вышеупомянутые blk_width и blk_height относятся к горизонтальной и вертикальной длинам блока яркости, и координаты не ограничиваются вышеописанным случаем и могут включать другие случаи. В следующем описании для режима предсказания <или цветового режима> компоненты яркости, добавляемого в группу режимов-кандидатов предсказания цветоразностной компоненты, по меньшей мере один режим предсказания добавляется в соответствии с предварительно заданным приоритетом <например, в предположении верхний левый-верхний правый-нижний левый-нижний правый-средний>. Если добавляются два режима предсказания, режим верхнего левого блока и режим верхнего правого блока добавляются в соответствии с вышеперечисленными настройками. В этом случае, если блоки в верхнем левом и верхнем правом положениях сконфигурированы посредством одного блока, добавляется режим нижнего левого блока, имеющего следующий приоритет.[00256] For example, at least one prediction mode of a block or subblock of a luma component at a position identical to or corresponding to a block of a chroma component may be included (Example 1 described below) in the base group of candidate prediction modes, or instead of some modes, a new group of candidate prediction modes (Example 2 described below). For example, in the case where the corresponding position in the luminance component corresponding to the color difference component <according to color format> cannot be configured with one block, but is configured as a plurality of sub-blocks by dividing one block, a preset position block is displayed. In this case, the position of the predetermined block is determined at the top left, top right, bottom left, bottom right, middle, top middle, bottom middle, left middle, and right middle positions in the luminance component block corresponding to the chroma component block; if it differs to a coordinate within the image, it can be position including coordinate (0, 0) top left, position including coordinate (blk_width-1, 0) top right, position including coordinate (0, blk_height-1) bottom left, position including the coordinate (blk_width-1, blk_height-1) bottom right, position including one of the coordinates (blk_width/2-1, blk_height/2-1), (blk_width/2, blk_height/2-1), (blk_width/2-1, blk_height/2) and (blk_width/2, blk_height/2) at the center, a position including one of the coordinates (blk_width/2-1, 0) and (blk_width/2, 0) at the top middle, a position including one of the coordinates (blk_width/2-1, blk_height-1) and (blk_width/2, blk_height-1) bottom middle, a position including one of the coordinates (0, blk_height/2-1) and (0, blk_height /2) on the left in the middle, and a position that includes one of the coordinates (blk_width-1, blk_height/2-1) and (blk_width-1, blk_height/2) on the right in the middle. That is, it means a block including the position of the coordinate. The above blk_width and blk_height refer to the horizontal and vertical lengths of the luminance block, and the coordinates are not limited to the above case and may include other cases. In the following description, for the luma component prediction mode <or color mode> added to the chroma difference component prediction mode candidate group, at least one prediction mode is added according to a predetermined priority <for example, assuming top left-top right-bottom left -lower right-middle>. If two prediction modes are added, the upper left block mode and the upper right block mode are added according to the above settings. In this case, if the blocks in the top left and top right positions are configured by one block, the bottom left block mode having the next priority is added.

[00257] Альтернативно в базовую группу режимов-кандидатов предсказания могут быть включены по меньшей мере один режим предсказания (который может определять блоки, смежные с блоком в настоящем положении, если в группу режимов-кандидатов предсказания цветоразностной компоненты включено множество режимов, блоки с предварительно заданным приоритетом и режимы предсказания подблоков с предварительно заданным приоритетом в пределах подблоков могут быть включены как набор кандидатов в соответствии с приоритетом) смежных блоков слева, сверху, сверху слева, сверху справа, снизу слева и т.п. или подблоков соответствующих блоков (если смежные блоки сконфигурированы множеством блоков), или вместо некоторых режимов может быть сконфигурирована новая группа режимов-кандидатов предсказания.[00257] Alternatively, at least one prediction mode (which can determine blocks adjacent to a block at the present position) may be included in the base prediction mode candidate group, if a plurality of modes are included in the color difference component prediction candidate mode group, blocks with a predetermined priority and sub-block prediction modes with a predetermined priority within the sub-blocks may be included as a candidate set according to priority) adjacent blocks left, top, top left, top right, bottom left, and the like. or subblocks of corresponding blocks (if adjacent blocks are configured by multiple blocks), or a new group of candidate prediction modes may be configured instead of some modes.

[00258] Если добавить дополнительное содержимое в приведенное выше описание, может быть включен не только режим предсказания блока компоненты яркости или смежного блока (блока яркости), но также по меньшей мере один режим, производный от режима предсказания, может быть включен в качестве режима предсказания цветоразностной компоненты. Следующие примеры будут включать пример, в котором режим предсказания компоненты яркости принят в качестве режима предсказания цветоразностной компоненты, и подробное описание о примере принятия режима предсказания (например, если принять в качестве примеров смежный режим и направленный режим этого режима, если горизонтальный режим 18 представляет собой режим предсказания компоненты яркости, режимы 17, 19, 16 и т.д. эквивалентны производному режиму предсказания, и если множество режимов предсказания сконфигурированы из цветоразностной компоненты как группа режимов-кандидатов предсказания цветоразностной компоненты, приоритет конфигурации группы кандидатов может быть задан в порядке от режима предсказания компоненты яркости до режима, производного от режима предсказания компоненты яркости), производного от режима предсказания компоненты яркости, или режима предсказания, производного от режима предсказания смежного блока, в качестве группы режимов-кандидатов предсказания цветоразностной компоненты будет опущено. Однако могут применяться одни и те же или измененные настройки, описанные ниже.[00258] If additional content is added to the above description, not only the prediction mode of the luminance component block or adjacent block (luma block) can be included, but also at least one mode derived from the prediction mode can be included as the prediction mode color difference component. The following examples will include an example in which the luminance component prediction mode is adopted as the chrominance component prediction mode, and a detailed description about the example of adopting the prediction mode (for example, taking the adjacent mode and the directional mode of this mode as examples if the horizontal mode 18 is luma component prediction mode, modes 17, 19, 16, etc. are equivalent to the derivative prediction mode, and if a plurality of prediction modes are configured from the chroma component as a chroma component prediction mode candidate group, the configuration priority of the candidate group can be set in order from mode luma component prediction mode derived from luminance component prediction mode) or prediction mode derived from adjacent block prediction mode as a group of candidate chrominance component prediction modes will be omitted. However, the same or modified settings described below may apply.

[00259] В качестве примера (1), если режим предсказания компоненты яркости совпадает с одной из групп режимов-кандидатов предсказания цветоразностной компоненты, конфигурация групп кандидатов является одинаковой (количество групп кандидатов не изменяется), и конфигурации выборочных групп кандидатов отличаются, если совпадение отсутствует (количество групп кандидатов увеличивается).[00259] As an example (1), if the luminance component prediction mode matches one of the chroma component prediction mode candidate groups, the candidate group configuration is the same (the number of candidate groups does not change), and the candidate sample group configurations are different if there is no match (the number of groups of candidates is increasing).

[00260] Если конфигурации групп кандидатов в приведенном выше примере одинаковы, индексы режимов предсказания могут быть одинаковыми, или могут быть присвоены другие индексы, которые могут быть определены в соответствии с настройками кодирования/декодирования. Например, если индексами группы режимов-кандидатов предсказания цветоразностной компоненты являются плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный UR4, в случае когда компонента яркости является горизонтальной, конфигурация группы режимов-кандидатов предсказания остается неизменной, и неизменными остаются индексы каждого режима предсказания, или могут быть присвоены другие индексы (в данном примере - горизонтальный 0, плоский 1, DC2, вертикальный 3 и диагональный UR4). Представленный выше сброс индексов может представлять собой пример процесса, выполняемого с целью генерирования меньшего количества битов режимов в ходе кодирования/декодирования режима предсказания (предположение: присвоение меньшего количества битов малому индексу).[00260] If the candidate group configurations in the above example are the same, the prediction mode indices may be the same, or other indices may be assigned, which may be determined according to encoding/decoding settings. For example, if the indices of the chroma component prediction mode candidate group are flat 0, DC1, vertical 2, horizontal 3, and diagonal UR4, in the case where the luminance component is horizontal, the configuration of the prediction mode candidate group remains unchanged, and the indices of each prediction mode remain unchanged. , or other indices may be assigned (in this example, horizontal 0, flat 1, DC2, vertical 3, and diagonal UR4). The reset of the indices presented above may be an example of a process performed to generate fewer mode bits during prediction mode encoding/decoding (assuming: assigning fewer bits to a small index).

[00261] Если конфигурации групп кандидатов в приведенных выше примерах не являются одинаковыми, они могут быть добавлены, если индексы режимов предсказания могут оставаться такими же, или могут быть присвоены другие индексы. Например, в случае когда настройка индексов группы режимов-кандидатов предсказания является такой же, как в предыдущем примере, если режимом предсказания компоненты яркости является диагональный DL, конфигурация группы режимов-кандидатов предсказания увеличивается на 1, а индекс режима предсказания существующей группы кандидатов остается неизменным. Кроме того, индекс вновь добавленного режима может использоваться как последний (в данном примере диагональный DL5), или могут быть присвоены другие индексы (в данном примере - диагональный DLO, плоский 1, DC2, вертикальный 3, горизонтальный 4 и диагональный UL5).[00261] If the candidate group configurations in the examples above are not the same, they may be added if the prediction mode indices may remain the same, or different indices may be assigned. For example, in the case where the prediction mode candidate group index setting is the same as in the previous example, if the luminance component prediction mode is diagonal DL, the prediction mode group configuration is incremented by 1, and the existing candidate group prediction mode index remains unchanged. In addition, the index of the newly added mode may be used as the last one (in this example diagonal DL5), or other indexes may be assigned (in this example diagonal DLO, flat 1, DC2, vertical 3, horizontal 4 and diagonal UL5).

[00262] В качестве примера (2), если режим предсказания компоненты яркости совпадает с одной из групп режимов-кандидатов предсказания цветоразностной компоненты, конфигурация групп кандидатов является такой же (режимы групп кандидатов не изменяются), и конфигурации групп кандидатов отличаются, если совпадение отсутствует (по меньшей мере один из режимов групп кандидатов заменяется).[00262] As an example (2), if the luma component prediction mode matches one of the chroma component prediction mode candidate groups, the candidate group configuration is the same (candidate group modes do not change), and the candidate group configurations are different if there is no match (at least one of the candidate group modes is replaced).

[00263] Если конфигурации групп кандидатов в приведенных выше примерах являются одинаковыми, индексы режимов предсказания могут являться одинаковыми, или могут быть присвоены другие индексы. Например, если индексами группы режимов-кандидатов предсказания цветоразностной компоненты являются плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный UR4, в случае когда режим предсказания компоненты яркости является вертикальным, конфигурация группы режимов-кандидатов предсказания остается неизменной, и неизменными остаются индексы каждого режима предсказания, или могут быть присвоены другие индексы (в данном примере - вертикальный 0, горизонтальный 1, диагональный UL2, плоский 3 и DC4; данный пример включает, но без ограничения, пример, в котором направленный режим предшествует, в случае если режим компоненты яркости является направленным, и пример, в котором ненаправленный режим предшествует, в случае если режим компоненты яркости является ненаправленным).[00263] If the candidate group configurations in the above examples are the same, the prediction mode indices may be the same, or different indices may be assigned. For example, if the chroma component prediction mode group indices are flat 0, DC1, vertical 2, horizontal 3, and diagonal UR4, in the case where the luminance component prediction mode is vertical, the configuration of the prediction mode candidate group remains unchanged, and the indices of each prediction mode, or other indices may be assigned (in this example, vertical 0, horizontal 1, diagonal UL2, flat 3, and DC4; this example includes, but is not limited to, an example in which the directional mode precedes if the luminance component mode is directional, and an example in which the omnidirectional mode precedes in case the luma component mode is omnidirectional).

[00264] Если конфигурации групп кандидатов в приведенных выше примерах отличаются, остается неизменным режим, в котором индекс режима предсказания остается неизменным, и режиму изменения может быть присвоен индекс режима замены, или множеству режимов предсказания могут быть присвоены индексы, отличные от существующего индекса. Например, если настройка индексов группы режимов-кандидатов предсказания является такой же, как в предыдущем примере, в случае если режимом предсказания компоненты яркости является диагональный DL, один режим в группе режимов-кандидатов предсказания (в данном примере диагональный UL) будет заменен, а индекс режима предсказания существующей группы кандидатов остается неизменным. Индекс режима, подлежащего замене, присваивается как индекс (например, диагональный DL4) вновь добавленного режима, или могут быть присвоены другие индексы (в данном примере - диагональный DL0, плоский 1, DC2, вертикальный (3), горизонтальный 4).[00264] If the configurations of the candidate groups in the above examples are different, the mode in which the prediction mode index remains unchanged, and the change mode may be assigned a replacement mode index, or the plurality of prediction modes may be assigned indices different from the existing index. For example, if the index setting of the prediction mode candidate group is the same as in the previous example, in case the luminance component prediction mode is diagonal DL, one mode in the prediction mode group (in this example, diagonal UL) will be replaced, and the index the prediction mode of the existing group of candidates remains unchanged. The mode index to be replaced is assigned as an index (eg, diagonal DL4) of the newly added mode, or other indices may be assigned (in this example, diagonal DL0, flat 1, DC2, vertical (3), horizontal 4).

[00265] В предшествующем описании пример выполнения сброса индексов приведен с целью присвоения меньшего количества битов режимов, но это лишь пример в соответствии с настойками кодирования/декодирования, и могут иметь место и другие случаи. Если индекс режима предсказания не изменяется, может выполняться преобразование в двоичную форму, при котором малому индексу присваивается небольшое количество битов, или может выполняться преобразование в двоичную форму, при котором биты присваиваются независимо от размера индекса. Например, если группой режимов-кандидатов предсказания сброса является плоский О, DC1, вертикальный 2, горизонтальный 3 и диагональный DL4, даже если диагональному DL присваивается большой индекс, поскольку диагональный DL представляет собой режим, полученный из компоненты яркости, присваивается меньше битов режимов, чем другим режимам предсказания.[00265] In the foregoing description, an example of performing index reset is given to assign fewer mode bits, but this is only an example according to encoding/decoding settings, and other cases may occur. If the prediction mode index does not change, binarization may be performed in which a small number of bits are assigned to a small index, or binarization may be performed in which bits are assigned regardless of the size of the index. For example, if the reset prediction mode candidate group is flat 0, DC1, vertical 2, horizontal 3, and diagonal DL4, even if diagonal DL is assigned a large index, since diagonal DL is a mode derived from the luma component, fewer mode bits are assigned than other prediction modes.

[00266] Режим предсказания может представлять собой режим, поддерживаемый способом, не зависящим от типа изображения, или может представлять собой режим, определяющий поддержку в соответствии с некоторыми типами изображения (например, режим, поддерживаемый типом I изображения, но не поддерживаемый типом Р или В изображения).[00266] The prediction mode may be a mode supported in a manner independent of the image type, or may be a mode that determines support according to some image types (e.g., a mode supported by image type I but not supported by type P or B Images).

[00267] Содержимое, описанное при помощи приведенных выше примеров, ограничено лишь настоящим примером, и возможны дополнительные или другие, модифицированные примеры. Кроме того, настройки кодирования/декодирования, описанные при помощи приведенных выше примеров, могут определяться в неявном виде, или в элементы видео, последовательности, кадра, среза, плитки и т.д. может быть в явном виде включена связанная информация.[00267] The content described with the examples above is limited to the present example, and additional or other modified examples are possible. In addition, the encoding/decoding settings described with the above examples may be defined implicitly, or into video, sequence, frame, slice, tile, and so on elements. related information may be explicitly included.

[00268] (Получение значений предсказания в том же цветовом пространстве в сравнении с получением значений предсказания в других цветовых пространствах)[00268] (Obtaining prediction values in the same color space versus obtaining prediction values in other color spaces)

[00269] В случае режима внутреннего предсказания, описанного при помощи приведенного выше примера, описан режим предсказания в отношении способа (например, экстраполяции, интерполяции, усреднения и т.д.) получения данных для генерирования блока предсказания из смежных областей в пределах одного времени и пространства.[00269] In the case of the intra prediction mode described with the above example, the prediction mode is described with respect to a method (eg, extrapolation, interpolation, averaging, etc.) of obtaining data for generating a prediction block from adjacent regions within the same time, and space.

[00270] В дополнение, может поддерживаться режим предсказания в отношении способа получения данных для генерирования блока предсказания из областей, расположенных в пределах одного времени и разных пространств.[00270] In addition, a prediction mode can be supported with respect to a data acquisition method for generating a prediction block from regions located within the same time and different spaces.

[00271] Например, примером вышеописанного содержимого может являться режим предсказания в отношении способа получения данных для генерирования блока предсказания в других цветовых пространствах с использованием корреляции между цветовыми пространствами. В данном случае, когда в качестве примера принято пространство YCbCr, корреляция между цветовыми пространствами может представлять корреляцию между Y и Cb, Y и Cr, Cb и Cr. То есть в случае цветоразностной компоненты Cb или Cr восстановленный блок компоненты яркости, соответствующий текущему блоку, может быть сгенерирован как блок предсказания текущего блока (базовой настройкой следующего примера является цветовая разность в сравнении с яркостью). Альтернативно восстановленный блок некоторых цветоразностных компонент (Cb или Cr), соответствующий текущему блоку некоторых цветоразностных компонент (Cr или Cb), может быть сгенерирован как блок предсказания цветоразностных компонент (Cr или Cb). В этом случае восстановленный блок других цветовых пространств может быть напрямую сгенерирован как блок предсказания (т.е. без выполнения коррекции), или как блок предсказания может быть сгенерирован блок, полученный с учетом корреляции между цветами (например, существующий восстановленный блок подвергается коррекции по формуле P=a*R+b, где а и b представляют значения для коррекции, R и Р, соответственно, представляют значения, полученные в других цветовых пространствах, и значения предсказания текущего цветового пространства).[00271] For example, an example of the content described above may be a prediction mode with respect to a data acquisition method for generating a prediction block in other color spaces using correlation between color spaces. Here, when YCbCr space is taken as an example, the correlation between color spaces may represent the correlation between Y and Cb, Y and Cr, Cb and Cr. That is, in the case of a Cb or Cr color difference component, a reconstructed luminance component block corresponding to the current block can be generated as a prediction block of the current block (the base setting of the following example is color difference versus luminance). Alternatively, a reconstructed block of some color difference components (Cb or Cr) corresponding to the current block of some color difference components (Cr or Cb) may be generated as a block of prediction of color difference components (Cr or Cb). In this case, the reconstructed block of other color spaces can be directly generated as a prediction block (i.e., without performing correction), or as a prediction block, a block obtained taking into account the correlation between colors can be generated (for example, an existing reconstructed block is corrected by the formula P=a*R+b, where a and b represent values to be corrected, R and P respectively represent values obtained in other color spaces and prediction values of the current color space).

[00272] В данном примере описание осуществляется в предположении, что данные, полученные с использованием корреляции цветового пространства, используются в качестве значения предсказания текущего блока, но оно также возможно в случае, когда данные используются в качестве поправочного значения для коррекции значения предсказания существующего текущего блока (например, в качестве поправочных значений используются остаточные значения других цветовых пространств; то есть существуют другие значения предсказания, и эти значения предсказания являются скорректированными; и хотя эти значения предсказания добавляются с целью получения также значения предсказания, описание сделано для подробного различения). В настоящем описании, как предполагается, описан первый случай, но настоящее изобретение им не ограничено, и поправочные значения могут использоваться аналогично или переменным образом.[00272] In this example, the description is made on the assumption that the data obtained using the color space correlation is used as the prediction value of the current block, but it is also possible in the case that the data is used as a correction value for correcting the prediction value of the existing current block (for example, the residual values of other color spaces are used as correction values; that is, there are other prediction values, and these prediction values are corrected; and although these prediction values are added to obtain a prediction value as well, the description is made for a detailed distinction). The present description is intended to describe the first case, but the present invention is not limited thereto, and the correction values may be used in a similar or variable manner.

[00273] Режим предсказания может представлять собой режим, поддерживаемый способом, не зависящим от типа изображения, или может представлять собой режим, определяющий поддержку в соответствии с некоторыми типами изображения (например, режим, поддерживаемый типом I изображения, но не поддерживаемый типом Р или В изображения).[00273] The prediction mode may be a mode supported in a manner independent of the image type, or may be a mode that determines support according to some image types (e.g., a mode supported by image type I but not supported by type P or B Images).

[00274] (Сравнение с получением связанной информации)[00274] (Comparison with obtaining related information)

[00275] В приведенном выше примере информация о корреляции (a, b и т.д.) между цветовыми пространствами может в явном виде включать связанную информацию, или она может быть получена в неявном виде. В данном случае область сравнения для получения связанной информации может представлять собой 1) текущий блок цветоразностной компоненты и соответствующий блок компоненты яркости или 2) смежную область (например, левый блок, верхний блок, верхний левый блок, верхний правый блок, нижний левый блок и т.д.) текущего блока цветоразностной компоненты и смежную область соответствующего блока компоненты яркости. Настоящий пример представляет собой пример, в котором первое может выражаться в явном виде, а последнее может выражаться в неявном виде.[00275] In the example above, correlation information (a, b, etc.) between color spaces may explicitly include related information, or it may be obtained implicitly. In this case, the area of comparison to obtain related information may be 1) the current chroma component block and the corresponding luminance component block, or 2) an adjacent area (e.g., left block, top block, top left block, top right block, bottom left block, etc.). .e) of the current block of the color difference component and the adjacent area of the corresponding block of the luma component. The present example is an example in which the former may be expressed explicitly and the latter may be expressed implicitly.

[00276] Например, связанная информация получается путем сравнения по меньшей мере одного значения пикселя каждого цветового пространства (в данном случае значением пикселя, подлежащим сравнению, может являться значение пикселя, полученное из одного пикселя в каждом цветовом пространстве, и может являться значение пикселя, полученное из множества пикселей). Значения пикселя, получаемые из процесса фильтрации путем взвешенного усреднения или т.п., то есть количество пикселей, являющихся опорными или используемых для сравнения одного значения пикселя каждого цветового пространства, может представлять собой один пиксель в сравнении с одним пикселем, один пиксель в сравнении с множеством пикселей или т.п. В этом случае первое может представлять собой цветовое пространство для генерирования значения предсказания, а последнее может представлять собой опорное цветовое пространство. Приведенный выше пример может являться возможным в соответствии с форматом цвета, или значение пикселя для одного пикселя цветоразностной компоненты можно сравнить со значением пикселя для соответствующего пикселя компоненты яркости способом, не зависящим от формата цвета, значение пикселя для одного пикселя цветоразностной компоненты можно сравнить со значением пикселя, полученным путем выполнения фильтра <a-tapseparatelDfilter, bxcmasknon-separable2Dfilter, d-tapdirectionalfilter и т.д> в отношении множества пикселей компоненты яркости, и любой из этих двух способов может быть использован в соответствии с настройками кодирования/декодирования. Выше описаны примеры цветовой разности и яркости, однако могут также иметь место такие преобразованные примеры, как цветовая разность <Cb> и цветовая разность <Cr>.[00276] For example, related information is obtained by comparing at least one pixel value of each color space (in this case, the pixel value to be compared may be a pixel value obtained from one pixel in each color space, and may be a pixel value obtained from many pixels). The pixel values obtained from the weighted average filtering process or the like, that is, the number of pixels that are referenced or used to compare one pixel value of each color space, may be one pixel versus one pixel, one pixel versus a plurality of pixels or the like. In this case, the former may be the color space for generating the prediction value, and the latter may be the reference color space. The above example may be possible according to the color format, or the pixel value for one pixel of the chroma component can be compared with the pixel value for the corresponding pixel of the luma component in a color format independent way, the pixel value for one pixel of the chroma component can be compared with the pixel value , obtained by performing the filter <a-tapseparatelDfilter, bxcmasknon-separable2Dfilter, d-tapdirectionalfilter, etc.> on a set of pixels of the luminance component, and either of these two methods can be used according to the encoding/decoding settings. Examples of color difference and brightness have been described above, but converted examples such as color difference <Cb> and color difference <Cr> may also occur.

[00277] В приведенном выше примере областью сравнения, если связанная информация получена в неявном виде, может являться ближайшая линия пикселей текущего блока текущей цветовой компоненты (например, пиксели, включая от р[-1, -1] до p[blk_width-1, -1], от р[-1, 0] до р[-1, blk_height-1]), и соответствующие линии пикселей других цветовых пространств или множество линий пикселей текущего блока текущей цветовой компоненты (например, в вышеописанном случае пиксели, включенные во множество линий пикселей, включающих от р[-2, -2] до p[blk_width-1, -2], от р[-2, -1] до р[-2, blk_height-1], и соответствующие линии пикселей других цветовых пространств.[00277] In the above example, the area of comparison, if the related information is obtained implicitly, may be the nearest line of pixels of the current block of the current color component (for example, pixels, including from p[-1, -1] to p[blk_width-1, -1], p[-1, 0] to p[-1, blk_height-1]), and the corresponding pixel lines of other color spaces, or the set of pixel lines of the current block of the current color component (for example, in the above case, the pixels included in a plurality of pixel lines including p[-2, -2] to p[blk_width-1, -2], p[-2, -1] to p[-2, blk_height-1], and corresponding pixel lines of others color spaces.

[00278] В частности, в предположении, что форматом цвета является формат 4:2:0, для сравнения значения пикселя для одного пикселя в текущем цветовом пространстве (в данном примере цветовой разности) может быть использовано значение пикселя для одного пикселя в предварительно заданном положении (в данном примере выбранном из верхнего левого, верхнего правого, нижнего левого и нижнего правого в пределах 2×2) в 4 соответствующих пикселях (один пиксель цветоразностной компоненты соответствует 4 пикселям в пределах 2×2 компоненты яркости) в других цветовых пространствах (в данном примере яркости бита). Альтернативно для сравнения значения пикселя для одного пикселя в пространстве цветности, может быть использовано значение пикселя, полученное путем выполнения фильтрации в отношении множества пикселей (например, по меньшей мере двух пикселей в соответствующих пикселях 2×2 и т.д.) в пространстве яркости.[00278] Specifically, assuming the color format is 4:2:0, the pixel value for one pixel at a predetermined position can be used to compare the pixel value for one pixel in the current color space (in this example, color difference). (in this example, selected from top left, top right, bottom left, and bottom right within 2x2) in 4 corresponding pixels (one chroma component pixel corresponds to 4 pixels within a 2x2 luma component) in other color spaces (in this bit brightness example). Alternatively, to compare a pixel value for a single pixel in chrominance space, a pixel value obtained by performing filtering on a plurality of pixels (e.g., at least two pixels in corresponding 2×2 pixels, etc.) in luma space can be used.

[00279] Подводя итог, информация о параметрах может быть получена из восстановленных пикселей в смежной области текущего блока и восстановленных пикселей в других соответствующих цветовых пространствах. То есть на основе связанной информации может быть сгенерирован по меньшей мере один параметр (например, а или b, a1, b1 или а2, b2 и т.д.), и он может быть использован как значение, которое умножается на или прибавляется к пикселям восстановленных блоков в других цветовых пространствах (например, a, a1, a2/b, b1, b2).[00279] To summarize, parameter information can be obtained from reconstructed pixels in an adjacent area of the current block and reconstructed pixels in other respective color spaces. That is, based on the associated information, at least one parameter (e.g., a or b, a1, b1 or a2, b2, etc.) can be generated and can be used as a value that is multiplied by or added to pixels restored blocks in other color spaces (for example, a, a1, a2/b, b1, b2).

[00280] В этом случае обработка сравнения может быть выполнена после определения доступности пикселей, подвергнутых сравнению в приведенном выше примере. Например, если смежная область доступна, ее можно использовать как пиксель для сравнения, и, если смежная область недоступна, она может быть определена в соответствии с настройками кодирования/декодирования. Например, если пиксель в смежной области недоступен, он может быть исключен из процесса получения связанной информации цветового пространства, или он может быть включен в процесс сравнения после заполнения недоступной области, что может определяться в соответствии с настройками кодирования/декодирования.[00280] In this case, the comparison processing may be performed after determining the availability of the pixels subjected to comparison in the above example. For example, if the adjacent area is available, it can be used as a comparison pixel, and if the adjacent area is not available, it can be determined according to the encoding/decoding settings. For example, if a pixel in the adjacent area is unavailable, it may be excluded from the process of obtaining the associated color space information, or it may be included in the comparison process after filling the unavailable area, which may be determined according to encoding/decoding settings.

[00281] Например, при исключении из процесса получения информации о корреляции между цветовыми пространствами, этот пример может являться примером, соответствующим случаю, в котором недоступной является область, содержащая пиксели по меньшей мере одного цветового пространства. Подробнее, это может являться примером, соответствующим случаю, в котором недоступны пиксели одного из двух цветовых пространств, или недоступны пиксели двух цветовых пространств, что может быть определено в соответствии с настройками кодирования/декодирования.[00281] For example, when excluding from the process of obtaining information about the correlation between color spaces, this example may be an example corresponding to the case in which an area containing pixels of at least one color space is inaccessible. In more detail, this may be an example corresponding to the case in which the pixels of one of the two color spaces are not available, or the pixels of the two color spaces are not available, which can be determined according to the encoding/decoding settings.

[00282] Альтернативно, если процесс получения информации о корреляции между цветовыми пространствами выполняется после заполнения данных для сравнения в недоступной области (или операции, аналогичной процессу заполнения опорного пикселя), могут быть использованы различные способы заполнения. Например, для заполнения может быть использовано предварительно заданное значение пикселя (например, срединное значение 1 из bit_depth << (bit_depth-1), значение между минимальным и максимальным значениями фактического пикселя изображения, среднее фактического пикселя изображения, срединное значение и т.д.), для заполнения могут быть использованы смежные пиксели или значение, полученное путем выполнения фильтрации (операции, аналогичной процессу фильтрации опорных пикселей) в отношении смежных пикселей, или могут быть использованы другие способы.[00282] Alternatively, if the process of obtaining information about the correlation between color spaces is performed after filling data for comparison in the inaccessible area (or an operation similar to the process of filling the reference pixel), various methods of filling can be used. For example, a predefined pixel value can be used for padding (e.g., median value 1 of bit_depth << (bit_depth-1), a value between the minimum and maximum values of the actual image pixel, the average of the actual image pixel, the median value, etc.) , adjacent pixels or a value obtained by performing filtering (an operation similar to the filtering of reference pixels) on adjacent pixels may be used for filling, or other methods may be used.

[00283] На фиг. 10 изображен пример сравнения пикселей из разных цветовых пространств с целью получения информации о корреляции. Для простоты описания предполагается, что используется формат цвета 4:4:4. В этом случае описан следующий процесс в соответствии с компонентным соотношением формата цвета (т.е. процесс, включающий процесс преобразования на основе компонентного соотношения).[00283] FIG. 10 shows an example of comparing pixels from different color spaces to obtain correlation information. For ease of description, it is assumed that a 4:4:4 color format is used. In this case, the following process according to the component ratio of the color format (ie, the process including the conversion process based on the component ratio) is described.

[00284] R0 представляет пример, в котором могут использоваться области цветового пространства с обеих сторон. Поскольку доступными областями являются области цветового пространства с обеих сторон, в процессе сравнения с целью получения связанной информации могут использоваться пиксели в соответствующих областях.[00284] R0 represents an example in which color space regions on both sides can be used. Since the available areas are the color space areas on both sides, pixels in the respective areas can be used in the comparison process to obtain related information.

[00285] R1 представляет пример, в котором одна из областей цветового пространства с обеих сторон недоступна (в этом примере смежная область текущего цветового пространства доступна, тогда как соответствующие области других цветовых пространств недоступны). Недоступные области могут быть использованы для процесса сравнения после использования различных способов заполнения недоступных областей.[00285] R1 represents an example in which one of the color space regions on both sides is not available (in this example, the adjacent region of the current color space is available while the corresponding regions of the other color spaces are not available). The blank areas can be used for the comparison process after using various methods to fill the blank areas.

[00286] R2 представляет пример, в котором одна из областей цветового пространства с обеих сторон недоступна (в этом примере смежная область текущего цветового пространства недоступна, тогда как соответствующие области других цветовых пространств доступны). Так как с одной стороны имеется недоступная область, соответствующие области двух цветовых пространств нельзя использовать в процессе сравнения.[00286] R2 represents an example in which one of the color space regions on both sides is not available (in this example, the adjacent region of the current color space is not available, while the corresponding regions of other color spaces are available). Since there is an inaccessible area on one side, the corresponding areas of the two color spaces cannot be used in the comparison process.

[00287] R3 представляет пример, в котором области цветового пространства с обеих сторон недоступны. Недоступные области заполняются с использованием различных способов и могут быть использованы для процесса сравнения.[00287] R3 represents an example in which color space regions on both sides are not available. Inaccessible areas are filled using various methods and can be used for the comparison process.

[00288] R4 представляет пример, в котором области цветового пространства с обеих сторон недоступны. Так как имеются недоступные области с обеих сторон, соответствующие области цветовых пространств с обеих сторон нельзя использовать в процессе сравнения.[00288] R4 represents an example in which color space regions on both sides are not available. Since there are inaccessible areas on both sides, the corresponding areas of color spaces on both sides cannot be used in the comparison process.

[00289] В дополнение, в отличие от фиг. 10, если смежные области текущего блока или соответствующие области других цветовых пространств недоступны, могут быть выполнены различные настройки.[00289] In addition, in contrast to FIG. 10, if adjacent areas of the current block or corresponding areas of other color spaces are not available, various adjustments can be made.

[00290] В качестве примера, а и b могут быть присвоены предварительно заданные значения (в данном примере а равно 1, и b равно 0). Этот случай может подразумевать поддержание режима, в котором данные в другом цветовом пространстве заполняются блоком предсказания текущего блока. Кроме того, данный случай может допускать, при выполнении кодирования/декодирования режима предсказания, чтобы настройка или приоритет вероятности появления (или выбора) режима имел настройку, отличную от существующего случая (например, вероятность выбора задается как менее высокая, или приоритет задается как менее высокий; другими словами, вследствие низкой точности связанной информации, точность блока предсказания, полученного при помощи данного режима предсказания, может быть очень низкой, поэтому оценивается, что режим не будет выбран в качестве оптимального режима предсказания).[00290] As an example, a and b can be assigned predefined values (in this example, a is 1 and b is 0). This case may involve maintaining a mode in which data in a different color space is filled with the current block's prediction block. In addition, this case may allow, when performing encoding/decoding of the prediction mode, that the setting or priority of the occurrence (or selection) probability of the mode has a setting different from the existing case (for example, the selection probability is set to be less high, or the priority is set to be less high). ; in other words, due to the low accuracy of the associated information, the accuracy of the prediction block obtained using this prediction mode may be very low, so it is estimated that the mode will not be selected as the optimal prediction mode).

[00291] Например, поскольку отсутствуют данные для сравнения, режим заполнения данных другого цветового пространства блоком предсказания текущего блока может не поддерживаться. То есть этот режим может представлять собой режим, поддерживаемый тогда, когда имеется по меньшей мере одна доступная область. В этом случае при выполнении кодирования/декодирования режима предсказания оно может быть настроено так, чтобы допускать или не допускать замену данного режима другими режимами. Первый случай может представлять собой настройку, при которой количество групп режимов-кандидатов предсказания сохраняется, и последний случай представляет собой настройку, при которой количество групп режимов-кандидатов предсказания уменьшается.[00291] For example, since there is no data to compare, the mode of filling different color space data with a prediction block of the current block may not be supported. That is, this mode may be a mode supported when there is at least one available area. In this case, when encoding/decoding is performed, the prediction mode may be configured to allow or not to allow this mode to be replaced by other modes. The first case may be a setting in which the number of prediction mode groups is kept, and the latter case is a setting in which the number of prediction mode groups is reduced.

[00292] Настоящее изобретение не ограничено приведенными выше примерами, и также могут иметь место различные преобразованные примеры.[00292] The present invention is not limited to the above examples, and various converted examples may also take place.

[00293] В приведенном выше примере случай недоступности представляет собой случай, в котором область находится вне границ изображения (например, кадра, среза, плитки и т.д.) (то есть текущий блок и область не включены в одно изображение), если область не была кодирована/декодирована. Например, случай недоступности может быть добавлен в соответствии с настройками кодирования/декодирования (например, constrained_intra_pred_flag и т.д., например, если типом является срез Р или В, вышеуказанный флаг равен 1, и режимом кодирования соответствующей области является предсказание, осуществляемое между изображениями).[00293] In the above example, a disabled case is a case in which an area is outside the boundaries of an image (e.g., frame, slice, tile, etc.) (i.e., the current block and the area are not included in the same image), if the area has not been encoded/decoded. For example, a non-accessible case can be added according to encoding/decoding settings (eg, constrained_intra_pred_flag, etc., for example, if the type is slice P or B, the above flag is 1, and the encoding mode of the corresponding region is inter-picture prediction. ).

[00294] В следующем примере вышеупомянутое ограничение может возникнуть при генерировании блока предсказания текущего блока с использованием восстановленных данных из других цветовых пространств после получения связанной информации путем сравнения двух цветовых пространств. То есть, как описано выше, если определено, что соответствующие области других цветовых пространств, соответствующих текущему блоку, недоступны, использование этого режима может быть ограничено, или этот режим является недоступным.[00294] In the following example, the above limitation may occur when generating a prediction block of the current block using recovered data from other color spaces after obtaining related information by comparing two color spaces. That is, as described above, if it is determined that the corresponding regions of other color spaces corresponding to the current block are not available, the use of this mode may be limited, or this mode is not available.

[00295] Для генерирования значения предсказания текущего блока может быть использован параметр, представляющий информацию о корреляции между цветовыми пространствами, полученную при помощи вышеописанного процесса и восстановленных данных других цветовых пространств, соответствующих текущему блоку. В этом случае восстановленные данные других цветовых пространств, используемые для предсказания текущего блока, могут представлять собой значение пикселя для пикселя в предварительно заданном положении или значение пикселя, полученное при помощи процесса фильтрации.[00295] To generate a prediction value of the current block, a parameter representing correlation information between color spaces obtained by the above process and recovered data of other color spaces corresponding to the current block can be used. In this case, the reconstructed data of other color spaces used to predict the current block may be a pixel value for a pixel at a predetermined position, or a pixel value obtained by a filtering process.

[00296] Например, в случае 4:4:4 для генерирования значения предсказания одного пикселя в пространстве цветности, может быть использовано значение пикселя для соответствующего пикселя в пространстве яркости. Альтернативно для генерирования значения предсказания одного пикселя в пространстве цветности, могут быть использованы значения пикселя, полученные путем фильтрации множества пикселей в пространстве яркости (например, пикселей в таких направлениях, как влево, вправо, вверх, вниз, вверх влево, вверх вправо, вниз влево и вниз вправо путем центрирования на соответствующем пикселе, если, в качестве примеров, применяются 5-отводные и 7-отводные фильтры, понятно, что имеются два пикселя и три пикселя конкретно в направлениях влево, вправо, вверх и вниз, соответственно, путем центрирования на соответствующем пикселе).[00296] For example, in the case of 4:4:4, to generate a prediction value of one pixel in chrominance space, a pixel value for the corresponding pixel in luma space can be used. Alternatively, to generate a prediction value of one pixel in chrominance space, pixel values obtained by filtering a plurality of pixels in luma space (e.g., pixels in directions such as left, right, up, down, up left, up right, down left) can be used. and down right by centering on the corresponding pixel, if 5-tap and 7-tap filters are used as examples, it is understood that there are two pixels and three pixels specifically in the left, right, up and down directions, respectively, by centering on corresponding pixel).

[00297] Например, в случае 4:2:0, для генерирования значения предсказания одного пикселя в пространстве цветности может быть использовано значение пикселя для одного пикселя в предварительно заданном положении (выбранном из верхнего левого, верхнего правого, нижнего левого и нижнего правого) из четырех соответствующих пикселей (один пиксель цветоразностной компоненты соответствует пикселям 2×2 компоненты яркости) в пространстве яркости. Альтернативно для генерирования значения предсказания одного пикселя в пространстве цветности могут быть использованы значения пикселя, полученные путем фильтрации множества пикселей (например, по меньшей мере двух пикселей в соответствующих пикселях 2×2 или пикселей в таких направлениях, как влево, вправо, вверх, вниз, вверх влево, вверх вправо, вниз влево и вниз вправо, путем центрирования на пикселях 2×2) в пространстве яркости.[00297] For example, in the case of 4:2:0, a pixel value for one pixel at a predetermined position (selected from top left, top right, bottom left, and bottom right) of four corresponding pixels (one chroma component pixel corresponds to 2×2 luminance component pixels) in luma space. Alternatively, pixel values obtained by filtering a plurality of pixels (e.g., at least two pixels in corresponding 2x2 pixels, or pixels in directions such as left, right, up, down, up left, up right, down left, and down right, by centering on 2×2 pixels) in luma space.

[00298] Подводя итог, для получения значения пикселя, используемого в качестве значения предсказания пикселя в текущем цветовом пространстве, к значению пикселя, полученному в других цветовых пространствах, может быть применен (путем умножения или сложения и т.д.) параметр, представляющий информацию о корреляции, полученную при помощи вышеописанного процесса.[00298] Summarizing, in order to obtain a pixel value used as a pixel prediction value in the current color space, a parameter representing information can be applied to the pixel value obtained in other color spaces (by multiplying or adding, etc.) about the correlation obtained using the above process.

[00299] В приведенном выше примере были описаны некоторые форматы цвета, некоторые процессы получения значений пикселя и т.д., однако настоящее изобретение не ограничено ими, и в других случаях могут использоваться такие же или модифицированные примеры.[00299] In the above example, some color formats, some processes for obtaining pixel values, etc. have been described, however, the present invention is not limited to them, and the same or modified examples may be used in other cases.

[00300] Описанное содержимое (получение значений предсказания в одном цветовом пространстве в сравнении с получением значений предсказания в разных цветовых пространствах) может быть применено к конфигурации фиксированной группы кандидатов в сравнении с конфигурацией переменной группы кандидатов. Например, если значение предсказания нельзя получить в других цветовых пространствах, в группу кандидатов может быть включен режим замены значения предсказания.[00300] The described content (obtaining prediction values in one color space versus obtaining prediction values in different color spaces) can be applied to a fixed candidate group configuration versus a variable candidate group configuration. For example, if a prediction value cannot be obtained in other color spaces, a prediction value replacement mode may be included in the candidate group.

[00301] При помощи вышеописанного примера, в случае вышеописанного режима предсказания, в элементы изображения, последовательности, кадра, среза и плитки может быть включена связанная информация (например, информация о поддержке или ее отсутствии, информация о параметрах и т.д.).[00301] With the above example, in the case of the above prediction mode, related information (e.g., support or lack of support information, parameter information, etc.) can be included in picture, sequence, frame, slice, and tile elements.

[00302] Подводя итог, режим предсказания (режим А), связанный со способом (вышеуказанный способ представляет собой способ получения данных для генерирования блоков предсказания из смежных областей в пределах одного времени и одного пространства в соответствии с настройками кодирования/декодирования), используется для конфигурирования группы режимов-кандидатов предсказания, или, помимо режима предсказания, группа режимов-кандидатов предсказания может содержать режим предсказания (режим В), связанный со способом (вышеуказанный способ представляет собой способ получения данных для генерирования блоков предсказания из областей, расположенных в пределах одного времени и разных пространств).[00302] Summarizing, the prediction mode (mode A) associated with the method (the above method is a data acquisition method for generating prediction blocks from adjacent areas within the same time and the same space according to the encoding/decoding settings) is used to configure the prediction mode candidate group, or, in addition to the prediction mode, the prediction mode candidate group may comprise a prediction mode (B mode) associated with a method (the above method is a data acquisition method for generating prediction blocks from regions located within the same time and different spaces).

[00303] В приведенном выше примере группа режимов-кандидатов предсказания может быть сконфигурирована с использованием только режима А или только режима В, и группа режимов-кандидатов предсказания может быть сконфигурирована путем комбинирования режима А и режима В. Информация о настройках конфигурации группы режимов-кандидатов предсказания может быть в явном виде сгенерирована корреляционным способом, или информация о конфигурации группы режимов-кандидатов предсказания может быть в неявном виде определена заранее.[00303] In the above example, the prediction mode group candidate can be configured using only mode A or mode B only, and the prediction mode group can be configured by combining mode A and mode B. Candidate mode group configuration setting information predictions may be explicitly generated in a correlation manner, or the configuration information of a group of candidate prediction modes may be implicitly predetermined.

[00304] Например, группы режимов-кандидатов предсказания могут иметь одну конфигурацию независимо от каких-либо настроек кодирования/декодирования (в данном примере - типов изображения) или иметь одну конфигурацию в соответствии с некоторыми настройками кодирования/декодирования (например, режим А, режим В_1<цветовой режим> и режим В_2<режим копирования цвета> используются для конфигурирования группы режимов-кандидатов предсказания в типе I изображения, режим А и режим В_1 используются для конфигурирования группы режимов-кандидатов предсказания в типе Р изображения, и режим А и режим В_2 используются для конфигурирования группы режимов-кандидатов предсказания в типе В изображения).[00304] For example, groups of candidate prediction modes may have one configuration regardless of any encoding/decoding settings (picture types in this example) or have one configuration according to some encoding/decoding settings (e.g., mode A, mode B_1<color mode> and mode B_2<color copy mode> are used to configure a group of prediction candidate modes in picture type I, mode A and mode B_1 are used to configure a group of candidate prediction modes in picture type P, and mode A and mode B_2 are used to configure a group of candidate prediction modes in picture type B).

[00305] В настоящем описании группа режимов-кандидатов предсказания для компоненты яркости изображена на фиг. 9, и предполагается, что группа режимов-кандидатов предсказания для цветоразностной компоненты выполнена как горизонтальный, вертикальный и диагональный режимы на фиг. 9 (плоский, DC, цветовой режим 1, цветовой режим 2, цветовой режим 3, режим 1 копирования цвета, режим 2 копирования цвета, режим 1 смежного блока (левого блока), смежный режим 2 (верхний блок)), однако также могут иметься другие настройки различных групп режимов-кандидатов предсказания.[00305] In the present description, a group of candidate prediction modes for the luma component is depicted in FIG. 9, and it is assumed that the group of candidate prediction modes for the color difference component is configured as the horizontal, vertical, and diagonal modes in FIG. 9 (flat, DC, color mode 1, color mode 2, color mode 3, copy color mode 1, copy color mode 2, adjacent block (left block) mode 1), adjacent block mode 2 (upper block)), but may also have other settings of various groups of candidate prediction modes.

[00306] В способе кодирования изображения согласно варианту осуществления настоящего изобретения внутреннее предсказание может быть выполнено следующим образом. Внутреннее предсказание секции предсказания может содержать этап конфигурации опорных пикселей, этап генерирования блока предсказания, этап определения режима предсказания и этап кодирования режима предсказания. Кроме того, устройство для кодирования изображения может быть выполнено с возможностью включения секции конфигурации опорных пикселей, секции генерирования блока предсказания и секции кодирования режима предсказания для реализации этапа конфигурации опорных пикселей, этапа генерирования блока предсказания, этапа определения режима предсказания и этапа кодирования режима предсказания. Некоторые этапы вышеописанного процесса могут быть опущены, или могут быть добавлены другие этапы, и их порядок может быть заменен на другие порядки, отличные от приведенного выше порядка.[00306] In the image encoding method according to an embodiment of the present invention, intra prediction may be performed as follows. The intra prediction of the prediction section may comprise a step of configuring the reference pixels, a step of generating a prediction block, a step of determining a prediction mode, and a step of encoding a prediction mode. In addition, the image encoding device may be configured to include a reference pixel configuration section, a prediction block generation section, and a prediction mode coding section to implement the reference pixel configuration step, the prediction block generation step, the prediction mode determination step, and the prediction mode encoding step. Some of the steps in the above process may be omitted, or other steps may be added and their order may be changed to other orders than the above order.

[00307] Кроме того, в способе декодирования изображения согласно варианту осуществления настоящего изобретения внутреннее предсказание может быть выполнено следующим образом. Внутреннее предсказание секции предсказания может предусматривать этап декодирования режима предсказания, этап конфигурации опорных пикселей и этап генерирования блока предсказания. Кроме того, устройство для декодирования изображения может быть выполнено с возможностью включения секции декодирования режима предсказания для реализации этапа декодирования режима предсказания, секции конфигурации опорных пикселей для реализации этапа конфигурации опорных пикселей и секции генерирования блока предсказания для реализации этапа генерирования блока предсказания. Некоторые из вышеописанных этапов могут быть опущены, или могут быть добавлены другие этапы, и их порядок может быть заменен на другие порядки, отличные от приведенного выше порядка.[00307] In addition, in the image decoding method according to the embodiment of the present invention, intra prediction can be performed as follows. Intra prediction of the prediction section may include a prediction mode decoding step, a reference pixel configuration step, and a prediction block generation step. In addition, the image decoding apparatus may be configured to include a prediction mode decoding section for implementing the prediction mode decoding step, a reference pixel configuration section for implementing the reference pixel configuration step, and a prediction block generating section for implementing the prediction block generating step. Some of the steps described above may be omitted, or other steps may be added and their order may be changed to other orders than the above order.

[00308] На этапе генерирования блока предсказания может выполняться внутреннее предсказание в элементе текущего блока (например, блока кодирования, блока предсказания, блока преобразования и т.д.) или может выполняться внутреннее предсказание в элементе предварительно определенного подблока. С этой целью может использоваться флаг, указывающий, разделен ли текущий блок на подблоки для выполнения внутреннего предсказания. Этот флаг может кодироваться и сообщаться устройством для кодирования. Если флаг равен первому значению, текущий блок разделен на множество подблоков, в ином случае текущий блок не разделен на множество подблоков. В данном случае разделение может представлять собой дополнительное разделение, выполненное после разделения на основе вышеописанной древовидной структуры. Подблоки, принадлежащие к текущему блоку, совместно используют один режим внутреннего предсказания, но для каждого подблока могут быть сконфигурированы разные опорные пиксели. Альтернативно подблоки могут использовать один режим внутреннего предсказания и одинаковые опорные пиксели. Альтернативно подблоки могут использовать одинаковые опорные пиксели, но для каждого подблока могут использоваться разные режимы внутреннего предсказания.[00308] At the prediction block generation step, intra prediction may be performed on an element of the current block (eg, coding block, prediction block, transform block, etc.) or intra prediction may be performed on an element of a predetermined sub-block. For this purpose, a flag may be used indicating whether the current block is divided into subblocks to perform intra prediction. This flag may be encoded and reported by the encoder. If the flag is equal to the first value, the current block is divided into a plurality of subblocks, otherwise the current block is not divided into a plurality of subblocks. In this case, the division may be an additional division performed after the division based on the above tree structure. Subblocks belonging to the current block share the same intra prediction mode, but different reference pixels may be configured for each subblock. Alternatively, the sub-blocks may use the same intra prediction mode and the same reference pixels. Alternatively, the subblocks may use the same reference pixels, but different intra prediction modes may be used for each subblock.

[00309] Разделение может выполняться в вертикальном или горизонтальном направлении. Направление разделения может быть определено на основе флага, сообщаемого устройством для кодирования. Например, если флаг имеет первое значение, разделение может выполняться в горизонтальном направлении, в ином случае разделение может выполняться в вертикальном направлении. Альтернативно направление разделения может определяться на основе размера текущего блока. Например, если высота текущего блока больше предварительно определенного порогового значения, разделение может выполняться в горизонтальном направлении, и, если ширина текущего блока больше предварительно определенного порогового значения, разделение может выполняться в вертикальном направлении. В данном случае пороговое значение может представлять собой фиксированное значение, предопределенное в устройстве для кодирования/декодирования, или пороговое значение может определяться на основе информации о размере блока (например, размере максимального блока преобразования, размере максимального блока кодирования и т.д.). Информация о размере блока может сообщаться в по меньшей мере одном уровне последовательности, кадра, среза, плитки, брикета или строки CTU.[00309] The separation can be performed in the vertical or horizontal direction. The split direction may be determined based on a flag reported by the encoder. For example, if the flag has a first value, splitting may be performed in the horizontal direction, otherwise splitting may be performed in the vertical direction. Alternatively, the split direction may be determined based on the size of the current block. For example, if the height of the current block is greater than a predetermined threshold, division may be performed in the horizontal direction, and if the width of the current block is greater than the predetermined threshold, division may be performed in the vertical direction. Here, the threshold may be a fixed value predetermined in the encoding/decoding device, or the threshold may be determined based on block size information (eg, maximum transform block size, maximum coding block size, etc.). The block size information may be reported in at least one sequence, frame, slice, tile, chunk, or row level of the CTU.

[00310] Количество подблоков может определяться переменным образом на основе размера, формы, глубины разделения, режима внутреннего предсказания и т.д. текущего блока. Например, если текущий блок имеет размер 4×8 или 8×4, текущий блок может быть разделен на два подблока. Альтернативно, если текущий блок имеет размер, больший или равный 8×8, текущий блок может быть разделен на четыре подблока.[00310] The number of sub-blocks may be variably determined based on size, shape, split depth, intra prediction mode, and so on. current block. For example, if the current block has a size of 4×8 or 8×4, the current block may be divided into two sub-blocks. Alternatively, if the current block has a size greater than or equal to 8×8, the current block may be divided into four sub-blocks.

[00311] В настоящем описании главным образом будет описан кодер. В случае декодера подробное описание в отношении декодера опущено, поскольку оно может быть получено из содержимого кодера в обратном порядке.[00311] In the present description, the encoder will be mainly described. In the case of a decoder, the detailed description regarding the decoder is omitted because it can be obtained from the contents of the encoder in reverse order.

[00312] На фиг. 11 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания. Размер и форма (M×N) текущего блока, используемого для предсказания, могут быть получены из секции разделения блока и будут описаны на основе предположения о том, что внутреннее предсказание поддерживается в пределах диапазона 4×4 - 128×128. В целом внутреннее предсказание может выполняться с использованием элемента блока предсказания, однако, в соответствии с настройками секции разделения блока, может выполняться внутреннее предсказание в элементах блоков кодирования и блоков преобразования. После подтверждения информации о блоке секция конфигурации опорных пикселей может конфигурировать опорный пиксель, используемый для предсказания текущего блока. В этом случае обработка опорного пикселя может выполняться временным запоминающим устройством (например, массивом <Array>, главным массивом или вспомогательным массивом и т.д.), опорный пиксель может генерироваться и удаляться во время каждого процесса внутреннего предсказания блока, и размер временного запоминающего устройства может определяться в соответствии с конфигурацией опорного пикселя.[00312] FIG. 11 is a schematic diagram for explaining the configuration of reference pixels for intra prediction. The size and shape (M×N) of the current block used for prediction can be obtained from the block division section and will be described based on the assumption that intra prediction is maintained within the range of 4×4 to 128×128. In general, intra prediction can be performed using a prediction block element, however, according to the settings of the block division section, intra prediction can be performed in coding block and transform block elements. After confirming the block information, the reference pixel configuration section may configure the reference pixel used to predict the current block. In this case, the reference pixel processing may be performed by a temporary storage device (for example, <Array>, main array or auxiliary array, etc.), the reference pixel may be generated and removed during each intra block prediction process, and the size of the temporary storage may be determined according to the configuration of the reference pixel.

[00313] Данный пример описывается на основе предположения о том, что для предсказания текущего блока путем центрирования на текущем блоке используются левый блок, верхний блок, верхний левый блок, верхний правый блок и нижний левый блок. Однако он этим не ограничен, и для предсказания текущего блока может использоваться группа блоков-кандидатов, имеющая другие конфигурации. Например, группа кандидатов для смежных блоков опорного пикселя может представлять собой пример в соответствии с растровым или Z-сканированием, и часть группы кандидатов может быть удалена в соответствии с порядком сканирования, или группа кандидатов может быть выполнена с возможностью включения других групп блоков-кандидатов (например, дополнительной конфигурации верхнего блока, нижнего блока, нижнего правого блока и т.д.).[00313] This example is described based on the assumption that left box, top box, top left box, top right box, and bottom left box are used to predict the current block by centering on the current block. However, it is not limited to this, and a candidate block group having other configurations may be used to predict the current block. For example, a candidate group for adjacent blocks of a reference pixel may be an example according to a raster or Z-scan, and part of the candidate group may be removed according to the scan order, or the candidate group may be configured to include other candidate block groups ( for example, additional configuration of top block, bottom block, bottom right block, etc.).

[00314] Альтернативно для предсказания текущего блока могут использоваться блоки (например, имеющие соответствующие координаты согласно той же координате или компонентному композиционному соотношению в каждом цветовом пространстве), соответствующие текущему блоку в других цветовых пространствах (например, если текущий блок принадлежит к Cr, другие цветовые пространства соответствуют Y или Cb). Кроме того, для простоты описания описание выполнено в предположении, что предварительно заданное положение (левое, верхнее, верхнее левое, верхнее правое и нижнее левое) сконфигурировано как один блок, но в соответствующем положении может существовать по меньшей мере один блок. То есть в предварительно заданном положении согласно соответствующему блоку может существовать множество подблоков блока разделения.[00314] Alternatively, blocks (e.g., having corresponding coordinates according to the same coordinate or component compositional ratio in each color space) corresponding to the current block in other color spaces (e.g., if the current block belongs to Cr, other color spaces) can be used to predict the current block. spaces correspond to Y or Cb). In addition, for ease of description, the description is made on the assumption that the predetermined position (left, top, top left, top right, and bottom left) is configured as one block, but at least one block may exist at the corresponding position. That is, at a predetermined position according to the corresponding block, there may be a plurality of sub-blocks of the separation block.

[00315] Подводя итог, смежная область текущего блока может представлять собой положение опорного пикселя для внутреннего предсказания текущего блока, и положением опорного пикселя в соответствии с режимом предсказания можно считать область, соответствующую текущему блоку другого цветового пространства. В дополнение к приведенным выше примерам, может быть определено положение опорного пикселя, заданное в соответствии с режимом предсказания, способом и т.д. Например, если блок предсказания генерируется таким способом, как совпадение блоков, положением опорного пикселя можно считать область, в которой кодирование/декодирование было завершено перед текущим блоком текущего изображения, или область, включенную в диапазон поиска в области, где завершено кодирование/декодирование (например, включенной на левой стороне, или верхней стороне, или верхней левой стороне и верхней правой стороне текущего блока).[00315] Summarizing, the adjacent area of the current block can be the position of the reference pixel for intra prediction of the current block, and the position of the reference pixel according to the prediction mode can be considered the area corresponding to the current block of another color space. In addition to the above examples, the position of the reference pixel set according to the prediction mode, method, and so on can be determined. For example, if a prediction block is generated in a manner such as block matching, the position of the reference pixel can be considered to be an area in which encoding/decoding has been completed before the current block of the current image, or an area included in the search range in an area where encoding/decoding is completed (e.g. enabled on the left side, or top side, or top left side and top right side of the current block).

[00316] Как изображено на фиг. 11, опорный пиксель для предсказания текущего блока может быть сконфигурирован при помощи смежных пикселей левого блока, верхнего блока, верхнего левого блока, нижнего правого блока и нижнего левого блока (Ref_L, Ref_Т, Ref_TL, Ref_TR и Ref_BL на фиг. 11). В этом случае опорный пиксель в целом состоит из пикселей смежного блока, ближайших к текущему блоку (а на фиг. 11), но также может включать другие пиксели (пиксели в линии «b» и других внешних линиях на фиг. 11). То есть может использоваться по меньшей мере одна из первой линии «а» пикселей, смежной с текущим блоком, второй линии «b» пикселей, смежной с первой линией пикселей, третьей линии пикселей, смежной со второй линией пикселей, или четвертой линии пикселей, смежной с третьей линией пикселей. Например, в соответствии с настройками кодирования/декодирования, множество линий пикселей может включать все от первой до четвертой линии пикселей или может включать только остальные линии пикселей за исключением третьей линии пикселей. Альтернативно множество линий пикселей может включать только первую линию пикселей и четвертую линию пикселей.[00316] As shown in FIG. 11, a reference pixel for predicting the current block may be configured with adjacent pixels of the left block, top block, top left block, bottom right block, and bottom left block (Ref_L, Ref_T, Ref_TL, Ref_TR, and Ref_BL in FIG. 11). In this case, the reference pixel generally consists of adjacent block pixels closest to the current block (a in Fig. 11), but may also include other pixels (pixels in line "b" and other outer lines in Fig. 11). That is, at least one of the first pixel line "a" adjacent to the current block, the second pixel line "b" adjacent to the first pixel line, the third pixel line adjacent to the second pixel line, or the fourth pixel line adjacent with a third line of pixels. For example, according to the encoding/decoding settings, the plurality of pixel lines may include everything from the first to the fourth pixel line, or may include only the rest of the pixel lines except for the third pixel line. Alternatively, the plurality of pixel lines may include only the first pixel line and the fourth pixel line.

[00317] Текущий блок может выполнять внутреннее предсказание путем выборочной отсылки к любой из множества линий пикселей. В этом случае выбор может быть сделан на основе индекса (refIdx), сообщаемого устройством для кодирования. Альтернативно любая из множества линий пикселей может быть выборочно использована на основе размера, формы и типа разделения текущего блока, того, является ли режим внутреннего предсказания ненаправленным режимом, угла режима внутреннего предсказания и т.д. Например, если режимом внутреннего предсказания является планарный режим или режим DC, может использоваться только первая линия пикселей. Альтернативно только первая линия пикселей может использоваться, если размер (ширина или высота) текущего блока меньше или равен предварительно определенному пороговому значению. Альтернативно только первая линия пикселей может использоваться, если режим внутреннего предсказания больше предварительно определенного порогового угла (или меньше предварительно определенного порогового угла). Пороговый угол может представлять собой угол режима внутреннего предсказания, соответствующий режиму 2 и режиму 66 из вышеупомянутой группы режимов-кандидатов предсказания.[00317] The current block may perform intra prediction by selectively referring to any of the plurality of pixel lines. In this case, the selection may be made based on an index (refIdx) reported by the encoder. Alternatively, any of the plurality of pixel lines may be selectively used based on the size, shape, and division type of the current block, whether the intra prediction mode is the non-directional mode, the angle of the intra prediction mode, and so on. For example, if the intra prediction mode is the planar mode or the DC mode, only the first line of pixels may be used. Alternatively, only the first line of pixels may be used if the size (width or height) of the current block is less than or equal to a predetermined threshold. Alternatively, only the first pixel line may be used if the intra prediction mode is greater than a predetermined threshold angle (or less than a predetermined threshold angle). The threshold angle may be an intra prediction mode angle corresponding to mode 2 and mode 66 of the aforementioned group of candidate prediction modes.

[00318] С другой стороны, пиксели, смежные с текущим блоком, можно классифицировать как по меньшей мере один слой опорных пикселей, который может быть классифицирован так, что пиксели, ближайшие к текущему блоку, представляют собой ref_0 (пиксели, имеющие разность значений пикселя, равную 1, относительно граничного пикселя текущего блока; от р(-1, -1) до р (2m-1, -1), от р(-1, 0) до р(-1, 2n-1)), следующий смежный пиксель (разность между граничным пикселем текущего блока и значением пикселя равна 2; от р(-2, -2) до р(2m, -2), от р(-2, -1) до р(-2, 2n)) представляет собой ref_1, и следующий смежный пиксель (разность между граничным пикселем текущего блока и значением пикселя равна 3; от р(-3, -3) до р(2m+1, -3), от р (-3, -2) до р (-3, 2n+1)) представляет собой ref_2, и т.д. То есть опорный пиксель может быть классифицирован на множество слоев опорных пикселей в соответствии с расстояниями пикселей, которые являются смежными с граничным пикселем текущего блока.[00318] On the other hand, pixels adjacent to the current block can be classified as at least one layer of reference pixels, which can be classified such that the pixels closest to the current block are ref_0 (pixels having a pixel value difference equal to 1, relative to the boundary pixel of the current block; from p(-1, -1) to p(2m-1, -1), from p(-1, 0) to p(-1, 2n-1)), next adjacent pixel (the difference between the border pixel of the current block and the pixel value is 2; from p(-2, -2) to p(2m, -2), from p(-2, -1) to p(-2, 2n) ) is ref_1, and the next adjacent pixel (the difference between the border pixel of the current block and the pixel value is 3; from p(-3, -3) to p(2m+1, -3), from p(-3, -2 ) to p(-3, 2n+1)) is ref_2, etc. That is, a reference pixel can be classified into a plurality of reference pixel layers according to distances of pixels that are adjacent to a boundary pixel of the current block.

[00319] Кроме того, слои опорных пикселей могут быть расположены по-разному для каждого смежного блока. Например, опорный пиксель согласно слою ref_0 может использоваться, когда в качестве опорных блоков используются блок, смежный с текущим блоком, и блок, смежный с верхним концом, и опорный пиксель согласно слою ref_1 может использоваться, когда в качестве опорного блока используется блок, смежный с верхним концом.[00319] In addition, the reference pixel layers may be arranged differently for each adjacent block. For example, the reference pixel according to layer ref_0 may be used when the block adjacent to the current block and the block adjacent to the top end are used as reference blocks, and the reference pixel according to layer ref_1 may be used when the block adjacent to top end.

[00320] В этом случае набор опорных пикселей, к которому обычно делается отсылка при выполнении внутреннего предсказания, принадлежит к смежным блокам, смежным с текущим блоком. Смежные блоки расположены снизу слева, слева, сверху слева, на верхнем конце и верхнем правом конце и представляют собой пиксели, принадлежащие к слою ref_0 (пиксели, ближайшие к граничному пикселю), и пиксели, принадлежащие друг к другу, считаются являющимися этими пикселями, если не указано иное. Однако только часть пикселей, принадлежащих к вышеупомянутым смежным блокам, может быть использована в качестве набора опорных пикселей, или в качестве набора опорных пикселей могут быть использованы пиксели, принадлежащие более чем к двум слоям. В этом случае набор, или слой, опорных пикселей может быть определен в неявном виде (предварительно задан в устройстве для кодирования/декодирования) или может быть определен в явном виде (информация для определения может быть принята из устройства для кодирования).[00320] In this case, the reference pixel set usually referred to when performing intra prediction belongs to contiguous blocks adjacent to the current block. Adjacent blocks are located at the bottom left, left, top left, top end, and top right end and are pixels that belong to layer ref_0 (pixels closest to the boundary pixel), and pixels that belong to each other are considered to be these pixels if not otherwise specified. However, only a portion of the pixels belonging to the aforementioned contiguous blocks may be used as the reference pixel set, or pixels belonging to more than two layers may be used as the reference pixel set. In this case, the set, or layer, of reference pixels may be implicitly defined (predetermined in the encoder/decoder) or may be explicitly defined (determination information may be received from the encoder).

[00321] Настоящее описание выполнено на основе того, что максимальное количество поддерживаемых слоев опорных пикселей равно 3, но оно также может иметь значение, которое больше этого числа, и количество слоев опорных пикселей и количество наборов опорных пикселей в соответствии с положениями смежных блоков, к которым может делаться отсылка (или которые могут называться группами опорных пикселей-кандидатов), могут быть заданы иначе в соответствии с размером, формой, режимом предсказания, типом изображения (I/P/B, в данном случае изображение представляет собой кадр, срез, плитку и т.д.), цветовой компонентой и т.д. блока, и связанная информация может быть включена в элементы последовательности, кадра, среза, плитки и т.д.[00321] The present description is made on the basis that the maximum number of reference pixel layers supported is 3, but it can also have a value greater than this number, and the number of reference pixel layers and the number of reference pixel sets according to the positions of adjacent blocks, to which may be referred to (or which may be referred to as candidate reference pixel groups) may be specified differently according to size, shape, prediction mode, image type (I/P/B, in this case the image is a frame, slice, tile etc.), color component, etc. block, and related information can be included in sequence, frame, slice, tile, and so on elements.

[00322] Настоящее изобретение описано при условии, что нижний индекс (с приращением на 1 от 0) присваивается от слоя опорных пикселей, ближайшего к текущему блоку, но настоящее изобретение этим не ограничено. Кроме того, описанная ниже связанная информация о конфигурации опорных пикселей может генерироваться при вышеописанной настройке индексов (преобразование в двоичную форму присвоения короткого бита нижнему индексу в случае выбора одного из множества наборов опорных пикселей и т.д.).[00322] The present invention has been described assuming that the subscript (incremented by 1 from 0) is assigned from the reference pixel layer closest to the current block, but the present invention is not limited to this. In addition, the reference pixel configuration related information described below may be generated by the above-described index setting (binarization of assigning a short bit to a sub-index in the case of selecting one of the plurality of reference pixel sets, etc.).

[00323] Кроме того, если имеется более двух поддерживаемых слоев опорных пикселей, каждый опорный пиксель, включенный в более чем два слоя опорных пикселей, может быть использован для взвешенного усреднения.[00323] In addition, if there are more than two reference pixel layers supported, each reference pixel included in more than two reference pixel layers can be used for weighted averaging.

[00324] Например, блок предсказания может генерироваться с использованием опорного пикселя, полученного из взвешенной суммы пикселей, расположенных в слое ref_0 (ближайший слой пикселей) и слое ref_1 (следующий слой пикселей) согласно фиг. 11. В этом случае, в соответствии с режимом предсказания (например, направленным режимом предсказания), пиксели, к которым применяется взвешенная сумма в каждом слое опорных пикселей, могут представлять собой не только пиксели целочисленных элементов, но также пиксели десятичных элементов. Кроме того, для получения блока предсказания взвешенные значения (например, 7:1, 3:1, 2:1 и 1:1), соответственно, применяются к блоку предсказания, полученному путем использования опорных пикселей в соответствии с первым слоем опорных пикселей, и блоку предсказания, полученному путем использования опорных пикселей в соответствии со вторым опорным пикселем. В этом случае, если взвешенное значение представляет собой блок предсказания в соответствии со слоем опорных пикселей, смежным с текущим блоком, взвешенное значение может быть выше.[00324] For example, a prediction block may be generated using a reference pixel obtained from a weighted sum of pixels located in layer ref_0 (nearest pixel layer) and layer ref_1 (next pixel layer) of FIG. 11. In this case, according to the prediction mode (eg, directional prediction mode), the pixels to which the weighted sum is applied in each reference pixel layer may be not only integer bin pixels but also decimal bin pixels. In addition, to obtain a prediction block, weighted values (for example, 7:1, 3:1, 2:1, and 1:1), respectively, are applied to the prediction block obtained by using the reference pixels according to the first reference pixel layer, and a prediction block obtained by using the reference pixels corresponding to the second reference pixel. In this case, if the weighted value is a prediction block according to the reference pixel layer adjacent to the current block, the weighted value may be higher.

[00325] В целом для приведенного выше примера возможно использование в качестве опорного пикселя ближайшего пикселя из смежного блока, но он этим не ограничен. Например, могут иметь место различные случаи (например, случай, в котором ref_0 и ref_1 выбраны как слои опорных пикселей, и ref_0 и ref_1 используются для выполнения взвешенного суммирования и других способов генерирования значений пикселя предсказания и т.д., т.е. неявный случай).[00325] In general, for the above example, it is possible to use the nearest pixel from an adjacent block as a reference pixel, but it is not limited to this. For example, there may be various cases (for example, the case in which ref_0 and ref_1 are selected as reference pixel layers, and ref_0 and ref_1 are used to perform weighted summation and other methods for generating prediction pixel values, etc., i.e. implicit happening).

[00326] Кроме того, связанная информация о конфигурации опорных пикселей (например, информация о выборе для слоя, или набора, опорных пикселей и т.д.) может не включать предварительно заданную информацию (например, если слой опорных пикселей предварительно задан как ref_0). Например, она может быть сконфигурирована как, но без ограничения, ref_1, ref_2, ref_3 и т.д.[00326] In addition, the associated reference pixel configuration information (e.g., selection information for a layer, or set, of reference pixels, etc.) may not include predefined information (e.g., if the reference pixel layer is preset as ref_0) . For example, it may be configured as, but not limited to, ref_1, ref_2, ref_3, and so on.

[00327] Некоторые случаи конфигурации опорных пикселей были описаны при помощи приведенных выше примеров, которые можно скомбинировать с различной информацией о кодировании/декодировании и т.д. для определения настроек внутреннего предсказания. В этом случае информация о кодировании/декодировании содержит тип изображения, цветовую компоненту, форму и размер текущего блока, режим предсказания (тип режима предсказания (направленный или ненаправленный)), направление режима предсказания (вертикальный, горизонтальный, диагональный 1, диагональный 2 и т.д.) и т.д., и настройки внутреннего предсказания (в данном примере - настройки конфигурации опорных пикселей) могут быть определены в соответствии с информацией о кодировании/декодировании смежного блока и комбинацией информации о кодировании/декодировании текущего блока и смежного блока.[00327] Some reference pixel configurations have been described using the above examples, which can be combined with various encoding/decoding information, etc. to define the settings for intra prediction. In this case, the encoding/decoding information includes an image type, a color component, a current block shape and size, a prediction mode (prediction mode type (directional or non-directional)), prediction mode direction (vertical, horizontal, diagonal 1, diagonal 2, etc.). etc.), and so on, and intra prediction settings (in this example, reference pixel configuration settings) can be determined according to the encoding/decoding information of the adjacent block and the combination of the encoding/decoding information of the current block and the adjacent block.

[00328] На фиг. 12 представлена принципиальная схема для разъяснения диапазона опорного пикселя для внутреннего предсказания. Подробнее, диапазон опорного пикселя определяется в соответствии с размером и формой блока, конфигурацией режима предсказания (в данном примере - информацией об угле режима предсказания) и т.д. Положение, указанное стрелкой на фиг. 12, представляет собой пиксель, используемый для предсказания.[00328] FIG. 12 is a circuit diagram for explaining the range of a reference pixel for intra prediction. In more detail, the reference pixel range is determined according to the block size and shape, the prediction mode configuration (in this example, prediction mode angle information), and so on. The position indicated by the arrow in Fig. 12 is a pixel used for prediction.

[00329] Со ссылкой на фиг. 12, пиксели А, А', В, В' и С относятся к пикселям на нижнем правом конце блоков 8×2, 2×8, 8×4, 4×8 и 8×8. Для выполнения предсказания пикселей, диапазон опорного пикселя каждого блока может быть определен при помощи пикселей AT, AL, ВТ, BL, СТ и CL, используемых в верхнем и левом блоках.[00329] With reference to FIG. 12, pixels A, A', B, B', and C refer to pixels at the lower right end of the 8x2, 2x8, 8x4, 4x8, and 8x8 blocks. To perform pixel prediction, the range of the reference pixel of each block may be determined by the pixels AT, AL, BT, BL, CT, and CL used in the top and left blocks.

[00330] Например, если опорными пикселями являются пиксели А и А' (прямоугольные блоки), они располагаются в пределах диапазона от р(0, -1) до р(9, -1), от р(-1, 0) до р(-1, 9), р(-1, -1), если опорными пикселями являются пиксели В и В' (прямоугольные блоки), они располагаются в пределах диапазона от р(0, -1) до р(11, -1), от р(-1, 0) до р(-1, 11), р(-1, -1), и, если опорным пикселем является пиксель С (квадратный блок), он располагается в пределах диапазона от р(0, -1) до р(15, -1), от р(-1, 0) до р(-1, 15), р(-1, -1).[00330] For example, if the reference pixels are pixels A and A' (rectangular blocks), they are located within the range from p(0, -1) to p(9, -1), from p(-1, 0) to p(-1, 9), p(-1, -1), if the reference pixels are pixels B and B' (rectangular blocks), they are located within the range from p(0, -1) to p(11, - 1), from p(-1, 0) to p(-1, 11), p(-1, -1), and if the reference pixel is pixel C (square block), it is located within the range from p( 0, -1) to p(15, -1), from p(-1, 0) to p(-1, 15), p(-1, -1).

[00331] Информация о диапазоне (например, Р(-1, -1), P(M+N-1, -1), P(-1, N+M-1) и т.д.) опорного пикселя, полученного при помощи вышеописанного процесса, может использоваться для процесса внутреннего предсказания (например, процесса фильтрации опорных пикселей, процесса генерирования опорных пикселей и т.д.). Кроме того, поддержка опорных пикселей не ограничена вышеописанными случаями, и также возможны различные другие случаи.[00331] Range information (e.g., P(-1, -1), P(M+N-1, -1), P(-1, N+M-1), etc.) of the reference pixel, obtained by the above process can be used for an intra prediction process (eg, a reference pixel filtering process, a reference pixel generating process, etc.). In addition, support for reference pixels is not limited to the cases described above, and various other cases are also possible.

[00332] Секция конфигурации опорных пикселей для внутреннего предсказания может содержать секцию генерирования опорных пикселей, секцию интерполяции опорных пикселей, секцию фильтрации опорных пикселей и т.д. и может иметь все или часть из вышеописанных конфигураций.[00332] The reference pixel configuration section for intra prediction may include a reference pixel generation section, a reference pixel interpolation section, a reference pixel filtering section, and so on. and may have all or part of the configurations described above.

[00333] Секция конфигурации опорных пикселей выполнена с возможностью проверки доступности опорных пикселей с целью классификации доступных опорных пикселей и недоступных опорных пикселей. Например, если блок в предварительно заданном положении (или кандидатный блок опорного пикселя) можно использовать, то соответствующий блок может быть использован как опорный пиксель, а если он недоступен, этот блок нельзя использовать как опорный пиксель.[00333] The reference pixel configuration section is configured to check the availability of the reference pixels in order to classify available reference pixels and unavailable reference pixels. For example, if a block at a predetermined position (or candidate block of a reference pixel) can be used, then the corresponding block can be used as a reference pixel, and if it is not available, that block cannot be used as a reference pixel.

[00334] Если удовлетворяется по меньшей мере одно из следующих условий, определяется, что опорный пиксель является недоступным. Например, опорный пиксель определяется как недоступный, если удовлетворяется одно из условий, согласно которым опорный пиксель находится вне границы кадра, опорный пиксель не принадлежит к тому же блоку разделения, что и текущий блок (например, срез, плитка и т.д.), кодирование/декодирование не завершено, и использование опорного пикселя ограничено в соответствии с настройкой кодирования/декодирования. То есть, если ни одно из приведенных выше условий не удовлетворяется, определяется, что опорный пиксель является доступным.[00334] If at least one of the following conditions is satisfied, it is determined that the reference pixel is unavailable. For example, a reference pixel is determined to be unavailable if one of the conditions is satisfied that the reference pixel is outside the frame boundary, the reference pixel does not belong to the same partition block as the current block (e.g., slice, tile, etc.), encoding/decoding is not completed and the use of the reference pixel is limited according to the encoding/decoding setting. That is, if none of the above conditions is satisfied, it is determined that the reference pixel is available.

[00335] Кроме того, использование опорных пикселей может быть ограничено настройками кодирования/декодирования. Например, использование опорных пикселей может быть ограничено в соответствии с выполнением ограниченного внутреннего предсказания (например, constrained_intra_pred_flag). Ограниченное внутреннее предсказание может выполняться тогда, когда устойчивое к ошибкам кодирование/декодирование необходимо выполнить в отношении внешних факторов, таких как среда связи, если предпринимается попытка запретить использование блоков, восстановленных путем отсылки к другим изображениям в качестве опорных пикселей.[00335] In addition, the use of reference pixels may be limited by encoding/decoding settings. For example, the use of reference pixels may be constrained in accordance with the performance of constrained intra prediction (eg, constrained_intra_pred_flag). Limited intra prediction may be performed when error-tolerant coding/decoding needs to be performed with respect to external factors such as the communication environment if an attempt is made to prohibit the use of blocks recovered by referring to other images as reference pixels.

[00336] Если ограниченное внутреннее предсказание деактивировано (например, в типе I кадра или типе Р или В кадра constrained_intra_pred_flag=0), доступны все кандидатные блоки опорных пикселей, а если активировано (например, в типе Р или В кадра constrained_intra_pred_flag=1), использование опорного пикселя из соответствующего блока может быть определено в соответствии с режимом кодирования (внутреннего предсказания или предсказания, осуществляемого между изображениями) кандидатного блока опорного пикселя. То есть, если режимом кодирования блока является внутреннее предсказание, блок можно использовать независимо от того, активировано ли ограниченное внутреннее предсказание. В случае предсказания, осуществляемого между изображениями, доступность (деактивировано) или недоступность (активировано) блока определяется в зависимости от активации ограниченного внутреннего предсказания.[00336] If constrained intra prediction is disabled (e.g., in type I frame or type P or B frame constrained_intra_pred_flag=0), all candidate reference pixel blocks are available, and if enabled (e.g., type P or B frame constrained_intra_pred_flag=1), the use of the reference pixel from the corresponding block may be determined according to the coding mode (intra-prediction or inter-picture prediction) of the reference pixel candidate block. That is, if the coding mode of a block is intra prediction, the block can be used regardless of whether limited intra prediction is enabled. In the case of inter-picture prediction, the availability (deactivated) or unavailability (activated) of a block is determined depending on the activation of restricted intra prediction.

[00337] Кроме того, ограниченное внутреннее предсказание может применяться в соответствии с режимом кодирования восстановленного блока, соответствующего текущему блоку в другом цветовом пространстве. Например, текущий блок принадлежит к каким-либо цветоразностным компонентам Cb и Cr, и доступность ограниченного внутреннего предсказания определяется в соответствии с режимом кодирования блока, в котором завершено кодирование/декодирование компоненты Y яркости, соответствующей текущему блоку. Приведенный выше пример может представлять собой пример случая, в котором в качестве опорного пикселя используется восстановленный блок другого цветового пространства. Кроме того, он может представлять собой пример случая, в котором режим кодирования определяется независимо в соответствии с цветовым пространством.[00337] In addition, limited intra prediction may be applied in accordance with the coding mode of the reconstructed block corresponding to the current block in a different color space. For example, the current block belongs to any Cb and Cr color difference components, and the availability of restricted intra prediction is determined according to the coding mode of the block in which encoding/decoding of the Y component of the luma corresponding to the current block is completed. The above example may be an example of a case in which a reconstructed block of a different color space is used as a reference pixel. Further, it may be an example of a case in which an encoding mode is determined independently according to a color space.

[00338] В этом случае, если кандидатами блок опорного пикселя является кодированным/декодированным при помощи некоторых способов предсказания (например, предсказания путем совпадения блоков или совпадения шаблонов в текущем изображении), использование этого опорного пикселя может быть определено в соответствии с настройками кодирования/декодирования.[00338] In this case, if the candidate block of the reference pixel is encoded/decoded by some prediction methods (for example, prediction by block matching or pattern matching in the current image), the use of this reference pixel can be determined according to the encoding/decoding settings .

[00339] В качестве примера, если кодирование/декодирование выполняется с использованием указанного способа предсказания, и если режим кодирования задан как внутреннее предсказание, соответствующий блок может быть определен как доступный. Альтернативно, даже если используется внутреннее предсказание, допускаются специальные случаи, в которых блок является недоступным.[00339] As an example, if encoding/decoding is performed using the specified prediction method, and if the encoding mode is set to intra prediction, the corresponding block may be determined to be available. Alternatively, even if intra prediction is used, special cases are allowed in which a block is not available.

[00340] Например, если кодирование/декодирование выполняется с использованием указанного способа предсказания, и если режим кодирования задан как предсказание, осуществляемое между изображениями, соответствующий блок может быть определен как недоступный. Альтернативно, даже если используется предсказание, осуществляемое между изображениями, допускаются специальные случаи, в которых блок является доступным.[00340] For example, if encoding/decoding is performed using the specified prediction method, and if the encoding mode is set to prediction performed between pictures, the corresponding block may be determined to be unavailable. Alternatively, even if inter-picture prediction is used, special cases are allowed in which a block is available.

[00341] То есть в соответствии с настройками кодирования/декодирования может быть определено, делать ли исключение для случая определения использования в соответствии с режимом кодирования.[00341] That is, according to the encoding/decoding settings, it can be determined whether to make an exception for the use determination case according to the encoding mode.

[00342] Ограниченное внутреннее предсказание может представлять собой настройку, применяемую к некоторым типам изображений (например, типам Р или В среза/плитки и т.д.).[00342] Restricted intra prediction may be a setting applied to certain types of images (eg, slice/tile types P or B, etc.).

[00343] В соответствии с доступностью опорного пикселя, кандидатные блоки опорных пикселей могут быть классифицированы на случай, в котором могут быть использованы все кандидатные блоки опорных пикселей, случай, в котором могут быть использованы некоторые опорные пиксели, и случай, в котором все опорные пиксели недоступны. За исключением случая, в котором могут быть использованы все кандидатные блоки опорных пикселей, во всех остальных случаях опорные пиксели, недоступные в положении кандидатного блока, могут быть заполнены или сгенерированы.[00343] According to the availability of the reference pixel, the candidate reference pixel blocks can be classified into a case in which all candidate blocks of the reference pixels can be used, a case in which some of the reference pixels can be used, and a case in which all of the reference pixels not available. Except in the case where all candidate blocks of reference pixels may be used, in all other cases, reference pixels not available at the position of the candidate block may be filled or generated.

[00344] Если кандидатный блок опорного пикселя доступен, пиксель в предварительно заданном положении этого блока (в данном примере предполагается, что пиксель является смежным с текущим блоком) может быть сохранен в запоминающем устройстве для опорных пикселей текущего блока. В этом случае данные пикселей из положения соответствующего блока могут сохраняться в запоминающем устройстве для опорных пикселей при помощи таких процессов, как прямое копирование или фильтрация опорных пикселей.[00344] If a candidate reference pixel block is available, a pixel at a predetermined position of that block (in this example, the pixel is assumed to be adjacent to the current block) can be stored in the current block's reference pixel memory. In this case, the pixel data from the corresponding block position can be stored in the reference pixel memory by processes such as direct copying or filtering of the reference pixels.

[00345] Если кандидатный блок опорного пикселя недоступен, пиксели, полученные при помощи процесса генерирования опорных пикселей, могут сохраняться в запоминающем устройстве для опорных пикселей текущего блока.[00345] If a candidate reference pixel block is not available, the pixels obtained by the reference pixel generation process may be stored in the current block's reference pixel memory.

[00346] Коротко говоря, если кандидатный блок опорного пикселя находится в доступном состоянии, опорный пиксель может быть сконфигурирован, и, если кандидатный блок опорного пикселя находится в недоступном состоянии, опорный пиксель может быть сгенерирован.[00346] Briefly, if the reference pixel candidate block is in the available state, the reference pixel may be configured, and if the reference pixel candidate block is in the unavailable state, the reference pixel may be generated.

[00347] Ниже приведены примеры использования различных способов заполнения опорных пикселей в положениях недоступных блоков.[00347] The following are examples of using different methods for filling reference pixels at the positions of inaccessible blocks.

[00348] Например, для генерирования опорного пикселя может быть использовано произвольное значение пикселя, и может иметься значение пикселя, принадлежащее к диапазону значений пикселя (например, значение, полученное из процесса корректировки значений пикселя на основе битовой глубины или процесса корректировки значений пикселя на основе информации о диапазоне значений пикселя изображения, такое как минимальное значение, максимальное значение и срединное значение). Подробнее, это может быть пример, применимый тогда, когда все кандидатные блоки опорных пикселей недоступны.[00348] For example, an arbitrary pixel value may be used to generate a reference pixel, and there may be a pixel value belonging to a range of pixel values (e.g., a value obtained from a pixel value adjustment process based on bit depth or a pixel value adjustment process based on information about the range of image pixel values, such as the minimum value, maximum value, and median value). In more detail, this may be an example applicable when all candidate reference pixel blocks are not available.

[00349] Альтернативно опорные пиксели могут быть сгенерированы по завершении кодирования/декодирования изображения. Подробнее, опорные пиксели могут быть сгенерированы из по меньшей мере одного доступного блока, смежного с недоступным блоком. В этом случае может быть использовано по меньшей мере одно из экстраполяции, интерполяции, копирования или других способов, и направлением генерирования (или копирования и экстраполяции) опорных пикселей может являться направление по часовой стрелке или против часовой стрелки, и оно может быть определено в соответствии с настройками кодирования/декодирования. Например, направление генерирования опорных пикселей в блоке может представлять собой предварительно заданное направление или направление, адаптивно определяемое в соответствии с положением недоступного блока. Альтернативно для области, соответствующей текущему блоку в других цветовых пространствах, можно использовать такой же способ, как в приведенном выше примере. Разница заключается в том, что, если процесс заполнения смежных опорных пикселей текущего блока выполняется в текущем цветовом пространстве, процесс заполнения блока M×N, соответствующего текущему блоку m×n, выполняется в других цветовых пространствах. Поэтому для генерирования соответствующих областей могут быть использованы другие различные способы, включая приведенный выше способ (например, экстраполяцию в вертикальном, горизонтальном и диагональном направлениях окружающих пикселей, планарную интерполяцию, усреднение и т.д., в данном случае направление заполнения относится к направлению от окружающих пикселей блока, соответствующего текущему блоку, внутрь блока). Данный пример может представлять собой случай, в котором режим предсказания, используемый для генерирования блока предсказания из другого цветового пространства, включается в группу кандидатов, но не исключается из группы кандидатов.[00349] Alternatively, the reference pixels may be generated upon completion of image encoding/decoding. More specifically, the reference pixels may be generated from at least one available block adjacent to the inaccessible block. In this case, at least one of extrapolation, interpolation, copying, or other methods may be used, and the direction of generation (or copying and extrapolation) of the reference pixels may be clockwise or counterclockwise, and may be determined according to encode/decode settings. For example, the generation direction of the reference pixels in the block may be a predetermined direction or a direction adaptively determined according to the position of the inaccessible block. Alternatively, for the area corresponding to the current block in other color spaces, the same method can be used as in the above example. The difference is that if the filling process of the adjacent reference pixels of the current block is performed in the current color space, the filling process of the M×N block corresponding to the current m×n block is performed in other color spaces. Therefore, various other methods can be used to generate the corresponding areas, including the above method (for example, extrapolation in the vertical, horizontal and diagonal directions of the surrounding pixels, planar interpolation, averaging, etc., in this case, the fill direction refers to the direction from the surrounding pixels of the block corresponding to the current block inside the block). This example may be a case in which the prediction mode used to generate a prediction block from a different color space is included in the candidate group but not excluded from the candidate group.

[00350] Кроме того, после завершения конфигурации опорных пикселей при помощи процесса подтверждения доступности опорных пикселей при помощи линейной интерполяции опорных пикселей могут быть сгенерированы опорные пиксели в десятичных элементах. Альтернативно процесс интерполяции опорных пикселей может быть выполнен после выполнения процесса фильтрации опорных пикселей. Альтернативно может выполняться только процесс фильтрации для сконфигурированных опорных пикселей. Коротко говоря, он может выполняться перед процессом генерирования блока предсказания.[00350] In addition, after the reference pixel configuration is completed, reference pixels in decimal units can be generated by the reference pixel availability confirmation process by linear interpolation of the reference pixels. Alternatively, the reference pixel interpolation process may be performed after the reference pixel filtering process is performed. Alternatively, only the filtering process for the configured reference pixels may be performed. Briefly, it may be performed before the prediction block generation process.

[00351] В этом случае в горизонтальном режиме, вертикальном режиме, некоторых диагональных режимах (например, диагональном снизу справа, диагональном снизу слева и диагональном сверху справа) и ненаправленных режимах, цветовом режиме, режиме копирования цвета и т.д. процесс интерполяции не выполняется, а в случае других режимов (других диагональных режимов) интерполяция может выполняться.[00351] In this case, in landscape mode, vertical mode, some diagonal modes (e.g., diagonal bottom right, diagonal bottom left, and diagonal top right) and non-directional modes, color mode, color copy mode, etc. the interpolation process is not performed, and in the case of other modes (other diagonal modes), interpolation can be performed.

[00352] Точность интерполяции может быть определена в соответствии с поддерживаемой группой режимов-кандидатов предсказания (или общим количеством режимов предсказания), конфигурацией режима предсказания (например, углом направления режима предсказания и интервалом между режимами предсказания) и т.д.[00352] The interpolation accuracy may be determined according to a supported prediction mode candidate group (or total number of prediction modes), prediction mode configuration (e.g., prediction mode direction angle and interval between prediction modes), and so on.

[00353] Для интерполяции опорных пикселей в десятичном элементе может быть использован предварительно заданный фильтр (например, 2-отводный линейный интерполяционный фильтр), и может использоваться одна из множества групп фильтров-кандидатов (например, 4-отводный кубический фильтр, 4-отводный гауссов фильтр, 6-отводный фильтр Винера, 8-отводный фильтр Калмана).[00353] A predefined filter (e.g., 2-tap linear interpolation filter) may be used to interpolate the reference pixels in the decimal element, and one of a plurality of candidate filter groups may be used (e.g., 4-tap cube filter, 4-tap Gaussian filter, 6-tap Wiener filter, 8-tap Kalman filter).

[00354] Если используется одна из множества групп фильтров-кандидатов, информация о выборе фильтра может генерироваться в явном виде или определяться в неявном виде и может определяться в соответствии с настройками кодирования/декодирования (например, точностью интерполяции, размером и формой блока, режимом предсказания и т.д.).[00354] If one of the plurality of candidate filter groups is used, the filter selection information may be explicitly generated or determined implicitly and may be determined in accordance with encoding/decoding settings (e.g., interpolation precision, block size and shape, prediction mode etc.).

[00355] Например, интерполяционный фильтр для использования может определяться в соответствии с диапазоном размеров блока, интерполяционный фильтр для использования может определяться в соответствии с точностью интерполяции, и интерполяционный фильтр может определяться в соответствии с характеристиками режима предсказания (например, информацией о направленности и т.д.).[00355] For example, an interpolation filter to use may be determined according to a range of block sizes, an interpolation filter to use may be determined according to interpolation accuracy, and an interpolation filter may be determined according to prediction mode characteristics (e.g., directionality information, etc.). d.).

[00356] Подробнее, в соответствии с диапазоном размеров блока предварительно заданный интерполяционный фильтр а может использоваться в некоторых диапазонах А, предварительно заданный интерполяционный фильтр b может использоваться в некоторых диапазонах В, интерполяционный фильтр с из множества интерполяционных фильтров С может использоваться в некоторых диапазонах С, интерполяционный фильтр d из множества интерполяционных фильтров D может использоваться в некоторых диапазонах D, в некоторых диапазонах может использоваться предварительно заданный интерполяционный фильтр, и в некоторых диапазонах может использоваться один из множества интерполяционных фильтров. В этом случае, если использование одного интерполяционного фильтра является неявным, использование одного интерполяционного фильтра во множестве интерполяционных фильтров является явным, и размер блока для разделения диапазона размеров блока может составлять M×N (в данном примере М и N равны 4, 8, 16, 32, 64, 128 и т.д.; то есть М и N могут представлять собой минимальное или максимальное значение диапазона размеров каждого блока).[00356] In more detail, according to the block size range, predefined interpolation filter a can be used in some ranges A, predefined interpolation filter b can be used in some ranges B, interpolation filter c of the plurality of interpolation filters C can be used in some ranges C, an interpolation filter d of the plurality of interpolation filters D may be used in some ranges of D, in some ranges a predetermined interpolation filter may be used, and in some ranges one of the plurality of interpolation filters may be used. In this case, if the use of one interpolation filter is implicit, the use of one interpolation filter in the plurality of interpolation filters is explicit, and the block size for separating the range of block sizes may be M×N (in this example, M and N are 4, 8, 16, 32, 64, 128, etc., i.e. M and N can be the minimum or maximum value of the size range of each block).

[00357] Информация, связанная с интерполяцией, может быть включена в элементы видео, последовательности, кадра, среза, плитки, блока и т.д. Процесс интерполяции может представлять собой процесс, выполняемый в секции конфигурации опорных пикселей, или может представлять собой процесс, выполняемый в секции генерирования блока предсказания.[00357] Interpolation related information may be included in video, sequence, frame, slice, tile, block, and so on elements. The interpolation process may be a process performed in a reference pixel configuration section, or may be a process performed in a prediction block generation section.

[00358] Кроме того, после конфигурирования опорного пикселя, опорный пиксель может подвергаться фильтрации с целью ослабления ухудшения, остающегося после процесса кодирования/декодирования, с целью повышения точности предсказания. В этом случае используемым фильтром может являться фильтр нижних частот. Выполнение фильтрации может быть определено в соответствии с настройками кодирования/декодирования, если фильтрация применяется, может применяться фиксированная или адаптивная фильтрация, и настройки кодирования/декодирования могут быть заданы в соответствии с размером блока, формой, режимом предсказания и т.д.[00358] In addition, after configuring the reference pixel, the reference pixel may be filtered to mitigate the degradation remaining after the encoding/decoding process in order to improve the prediction accuracy. In this case, the filter used may be a low pass filter. The performance of filtering may be determined according to encoding/decoding settings, if filtering is applied, fixed or adaptive filtering may be applied, and encoding/decoding settings may be set according to block size, shape, prediction mode, etc.

[00359] Фиксированная фильтрация относится к случаю, когда предварительно определенный фильтр применяется к секции фильтрации опорных пикселей, а адаптивная фильтрация относится к случаю, когда к секции фильтрации опорных пикселей применяется один из множества фильтров. В этом случае при адаптивной фильтрации один из множества фильтров может быть определен в неявном виде в соответствии с настройками кодирования/декодирования, или информация о выборе может генерироваться в явном виде, и в качестве группы фильтров-кандидатов может быть включен 3-отводный фильтр (например, [1, 2, 1]/4) или 5-отводный фильтр (например, [2, 3, 6, 3, 2]).[00359] Fixed filtering refers to a case where a predetermined filter is applied to the reference pixel filter section, and adaptive filtering refers to a case where one of a plurality of filters is applied to the reference pixel filter section. In this case, in adaptive filtering, one of the plurality of filters may be implicitly determined according to encoding/decoding settings, or the selection information may be explicitly generated, and a 3-tap filter may be included as a candidate filter group (e.g., , [1, 2, 1]/4) or a 5-tap filter (for example, [2, 3, 6, 3, 2]).

[00360] В качестве примера, фильтрация может не применяться при некоторых настройках (диапазон А блоков).[00360] As an example, filtering may not be applied in some settings (block range A).

[00361] В качестве примера, фильтрация может не применяться при некоторых настройках (диапазон В блоков, некоторый режим С), и при некоторых настройках (диапазон В блоков, некоторый режим D) может применяться фильтрация при помощи предварительно заданного фильтра (3-отводного фильтра).[00361] As an example, filtering may not be applied at some settings (B block range, some C mode), and at some settings (B block range, some D mode), filtering with a preset filter (3-tap filter ).

[00362] Например, фильтрация может не применяться при некоторых настройках (диапазон Е блоков, некоторый режим F), при некоторых настройках (диапазон Е блоков, некоторый режим G) может применяться фильтрация при помощи предфильтра (3-отводного фильтра), при некоторых настройках (диапазон Е блоков, некоторый режим Н) может применяться фильтрация при помощи предфильтра (5-отводного фильтра), и при некоторых настройках (диапазон Е блоков, некоторый режим I) для фильтрации может применяться один из множества фильтров.[00362] For example, filtering may not be applied in some settings (E block range, some F mode), in some settings (E block range, some G mode) filtering with a pre-filter (3-tap filter) may be applied, in some settings (E block range, some H mode) filtering with a pre-filter (5-tap filter) can be applied, and in some settings (E block range, some I mode), one of a variety of filters can be applied for filtering.

[00363] В качестве примера, при некоторых настройках (диапазон J блоков, некоторый режим K) может применяться фильтрация при помощи предварительно определенного фильтра (5-отводного фильтра), и фильтрация может дополнительно применяться при помощи предварительно заданного фильтра (3-отводного фильтра). То есть может выполняться множество процессов фильтрации. Подробнее, фильтрация может также применяться на основе результатов предыдущей фильтрации.[00363] As an example, in some settings (range J blocks, some mode K), filtering with a predefined filter (5-tap filter) may be applied, and filtering may additionally be applied with a predefined filter (3-tap filter) . That is, a plurality of filtering processes can be performed. More specifically, filtering can also be applied based on previous filtering results.

[00364] В приведенном выше примере размер блока для разделения диапазона размеров блока может составлять M×N (в данном примере М и N равны 4, 8, 16, 32, 64, 128 и т.д., т.е. М и N могут представлять собой минимальное или максимальное значение каждого диапазона размеров блока). Кроме того, режим предсказания может быть грубо классифицирован на направленный режим, ненаправленный режим, цветовой режим, режим копирования цвета и т.д., и, подробнее, режим 1, смежный с горизонтальным или вертикальным режимом / диагональным режимом (интервал 45 градусов) / горизонтальным или вертикальным режимом, режим 2, смежный с горизонтальным или вертикальным режимом (интервал между режимами несколько больше приведенного выше интервала), и т.д. То есть, как описано выше, выполнение фильтрации и тип фильтрации определяются в соответствии с режимом классификации.[00364] In the above example, the block size for dividing the range of block sizes may be M×N (in this example, M and N are 4, 8, 16, 32, 64, 128, etc., i.e., M and N can be the minimum or maximum value of each block size range). In addition, the prediction mode can be roughly classified into a directional mode, an omnidirectional mode, a color mode, a color copy mode, etc., and more specifically, mode 1 adjacent to the horizontal or vertical mode / diagonal mode (45 degree interval) / horizontal or vertical mode, mode 2 adjacent to the horizontal or vertical mode (the interval between modes is slightly longer than the above interval), etc. That is, as described above, the filtering performance and the filtering type are determined according to the classification mode.

[00365] Кроме того, в приведенных выше примерах представлен случай, в котором адаптивная фильтрация применяется в соответствии с множеством факторов, таких как диапазон блока и режим предсказания. Однако не всегда требуется множество факторов, и также может иметь место пример, в котором адаптивная фильтрация выполняется в соответствии с по меньшей мере одним фактором. Кроме того, может иметь место множество преобразованных примеров без ограничения примерами, приведенными выше, и информация, связанная с фильтрацией опорных пикселей, может быть включена в элементы видео, последовательности, кадра, среза, плитки и блока.[00365] In addition, the above examples show a case in which adaptive filtering is applied in accordance with a plurality of factors such as a block range and a prediction mode. However, multiple factors are not always required, and there may also be an example where adaptive filtering is performed in accordance with at least one factor. In addition, there may be a plurality of transformed examples, without being limited to the examples above, and information related to filtering reference pixels may be included in video, sequence, frame, slice, tile, and block elements.

[00366] Фильтрация может выборочно выполняться на основе предварительно определенного флага. Флаг может указывать выполнение фильтрации в отношении опорного пикселя для выполнения внутреннего предсказания. Флаг может кодироваться и сообщаться устройством для кодирования. Альтернативно флаг может быть получен с устройства для декодирования на основе параметра кодирования текущего блока. Параметр кодирования может включать по меньшей мере одно из положения/области опорного пикселя, размера блока, типа компоненты, того, применялось ли внутреннее предсказание в элементах подблоков, или режима внутреннего предсказания.[00366] Filtering may be selectively performed based on a predetermined flag. The flag may indicate performing filtering on the reference pixel to perform intra prediction. The flag may be encoded and reported by the encoder. Alternatively, the flag may be obtained from the device for decoding based on the encoding parameter of the current block. The encoding parameter may include at least one of the position/area of the reference pixel, block size, component type, whether intra prediction has been applied in subblock elements, or intra prediction mode.

[00367] Например, если опорным пикселем текущего блока является первая линия пикселей, смежная с текущим блоком, то опорный пиксель может подвергаться фильтрации, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно опорный пиксель может подвергаться фильтрации, если количество пикселей, принадлежащих к текущему блоку, больше количества предварительно определенных пороговых значений, в ином случае опорный пиксель может не подвергаться фильтрации. Пороговое значение представляет собой значение, предварительно определенное для устройства для кодирования/декодирования, и может представлять собой целое число 16, 32, 64 или более. Альтернативно опорный пиксель может подвергаться фильтрации, если текущий блок больше предварительно определенного порогового значения, в ином случае опорный пиксель может не подвергаться фильтрации. Пороговое значение может быть представлено как M×N, и оно представляет собой значение, предварительно определенное для устройства для кодирования/декодирования, и М и N могут представлять собой целые числа 8, 16, 32 или более. Пороговое число или пороговый размер могут быть заданы для определения фильтрации опорного пикселя посредством одного порогового числа, или порогового размера, или их комбинации. Альтернативно опорный пиксель может подвергаться фильтрации, если текущий блок представляет собой компоненту яркости, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно, если текущий блок не выполняет вышеописанное внутреннее предсказание в элементах подблоков (то есть текущий блок не разбивается на множество подблоков), опорный пиксель подвергается фильтрации, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно опорный пиксель может подвергаться фильтрации, если режимом внутреннего предсказания текущего блока является ненаправленный режим или предварительно определенный направленный режим, в ином случае опорный пиксель может не подвергаться фильтрации. Здесь ненаправленный режим может представлять собой планарный режим или режим DC. Однако в режиме DC ненаправленного режима он может быть ограничен для отсутствия фильтрации опорного пикселя. Направленный режим может относиться к режиму внутреннего предсказания со ссылкой на целочисленный пиксель. Например, направленный режим может включать по меньшей мере один из режимов внутреннего предсказания, соответствующих режимам -14, -12, -10, -6, 2, 18, 34, 50, 66, 72, 78 и 80, изображенным на фиг. 9. Однако направленный режим может быть ограничен для исключения горизонтального режима и вертикального режима, относящихся, соответственно, к режимам 18 и 50.[00367] For example, if the reference pixel of the current block is the first line of pixels adjacent to the current block, then the reference pixel may be filtered, otherwise the reference pixel may not be filtered. Alternatively, the reference pixel may be filtered if the number of pixels belonging to the current block is greater than the number of predetermined thresholds, otherwise the reference pixel may not be filtered. The threshold value is a value predetermined for the encoder/decoder, and may be an integer of 16, 32, 64 or more. Alternatively, the reference pixel may be filtered if the current block is greater than a predetermined threshold, otherwise the reference pixel may not be filtered. The threshold value may be represented as M×N, and it is a value predetermined for the encoder/decoder, and M and N may be integers of 8, 16, 32 or more. The threshold number or threshold size may be defined to determine the filtering of the reference pixel by one threshold number or threshold size, or a combination thereof. Alternatively, the reference pixel may be filtered if the current block is a luminance component, otherwise the reference pixel may not be filtered. Alternatively, if the current block does not perform the above-described intra prediction in subblock elements (ie, the current block is not split into multiple subblocks), the reference pixel is filtered, otherwise the reference pixel may not be filtered. Alternatively, the reference pixel may be filtered if the intra prediction mode of the current block is non-directional mode or a predetermined directional mode, otherwise the reference pixel may not be filtered. Here, the non-directional mode may be a planar mode or a DC mode. However, in the non-directional mode DC mode, it may be limited to no filtering of the reference pixel. The directional mode may refer to an intra prediction mode with reference to an integer pixel. For example, the steered mode may include at least one of the intra prediction modes corresponding to modes -14, -12, -10, -6, 2, 18, 34, 50, 66, 72, 78, and 80 shown in FIG. 9. However, the directional mode may be limited to exclude the horizontal mode and the vertical mode, respectively, for modes 18 and 50.

[00368] При фильтрации опорного пикселя в соответствии с флагом фильтрация может выполняться на основе фильтра, предопределенного в устройстве для кодирования/декодирования. Количество отводов фильтра может составлять 1, 2, 3, 4, 5 или более. Количество отводов фильтра может быть определено как переменное в соответствии с положением опорного пикселя. Например, 1-отводный фильтр может применяться к опорным пикселям, соответствующим по меньшей мере одной стороне самого нижнего, самого верхнего, самого левого и самого правого конца линии пикселей, а к остальным опорным пикселям может применяться 3-отводный фильтр. Кроме того, сила фильтра может определяться как переменная в соответствии с положением опорного пикселя. Например, сила s1 фильтра может применяться к опорным пикселям, соответствующим по меньшей мере одной стороне самого нижнего, самого верхнего, самого левого и самого правого конца линии пикселей, а к остальным опорным пикселям может применяться сила s2 фильтра (s1<s2). Сила фильтра может сообщаться в устройстве для кодирования или может быть определена на основе вышеописанных параметров кодирования. При применении n-отводного фильтра к опорному пикселю фильтр может быть применен к текущему опорному пикселю и (n-1) окружающих опорных пикселей. Окружающие опорные пиксели могут указывать пиксели, расположенные в по меньшей мере одном из верхнего конца, нижнего конца, левой стороны или правой стороны текущего опорного пикселя. Окружающие опорные пиксели могут принадлежать к той же линии пикселей, что и текущий опорный пиксель, и часть окружающих опорных пикселей может принадлежать к иной линии пикселей, чем текущий опорный пиксель.[00368] When filtering the reference pixel in accordance with the flag, filtering may be performed based on a filter predefined in the device for encoding/decoding. The number of filter taps can be 1, 2, 3, 4, 5 or more. The number of filter taps can be defined as variable according to the position of the reference pixel. For example, a 1-tap filter may be applied to the reference pixels corresponding to at least one side of the bottom-most, top-most, left-most, and right-most ends of the line of pixels, and a 3-tap filter may be applied to the remaining reference pixels. In addition, the strength of the filter may be determined to be variable according to the position of the reference pixel. For example, a filter strength s1 may be applied to reference pixels corresponding to at least one side of the bottommost, topmost, leftmost, and rightmost ends of the line of pixels, and a filter strength s2 (s1<s2) may be applied to the remaining reference pixels. The strength of the filter may be reported at the encoding device, or may be determined based on the encoding parameters described above. When applying an n-tap filter to a reference pixel, the filter may be applied to the current reference pixel and (n-1) surrounding reference pixels. Surrounding reference pixels may indicate pixels located at at least one of the top end, bottom end, left side, or right side of the current reference pixel. The surrounding reference pixels may belong to the same pixel line as the current reference pixel, and a portion of the surrounding reference pixels may belong to a different pixel line than the current reference pixel.

[00369] Например, если текущий опорный пиксель расположен на левой стороне текущего блока, окружающие опорные пиксели могут представлять собой пиксели, смежные в по меньшей мере одном направлении верхнего конца или нижнего конца текущего опорного пикселя. Альтернативно, если текущий опорный пиксель расположен на верхнем конце текущего блока, окружающие опорные пиксели могут представлять собой пиксели, смежные в по меньшей мере одной из левой и правой сторон текущего опорного пикселя. Альтернативно, если текущий опорный пиксель расположен на верхнем левом конце текущего блока, окружающие опорные пиксели могут представлять собой пиксели, смежные в по меньшей мере одном из нижнего конца или правой стороны текущего опорного пикселя. Соотношение между коэффициентами фильтра может составлять [1:2:1], [1:3:1] или [1:4:1].[00369] For example, if the current reference pixel is located on the left side of the current block, the surrounding reference pixels may be pixels adjacent in at least one direction of the top end or bottom end of the current reference pixel. Alternatively, if the current reference pixel is located at the top end of the current block, the surrounding reference pixels may be pixels adjacent on at least one of the left and right sides of the current reference pixel. Alternatively, if the current reference pixel is located at the upper left end of the current block, the surrounding reference pixels may be pixels adjacent at least one of the lower end or right side of the current reference pixel. The ratio between the filter coefficients can be [1:2:1], [1:3:1], or [1:4:1].

[00370] Секция генерирования блока предсказания выполнена с возможностью генерирования блока предсказания в соответствии с по меньшей мере одним режимом предсказания и использования опорного пикселя на основе режима внутреннего предсказания. В этом случае опорный пиксель может использоваться в таких способах, как экстраполяция (направленный режим) в соответствии с режимом предсказания, и может использоваться в таких способах (ненаправленный режим), как интерполяция, или усреднение (DC), или копирование. В то же время, как описано выше, текущий блок может использовать фильтрованные опорные пиксели или может использовать нефильтрованные опорные пиксели.[00370] The prediction block generating section is configured to generate a prediction block in accordance with at least one prediction mode and use a reference pixel based on the intra prediction mode. In this case, the reference pixel may be used in methods such as extrapolation (directional mode) according to the prediction mode, and may be used in methods (non-directional mode) such as interpolation or averaging (DC) or copying. At the same time, as described above, the current block may use filtered reference pixels or may use unfiltered reference pixels.

[00371] На фиг. 13 представлена схема, на которой изображен блок, смежный с текущим блоком, для генерирования блока предсказания.[00371] FIG. 13 is a diagram showing a block adjacent to a current block for generating a prediction block.

[00372] Например, при направленном режиме в режиме между горизонтальным режимом и некоторыми диагональными режимами (диагонально сверху справа, включая диагональные линии, отличные от горизонтали) могут использоваться опорные пиксели нижнего левого блока + левого блока (Ref_BL и Ref_L на фиг. 13), в горизонтальном режиме может использоваться опорный пиксель левого блока, в режиме между горизонтальным и вертикальным режимами могут использоваться опорные пиксели левого блока + верхнего левого блока + верхнего блока (Ref_L, Ref_TL и Ref_T на фиг. 13), в вертикальном режиме может использоваться опорный пиксель верхнего блока (Ref_L на фиг. 13), и в режиме между вертикальным режимом и некоторыми диагональными режимами (диагонально снизу слева, включая диагонали, отличные от вертикали) могут использоваться опорные пиксели верхнего блока + верхнего правого блока (Ref_T и Ref_TR на фиг. 13). Альтернативно в ненаправленном режиме опорные пиксели левого блока и верхнего блока (Ref_L и Ref_Т на фиг. 13) или опорные пиксели нижнего левого блока, левого блока, верхнего левого блока, верхнего блока и правого верхнего блока (Ref_BL, Ref_L, Ref_TL, Ref_T и Ref_TR на фиг. 13). Альтернативно, в случае использования режима корреляции цветовых пространств (режима копирования цвета) в качестве опорных пикселей используются восстановленные блоки других цветовых пространств (не изображены на фиг. 12, но называются Ref_Col в настоящем описании; это означает, что размещенная ссылка блоков находится в разных пространствах в одно время).[00372] For example, in directional mode, in a mode between horizontal mode and some diagonal modes (diagonally top right, including non-horizontal diagonal lines), reference pixels of the lower left block + left block (Ref_BL and Ref_L in Fig. 13) can be used, in horizontal mode, the left block reference pixel can be used, in the mode between horizontal and vertical modes, the left block + top left block + top block reference pixels (Ref_L, Ref_TL, and Ref_T in Fig. 13) can be used, in vertical mode, the top block reference pixel can be used block (Ref_L in Fig. 13), and in a mode between vertical mode and some diagonal modes (diagonally bottom left, including non-vertical diagonals), top block + top right block reference pixels (Ref_T and Ref_TR in Fig. 13) can be used . Alternatively, in non-directional mode, the left block and top block reference pixels (Ref_L and Ref_T in FIG. 13) or the bottom left block, left block, top left block, top block, and top right block reference pixels (Ref_BL, Ref_L, Ref_TL, Ref_T, and Ref_TR in Fig. 13). Alternatively, in the case of using the color space correlation mode (color copying mode), reconstructed blocks of other color spaces (not shown in Fig. 12, but called Ref_Col in the present description) are used as reference pixels; this means that the placed block reference is in different spaces At the same time).

[00373] Опорные пиксели, используемые для внутреннего предсказания, могут быть выделены во множество групп. Например, опорные пиксели, используемые для внутреннего предсказания, могут быть выделены в первый опорный пиксель и второй опорный пиксель, и первый опорный пиксель может представлять собой пиксель, непосредственно используемый для генерирования значения предсказания текущего блока, и второй опорный пиксель может представлять собой пиксель, опосредованно используемый для генерирования значения предсказания текущего блока. Альтернативно первый опорный пиксель может представлять собой пиксель, используемый для генерирования значений предсказания всех пикселей текущего блока, а второй опорный пиксель может представлять собой пиксель, используемый для генерирования значения предсказания некоторых пикселей текущего блока. Альтернативно первый опорный пиксель может представлять собой пиксель, используемый для генерирования главного значения предсказания текущего блока, а второй опорный пиксель может представлять собой пиксель, используемый для генерирования вспомогательного значения предсказания текущего блока. Альтернативно первый опорный пиксель (безусловно) может представлять собой пиксель в области в начальной точке направления предсказания текущего блока, второй опорный пиксель может представлять собой пиксель, не находящийся в начальной точке (необходимого) направления предсказания текущего блока.[00373] The reference pixels used for intra prediction may be divided into a plurality of groups. For example, reference pixels used for intra prediction may be allocated to a first reference pixel and a second reference pixel, and the first reference pixel may be a pixel directly used to generate a prediction value of the current block, and the second reference pixel may be a pixel indirectly used to generate the prediction value of the current block. Alternatively, the first reference pixel may be a pixel used to generate prediction values of all pixels of the current block, and the second reference pixel may be a pixel used to generate prediction values of some pixels of the current block. Alternatively, the first reference pixel may be the pixel used to generate the main prediction value of the current block, and the second reference pixel may be the pixel used to generate the auxiliary prediction value of the current block. Alternatively, the first reference pixel (certainly) may be a pixel in an area at the starting point of the prediction direction of the current block, the second reference pixel may be a pixel not located at the starting point of the (desired) prediction direction of the current block.

[00374] Как описано в приведенном выше примере, несмотря на то что опорные пиксели можно различить при помощи разных определений, могут иметь место случаи, в которых некоторые определения не различаются в соответствии с режимом предсказания. То есть следует отметить, что определение, используемое для различения опорных пикселей, может отличаться в соответствии с режимом предсказания.[00374] As described in the above example, although the reference pixels can be distinguished using different definitions, there may be cases in which some definitions are not distinguished according to the prediction mode. That is, it should be noted that the definition used to distinguish the reference pixels may differ according to the prediction mode.

[00375] Опорным пикселем, описанным при помощи вышеописанного примера, может являться первый опорный пиксель, а второй опорный пиксель может дополнительно участвовать в генерировании блока предсказания. В режиме между некоторыми диагональными режимами (диагональным сверху справа, включая диагональные линии, отличные от горизонтали) могут использоваться опорные пиксели верхнего левого блока + верхнего блока + верхнего правого блока (Ref_TL, Ref_T и Ref_TR на фиг. 13), в горизонтальном режиме могут использоваться опорные пиксели верхнего левого блока + верхнего блока + верхнего правого блока (Ref_TL, Ref_Т и Ref_TR на фиг. 13), в вертикальном режиме могут использоваться опорные пиксели верхнего левого блока + верхнего блока + нижнего левого блока (Ref_TL, Ref_Т и Ref_TR на фиг. 13), в вертикальном режиме могут использоваться опорные пиксели верхнего левого блока + левого блока + нижнего левого блока (Ref_TL, Ref_L и Ref_BL на фиг. 13), и в режиме между вертикальным режимом и некоторыми диагональными режимами (диагонально снизу слева, включая диагонали, отличные от вертикали) могут использоваться опорные пиксели верхнего левого блока + левого блока + нижнего левого блока (Ref_TL, Ref_L и Ref_BL на фиг. 13). Подробнее, опорный пиксель может использоваться как второй опорный пиксель. Кроме того, первый опорный пиксель или первый и второй опорные пиксели могут использоваться для генерирования блока предсказания в ненаправленном режиме и режиме копирования цвета.[00375] The reference pixel described with the above example may be the first reference pixel, and the second reference pixel may further participate in generating the prediction block. In the mode between some diagonal modes (diagonal top right, including diagonal lines other than horizontal), the top left block + top block + top right block reference pixels (Ref_TL, Ref_T and Ref_TR in Fig. 13) can be used, in horizontal mode can be used top left block + top block + top right block reference pixels (Ref_TL, Ref_T and Ref_TR in Fig. 13), in vertical mode, top left block + top block + bottom left block reference pixels (Ref_TL, Ref_T and Ref_TR in Fig. 13) can be used. 13), in vertical mode, the reference pixels of the upper left block + left block + lower left block (Ref_TL, Ref_L and Ref_BL in Fig. 13) can be used, and in a mode between vertical mode and some diagonal modes (diagonal bottom left, including diagonals, other than vertical) reference pixels of upper left block + left block + lower left block (Ref_TL, Ref_L and Ref_BL in FIG. 13). In more detail, the reference pixel may be used as the second reference pixel. In addition, the first reference pixel or the first and second reference pixels may be used to generate a prediction block in the non-directional mode and the color copy mode.

[00376] Кроме того, можно считать, что второй опорный пиксель включает не только пиксели, которые были закодированы/декодированы, но также пиксели в текущем блоке (в данном примере пиксели предсказания). То есть главным значением предсказания может являться пиксель, используемый для генерирования вспомогательного значения предсказания. В настоящем изобретении будет главным образом описан пример, в котором вторым опорным пикселем считается пиксель, который был закодирован/декодирован, но настоящее изобретение этим не ограничено, и также может иметь место преобразованный пример, в котором используются пиксели, которые не были закодированы/декодированы (в данном примере - пиксели предсказания).[00376] In addition, the second reference pixel can be considered to include not only pixels that have been encoded/decoded, but also pixels in the current block (prediction pixels in this example). That is, the main prediction value may be a pixel used to generate the auxiliary prediction value. The present invention will mainly describe an example in which the second reference pixel is considered to be a pixel that has been encoded/decoded, but the present invention is not limited to this, and there may also be a converted example that uses pixels that have not been encoded/decoded ( in this example, prediction pixels).

[00377] Для компенсации недостатков существующего режима предсказания, блок предсказания может генерироваться или корректироваться с использованием множества опорных пикселей.[00377] To compensate for the shortcomings of the existing prediction mode, a prediction block may be generated or corrected using a plurality of reference pixels.

[00378] Например, направленный режим представляет собой режим, используемый для предсказания направленности соответствующего блока с использованием некоторых опорных пикселей (первого опорного пикселя), однако он может неточно отражать изменения в блоке, что может вызывать снижение точности предсказания. В этом случае, если блок предсказания генерируется или корректируется с использованием дополнительного опорного пикселя (второго опорного пикселя), точность предсказания может быть повышена.[00378] For example, the directional mode is a mode used to predict the directionality of a corresponding block using some reference pixels (the first reference pixel), however, it may not accurately reflect changes in the block, which may cause a reduction in prediction accuracy. In this case, if a prediction block is generated or corrected using an additional reference pixel (second reference pixel), prediction accuracy can be improved.

[00379] С этой целью в следующем примере будет описан случай, в котором блок предсказания генерируется с использованием различных опорных пикселей, как в приведенном выше примере, но настоящее изобретение не ограничено случаем приведенного выше примера, и даже если такие термины, как первый и второй опорные пиксели, не используются, эти термины могут быть получены и поняты из приведенных выше определений.[00379] To this end, the following example will describe a case in which a prediction block is generated using different reference pixels as in the above example, but the present invention is not limited to the case of the above example, and even if terms such as first and second reference pixels are not used, these terms can be derived and understood from the above definitions.

[00380] Настройка для использования дополнительного опорного пикселя с целью генерирования блока предсказания может быть определена в явном виде или задана в неявном виде. В явном случае элемент может содержать видео, последовательность, кадр, срез, плитку и т.д. В следующем примере будет описан случай неявной обработки, однако настоящее изобретение им не ограничено, и могут иметься другие, модифицированные (в явном виде или комбинированные) примеры.[00380] The setting for using an additional reference pixel to generate a prediction block may be explicitly specified or implicitly specified. In the explicit case, an element can contain a video, sequence, frame, slice, tile, and so on. In the following example, the case of implicit processing will be described, however, the present invention is not limited thereto, and there may be other modified (explicit or combined) examples.

[00381] Блок предсказания может генерироваться различными способами в соответствии с режимом предсказания. Подробнее, блок предсказания может быть определен в соответствии с положением опорного пикселя, используемого в режиме предсказания. Кроме того, способ предсказания может быть определен в соответствии с положением пикселя в блоке.[00381] The prediction block may be generated in various ways according to the prediction mode. More specifically, a prediction block may be determined according to the position of a reference pixel used in the prediction mode. In addition, the prediction method may be determined according to the position of the pixel in the block.

[00382] Ниже будет описан случай горизонтального режима.[00382] The case of the horizontal mode will be described below.

[00383] Например, если в качестве опорного пикселя используется левый блок (Ref_L на фиг. 13), блок предсказания генерируется в горизонтальном направлении с использованием (например, экстраполяции) ближайшего пикселя (1300 на фиг. 13).[00383] For example, if the left block (Ref_L in FIG. 13) is used as the reference pixel, a prediction block is generated in the horizontal direction using (eg, extrapolation) the nearest pixel (1300 in FIG. 13).

[00384] Кроме того, блок предсказания может генерироваться (или корректироваться; генерирование может включать конечное значение предсказания; коррекция может не включать все пиксели) путем использования опорных пикселей, смежных с текущим блоком и соответствующих горизонтальному направлению. Подробнее, для коррекции значения предсказания может использоваться ближайший пиксель соответствующего блока (1310 на фиг. 13; также могут учитываться и другие пиксели 1320 и 1330), и информация о степени изменения, или градиенте, пикселя и т.д. (например, информация о степени изменения, или градиенте, значений пикселя, отраженных в R0-T0, T0-TL, T2-TL, Т2-Т0, Т2-Т1 и т.д.) может передаваться при помощи обратной связи в процесс коррекции.[00384] In addition, the prediction block may be generated (or corrected; the generation may include the final prediction value; the correction may not include all pixels) by using reference pixels adjacent to the current block and corresponding to the horizontal direction. In more detail, the closest pixel of the corresponding block (1310 in FIG. 13; other pixels 1320 and 1330 can also be taken into account) and information about the degree of change, or gradient, of the pixel, etc. can be used to correct the prediction value. (for example, information about the degree of change, or gradient, of the pixel values reflected in R0-T0, T0-TL, T2-TL, T2-T0, T2-T1, etc.) can be fed back to the correction process .

[00385] В этом случае пиксели, подлежащие коррекции, могут представлять собой все пиксели в текущем блоке или могут быть ограничены некоторыми пикселями (например, они могут быть определены в элементах одного пикселя, не имеющих конкретной формы или существующих в непостоянном положении, как в следующем примере, они определяются в элементах пикселя линии, имеющих определенную форму; для простоты описания описание в следующем примере выполнено в предположении элемента пикселя с линией в качестве элемента). Если коррекционный пиксель ограниченно применяется к некоторым пикселям, элемент может определяться как по меньшей мере одна линия, соответствующая направлению режима предсказания. Например, пиксели, соответствующие a-d, могут быть включены в цель коррекции, и, кроме того, в цель коррекции также могут быть включены пиксели, соответствующие e-h. Кроме того, информация о коррекции, полученная из смежных пикселей блока, может идентично применяться независимо от положения линии, или информация о коррекции может применяться в элементах линий по-разному, и, по мере увеличения расстояния от смежных пикселей, применимость информации о коррекции может снижаться (например, в соответствии с расстоянием, таким как L1-TL и L0-TL, может быть задано большее значение разделения).[00385] In this case, the pixels to be corrected may be all pixels in the current block, or may be limited to some pixels (for example, they may be defined in elements of a single pixel that do not have a particular shape or exist in a non-permanent position, as in the following example, they are defined in pixel elements of a line having a specific shape; for ease of description, the description in the following example is made assuming a pixel element with a line as an element). If the correction pixel is limited applied to some pixels, the element may be defined as at least one line corresponding to the direction of the prediction mode. For example, pixels corresponding to a-d may be included in the correction target, and furthermore, pixels corresponding to e-h may also be included in the correction target. In addition, correction information obtained from adjacent pixels of a block may be identically applied regardless of line position, or correction information may be applied differently in line elements, and as the distance from adjacent pixels increases, the applicability of correction information may decrease. (for example, according to the distance such as L1-TL and L0-TL, a larger separation value can be set).

[00386] В этом случае пиксели, включенные в объект коррекции, могут иметь только одну настройку в одном изображении или могут определяться адаптивно в соответствии с различными элементами кодирования/декодирования.[00386] In this case, the pixels included in the correction object may have only one setting in one image, or may be determined adaptively in accordance with different encoding/decoding elements.

[00387] В качестве примера, в случае адаптивного определения пиксели, подлежащие коррекции, могут быть определены в соответствии с размером блока. В блоке менее 8×8, коррекции не подвергается ни одна линия, только один пиксель может быть скорректирован в блоке более 8×8 и менее 32×32, и в блоке более 32×32 может корректироваться две линии пикселей. Определение диапазона размеров блока может быть получено из предшествующего описания настоящего изобретения.[00387] As an example, in the case of adaptive determination, the pixels to be corrected may be determined according to the block size. In a block of less than 8x8, no line is corrected, only one pixel can be corrected in a block of more than 8x8 and less than 32x32, and in a block of more than 32x32, two lines of pixels can be corrected. The definition of the range of block sizes can be obtained from the previous description of the present invention.

[00388] Альтернативно пиксели, подлежащие коррекции, могут определяться в соответствии с формой блока (например, квадратной или прямоугольной; в частности, прямоугольника, удлиненного в горизонтальном направлении, или прямоугольника, удлиненного в вертикальном направлении). Например, в случае блока 8×4 коррекции могут подвергаться две линии пикселей (ah на фиг. 13), а в случае блока 4×8 коррекции может подвергаться одна линия пикселей (ad на фиг. 13). Если форма блока, растянутого по горизонтали, определена как находящаяся в горизонтальном режиме в случае 8×4, направленность текущего блока может в большей степени зависеть от верхнего блока, и, если форма блока, растянутого вертикально, определена как находящаяся в горизонтальном режиме в случае 4×8, направленность текущего блока может зависеть от верхнего блока в меньшей степени. Кроме того, возможно также расположение, противоположное описанному выше.[00388] Alternatively, the pixels to be corrected may be determined according to the shape of the block (eg, square or rectangular; in particular, a rectangle elongated in the horizontal direction or a rectangle elongated in the vertical direction). For example, in the case of an 8×4 correction block, two pixel lines (ah in FIG. 13) may be subjected, and in the case of a 4×8 correction block, one pixel line (ad in FIG. 13) may be subjected. If the shape of the horizontally stretched box is determined to be in horizontal mode in the 8×4 case, the directionality of the current box may be more dependent on the top box, and if the shape of the vertically stretched box is determined to be in horizontal mode in the case of 4 ×8, the directionality of the current block may depend on the top block to a lesser extent. In addition, an arrangement opposite to that described above is also possible.

[00389] Альтернативно пиксели, подлежащие коррекции, могут быть определены в соответствии с режимом предсказания. В горизонтальном или вертикальном режиме целями коррекции могут являться линии а пикселей, тогда как в других режимах целями коррекции могут являться линии b пикселей. Как описано выше, в случае некоторых режимов (например, ненаправленного режима DC, режима копирования цвета и т.д.) пиксели, подлежащие коррекции, не являются прямоугольными, но диапазон определяется в элементах пикселей (например, a-d, е, i, m). Это будет подробно описано в следующем примере.[00389] Alternatively, the pixels to be corrected may be determined according to the prediction mode. In the horizontal or vertical mode, the correction targets may be a pixel lines, while in the other modes, the correction targets may be b pixel lines. As described above, in the case of some modes (such as DC non-directional mode, color copy mode, etc.), the pixels to be corrected are not rectangular, but the range is specified in pixel units (such as a-d, e, i, m) . This will be detailed in the following example.

[00390] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении горизонтального режима. Однако оно применимо не только к приведенным выше примерам, но аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же случай, как в приведенном выше примере, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.[00390] In addition to the above description, adaptive settings may be applied according to additional coding/decoding elements. The above description focuses on the horizontal mode limitation. However, it does not only apply to the examples above, but the same or similar settings apply to other modes as well. In addition, the same case as in the above example is implemented according to the combination of a plurality of elements rather than a single encoding/decoding element.

[00391] В случае вертикального режима, поскольку его можно получить путем применения разных направлений к режиму предсказания горизонтального режима, его подробное описание опущено. Кроме того, в следующем примере опущены повторы содержимого, связанного с горизонтальным режимом.[00391] In the case of the vertical mode, since it can be obtained by applying different directions to the horizontal mode prediction mode, its detailed description is omitted. In addition, the following example omits repetitions of content associated with landscape mode.

[00392] Ниже будет описан случай диагонального режима (диагонального вверх вправо).[00392] The case of the diagonal mode (diagonal upward to the right) will be described below.

[00393] Например, если в качестве опорных пикселей используются левый блок и нижний левый блок (первые опорные пиксели, или главные опорные пиксели, Ref_L и Ref_BL на фиг. 13), блок предсказания генерируется в диагональном направлении с использованием ближайших пикселей (1300 и 1340 на фиг. 13) соответствующего блока (например, путем экстраполяции и т.д.).[00393] For example, if the left block and the lower left block (the first reference pixels, or main reference pixels, Ref_L and Ref_BL in Fig. 13) are used as reference pixels, a prediction block is generated in the diagonal direction using the nearest pixels (1300 and 1340 in Fig. 13) of the corresponding block (for example, by extrapolation, etc.).

[00394] Кроме того, блок предсказания может генерироваться (или корректироваться) с использованием опорных пикселей (вторых опорных пикселей, или вспомогательных опорных пикселей; Ref_Т и Ref_TR на фиг. 13), смежных с текущим блоком, расположенных в диагонально противоположных положениях. Подробнее, значение предсказания может корректироваться с использованием ближайших пикселей соответствующего блока (1310 и 1330 на фиг. 13, и дополнительно может учитываться 1320) и может передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, взвешенное значение может быть получено на основе по меньшей мере одного из пикселя предсказания, главного опорного пикселя или разности расстояний по оси х или оси у между пикселем предсказания и вспомогательным опорным пикселем; пример взвешенного значения, применимого к главному опорному пикселю и вспомогательному опорному пикселю, может включать 15:1 - 8:8; если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения таков, что взвешенные значения во вспомогательных опорных пикселях, например, 14:1:1, 12:2:2, 10:3:3, 8:4:4, являются одинаковыми, или взвешенные значения между вспомогательными опорными пикселями, например, 12:3:1, 10:4:2, 8:6:2, могут отличаться; в этом случае путем центрирования на соответствующем пикселе предсказания разные взвешенные значения определяются в соответствии с близостью информации о наклоне в текущем направлении режима предсказания, то есть определяется градиент текущего режима предсказания, ближе к которому находится градиент соответствующего пикселя предсказания и каждого вспомогательного опорного пикселя).[00394] In addition, a prediction block may be generated (or corrected) using reference pixels (second reference pixels, or auxiliary reference pixels; Ref_T and Ref_TR in FIG. 13) adjacent to the current block located at diagonally opposite positions. In more detail, the prediction value may be corrected using the nearest pixels of the respective block (1310 and 1330 in FIG. 13, and additionally may be taken into account 1320) and may be fed back to the correction process using a weighted average minor reference pixel and a main reference pixel (e.g. , the weighted value can be obtained based on at least one of the prediction pixel, the main reference pixel, or the x-axis or y-axis distance difference between the prediction pixel and the sub-reference pixel; an example of a weighted value applicable to the main reference pixel and the sub-reference pixel, may include 15:1 - 8:8; if there are more than two auxiliary reference pixels, an example of a weighted value is such that the weighted values in the auxiliary reference pixels, for example, 14:1:1, 12:2:2, 10:3:3 , 8:4:4, are the same, or the weighted values between the auxiliary reference pixels, for example, 12:3:1, 10:4:2, 8:6:2, may differ; in this case, by centering on the corresponding prediction pixel, different weight values are determined according to the proximity of the tilt information in the current direction of the prediction mode, that is, the gradient of the current prediction mode, which is closer to the gradient of the corresponding prediction pixel and each auxiliary reference pixel, is determined).

[00395] В этом случае фильтрация имеет одну настройку в одном изображении, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.[00395] In this case, the filtering has one setting in one picture, or the filtering is determined adaptively according to different coding/decoding elements.

[00396] В качестве примера, в случае адаптивного определения пиксели, подлежащие фильтрации (например, число пикселей и т.д.), могут быть определены в соответствии с положениями пикселей, подлежащих коррекции. Если режим предсказания представляет собой диагональный режим (в данном примере - режим 2), и пикселем, подлежащим коррекции, является с, предсказание выполняется с использованием L3 (в данном примере - первый опорный пиксель), и коррекция выполняется с использованием Т3 (в данном - примере второй опорный пиксель). То есть данный случай может представлять собой случай, в котором для предсказания одного пикселя используются один первый опорный пиксель и один второй опорный пиксель.[00396] As an example, in the case of adaptive determination, the pixels to be filtered (eg, the number of pixels, etc.) may be determined according to the positions of the pixels to be corrected. If the prediction mode is the diagonal mode (in this example, mode 2) and the pixel to be corrected is c, prediction is performed using L3 (in this example, the first reference pixel), and correction is performed using T3 (in this example, example, the second reference pixel). That is, this case may be a case in which one first reference pixel and one second reference pixel are used to predict one pixel.

[00397] Альтернативно, если режимом предсказания является диагональный режим (в данном примере - режим 3), и пикселем, подлежащим коррекции, является b, предсказание выполняется с использованием L1* (или L2*, в данном примере - первого опорного пикселя), полученного путем выполнения интерполяции в отношении пикселей десятичных элементов между L1 и L2, и коррекция выполняется с использованием Т2 (в данном примере второго опорного пикселя), или коррекция может выполняться с использованием Т3. Альтернативно коррекция может выполняться с использованием Т2 и Т3, или коррекция может выполняться с использованием Т2* (или Т3*), которые получены путем выполнения интерполяции в отношении пикселей десятичных элементов между Т2 и Т3, которые получены на основе направленности режима предсказания. То есть для предсказания одного пикселя могут использоваться один первый опорный пиксель (в данном примере, предполагая L1*, его можно рассматривать как два пикселя, если непосредственно используемыми пикселями считаются L1 и L2; или, в соответствии с фильтром, используемым для выполнения интерполяции в отношении L1*, его можно рассматривать как два или более пикселей) и два вторых опорных пикселя (в данном примере, предполагая Т2 и Т3, L1* можно рассматривать как один пиксель).[00397] Alternatively, if the prediction mode is diagonal mode (mode 3 in this example) and the pixel to be corrected is b, prediction is performed using L1* (or L2*, in this example, the first reference pixel) obtained by performing interpolation on the pixels of the decimal elements between L1 and L2, and the correction is performed using T2 (in this example, the second reference pixel), or the correction may be performed using T3. Alternatively, the correction may be performed using T2 and T3, or the correction may be performed using T2* (or T3*) which are obtained by performing interpolation on the bin pixels between T2 and T3, which are obtained based on the directivity of the prediction mode. That is, one first reference pixel can be used to predict one pixel (in this example, assuming L1*, it can be considered as two pixels if L1 and L2 are considered directly used pixels; or, according to the filter used to perform interpolation with respect to L1*, it can be considered as two or more pixels) and two second reference pixels (in this example, assuming T2 and T3, L1* can be considered as one pixel).

[00398] Коротко говоря, для предсказания одного пикселя, который может быть определен в соответствии с режимом предсказания и положением пикселя предсказания, можно использовать по меньшей мере один первый опорный пиксель и по меньшей мере один второй опорный пиксель.[00398] Briefly, at least one first reference pixel and at least one second reference pixel can be used to predict one pixel, which can be determined according to the prediction mode and prediction pixel position.

[00399] Если коррекционные пиксели ограниченно применяются к некоторым пикселям, скорректированные пиксели могут определяться в элементах по меньшей мере одной горизонтальной линии или вертикальной линии в соответствии с направлением режима внутреннего предсказания. Например, в цель коррекции могут быть включены пиксели, соответствующие а, е, i и m, или пиксели, соответствующие a-d, и, кроме того, в цель коррекции также могут быть включены пиксели, соответствующие b, f, j и n, или пиксели, соответствующие e-h. В некоторых случаях режима диагонально вверх вправо коррекции могут подвергаться пиксели в элементах горизонтальной линии, и в некоторых случаях режима диагонально вниз влево коррекции могут подвергаться пиксели в элементах вертикальной линии, которые этим не ограничены.[00399] If the correction pixels are limited applied to some pixels, the corrected pixels may be determined in the elements of at least one horizontal line or vertical line in accordance with the direction of the intra prediction mode. For example, pixels corresponding to a, e, i, and m or pixels corresponding to a-d may be included in the correction target, and furthermore, pixels corresponding to b, f, j, and n, or pixels corresponding to e-h. In some diagonal up right mode cases, pixels in horizontal line elements may be corrected, and in some diagonal down left mode cases, pixels in vertical line elements may be corrected, which is not limited to this.

[00400] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении режима диагонально вверх вправо. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, приведенный выше пример реализуется в соответствии с множеством элементов, а не комбинацией одного элемента кодирования/декодирования.[00400] In addition to the above description, adaptive settings may be applied according to additional encoding/decoding elements. The description above is focused on limiting the mode diagonally up to the right. However, it is applicable to the above examples not only in a limited sense, and similar or similar settings are applicable to other modes. In addition, the above example is implemented according to a plurality of elements rather than a combination of a single encoding/decoding element.

[00401] В случае режима диагонально вниз влево, поскольку его можно получить только путем применения разных направлений к способу предсказания диагонально вверх вправо, его подробное описание опущено.[00401] In the case of the diagonal down left mode, since it can only be obtained by applying different directions to the diagonal up right prediction method, a detailed description thereof is omitted.

[00402] Ниже будет описан случай режима диагонально вверх влево.[00402] The case of the diagonal upward left mode will be described below.

[00403] Например, если в качестве опорных пикселей используются левый блок, верхний левый блок и верхний блок (первые опорные пиксели, или главные опорные пиксели, Ref_L, RefT_L и Ref_T на фиг. 13), блок предсказания генерируется в диагональном направлении с использованием ближайших пикселей (1300, 1310 и 1320 на фиг. 13) соответствующего блока (например, путем экстраполяции и т.д.).[00403] For example, if the left block, the upper left block, and the upper block (the first reference pixels, or main reference pixels, Ref_L, RefT_L, and Ref_T in FIG. 13) are used as reference pixels, a prediction block is generated in the diagonal direction using the nearest pixels (1300, 1310, and 1320 in FIG. 13) of the corresponding block (eg, by extrapolation, etc.).

[00404] Кроме того, блок предсказания может генерироваться (или корректироваться) с использованием опорных пикселей (вторых опорных пикселей, или вспомогательных опорных пикселей, Ref_L, Ref_TL и Ref_Т на фиг. 13, в таком же положении, как главный опорный пиксель), смежных с текущим блоком, расположенных в положениях, совпадающих с диагональными линиями. Подробнее, для коррекции значения предсказания могут использоваться и иные пиксели, чем ближайшие пиксели соответствующего блока (пиксели, расположенные на левой стороне 1300, пиксели, расположенные на левой стороне, верхней стороне и верхней левой стороне 1320, пиксели, расположенные на верхней стороне 1310, и т.д. на фиг. 13), и они могут передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, пример соотношения взвешенных значений, применимых к главному опорному пикселю и вспомогательному опорному пикселю, может включать 7:1-4:4 и т.д., если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения может представлять собой случай, в котором взвешенные значения во вспомогательных опорных пикселях являются одинаковыми, например, 14:1:1, 12:2:2, 10:3:3 и 8:4:4, или взвешенные значения между вспомогательными опорными пикселями являются разными, например, 12:3:1, 10:4:2 и 8:6:2; в этом случае взвешенные значения, применяемые по-разному, могут определяться в соответствии с тем, являются ли они смежными с главным опорным пикселем) или линейной экстраполяции и т.д.[00404] In addition, a prediction block may be generated (or corrected) using reference pixels (second reference pixels, or auxiliary reference pixels, Ref_L, Ref_TL and Ref_T in Fig. 13, at the same position as the main reference pixel) adjacent with the current block, located in positions coinciding with the diagonal lines. In more detail, pixels other than the nearest pixels of the corresponding block (pixels located on the left side 1300, pixels located on the left side, top side and top left side 1320, pixels located on the top side 1310, and etc. in Fig. 13), and they can be fed back to the correction process using the weighted average auxiliary reference pixel and the main reference pixel (for example, an example of the ratio of weighted values applied to the main reference pixel and the auxiliary reference pixel, may include 7:1-4:4, etc., if there are more than two auxiliary reference pixels, an example of a weighted value may be a case in which the weighted values in the auxiliary reference pixels are the same, for example, 14:1:1, 12:2:2, 10:3:3 and 8:4:4, or the weighted values between the auxiliary reference pixels are different, such as 12:3:1, 10:4:2 and 8:6:2; in this case, the weighted values applied differently may be determined according to whether they are adjacent to the main reference pixel) or linear extrapolation, etc.

[00405] Если коррекционные пиксели ограниченно применяются к некоторым пикселям, скорректированные пиксели могут определяться в элементах горизонтальной линии или вертикальной линии, смежной с опорным пикселем, используемым в режиме предсказания. В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание. Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие а, е, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, е и f перекрываются).[00405] If the correction pixels are limited applied to some pixels, the corrected pixels may be determined in horizontal line or vertical line elements adjacent to the reference pixel used in the prediction mode. In this case, horizontal and vertical lines can be taken into account at the same time, and overlap is allowed. For example, pixels corresponding to a-d and pixels (overlapping with a) corresponding to a, e, i, and m may be included in the correction target. In addition, pixels corresponding to e-h and pixels corresponding to b, f, j, and n (a, b, e, and f overlap) can be included in the correction target.

[00406] Ниже будет описан случай ненаправленного режима (DC).[00406] The case of non-directional mode (DC) will be described below.

[00407] Например, если в качестве опорного пикселя используется по меньшей мере один из левого блока, верхнего блока, верхнего левого блока, верхнего правого блока или нижнего левого блока, для генерирования блока предсказания может использоваться (например, усредняться и т.д.) ближайший пиксель блока (в данном примере предполагаются пиксели 1300 и 1310 на фиг. 13).[00407] For example, if at least one of the left block, top block, top left block, top right block, or bottom left block is used as a reference pixel, (e.g., average, etc.) can be used to generate a prediction block. the nearest block pixel (in this example, pixels 1300 and 1310 in FIG. 13 are assumed).

[00408] Альтернативно для генерирования (или коррекции) блока предсказания может использоваться смежный пиксель опорного пикселя (второй опорный пиксель, или вспомогательный опорный пиксель, опорного пикселя; положения Ref_L и Ref_T на фиг. 13 в данном примере являются такими же, как главный опорный пиксель, или являются дополнением главного опорного пикселя, также включен пиксель, расположенный в следующем смежном положении; случай, аналогичный режиму диагонально вверх вправо). Подробнее, пиксели в положениях, таких же или аналогичных положению главного опорного пикселя соответствующего блока, могут использоваться для коррекции значения предсказания и могут передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, пример соотношения взвешенных значений, применимых к главному опорному пикселю и вспомогательному опорному пикселю, может включать 15:1-8:8 и т.д., если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения может представлять собой случай, в котором взвешенные значения во вспомогательных опорных пикселях являются одинаковыми, например, 14:1:1, 12:2:2, 10:3:3 и 8:4:4, или взвешенные значения между вспомогательными опорными пикселями являются разными, например, 12:3:1, 10:4:2 и 8:6:2).[00408] Alternatively, an adjacent pixel of the reference pixel (the second reference pixel, or minor reference pixel, of the reference pixel) can be used to generate (or correct) the prediction block; the positions of Ref_L and Ref_T in Fig. 13 in this example are the same as the main reference pixel , or are the complement of the main reference pixel, the pixel located in the next adjacent position is also included; the case is similar to the mode diagonally up to the right). In more detail, pixels at positions the same or similar to the position of the main reference pixel of the corresponding block may be used to correct the prediction value, and may be fed back to the correction process using the weighted average sub-reference pixel and the main reference pixel (for example, an example of the ratio of the weighted values applicable to the main reference pixel and the sub-reference pixel may include 15:1-8:8, etc., if there are more than two sub-reference pixels, an example of a weighted value may be a case in which the weighted values in the sub-reference pixels are the same, such as 14:1:1, 12:2:2, 10:3:3, and 8:4:4, or the weighted values between the auxiliary reference pixels are different, such as 12:3:1, 10: 4:2 and 8:6:2).

[00409] В этом случае фильтрация имеет одну настройку для одного изображения, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.[00409] In this case, the filtering has one setting for one picture, or the filtering is determined adaptively according to different coding/decoding elements.

[00410] В качестве примера, в случае адаптивного определения фильтр может быть определен в соответствии с размером блока. Для пикселей, расположенных сверху слева, на верхнем конце и левом конце текущего блока (в данном примере, предполагается, что пиксель, расположенный на верхнем левом конце, отфильтровывает пиксели слева и над этим пикселем, и пиксель, расположенный на верхнем конце, отфильтровывает пиксели на верхней стороне этого пикселя, и пиксель на левом конце, отфильтровывает пиксели слева от этого пикселя), некоторые настройки фильтрации могут использоваться в блоке менее 16×16 (в данном примере фильтрация применяется в соответствии с весовым соотношением 8:4:4 и 12:4), и некоторые настройки фильтрации могут использоваться в блоке более 16×16 (в данном примере фильтрация применяется в соответствии с весовым соотношением 10:3:3 и 14:2).[00410] As an example, in the case of adaptive determination, the filter may be determined according to the block size. For pixels located at the top left, top end, and left end of the current block (in this example, it is assumed that the pixel located at the top left end filters out pixels to the left of and above that pixel, and the pixel located at the top end filters out pixels at top side of that pixel, and the pixel at the left end filters out pixels to the left of that pixel), some filtering settings can be used in a block smaller than 16x16 (in this example, filtering is applied according to the weight ratio of 8:4:4 and 12:4 ), and some filtering settings can be used in a block larger than 16x16 (in this example, filtering is applied according to the weight ratio of 10:3:3 and 14:2).

[00411] Альтернативно фильтр может быть определен в соответствии с формой блока. Например, для блока 16×8, некоторые настройки фильтра могут использоваться для пикселей на верхнем конце текущего блока (в данном примере предполагается, что фильтрации подвергаются пиксели на верхней левой, верхней и верхней правой сторонах пикселя, т.е. их можно рассматривать как пример, в котором фильтрованные пиксели также изменяются; весовое соотношение фильтрации составляет 10:2:2:2), и некоторые настройки фильтра могут использоваться для пикселей на левом конце текущего блока (в данном примере предполагается, что фильтрации подвергается пиксель на левом конце этого пикселя, и весовое соотношение фильтрации составляет 12:4). Данный пример предполагает, что его можно применять к множеству пикселей на верхней стороне блока с формой блока, удлиненной в горизонтальном направлении. Кроме того, может также быть реализовано противоположное расположение.[00411] Alternatively, a filter may be defined according to the shape of the block. For example, for a 16x8 block, some filter settings can be used for pixels at the top end of the current block (in this example, it is assumed that pixels on the top left, top, and top right sides of the pixel are filtered, i.e. they can be considered as an example , in which the filtered pixels also change; the filtering weight ratio is 10:2:2:2), and some filter settings can be used for pixels at the left end of the current block (in this example, it is assumed that the pixel at the left end of this pixel is being filtered, and the filtration weight ratio is 12:4). This example assumes that it can be applied to a plurality of pixels on the top side of a block with the block shape elongated in the horizontal direction. In addition, the opposite arrangement can also be realized.

[00412] Если коррекция ограничена некоторыми пикселями, скорректированные пиксели могут определяться в элементах горизонтальной линии или вертикальной линии, смежной с опорным пикселем, используемым в режиме предсказания. В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание. Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие а, е, i и т. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, е и f перекрываются).[00412] If the correction is limited to some pixels, the corrected pixels may be determined in horizontal line or vertical line elements adjacent to the reference pixel used in the prediction mode. In this case, horizontal and vertical lines can be taken into account at the same time, and overlap is allowed. For example, pixels corresponding to a-d and pixels (overlapping with a) corresponding to a, e, i, etc. may be included in the correction target. Also, pixels corresponding to e-h and pixels corresponding to b may be included in the correction target. f, j and n (a, b, e and f overlap).

[00413] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут реализовываться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении ненаправленного режима. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же пример, как описанный выше, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.[00413] In addition to the above description, adaptive settings may be implemented in accordance with additional coding/decoding elements. The above description focuses on the non-directional mode limitation. However, it is applicable to the above examples not only in a limited sense, and similar or similar settings are applicable to other modes. In addition, the same example as described above is implemented according to a combination of a plurality of elements rather than a single encoding/decoding element.

[00414] Ниже будет описан случай режима копирования цвета.[00414] The case of the color copy mode will be described below.

[00415] Для режима копирования цвета блок предсказания генерируется способом, отличным от способа предсказания существующего режима предсказания, но опорные пиксели могут использоваться аналогично или подобно генерированию (или коррекции) блока предсказания. Поскольку содержимое в отношении получения блока предсказания может быть получено при помощи приведенных выше примеров и следующих примеров, содержимое в отношении получения блока предсказания опущено.[00415] For the color copy mode, the prediction block is generated in a different way than the existing prediction mode, but the reference pixels can be used in the same or similar way to generation (or correction) of the prediction block. Since the content regarding obtaining a prediction block can be obtained using the above examples and the following examples, the content regarding obtaining a prediction block is omitted.

[00416] Например, блок предсказания может быть сгенерирован путем использования (например, копирования) в качестве опорного пикселя (первого опорного пикселя, или главного опорного пикселя) блока, соответствующего текущему блоку в другом цветовом пространстве.[00416] For example, a prediction block may be generated by using (eg, copying) as a reference pixel (first reference pixel, or master reference pixel) a block corresponding to the current block in a different color space.

[00417] Альтернативно блок предсказания может генерироваться (или корректироваться) с использованием опорных пикселей (вторых опорных пикселей, или вспомогательных опорных пикселей; Ref_L, Ref_T, Ref_TL, Ref_TR и Ref_BL на фиг. 13) блока, смежного с текущим блоком. Подробнее, ближайшие пиксели (предполагается, что в данном примере ими являются пиксели 1300 и 1310 на фиг. 13) соответствующего блока могут использоваться для коррекции значения предсказания и могут передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, пример соотношения взвешенных значений, применимых к главному опорному пикселю и вспомогательному опорному пикселю, может включать 15:1 8:8 и т.д., если имеется более двух вспомогательных опорных пикселей, пример взвешенного значения может представлять собой случай, в котором взвешенные значения во вспомогательных опорных пикселях являются одинаковыми, например, 14:1:1, 12:2:2, 10:3:3 и 8:4:4, или взвешенные значения между вспомогательными опорными пикселями являются разными, например, 12:3:1, 10:4:2 и 8:6:2).[00417] Alternatively, a prediction block may be generated (or corrected) using reference pixels (second reference pixels, or auxiliary reference pixels; Ref_L, Ref_T, Ref_TL, Ref_TR, and Ref_BL in FIG. 13) of a block adjacent to the current block. In more detail, the nearest pixels (assumed to be pixels 1300 and 1310 in FIG. 13 in this example) of the respective block may be used to correct the prediction value and may be fed back into the correction process using the weighted average auxiliary reference pixel and the main reference pixel (for example, an example of the ratio of weighted values applicable to the main reference pixel and the auxiliary reference pixel may include 15:1 8:8, etc., if there are more than two auxiliary reference pixels, the example of the weighted value may be the case in where the weighted values in the auxiliary reference pixels are the same, such as 14:1:1, 12:2:2, 10:3:3, and 8:4:4, or the weighted values between the auxiliary reference pixels are different, such as 12: 3:1, 10:4:2 and 8:6:2).

[00418] Альтернативно для генерирования (или коррекции) блока предсказания могут использоваться пиксели блока, смежного с блоками, полученными в других цветовых пространствах (вторые опорные пиксели, или вспомогательные опорные пиксели; если предполагается, что кадр на фиг. 13 представляет собой блок, соответствующий текущему блоку в других цветовых пространствах, пикселями являются Ref_L, Ref_T, Ref_TL, Ref_TB, Ref_BL и Ref_R, Ref_BR, Ref_B, не изображенные на фиг. 13). Пиксели, подлежащие коррекции, и окружающие пиксели (например, первый опорный пиксель или первый опорный пиксель и второй опорный пиксель в других цветовых пространствах, т.е. в пределах блока, если применяется взвешенное среднее или т.п., требуются первый опорный пиксель, подлежащий коррекции, и фильтрованный первый опорный пиксель, и требуются граница блока, первый опорный пиксель, подлежащий коррекции, и фильтрованный первый опорный пиксель) могут подвергаться фильтрации и передаются при помощи обратной связи в процесс коррекции.[00418] Alternatively, to generate (or correct) a prediction block, pixels of a block adjacent to blocks obtained in other color spaces (second reference pixels, or auxiliary reference pixels; if it is assumed that the frame in Fig. 13 is a block corresponding to current block in other color spaces, the pixels are Ref_L, Ref_T, Ref_TL, Ref_TB, Ref_BL and Ref_R, Ref_BR, Ref_B, not shown in Fig. 13). Pixels to be corrected and surrounding pixels (for example, the first reference pixel, or the first reference pixel and the second reference pixel in other color spaces, i.e. within a block, if a weighted average or the like is applied, the first reference pixel is required, the first reference pixel to be corrected and the filtered first reference pixel and a block boundary, the first reference pixel to be corrected and the filtered first reference pixel are required) may be filtered and fed back to the correction process.

[00419] В случае если возникает комбинация двух этих случаев, могут использоваться не только пиксели смежных блоков текущего блока, но также для коррекции могут использоваться пиксели в блоках предсказания, полученных в других цветовых пространствах, и пиксели, подлежащие коррекции, и окружающие пиксели (например, пиксели смежных блоков для коррекции целевых пикселей и пикселей в пределах текущего блока, смежного со смежными блоками для коррекции целевых пикселей) подвергаются фильтрации (например, в целевом положении коррекции, для применения примера фильтрации используется маска M×N; в этот момент маска фильтрует эти пиксели и все или часть из пикселей сверху, снизу, слева, справа, сверху слева, сверху справа, снизу слева, снизу слева и т.д.) и передаются при помощи обратной связи в процесс коррекции.[00419] In case a combination of these two cases occurs, not only pixels in adjacent blocks of the current block may be used, but pixels in prediction blocks obtained in other color spaces, and pixels to be corrected, and surrounding pixels (for example, , pixels of adjacent blocks for correction target pixels and pixels within the current block adjacent to adjacent blocks for correction of target pixels) are filtered (for example, at the correction target position, an M×N mask is used to apply the filter example; at this point, the mask filters these pixels and all or part of the pixels from top, bottom, left, right, top left, top right, bottom left, bottom left, etc.) and are fed back to the correction process.

[00420] Данный пример иллюстрирует случай, в котором фильтрация применяется после получения значения предсказания текущего блока в других цветовых пространствах, но также возможно принятие подвергнутого фильтрации значения в соответствующем цветовом пространстве перед получением значения предсказания в качестве значения предсказания текущего блока. В данном примере следует отметить, что данный случай отличается от приведенного выше примера только порядком, а подвергаемый фильтрации объект является таким же.[00420] This example illustrates a case where filtering is applied after obtaining the prediction value of the current block in other color spaces, but it is also possible to receive the filtered value in the corresponding color space before obtaining the prediction value as the prediction value of the current block. In this example, it should be noted that this case differs from the example above only in order, and the object being filtered is the same.

[00421] В этом случае фильтрация имеет только одну настройку в одном изображении, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.[00421] In this case, the filtering has only one setting in one picture, or the filtering is determined adaptively according to different coding/decoding elements.

[00422] Например, для случая адаптивного определения настройка фильтрации может быть определена в соответствии с режимом предсказания. Подробнее, может быть задана адаптивная фильтрация в соответствии с подробным режимом копирования цвета в режиме копирования цвета. Например, в некоторых режимах копирования цвета (в данном примере - если набор связанной информации <а и b> получается в смежной области текущего блока и смежной области блока, соответствующего другим цветовым пространствам) могут быть приняты некоторые настройки <1> фильтра, и в некоторых режимах копирования цвета (в данном примере в сравнении с вышеописанным режимом, если получается множество наборов информации о корреляции, т.е. a1 и b1, а2 и b2) могут быть приняты некоторые настройки <2> фильтра.[00422] For example, for the case of adaptive determination, the filtering setting may be determined according to the prediction mode. In more detail, adaptive filtering can be set according to the detailed color copy mode in the color copy mode. For example, in some color copying modes (in this example, if the set of related information <a and b> is obtained in the adjacent area of the current block and the adjacent area of the block corresponding to other color spaces), some <1> filter settings can be accepted, and in some In color copying modes (in this example, compared to the mode described above, if multiple sets of correlation information are obtained, ie, a1 and b1, a2 and b2), some filter <2> settings can be adopted.

[00423] В настройках фильтра может быть определено, применять ли фильтрацию. Например, в соответствии с настройками фильтра может применяться фильтр <1> или может не применяться фильтр <2>. Альтернативно может использоваться фильтр А <1> или может использоваться фильтр В <2>. Альтернативно фильтрация может применяться ко всем пикселям на левой и верхней сторонах текущего блока, или фильтрация может применяться к некоторым пикселям на левой и верхней сторонах.[00423] In the filter settings, it can be determined whether to apply filtering. For example, according to the filter settings, filter <1> may be applied or filter <2> may not be applied. Alternatively, filter A<1> may be used, or filter B<2> may be used. Alternatively, the filtering may be applied to all pixels on the left and top sides of the current block, or the filtering may be applied to some pixels on the left and top sides.

[00424] Если пиксели, подлежащие коррекции, ограничены некоторыми пикселями, пиксели, подлежащие коррекции, могут определяться в элементах горизонтальных линий или вертикальных линий, смежных с опорными пикселями, используемыми в режиме предсказания (в данном примере, отличном от предшествующего примера - вспомогательными опорными пикселями). В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание.[00424] If the pixels to be corrected are limited to some pixels, the pixels to be corrected may be determined in the elements of horizontal lines or vertical lines adjacent to the reference pixels used in the prediction mode (in this example, different from the previous example, auxiliary reference pixels ). In this case, horizontal and vertical lines can be taken into account at the same time, and overlap is allowed.

[00425] Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие а, е, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, е и f перекрываются).[00425] For example, pixels corresponding to a-d and pixels (overlapping with a) corresponding to a, e, i, and m may be included in the correction target. In addition, pixels corresponding to e-h and pixels corresponding to b, f, j, and n (a, b, e, and f overlap) can be included in the correction target.

[00426] Коротко говоря, главные опорные пиксели для генерирования блока предсказания могут быть получены из других цветовых пространств, а вспомогательные опорные пиксели для коррекции блока предсказания могут быть получены из блоков, смежных с текущим блоком текущего цветового пространства. Кроме того, они могут быть получены из блоков, смежных с соответствующими блоками других цветовых пространств. Кроме того, они могут быть получены из некоторых пикселей блока предсказания текущего блока. То есть некоторые пиксели в блоке предсказания могут быть использованы для коррекции некоторых пикселей в блоке предсказания.[00426] Briefly, main reference pixels for generating a prediction block may be derived from other color spaces, and auxiliary reference pixels for correcting a prediction block may be derived from blocks adjacent to the current block of the current color space. In addition, they can be obtained from blocks adjacent to the corresponding blocks of other color spaces. In addition, they can be obtained from some pixels of the prediction block of the current block. That is, some pixels in the prediction block may be used to correct some pixels in the prediction block.

[00427] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении ненаправленного режима. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же пример, как описанный выше, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.[00427] In addition to the above description, adaptive settings may be applied according to additional coding/decoding elements. The above description focuses on the non-directional mode limitation. However, it is applicable to the above examples in a non-limiting sense, and similar or similar settings are applicable to other modes. In addition, the same example as described above is implemented according to a combination of a plurality of elements rather than a single encoding/decoding element.

[00428] Данный пример представляет собой пример получения блока предсказания текущего блока с использованием корреляции между цветовыми пространствами, но блок для получения корреляции получается из смежной области текущего блока и смежной области соответствующих блоков в других цветовых пространствах, и поэтому фильтрация может применяться к границе блока.[00428] This example is an example of obtaining a prediction block of the current block using correlation between color spaces, but the block for obtaining the correlation is obtained from the adjacent area of the current block and the adjacent area of the corresponding blocks in other color spaces, and therefore filtering can be applied to the block boundary.

[00429] Существует множество случаев, в которых для генерирования блока предсказания в соответствии с настройками кодирования/декодирования может использоваться множество опорных пикселей. Подробнее, можно в соответствии с настройками кодирования/декодирования определить, поддерживается ли генерирование или коррекция блока предсказания с использованием второго опорного пикселя.[00429] There are many cases in which a plurality of reference pixels can be used to generate a prediction block in accordance with the encoding/decoding settings. In more detail, it can be determined according to the encoding/decoding settings whether generation or correction of a prediction block using the second reference pixel is supported.

[00430] В качестве примера, использование дополнительных пикселей в процессе предсказания можно определить в неявном или явном виде. В явном случае вышеописанная информация может быть включена в элементы видео, последовательности, кадра, среза, плитки, блока и т.д.[00430] As an example, the use of additional pixels in the prediction process can be defined implicitly or explicitly. In an explicit case, the above information may be included in the elements of a video, sequence, frame, slice, tile, block, and so on.

[00431] В качестве примера определение в отношении того, использовать ли дополнительные пиксели в процессе предсказания, может применяться ко всем режимам предсказания или может применяться к некоторым режимам предсказания. В этом случае некоторые режимы предсказания могут представлять собой по меньшей мере один из горизонтального, вертикального, некоторых диагональных режимов, ненаправленных режимов, режимов копирования цвета или т.п.[00431] By way of example, the determination as to whether to use additional pixels in the prediction process may apply to all prediction modes, or may apply to some prediction modes. In this case, some of the prediction modes may be at least one of horizontal, vertical, some diagonal modes, non-directional modes, color copy modes, or the like.

[00432] В качестве примера, определение в отношении того, использовать ли дополнительных пикселей в процессе предсказания, может применяться ко всем блокам или может применяться к некоторым блокам. В этом случае некоторые блоки могут быть определены в соответствии с размером, формой и т.д. блоков, и соответствующими блоками являются блоки M×N (например, длины М и N равны 8, 16, 32, 64 и т.д.; если блоки являются квадратными, длина равна 8×8, 16×16, 32×32, 64×64 и т.д.; если блоки являются прямоугольными, прямоугольник может иметь соотношение сторон 2:1, 4:1 и т.д.).[00432] As an example, the determination as to whether to use additional pixels in the prediction process may apply to all blocks or may apply to some blocks. In this case, some blocks may be defined according to size, shape, etc. blocks, and the corresponding blocks are M×N blocks (for example, the lengths of M and N are 8, 16, 32, 64, etc.; if the blocks are square, the length is 8×8, 16×16, 32×32, 64x64, etc., if the blocks are rectangular, the rectangle might have an aspect ratio of 2:1, 4:1, etc.).

[00433] Кроме того, использование дополнительных пикселей в процессе предсказания можно определить в соответствии с некоторыми настройками кодирования/декодирования. В этом случае настройки кодирования/декодирования могут представлять собой constrained_intra_pred_flag, и дополнительные опорные пиксели могут ограниченно использоваться в процессе предсказания в соответствии с флагом.[00433] In addition, the use of additional pixels in the prediction process can be determined in accordance with some encoding/decoding settings. In this case, the encoding/decoding settings may be constrained_intra_pred_flag, and additional reference pixels may be limitedly used in the prediction process according to the flag.

[00434] Например, если флагом ограничено использование области, содержащей второй опорный пиксель (т.е. предполагается область, заполненная при помощи процесса заполнения опорных пикселей или т.п. в соответствии с флагом), использование второго опорного пикселя в процессе предсказания может быть ограничено. Альтернативно второй опорный пиксель может использоваться в процессе предсказания независимо от флага.[00434] For example, if the flag restricts the use of the area containing the second reference pixel (i.e., the area filled by the reference pixel filling process or the like according to the flag is assumed), the use of the second reference pixel in the prediction process may be limited. Alternatively, the second reference pixel may be used in the prediction process regardless of the flag.

[00435] В дополнение к случаям, описанным при помощи приведенного выше примера, могут иметься различные применения и модификации, такие как комбинации одного или более элементов. Кроме того, несмотря на то что в приведенном выше примере описаны лишь некоторые случаи, связанные с режимом копирования цвета, в дополнение к копированию цвета данный пример может в равной мере или переменным образом использоваться для генерирования или коррекции режима предсказания блока предсказания с использованием множества опорных пикселей.[00435] In addition to the cases described using the above example, there may be various applications and modifications, such as combinations of one or more elements. In addition, although the above example only describes some cases related to the color copy mode, in addition to color copy, this example can be equally or variably used to generate or correct the prediction mode of a prediction block using a plurality of reference pixels. .

[00436] В приведенном выше примере был описан случай, включающий одну настройку для генерирования или коррекции блока предсказания с использованием множества опорных пикселей в каждом режиме предсказания, но для каждого режима предсказания может использоваться множество настроек. То есть для генерирования информации о выборе может быть сконфигурировано множество групп кандидатов настроек фильтрации.[00436] In the above example, a case has been described including one setting for generating or correcting a prediction block using a plurality of reference pixels in each prediction mode, but a plurality of settings may be used for each prediction mode. That is, a plurality of filter setting candidate groups can be configured to generate the selection information.

[00437] Коротко говоря, информация о выполнении фильтрации может обрабатываться в явном или неявном виде, и при выполнении фильтрации информация об информации о выборе фильтрации может обрабатываться в явном или неявном виде. При обработке информации в явном виде эта информация может быть включена в элементы видео, последовательности, кадра, среза, плитки и блока.[00437] Briefly, the filtering execution information may be processed explicitly or implicitly, and when filtering is performed, information about the filtering selection information may be processed explicitly or implicitly. When processing information explicitly, this information can be included in video, sequence, frame, slice, tile, and block elements.

[00438] Сгенерированный блок предсказания может корректироваться, и ниже будет описан процесс коррекции блока предсказания.[00438] The generated prediction block can be corrected, and the prediction block correction process will be described below.

[00439] Процесс коррекции может выполняться на основе предварительно определенных опорных пикселей и весовых коэффициентов. В этом случае опорный пиксель и взвешенное значение могут быть определены в соответствии с положением пикселя (ниже в данном документе называемого текущим пикселем) в текущем блоке, подлежащем коррекции. Опорный пиксель и взвешенное значение могут быть определены в соответствии с режимом внутреннего предсказания текущего блока.[00439] The correction process may be performed based on predetermined reference pixels and weights. In this case, the reference pixel and the weighted value may be determined according to the position of a pixel (hereinafter referred to as the current pixel) in the current block to be corrected. The reference pixel and the weighted value may be determined according to the intra prediction mode of the current block.

[00440] Если режимом внутреннего предсказания текущего блока является ненаправленный режим, опорные пиксели ref_L и ref_Т текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же горизонтальной/вертикальной линии, что и текущий пиксель. Взвешенное значение может включать по меньшей мере одно из первого взвешенного значения wL в направлении оси х, второго взвешенного значения wT в направлении оси у или третьего взвешенного значения wTL в диагональном направлении. Первое взвешенное значение может относиться к взвешенному значению, примененному к левому опорному пикселю, второе взвешенное значение может относиться к взвешенному значению, примененному к верхнему опорному пикселю, и третье взвешенное значение может относиться к взвешенному значению, примененному к верхнему левому опорному пикселю. Здесь первое взвешенное значение и второе взвешенное значение могут быть определены на основе информации о положении текущего пикселя и предварительно определенного масштабного коэффициента (nScale). Масштабный коэффициент может быть определен на основе ширины W и высоты Н текущего блока. Например, первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>n Scale)), и второе взвешенное значение (wT[x]) определяется как (32>>((y<<1)>>nScale)). Третье взвешенное значение wTL[x][y] может быть определено как ((wL[x]>>4)+(wT[y]>>4)). Однако, если режимом внутреннего предсказания является планарный режим, третье взвешенное значение может быть определено как равное 0. Масштабный коэффициент может быть приравнен к ((Log2(nTbW)+Log2(nTbH)-2)>>2).[00440] If the intra prediction mode of the current block is non-directional, the reference pixels ref_L and ref_T of the current pixel may belong to the first pixel line adjacent to the current block and may be located in the same horizontal/vertical line as the current pixel. The weighted value may include at least one of a first weighted value wL in the x-axis direction, a second weighted value wT in the y-axis direction, or a third weighted value wTL in the diagonal direction. The first weighted value may refer to the weighted value applied to the left reference pixel, the second weighted value may refer to the weighted value applied to the top reference pixel, and the third weighted value may refer to the weighted value applied to the top left reference pixel. Here, the first weighted value and the second weighted value may be determined based on the position information of the current pixel and a predetermined scaling factor (nScale). The scale factor may be determined based on the width W and height H of the current block. For example, the first weighted value wL[x] of the current pixel predPixel[x][y] is defined as (32>>((x<<1)>>n Scale)), and the second weighted value (wT[x]) is defined as (32>>((y<<1)>>nScale)). The third weighted value wTL[x][y] can be defined as ((wL[x]>>4)+(wT[y]>>4)). However, if the intra prediction mode is planar mode, the third weighted value may be determined to be 0. The scaling factor may be set to ((Log2(nTbW)+Log2(nTbH)-2)>>2).

[00441] Если режимом внутреннего предсказания текущего блока является вертикальный/горизонтальный режим, опорные пиксели ref_L и ref_Т текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же горизонтальной/вертикальной линии, что и текущий пиксель. В вертикальном режиме первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>n Scale)), второе взвешенное значение wT[y] может быть определено как равное 0, и третье взвешенное значение wTL[x][y] может быть определено как равное первому взвешенному значению. С другой стороны, в горизонтальном режиме первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как равное 0, второе взвешенное значение wT[y] может быть определено как (32>>((y<<1)>>nScale)), и третье взвешенное значение wTL[x][y] может быть определено как равное второму взвешенному значению.[00441] If the intra prediction mode of the current block is vertical/horizontal mode, the reference pixels ref_L and ref_T of the current pixel may belong to the first pixel line adjacent to the current block and may be located in the same horizontal/vertical line as the current pixel . In vertical mode, the first weighted value wL[x] of the current pixel predPixel[x][y] is defined as (32>>((x<<1)>>n Scale)), the second weighted value wT[y] can be defined as equal to 0, and the third weighted value wTL[x][y] can be determined to be equal to the first weighted value. On the other hand, in horizontal mode, the first weighted value wL[x] of the current pixel predPixel[x][y] is defined as 0, the second weighted value wT[y] can be defined as (32>>((y<<1) >>nScale)) and the third weighted value wTL[x][y] can be determined to be equal to the second weighted value.

[00442] Если режимом внутреннего предсказания текущего блока является диагональный режим, опорные пиксели ref_L и ref_T текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. Диагональная линия может представлять диагональную линию от нижнего левого конца к верхнему правому концу или может представлять диагональную линию от верхнего левого конца к нижнему правому концу. В этом случае первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>n Scale)), второе взвешенное значение wT[y] определяется как (32>>((y<<1)>>n Scale)), и третье взвешенное значение wTL[x][y] может быть определено как равное 0.[00442] If the intra prediction mode of the current block is the diagonal mode, the reference pixels ref_L and ref_T of the current pixel may belong to the first pixel line adjacent to the current block and may be located on the same diagonal line as the current pixel. Here, the diagonal line has the same angle as the intra prediction mode of the current block. The diagonal line may represent a diagonal line from the lower left end to the upper right end, or may represent a diagonal line from the upper left end to the lower right end. In this case, the first weighted value wL[x] of the current pixel predPixel[x][y] is defined as (32>>((x<<1)>>n Scale)), the second weighted value wT[y] is defined as (32 >>((y<<1)>>n Scale)), and the third weighted value wTL[x][y] can be defined as 0.

[00443] Если режим внутреннего предсказания текущего блока меньше или равен режиму 10, опорные пиксели ref_L и ref_T текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. В этом случае опорный пиксель может быть ограничен так, что используется только один из левого опорного пикселя или верхнего опорного пикселя текущего блока. Первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как равное 0, второе взвешенное значение wT[y] определяется как (32>>((y<<1)>>nScale)), и третье взвешенное значение wTL[x][y] может быть определено как равное 0.[00443] If the intra prediction mode of the current block is less than or equal to mode 10, the reference pixels ref_L and ref_T of the current pixel may belong to the first pixel line adjacent to the current block and may be located on the same diagonal line as the current pixel. Here, the diagonal line has the same angle as the intra prediction mode of the current block. In this case, the reference pixel may be limited such that only one of the left reference pixel or the top reference pixel of the current block is used. The first weighted value wL[x] of the current pixel predPixel[x][y] is defined as 0, the second weighted value wT[y] is defined as (32>>((y<<1)>>nScale)), and the third weighted the value wTL[x][y] can be defined as equal to 0.

[00444] Если режим внутреннего предсказания текущего блока больше или равен режиму 58, опорные пиксели refL и refT текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. В этом случае опорный пиксель может быть ограничен так, что используется только один из левого опорного пикселя или верхнего опорного пикселя текущего блока. Первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), второе взвешенное значение wT[y] определяется как равное 0, и третье взвешенное значение wTL[x][y] может быть определено как равное 0.[00444] If the intra prediction mode of the current block is greater than or equal to mode 58, the reference pixels refL and refT of the current pixel may belong to the first pixel line adjacent to the current block and may be located on the same diagonal line as the current pixel. Here, the diagonal line has the same angle as the intra prediction mode of the current block. In this case, the reference pixel may be limited such that only one of the left reference pixel or the top reference pixel of the current block is used. The first weighted value wL[x] of the current pixel predPixel[x][y] is defined as (32>>((x<<1)>>nScale)), the second weighted value wT[y] is defined as 0, and the third weighted the value wTL[x][y] can be defined as equal to 0.

[00445] На основе определенных опорных пикселей refL[x][y] и refT[х] [у] и взвешенных значений wL[x], wT[y] и wTL[x][y], коррекция текущего пикселя predPixels[x][y] может быть выполнена по приведенной ниже формуле 1.[00445] Based on the determined reference pixels refL[x][y] and refT[x][y] and the weighted values wL[x], wT[y] and wTL[x][y], correction of the current pixel predPixels[x ][y] can be done with Formula 1 below.

[00446] [Формула 1][00446] [Formula 1]

[00447] predPixels[x][y]=clip1Cmp((refL[x][у]*wL[x]+refT[x][у]*wT[y]-p[-1][-1]*wTL[x][y]+(64-wL[x]-wT[y]+wTL[x][y])*predPixels[x][y]+32)>>6)[00447] predPixels[x][y]=clip1Cmp((refL[x][y]*wL[x]+refT[x][y]*wT[y]-p[-1][-1]* wTL[x][y]+(64-wL[x]-wT[y]+wTL[x][y])*predPixels[x][y]+32)>>6)

[00448] Однако вышеописанный процесс коррекции может быть выполнен только тогда, когда текущий блок не выполняет внутреннее предсказание в элементах подблоков. Процесс коррекции может быть выполнен только тогда, когда опорным пикселем текущего блока является первая линия пикселей. Процесс коррекции может быть выполнен только тогда, когда режим внутреннего предсказания текущего блока соответствует конкретному режиму. Здесь конкретный режим может включать по меньшей мере одно из ненаправленного режима, вертикального режима, горизонтального режима, режима, который меньше предварительно определенного первого порогового режима, или режима, который больше предварительно определенного второго порогового режима. Первым пороговым режимом может являться 8, 9, 10, 11 или 12, и вторым пороговым режимом может являться 56, 57, 58, 59 или 60.[00448] However, the above-described correction process can only be performed when the current block does not perform intra prediction in subblock elements. The correction process can only be performed when the reference pixel of the current block is the first line of pixels. The correction process can only be performed when the intra prediction mode of the current block matches the specific mode. Here, the specific mode may include at least one of non-directional mode, vertical mode, horizontal mode, a mode that is less than a predetermined first threshold mode, or a mode that is greater than a predetermined second threshold mode. The first threshold mode may be 8, 9, 10, 11, or 12, and the second threshold mode may be 56, 57, 58, 59, or 60.

[00449] Секция определения режима предсказания выполняет процесс выбора оптимального режима во множестве групп режимов-кандидатов предсказания. Для определения режима с оптимальной стоимостью кодирования с целью генерирования количества битов соответствующего режима могут быть в целом рассмотрены искажение блока (например, искажение текущего блока и восстановленного блока; сумма абсолютной разности (SAD), сумма квадратичной разности (SSD) и т.д.) и технология случайного искажения. Блок предсказания, сгенерированный на основе режима предсказания, определенного при помощи вышеописанного процесса, может быть направлен в секцию вычитания и секцию сложения.[00449] The prediction mode determination section performs the optimal mode selection process in the plurality of prediction mode candidate groups. In order to determine the mode with the optimal encoding cost to generate the number of bits of the corresponding mode, block distortion can be generally considered (e.g., distortion of the current block and the reconstructed block; sum of absolute difference (SAD), sum of quadratic difference (SSD), etc.) and random distortion technology. The prediction block generated based on the prediction mode determined by the above process may be sent to a subtraction section and an addition section.

[00450] Секция кодирования режима предсказания выполнена с возможностью кодирования режима предсказания, выбранного при помощи секции определения режима предсказания. В группе режимов-кандидатов предсказания может кодироваться информация об индексах, соответствующая режиму предсказания, или режим предсказания может быть предсказан для кодирования связанной с ним информации. То есть первый случай указывает способ прямого кодирования режима предсказания без выполнения предсказания, и последний случай указывает способ предсказания режима предсказания так, что кодируется информация о предсказании режима кодирования и информация, полученная на основе информации о предсказании. Кроме того, первый пример представляет собой пример, который может применяться к цветоразностной компоненте, и последний пример представляет собой пример, который может быть применен к компоненте яркости. Настоящее изобретение не ограничено этими примерами, и также возможны другие случаи.[00450] The prediction mode encoding section is configured to encode the prediction mode selected by the prediction mode determination section. In the prediction mode candidate group, index information corresponding to the prediction mode may be encoded, or the prediction mode may be predicted to encode information associated therewith. That is, the first case indicates a direct prediction mode encoding method without performing prediction, and the latter case indicates a prediction mode prediction method such that encoding mode prediction information and information obtained based on the prediction information are encoded. In addition, the first example is an example that can be applied to a color difference component, and the last example is an example that can be applied to a luminance component. The present invention is not limited to these examples, and other cases are also possible.

[00451] В случае выполнения кодирования путем предсказания режима предсказания, значение предсказания (или информация о предсказании) режима предсказания может называться наиболее вероятным режимом (МРМ). В этом случае как МРМ конфигурируется предварительно заданный режим предсказания (например, режим DC, планарный режим, вертикальный режим, горизонтальный режим, диагональный режим и т.д.) или режим предсказания пространственно смежного блока (например, левого блока, верхнего блока, верхнего левого блока, верхнего правого блока, нижнего левого блока и т.д.). В данном примере диагональный режим может представлять режим диагонально вверх вправо, диагонально вниз вправо и диагонально вниз влево, которые могут соответствовать режиму 9, режиму 2 и режиму 66 на фиг. 9.[00451] In the case of performing encoding by predictive mode prediction, the prediction value (or prediction information) of the prediction mode may be referred to as the most probable mode (MPM). In this case, a predetermined prediction mode (e.g., DC mode, planar mode, vertical mode, horizontal mode, diagonal mode, etc.) or spatially adjacent block prediction mode (e.g., left block, top block, top left block, top right block, bottom left block, etc.). In this example, the diagonal mode may represent diagonal up right, diagonal down right, and diagonal down left, which may correspond to mode 9, mode 2, and mode 66 in FIG. 9.

[00452] Кроме того, режим, полученный из режимов, включенных в группу МРМ-кандидатов, может быть сконфигурирован как группа МРМ-кандидатов. Например, в случае направленного режима, включенного в группу МРМ-кандидатов, режим с разностью а интервалов между режимами (например, а -- ненулевое целое число, такое как 1, -1, 2 или -2; в случае если на фиг. 9 был добавлен режим 10, производными режимами являются режим 9, режим 11, режим 8, режим 12 и т.д.) повторно включается (или дополнительно включается) в группу МРМ-кандидатов.[00452] In addition, a mode derived from the modes included in the MPM candidate group may be configured as an MPM candidate group. For example, in the case of a directional mode included in the MPM candidate group, a mode with a mode interval difference a (e.g., a is a non-zero integer such as 1, -1, 2, or -2; in case FIG. 9 mode 10 has been added, the derived modes are mode 9, mode 11, mode 8, mode 12, etc.) is re-included (or further included) in the MPM candidate group.

[00453] Приведенный выше пример может соответствовать случаю, в котором группа МРМ-кандидатов выполнена во множестве режимов, группа МРМ-кандидатов (или число групп МРМ-кандидатов) может быть определена в соответствии с настройками кодирования/декодирования (например, группой режимов-кандидатов предсказания, типом изображения, размером блока, формой блока и т.д.), и может быть включен по меньшей мере один режим.[00453] The above example may correspond to the case where the MPM candidate group is executed in a plurality of modes, the MPM candidate group (or the number of MPM candidate groups) may be determined according to the encoding/decoding settings (for example, the candidate mode group prediction, image type, block size, block shape, etc.), and at least one mode may be included.

[00454] Режим предсказания для конфигурирования группы МРМ-кандидатов может иметь приоритет. Порядок режимов предсказания, включенных в группу МРМ-кандидатов, может определяться в соответствии с приоритетом, и конфигурация группы МРМ-кандидатов может быть завершена, если количество групп МРМ-кандидатов заполнено в соответствии с приоритетом. В этом случае приоритет, в свою очередь, может представлять собой режим предсказания пространственно смежного блока, предварительно заданный режим предсказания и режим, производный от режима предсказания, первоначально включенного в группу МРМ-кандидатов, однако возможны и другие модификации.[00454] The prediction mode for configuring a group of MPM candidates may take precedence. The order of the prediction modes included in the MPM candidate group may be determined according to priority, and the configuration of the MPM candidate group can be completed if the number of MPM candidate groups is filled according to priority. In this case, the priority may in turn be a spatially adjacent block prediction mode, a predetermined prediction mode, and a mode derived from the prediction mode originally included in the MPM candidate group, but other modifications are possible.

[00455] Если кодирование режима предсказания текущего блока выполнятся с использованием МРМ, может генерироваться информация о том, совпадает ли режим предсказания с МРМ (например, most_probable_mode_flag).[00455] If the prediction mode encoding of the current block is performed using the MPM, information about whether the prediction mode matches the MPM (eg, most_probable_mode_flag) may be generated.

[00456] Если режим предсказания совпадает с МРМ, (например, most_probable_mode_flag=1), в соответствии с конфигурацией МРМ может дополнительно генерироваться информация об индексах МРМ (например, mpm_idx). Например, если МРМ выполнен как один режим предсказания, дополнительная информация об индексах МРМ не генерируется, а если МРМ выполняется как множество режимов предсказания, в группе МРМ-кандидатов может генерироваться информация об индексах, соответствующая режиму предсказания текущего блока.[00456] If the prediction mode is the same as the MPM, (eg, most_probable_mode_flag=1), MPM index information (eg, mpm_idx) may be additionally generated according to the MPM configuration. For example, if the MPM is executed as a single prediction mode, no additional MPM index information is generated, and if the MPM is performed as a plurality of prediction modes, index information corresponding to the prediction mode of the current block may be generated in the MPM candidate group.

[00457] Если режим предсказания не совпадает с МРМ (например, most_probable_mode_flag=0), в оставшейся группе режимов-кандидатов предсказания (или группе режимов-кандидатов, не являющихся МРМ), отличной от группы МРМ-кандидатов в группах режимов-кандидатов предсказания, может генерироваться информация об индексах режимов, не являющихся МРМ (например, non_mpm_idx), соответствующая режиму предсказания текущего режима, что может представлять собой пример случая, в котором режим, не являющийся МРМ, сконфигурирован как одна группа.[00457] If the prediction mode is not the same as the MPM (e.g., most_probable_mode_flag=0), in the remaining prediction mode candidate group (or non-MPM candidate mode group) other than the MPM candidate group in the prediction mode candidate groups, non-MPM mode index information (eg, non_mpm_idx) corresponding to the prediction mode of the current mode may be generated, which may be an example of a case in which the non-MPM mode is configured as one group.

[00458] Если группа режимов-кандидатов, не являющихся МРМ, состоит из множества групп, может генерироваться информация о том, к какой группе принадлежит режим предсказания текущего блока. Например, режим, не являющийся МРМ, конфигурируется группами А и В (в предположении, что А сконфигурирована m режимами предсказания, В сконфигурирована п режимами предсказания, режим, не являющийся МРМ, сконфигурирован m+n режимами предсказания, и n больше, чем m; в предположении, что режим из группы А представляет собой направленный режим и имеет равные интервалы, и режим из группы В представляет собой направленный режим и не имеет равные интервалы), если режим предсказания текущего блока совпадает с режимом предсказания из группы А (например, non_mpm_A_flag=1), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в группе А кандидатов, и, если совпадение отсутствует (например, non_mpm_A_flag=0), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в остальных группах режимов-кандидатов предсказания (или группе В кандидатов). Как и в приведенном выше примере, режим, не являющийся МРМ, может быть сконфигурирован как по меньшей мере одна группа (или набор) режимов-кандидатов предсказания, и конфигурация режимов, не являющихся МРМ, может быть определена в соответствии с группой режимов-кандидатов предсказания. Например, если имеется не более 35 групп режимов-кандидатов предсказания, может иметься один режим, не являющийся МРМ, а в других случаях имеется два или более режимов, не являющихся МРМ.[00458] If a group of non-MPM candidate modes consists of a plurality of groups, information about which group the prediction mode of the current block belongs to can be generated. For example, the non-MPM mode is configured by groups A and B (assuming that A is configured with m prediction modes, B is configured with n prediction modes, the non-MPM mode is configured with m+n prediction modes, and n is greater than m; assuming that the mode from group A is a steered mode and has equal intervals, and the mode from group B is a steered mode and does not have equal intervals), if the prediction mode of the current block is the same as the prediction mode from group A (eg, non_mpm_A_flag= 1), index information corresponding to the prediction mode of the current block may be generated in candidate group A, and if there is no match (for example, non_mpm_A_flag=0), index information corresponding to the prediction mode of the current block may be generated in the remaining mode groups- prediction candidates (or group B of candidates). As in the above example, the non-MPM mode may be configured as at least one group (or set) of candidate prediction modes, and the configuration of the non-MPM modes may be determined according to the group of prediction candidate modes. . For example, if there are no more than 35 groups of candidate prediction modes, there may be one non-MPM mode, and in other cases, there are two or more non-MPM modes.

[00459] Как и в приведенном выше примере, цель поддержки режимов, не являющихся МРМ, заключается в том, что количество режимов предсказания является большим, если режим, не являющийся МРМ, состоит из множества групп, и количество битов режима уменьшается, если режим предсказания не предсказывается при помощи МРМ.[00459] As in the above example, the purpose of supporting non-MPM modes is that the number of prediction modes is large if the non-MPM mode consists of a plurality of groups, and the number of mode bits is reduced if the prediction mode not predicted by MRM.

[00460] Если кодирование режима предсказания (или декодирование режима предсказания) текущего блока выполняется с использованием МРМ, таблица преобразования в двоичную форму, применяемая к каждой группе режимов-кандидатов предсказания (например, к группе МРМ-кандидатов, группе режимов-кандидатов, не являющихся МРМ, и т.д.), может генерироваться отдельно, и способ преобразования в двоичную форму, применяемый к каждой группе кандидатов, также может применяться отдельно.[00460] If prediction mode encoding (or prediction mode decoding) of the current block is performed using MPM, the binarization table applied to each prediction mode candidate group (e.g., MPM candidate group, non-MPM candidate mode group) MPM, etc.) may be separately generated, and the binarization method applied to each candidate group may also be applied separately.

[00461] Информация, связанная с предсказанием, которая генерируется при помощи секции кодирования режима предсказания, может передаваться в секцию кодирования и включаться в битовый поток.[00461] Prediction-related information that is generated by the prediction mode coding section may be transmitted to the coding section and included in the bitstream.

[00462] На фиг. 14 представлен пример блока древовидного разделения согласно варианту осуществления настоящего изобретения.[00462] FIG. 14 shows an example of a tree division block according to an embodiment of the present invention.

[00463] На фиг. 14 i представляет разделение на основе четверичного дерева, ii представляет горизонтальное разделение при разделении на основе двоичного дерева, и iii представляет вертикальное разделение при разделении на основе двоичного дерева. На данной фигуре А-С представляют исходные блоки (блоки до разделения, например, в предположении, что оно представляет собой элемент дерева кодирования), и числа после текста представляют номер каждого раздела после выполнения разделения. В случае четверичного дерева верхнему левому блоку, верхнему правому блоку, нижнему левому блоку и нижнему правому блоку присвоены, соответственно, номера 0-3, а в случае двоичного дерева левому/верхнему блоку и нижнему/правому блоку, соответственно, присвоены номера 0 и 1.[00463] FIG. 14, i represents a quaternary tree partition, ii represents a horizontal partition in a binary tree partition, and iii represents a vertical partition in a binary tree partition. In this figure, A-C represent the original blocks (blocks before the split, for example, assuming it is an element of the coding tree), and the numbers after the text represent the number of each section after the split has been performed. In the case of a quad tree, the top left box, top right box, bottom left box, and bottom right box are assigned numbers 0-3, respectively, and in the case of a binary tree, left/top box and bottom/right box are respectively assigned numbers 0 and 1 .

[00464] Со ссылкой на фиг. 14, состояние разделения или информация о разделении, выполняемом для получения соответствующего блока, может быть определена посредством текста и чисел, полученных в процессе разделения.[00464] With reference to FIG. 14, the splitting state or splitting information to obtain the corresponding block can be determined by text and numbers obtained in the splitting process.

[00465] Например, на изображении i по фиг. 14 блок А00 представляет собой верхний левый блок (добавление 0 к АО) в четырех блоках, полученных путем выполнения разделения на основе четверичного дерева в отношении верхнего левого блока А0 (добавление 0 к А) из четырех блоков, полученных после выполнения разделения на основе четверичного дерева в отношении исходного блока А.[00465] For example, in image i of FIG. 14, block A00 is the upper left block (adding 0 to AO) in the four blocks obtained by performing quad tree partitioning on the top left block A0 (adding 0 to A) of the four blocks obtained after performing quad tree partitioning. in relation to the original block A.

[00466] Альтернативно на изображении ii по фиг. 14 блок В10 представляет собой верхний блок (добавление 0 к В1) в двух блоках, полученных путем выполнения горизонтального разделения при разделении на основе двоичного дерева в отношении нижнего блока В1 (добавление 1 к В) из двух блоков, полученных после выполнения горизонтального разделения при разделении на основе двоичного дерева в отношении исходного блока В.[00466] Alternatively, in image ii of FIG. 14, block B10 is the upper block (adding 0 to B1) in two blocks obtained by performing horizontal splitting in binary tree splitting on the lower block B1 (adding 1 to B) of the two blocks obtained after performing horizontal splitting in splitting. based on the binary tree with respect to the original block B.

[00467] При помощи вышеописанного разделения могут быть получены состояние разделения и информация о разделении (например, поддерживаемые настройки разделения <тип древовидного режима и т.д>) каждого блока, диапазон поддержки блока, такой как минимальный размер и максимальный размер <подробно - диапазон поддержки в соответствии со способом разделения>, допустимая глубина разделения <подробно - диапазон поддержки в соответствии со способом разделения>, флаг разделения<подробно флаг разделения в соответствии со способом разделения>, тип изображения <I/Р/В>, состояние разделения режима кодирования блока<внутреннее предсказание/предсказание, осуществляемое между изображениями>, настройки кодирования/декодирования, необходимые для подтверждения информации, информация и т.д., и может быть подтверждено, к какому блоку (порождающему блоку) принадлежит текущий блок до этапа разделения с целью получения текущего блока (порожденного блока). Например, на изображении i по фиг. 14 для блока А31 смежные блоки могут включать А30, А12 и А13, и может быть подтверждено, что А30 принадлежит к тому же блоку A3, что и A31, на этапе разделения предыдущего этапа. В случае А12 и А13 на предыдущем этапе, то есть на этапе разделения A3, А12 и А13 принадлежат к другому блоку А1, и может быть подтверждено, что А12 и А13 принадлежат к одному блоку А только на предыдущем этапе.[00467] With the above division, the division state and division information (e.g., supported division settings <tree mode type, etc>) of each block, the block support range such as the minimum size and maximum size <detail - range) can be obtained. support according to division method>, allowable division depth <detail - support range according to division method>, division flag<detail division flag according to division method>, picture type <I/P/B>, encoding mode division state block <intra-prediction/prediction performed between pictures>, encoding/decoding settings necessary for confirming information, information, etc., and which block (parent block) the current block belongs to can be confirmed before the division step to obtain current block (child block). For example, in image i of FIG. 14, for block A31, adjacent blocks may include A30, A12, and A13, and A30 can be confirmed to belong to the same block A3 as A31 in the division step of the previous step. In the case of A12 and A13 in the previous step, that is, in the separation step, A3, A12 and A13 belong to another block A1, and it can be confirmed that A12 and A13 belong to the same block A only in the previous step.

[00468] Тогда как предыдущий пример предназначен для случая одной операции разделения (четверичное разделение четверичного дерева или горизонтальное/вертикальное разделение двоичного дерева), в следующих примерах будет разъяснен случай выполнения разделения на основе множества деревьев.[00468] While the previous example is for the case of a single split operation (quaternary split of a quad tree or horizontal/vertical split of a binary tree), the following examples will explain the case of performing split based on multiple trees.

[00469] На фиг. 15 представлен пример блока разделения на основе множества деревьев согласно варианту осуществления настоящего изобретения.[00469] FIG. 15 shows an example of a multi-tree partitioning block according to an embodiment of the present invention.

[00470] Со ссылкой на фиг. 15, состояние разделения или информация о разделении, выполняемом для получения соответствующего блока, может быть подтверждена посредством текста и чисел, полученных в процессе разделения. В данном примере каждое слово не означает исходный блок, но информация о разделении указана числом.[00470] With reference to FIG. 15, the splitting state or information about the splitting performed to obtain the corresponding block can be confirmed by text and numbers obtained in the splitting process. In this example, each word does not mean the original block, but the split information is indicated by a number.

[00471] Например, в случае блока А1А1В0, верхний правый блок А1 получается при выполнении разделения на основе четверичного дерева в отношении исходного блока, верхний правый блок (добавление А1 к А1) получается при выполнении разделения на основе четверичного дерева в отношении блока А1, и верхний блок (добавление В0 к А1А1) представляется при выполнении горизонтального разделения на основе двоичного дерева в отношении блока А1А1.[00471] For example, in the case of block A1A1B0, the upper right block A1 is obtained by performing quaternary tree splitting on the original block, the upper right block (adding A1 to A1) is obtained by performing quaternary tree splitting on block A1, and the top block (adding B0 to A1A1) is represented by performing horizontal binary tree splitting on block A1A1.

[00472] Необязательно, в случае блока А3В1С1, нижний правый блок A3 получается при выполнении разделения на основе четверичного дерева в отношении исходного блока, нижний блок (добавление В1 к A3) получается при выполнении горизонтального разделения при разделении на основе двоичного дерева в отношении блока A3, и правый блок (добавление С1 к А3В1) представляется при выполнении вертикального разделения в процессе разделения на основе двоичного дерева в отношении А3В1.[00472] Optionally, in the case of block A3B1C1, the lower right block A3 is obtained by performing quaternary tree splitting on the original block, the lower block (adding B1 to A3) is obtained by performing horizontal splitting while binary tree splitting on block A3 , and the right block (adding C1 to A3B1) is represented when vertical splitting is performed in the binary tree splitting process on A3B1.

[00473] В данном примере при помощи информации о разделении в соответствии с этапом разделения каждого блока возможно определить информацию о взаимосвязи между текущим блоком и смежным блоком, например, то, на каком этапе разделения текущий блок и смежный блок являются идентичными.[00473] In this example, with the partitioning information according to the splitting step of each block, it is possible to determine relationship information between the current block and the adjacent block, such as at which splitting step the current block and the adjacent block are identical.

[00474] На фиг. 14 и 15 приведены некоторые примеры определения информации о разделении каждого блока, и информация о разделении каждого блока может подтверждаться с использованием различной информации для определения информации о разделении и комбинированной информации (например, флага разделения, информации о глубине, максимального значения информации о глубине, диапазона блока и т.д.) так, что может быть определена взаимосвязь между блоками.[00474] FIG. 14 and 15 show some examples of determining the separation information of each block, and the separation information of each block can be confirmed using different information to determine the separation information and combined information (for example, separation flag, depth information, maximum value of depth information, range block, etc.) so that the relationship between blocks can be determined.

[00475] На фиг. 16 представлена принципиальная схема, изображающая различные ситуации разделения блока.[00475] FIG. 16 is a circuit diagram showing various situations of block division.

[00476] В целом, поскольку в изображении имеется различная текстурная информация, затруднительно выполнить кодирование/декодирование с использованием способа кодирования/декодирования. Например, некоторые области могут содержать области, в которых существуют более сильные краевые компоненты в определенном направлении, и некоторые области могут содержать комплексные области, в которых краевые компоненты не существуют. Для эффективного выполнения кодирования в отношении этих областей важную роль играет разделение блока.[00476] In general, since there are various texture information in an image, it is difficult to perform encoding/decoding using the encoding/decoding method. For example, some regions may contain regions in which there are stronger edge components in a particular direction, and some regions may contain complex regions in which edge components do not exist. Block division plays an important role in effectively performing encoding on these areas.

[00477] Целью выполнения разделения блока является эффективное разделение областей в соответствии с характерными признаками изображения. Однако при использовании лишь одного режима разделения (например, разделения на основе четверичного дерева) может быть затруднительно надлежащим образом отразить характеристики изображения для выполнения разделения.[00477] The purpose of performing block division is to efficiently divide regions according to image features. However, when using only one division mode (eg, division based on quaternary tree), it may be difficult to adequately reflect the characteristics of the image to perform division.

[00478] Со ссылкой на фиг. 16, может быть подтверждено, что изображения, содержащие различные текстуры, разделяются в соответствии с разделением на основе четверичного дерева и разделением на основе двоичного дерева, а-е могут представлять собой случай, в котором поддерживается только разделение на основе четверичного дерева, и f-j могут представлять случай, в котором поддерживается только разделение на основе двоичного дерева.[00478] With reference to FIG. 16, it can be confirmed that images containing different textures are split according to quaternary tree based split and binary tree based split, a to e can be a case in which only quad tree based split is supported, and f to j can represent the case in which only binary tree-based partitioning is supported.

[00479] В данном примере разделы в соответствии с разделением на основе четверичного дерева называются UL, UR, DL и DR, и разделение на основе двоичного дерева также описано на этой основе.[00479] In this example, partitions according to quaternary tree partitioning are called UL, UR, DL, and DR, and binary tree partitioning is also described on that basis.

[00480] Изображение а по фиг. 16 может представлять собой текстурную форму, в которой разделение на основе четверичного дерева достигает оптимальной эффективности: она может быть разделена на четыре части путем одного разделения (Div_HV) на основе четверичного дерева, и кодирование/декодирование выполняется в элементах каждого блока. В то же время, при применении разделения на основе двоичного дерева, как изображено на изображении f по фиг. 16, в отличие от четверичного дерева, может потребоваться три разделения (Div_V - дважды, Div_H - один раз).[00480] Image a in FIG. 16 may be a texture form in which quaternary tree division achieves optimum efficiency: it may be divided into four parts by one quaternary tree division (Div_HV), and encoding/decoding is performed in the elements of each block. At the same time, when using binary tree partitioning as shown in image f of FIG. 16, unlike a quaternary tree, three splits may be required (Div_V twice, Div_H once).

[00481] Изображение b по фиг. 16 таково, что текстура разделяется на верхнюю и нижнюю области блока, на изображении b по фиг. 16, если применяется разделение на основе четверичного дерева, требуется одно разделение (Div_HV), и на изображении g по фиг. 16 одно разделение Div_Н также может выполняться при разделении на основе двоичного дерева. В предположении, что флаг разделения на основе четверичного дерева требует 1 бит, и флаг разделения на основе двоичного дерева требует более 2 битов, четверичное дерево можно считать эффективным в том, что касается битов флагов, но информация о кодировании/декодировании (например, информация для выражения текстурной информации (информация для выражения текстуры (остаточный сигнал, коэффициент кодирования, информация, указывающая присутствие или отсутствие коэффициента кодирования)), информация о предсказании <например, информация, связанная с внутренним предсказанием, и информация, связанная с предсказанием, осуществляемым между изображениям и>, информация о преобразовании <например, информация о категории преобразования, информация о разделении преобразования и т.д.>) генерируется в элементах каждого блока. В этом случае эффективность разделения на основе четверичного дерева невысока по сравнению с разделением на основе двоичного дерева, поскольку текстурная информация представляет собой пример разделения аналогичных областей и генерирования соответствующей информации заново.[00481] Picture b of FIG. 16 is such that the texture is split into top and bottom block regions, in image b of FIG. 16, if a quaternary tree partition is applied, one partition (Div_HV) is required, and in the image g of FIG. 16, one division Div_H can also be performed in a division based on a binary tree. Assuming that the quaternary tree split flag requires 1 bit and the binary tree split flag requires more than 2 bits, the quad tree can be considered efficient in terms of flag bits, but encoding/decoding information (e.g., information for texture information expressions (texture expression information (residual signal, coding coefficient, information indicating the presence or absence of a coding coefficient)), prediction information <for example, information related to intra prediction, and information related to prediction performed between pictures and >, transformation information <eg, transformation category information, transformation division information, etc.>) is generated in the elements of each block. In this case, the performance of quaternary tree partitioning is low compared to binary tree partitioning because the texture information is an example of dividing similar areas and regenerating corresponding information.

[00482] В других случаях фиг.16 определить то, какое дерево является более эффективным, также возможно в соответствии с категорией текстуры. Из приведенных выше примеров можно подтвердить, что, для того чтобы при помощи приведенных выше примеров можно было разделить эффективную область в соответствии с характеристиками изображения, чрезвычайно важной является поддержка размера переменного блока и различных режимов разделения.[00482] In other cases of Fig. 16, it is also possible to determine which tree is more efficient according to the texture category. From the above examples, it can be confirmed that, in order for the effective area to be divided according to image characteristics by the above examples, it is extremely important to support the variable block size and various division modes.

[00483] Подробный анализ разделения на основе четверичного дерева и разделения на основе двоичного дерева выполняется следующим образом.[00483] A detailed analysis of quaternary tree partitioning and binary tree partitioning is performed as follows.

[00484] Со ссылкой на изображение b на фиг. 16 изображены блоки (в данном примере - левый блок и верхний блок), смежные с нижним правым блоком (текущим блоком). Видно, что левый блок представляет собой блок, имеющий характеристики, аналогичные текущему блоку, а верхний блок представляет собой блок, имеющий характеристики, отличные от текущего блока. И хотя блок имеет свойства, аналогичные некоторым блокам (в данном примере левому блоку), возможен случай, в котором блок был сегментирован исходя из свойств разделения на основе четверичного дерева.[00484] With reference to image b in FIG. 16 shows the blocks (in this example, the left block and the top block) adjacent to the bottom right block (the current block). It can be seen that the left block is a block having characteristics similar to the current block, and the top block is a block having characteristics different from the current block. And although the block has properties similar to some blocks (in this example, the left block), it is possible that the block was segmented based on the properties of the division based on a quaternary tree.

[00485] В этом случае, поскольку текущий блок имеет характеристики, аналогичные левому блоку, может генерироваться аналогичная информация о кодировании/декодировании. В случае режима внутреннего предсказания (например, МРМ, т.е. информации, предсказывающей режим текущего блока, исходя из смежных блоков с целью сокращения количества битов режима предсказания текущего блока), появляется режим предсказания информации о движении (например, режим пропуска, режим слияния, информация для сокращения битов режима (например, состязательный режим)) для эффективного исключения данной ситуации, при этом информация левого блока доступна для отсылки. То есть, если информация о кодировании (например, информация о внутреннем предсказании, информация о предсказании, осуществляемом между изображениями, информация о фильтре, информация о коэффициентах и т.д.) текущего блока отнесена к одному из левого блока и верхнего блока, может быть сделана отсылка к более точной информации (в данном примере - к левому блоку).[00485] In this case, since the current block has characteristics similar to the left block, similar encoding/decoding information can be generated. In the case of an intra prediction mode (e.g., MPM, i.e., information predicting the current block mode from adjacent blocks in order to reduce the number of bits of the current block prediction mode), a motion information prediction mode (e.g., skip mode, merge mode) appears. , information for reducing mode bits (eg, contention mode)) to effectively avoid this situation, while the information of the left block is available for sending. That is, if the encoding information (eg, intra prediction information, inter-picture prediction information, filter information, coefficient information, etc.) of the current block is assigned to one of the left block and the top block, there may be reference is made to more precise information (in this example, to the left block).

[00486] Со ссылкой на изображение е на фиг. 16, предполагается небольшой блок в нижнем правом углу (блок, разделяющий текущий блок дважды). Аналогично, текущий блок также имеет характеристики, аналогичные верхнему блоку левого блока или верхнего блока, поэтому эффективность кодирования может быть повышена путем отсылки к информации о кодировании из соответствующего блока (в данном примере - верхнего блока).[00486] With reference to image e in FIG. 16, a small block is assumed in the lower right corner (a block dividing the current block twice). Likewise, the current block also has similar characteristics to the top block of the left block or the top block, so encoding efficiency can be improved by referring to encoding information from the corresponding block (in this example, the top block).

[00487] И наоборот, со ссылкой на изображение j на фиг. 16 делается отсылка к левому блоку, смежному с крайним правым блоком (блоком, разделяющим текущий блок дважды). В данном примере, поскольку верхний блок отсутствует, при отсылке только к левому блоку может быть подтверждено, что текущий блок представляет собой блок, имеющий характеристику, отличную от левого блока. Может быть подтверждено, что разделение на основе четверичного дерева может быть аналогично части смежных блоков, тогда как разделение на основе двоичного дерева имеет высокую вероятность получения разных характеристик из смежных блоков.[00487] Conversely, with reference to image j in FIG. 16, reference is made to the left block adjacent to the rightmost block (the block that divides the current block twice). In this example, since there is no top block, by referring only to the left block, it can be confirmed that the current block is a block having a characteristic different from the left block. It can be confirmed that a quaternary tree partition can be similar to a portion of adjacent blocks, while a binary tree partition has a high probability of obtaining different characteristics from adjacent blocks.

[00488] Подробнее, если некоторые блоки (х) и смежные блоки (у) являются одними и теми же блоками до соответствующего разделения, для разделения на основе четверичного дерева некоторые блоки (х) и смежные блоки (у), которые являются такими же, как блоки до разделения, могут иметь аналогичные характеристики или различные характеристики, и наоборот, для двоичного дерева в большинстве случаев некоторые блоки (х) и смежные блоки (у), являющиеся такими же, как блоки до разделения, могут иметь различные характерные признаки. Другими словами, если имеется случай аналогичных характеристик, нет необходимости в выполнении разделения блока, и блоки являются окончательно определенными до разделения, но в большинстве случаев блоки подвергаются разделению из-за разных характеристик.[00488] In more detail, if some blocks (x) and adjacent blocks (y) are the same blocks before the corresponding split, for splitting based on a quaternary tree, some blocks (x) and adjacent blocks (y) that are the same, like pre-split blocks may have similar characteristics or different characteristics, and vice versa, for a binary tree, in most cases, some blocks (x) and adjacent blocks (y) that are the same as pre-split blocks may have different characteristics. In other words, if there is a case of similar characteristics, there is no need to perform block splitting, and blocks are finalized before splitting, but in most cases, blocks undergo splitting due to different characteristics.

[00489] В дополнение к приведенному выше примеру, на изображении i по фиг. 16 нижний правый блок х и нижний левый блок у могут иметь следующие взаимосвязи. То есть, поскольку характеристики изображения верхних блоков аналогичны, деление определяется без выполнения разделения, и поскольку характеристики изображения нижних блоков являются разными, деление определяется после разделения на нижний левый блок и нижний правый блок.[00489] In addition to the example above, in image i of FIG. 16, the lower right x block and the lower left y block may have the following relationships. That is, since the image characteristics of the upper blocks are similar, the division is determined without performing the division, and since the image characteristics of the lower blocks are different, the division is determined after division into the lower left block and the lower right block.

[00490] Коротко говоря, в случае разделения на основе четверичного дерева, если имеется смежный блок, имеющий порождающий блок, идентичный текущему блоку в смежных блоках, смежных с текущим блоком, он может иметь характеристики, аналогичные или отличные от текущего блока, поскольку характеристикой четверичного дерева является безусловное разделение блока на 1/2 в горизонтальном и вертикальном направлениях. В случае разделения на основе двоичного дерева, если имеется смежный блок, имеющий порождающий блок, идентичный текущему блоку в смежных блоках, смежных с текущим блоком, в отношении смежного блока может быть выполнено горизонтальное или вертикальное разделение в соответствии с характеристиками изображения, поэтому «был подвергнут разделению» может означать разделение из-за разных характеристик.[00490] Briefly, in the case of a quaternary tree partition, if there is an adjacent block having a parent block identical to the current block in adjacent blocks adjacent to the current block, it may have characteristics similar to or different from the current block, since the characteristic of the quaternary tree is the unconditional division of the block into 1/2 in the horizontal and vertical directions. In the case of binary tree partitioning, if there is an adjacent block having a parent block identical to the current block in adjacent blocks adjacent to the current block, horizontal or vertical separation can be performed on the adjacent block according to image characteristics, so "was subjected to separation" can mean separation due to different characteristics.

[00491] (Разделение на основе четверичного дерева)[00491] (Partition based on quaternary tree)

[00492] Смежный блок (в данном примере предполагаемый, но без ограничения, как левый блок или верхний блок), который является таким же, как блок до разделения, в сравнении с текущим блоком может иметь характеристики, аналогичные текущему блоку или отличные от него.[00492] An adjacent block (in this example, assumed but not limited to the left block or the top block) that is the same as the block before the split, compared to the current block, may have similar or different characteristics to the current block.

[00493] Кроме того, смежные блоки, отличные от текущего блока и блока до разделения, могут иметь характеристики, аналогичные текущему блоку или отличные от него.[00493] In addition, adjacent blocks other than the current block and the pre-split block may have similar or different characteristics to the current block.

[00494] (Разделение на основе двоичного дерева)[00494] (Binary Tree Partition)

[00495] Смежный блок (в данном примере предполагаемый как левый блок или верхний блок, максимальное количество кандидатов равно одному вследствие двоичного дерева), который является таким же, как блок до разделения, в сравнении с текущим блоком может иметь отличные характеристики.[00495] An adjacent block (in this example, assumed to be the left block or the top block, the maximum number of candidates is one due to the binary tree) that is the same as the block before splitting may have different characteristics compared to the current block.

[00496] Кроме того, смежные блоки, отличные от блока до разделения, в сравнении с текущим блоком могут иметь характеристики, аналогичные текущему блоку или отличные от него.[00496] In addition, adjacent blocks other than the pre-split block may have similar or different characteristics to the current block compared to the current block.

[00497] Описания будут осуществлены ниже при том условии, что сделанное выше предположение является основным предположением настоящего изобретения. В соответствии с приведенным выше содержимым, можно различить случай (1), в котором характеристики смежных блоков аналогичны или отличны от текущего блока, и случай (2), в котором характеристики смежных блоков отличны от характеристик текущего блока.[00497] Descriptions will be made below, provided that the above assumption is the main assumption of the present invention. According to the above contents, a case (1) in which characteristics of adjacent blocks are the same or different from the current block and a case (2) in which characteristics of adjacent blocks are different from those of the current block can be distinguished.

[00498] Снова делается отсылка к фиг. 15.[00498] Reference is again made to FIG. 15.

[00499] В качестве примера (текущим блоком является А1А2), так как блок А1 до разделения блока А1А2 отличается от блока до разделения (исходного блока) блока А0, блок А0 (левый блок) в смежных блоках может быть классифицирован (т.е. в случае когда неизвестно, является характеристика аналогичной или отличной от текущего блока) как общий случай.[00499] As an example (the current block is A1A2), since the block A1 before the division of the block A1A2 is different from the block before the division (original block) of the block A0, the block A0 (left block) in adjacent blocks can be classified (i.e. in the case where it is not known whether the characteristic is the same or different from the current block) as a general case.

[00500] Для смежного блока А1А0 (верхний блок), так как блок А1 до разделения блока А1А2 является таким же, как блок до разделения блока А1А0, режим разделения может быть подтвержден. В этом случае, поскольку режимом разделения является разделение (А) на основе четверичного дерева, он классифицируется как общий случай.[00500] For the adjacent block A1A0 (upper block), since the block A1 before splitting the block A1A2 is the same as the block before splitting the block A1A0, the split mode can be confirmed. In this case, since the division mode is division (A) based on a quaternary tree, it is classified as a general case.

[00501] В качестве примера (текущим блоком является А2В0В1), блок А2В0 до разделения блока А2В0В1 является таким же, как блок А2В0В1 до разделения блока А2В0В1 для блока А2В0В0В0 (верхний блок) в смежных блоках, что, таким образом, подтверждает режим разделения. В этом случае, поскольку режимом разделения является разделение (В) на основе двоичного дерева, он классифицируется как исключительный случай.[00501] As an example (the current block is A2B0B1), the A2B0 block before splitting the A2B0B1 block is the same as the block A2B0B1 before splitting the A2B0B1 block for the A2B0B0B0 block (upper block) in adjacent blocks, thus confirming the split mode. In this case, since the division mode is binary tree division (B), it is classified as an exceptional case.

[00502] В качестве примера (текущим блоком является А3В1С0), в смежных блоках, так как блок А3В1 до разделения блока А3В1С0 отличается от блока A3 до разделения блока А3В0, блок А3В0 (в данном примере - верхний правый блок) может быть классифицирован как общий случай.[00502] As an example (the current block is A3B1C0), in adjacent blocks, since block A3B1 before splitting block A3B1C0 is different from block A3 before splitting block A3B0, block A3B0 (in this example, the upper right block) can be classified as common happening.

[00503] Как описано в приведенном выше примере, смежные блоки могут быть классифицированы на общий случай и исключительный случай. Для общего случая неизвестно, можно ли использовать информацию о кодировании соответствующего смежного блока в качестве информации о кодировании текущего блока, а для исключения определено, что информацию о кодировании соответствующего смежного блока нельзя использовать в качестве информации о кодировании текущего блока.[00503] As described in the above example, adjacent blocks can be classified into a general case and an exceptional case. For the general case, it is not known whether the encoding information of the corresponding adjacent block can be used as the encoding information of the current block, and for the exception, it is determined that the encoding information of the corresponding adjacent block cannot be used as the encoding information of the current block.

[00504] На основе приведенной выше классификации способ получения информации о предсказании текущего блока из смежных блоков можно использовать.[00504] Based on the above classification, a method for obtaining prediction information of the current block from adjacent blocks can be used.

[00505] Коротко говоря, подтверждается, являются ли одинаковыми (А) блоки до разделения текущего блока и смежные блоки.[00505] Briefly, it is confirmed whether the blocks are the same (A) before the division of the current block and adjacent blocks.

[00506] Если А имеет одинаковый результат, режим разделения текущего блока (если это так, то не только текущий блок, но также смежные блоки представляют собой блоки, определенные с использованием одного режима разделения, что, таким образом, подтверждает только текущий блок) является подтвержденным (В).[00506] If A has the same result, the division mode of the current block (if so, not only the current block but also adjacent blocks are blocks determined using the same division mode, thus confirming only the current block) is confirmed (B).

[00507] Если результат А отличается, процесс завершается (заканчивается).[00507] If result A is different, the process ends (ends).

[00508] Если результатом В является разделение на основе четверичного дерева, смежные блоки помечаются как нормальные, и процесс завершается (заканчивается).[00508] If the result of B is a quaternary tree split, adjacent blocks are marked as normal and the process ends (ends).

[00509] Если результатом В является разделение на основе двоичного дерева, смежные блоки помечаются как исключительные, и процесс завершается (заканчивается).[00509] If result B is a binary tree split, adjacent blocks are marked as exclusive and the process ends (ends).

[00510] Приведенный выше пример может быть применен к настройке группы кандидатов предсказания режимов внутреннего предсказания (связанной с МРМ) согласно настоящему изобретению. Могут поддерживаться настройки общей группы кандидатов предсказания (например, приоритеты конфигурации группы кандидатов и т.д.) и настройки исключительной группы кандидатов предсказания, и приоритеты могут сдвигаться назад или исключаться из групп кандидатов, полученных из блока на основе состояний вышеуказанных смежных блоков.[00510] The above example can be applied to setting a group of intra prediction modes prediction candidates (related to MPM) according to the present invention. General prediction candidate group settings (eg, candidate group configuration priorities, etc.) and exclusive prediction candidate group settings may be supported, and priorities may be shifted back or excluded from candidate groups derived from a block based on the states of the above adjacent blocks.

[00511] В этом случае смежные блоки, в которых применяются эти настройки, могут быть ограничены пространственным случаем (одно пространство) или могут являться применимыми к случаю получения из других цветовых пространств одного изображения, такому как режим копирования цвета. То есть приведенные выше настройки могут быть выполнены с учетом состояния предсказания или т.п. для блока, полученного при помощи режима копирования цвета.[00511] In this case, adjacent blocks in which these settings are applied may be limited to a spatial case (single space) or may be applicable to a case of obtaining a single image from other color spaces, such as a color copying mode. That is, the above settings can be made in consideration of the prediction state or the like. for a block obtained using the color copying mode.

[00512] В дополнение к приведенному выше примеру, следующий пример представляет собой пример адаптивного определения настроек кодирования/декодирования (например, настройки группы кандидатов предсказания, настройки опорных пикселей и т.д.) в соответствии с взаимосвязью между блоками (в приведенном выше примере относительная взаимосвязь между текущим блоком и другими блоками идентифицируется с использованием информации о блоке разделения и т.д.).[00512] In addition to the above example, the following example is an example of adaptively determining encoding/decoding settings (e.g., prediction candidate group settings, reference pixel settings, etc.) according to a relationship between blocks (in the above example, relative the relationship between the current block and other blocks is identified using partition block information, etc.).

[00513] Данный пример (компонента яркости) описан на основе предположения о том, что из смежных блоков выбираются всего 3 кандидата (в данном примере левый и правый), и они задаются как группа МРМ-кандидатов, если в устройстве для кодирования/декодирования имеется 35 предопределенных режимов внутреннего предсказания.[00513] This example (luma component) is described based on the assumption that a total of 3 candidates (left and right in this example) are selected from adjacent blocks, and they are set as a group of MPM candidates if the encoding/decoding device has 35 predefined intra prediction modes.

[00514] Путем добавления одного кандидата, соответственно, в левый блок L0 и верхний блок Т0 может быть сконфигурировано всего два кандидата. Если группу кандидатов нельзя сконфигурировать в каждом блоке, ее можно заменить или заполнить режимом DC, планарным режимом, вертикальным режимом, горизонтальным режимом, диагональным режимом и т.д. Если два кандидата заполнены при помощи вышеописанного процесса, оставшийся кандидат может считаться заполненным числом в различных случаях.[00514] By adding one candidate, respectively, in the left block L0 and the upper block T0, a total of two candidates can be configured. If a candidate group cannot be configured in each block, it can be replaced or populated with DC mode, planar mode, vertical mode, horizontal mode, diagonal mode, etc. If two candidates are filled using the above process, the remaining candidate may be considered a filled number in various cases.

[00515] Например, если кандидаты, заполненные в каждом блоке, являются одинаковыми, смежные режимы вышеописанного режима заменяются способом, который не перекрывается с режимами, включенными в группу кандидатов (например, k_mode-2, k_mode-2, k_mode+1, k_mode+2 и т.д., если одним и тем же режимом является k_mode). Альтернативно, если кандидаты, заполненные в каждом блоке, являются одинаковыми или разными, группа кандидатов может быть сконфигурирована путем добавления планарного режима, режима DC, вертикального режима, горизонтального режима и диагонального режима.[00515] For example, if the candidates filled in each block are the same, the adjacent modes of the above mode are replaced in a manner that does not overlap with the modes included in the candidate group (e.g., k_mode-2, k_mode-2, k_mode+1, k_mode+ 2, etc. if the same mode is k_mode). Alternatively, if the candidates populated in each block are the same or different, the candidate group may be configured by adding planar mode, DC mode, vertical mode, horizontal mode, and diagonal mode.

[00516] При помощи вышеописанного процесса может быть сконфигурирована группа (общий случай) режимов-кандидатов внутреннего предсказания. Установленная таким образом группа кандидатов принадлежит к общему случаю, и в соответствии со смежными блоками может быть сконфигурирована адаптивная группа режимов-кандидатов внутреннего предсказания (исключительный случай).[00516] Using the above process, a group (general case) of candidate intra prediction modes can be configured. The candidate group thus established belongs to the general case, and an adaptive intra prediction mode candidate group (exceptional case) can be configured in accordance with adjacent blocks.

[00517] Например, если смежный блок помечен исключительным состоянием, группа кандидатов, производная от этого блока, может быть исключена. Если левый блок помечен как исключительное состояние, группа кандидатов может быть сконфигурирована верхним блоком и предварительно заданным режимом предсказания (например, режимом, полученным из блока DC, планарного блока, вертикального блока, горизонтального блока, диагонального блока, и верхнего блока, и т.д.). Приведенный выше пример может быть применен идентично/аналогично даже тогда, когда группа МРМ-кандидатов сконфигурирована более чем тремя МРМ-кандидатами.[00517] For example, if an adjacent block is marked with an exception condition, a candidate group derived from that block may be excluded. If the left block is marked as an exception state, the candidate group can be configured by the top block and a predetermined prediction mode (for example, the mode derived from the DC block, planar block, vertical block, horizontal block, diagonal block, and top block, etc. .). The above example can be applied identically/similarly even when the MPM candidate group is configured with more than three MPM candidates.

[00518] Описание будет выполнено на основе следующих предположений: данный пример (цветоразностная компонента) содержит пять режимов внутреннего предсказания (режим DC, планарный режим, вертикальный режим, горизонтальный режим и, в данном примере, цветовой режим), и кодирование/декодирование выполняется путем конфигурирования режимов предсказания, которым адаптивно присваиваются приоритеты, как групп кандидатов (т.е. кодирование/декодирование выполняется непосредственно, без использования МРМ).[00518] The description will be made based on the following assumptions: this example (color difference component) contains five intra prediction modes (DC mode, planar mode, vertical mode, horizontal mode, and, in this example, color mode), and encoding/decoding is performed by configuring prediction modes that are adaptively prioritized as candidate groups (ie, encoding/decoding is performed directly without using MPM).

[00519] Во-первых, цветовой режим наделяется высшим приоритетом (в данном примере - индекс 0; «для 0» присваивается 1 бит), тогда как другие режимы (в данном примере планарный, вертикальный, горизонтальный и DC) наделяются низким приоритетом (в данном примере - соответственно, индексами присваивается 3 бита со значениями «100», «101», «110», «111»).[00519] First, the color mode is given the highest priority (in this example, index 0; "for 0" is assigned 1 bit), while the other modes (planar, vertical, horizontal, and DC in this example) are given low priority (in in this example, respectively, 3 bits are assigned with the values "100", "101", "110", "111").

[00520] Если цветовой режим совпадает с одним из других режимов предсказания (DC, планарным, вертикальным и горизонтальным) из группы кандидатов, приоритету, наделяющему совпадающий режим предсказания (в данном примере - индексы 1-4), может быть присвоен предварительно заданный режим предсказания (например, диагональный режим и т.д.), и, если совпадение отсутствует, конфигурация группы кандидатов завершается.[00520] If the color mode matches one of the other prediction modes (DC, planar, vertical, and horizontal) from the candidate group, the priority giving the matching prediction mode (indices 1-4 in this example) can be assigned a predetermined prediction mode (eg, diagonal mode, etc.), and if there is no match, the candidate group configuration is terminated.

[00521] При помощи вышеописанного процесса может быть сконфигурирована группа кандидатов для режима внутреннего предсказания. Пример, осуществленный таким образом, соответствует общему случаю, и в соответствии с блоками полученного цветового режима может быть сконфигурирована адаптивная группа кандидатов.[00521] Using the above process, a candidate group for the intra prediction mode can be configured. An example implemented in this way corresponds to the general case, and an adaptive candidate group can be configured in accordance with the received color mode blocks.

[00522] В данном примере, если блок, соответствующий текущему блоку в других цветовых пространствах полученного цветового режима, конфигурируется как один блок (т.е. состояние отсутствия разделения), он может называться общим случаем, и, если он сконфигурирован как множество блоков (т.е. состояние разделения более чем двух блоков), он может называться исключительным случаем. Как описано выше, может иметься пример на основе следующих предположений: данный пример отличается от примера, в котором классификация выполняется в соответствии с тем, является ли текущий блок таким же, как порождающий блок смежного блока, с режимом разделения или т.п., и, если конфигурируется множество соответствующих блоков разных цветовых пространств, имеется более высокая вероятность характеристик, отличных от текущего блока. То есть это следует понимать как пример адаптивно определяющих настроек кодирования/декодирования в соответствии с взаимосвязью между блоками.[00522] In this example, if a block corresponding to the current block in other color spaces of the received color mode is configured as a single block (i.e., a non-separated state), it can be called a general case, and if it is configured as a plurality of blocks ( i.e., a split state of more than two blocks), it may be referred to as an exceptional case. As described above, there may be an example based on the following assumptions: this example is different from the example in which classification is performed according to whether the current block is the same as the parent block of an adjacent block, with a split mode or the like, and if a plurality of corresponding blocks of different color spaces are configured, there is a higher probability of characteristics different from the current block. That is, this should be understood as an example of adaptively determining encoding/decoding settings in accordance with the relationship between blocks.

[00523] Если соответствующий блок помечен как исключительное состояние в соответствии с приведенным выше примером предположения, режим предсказания, полученный из этого блока, может иметь низкий приоритет. В этом случае одному из других режимов предсказания (планарного, DC, вертикального и горизонтального) может быть присвоен высокий приоритет, а низкий приоритет может быть присвоен другим режимам предсказания и цветовым режимам, не включенным в приоритет.[00523] If the corresponding block is marked as an exception state in accordance with the above suggestion example, the prediction mode obtained from this block may have a low priority. In this case, one of the other prediction modes (planar, DC, vertical, and horizontal) may be given high priority, and low priority may be given to other prediction modes and color modes not included in the priority.

[00524] Для простоты описания, приведенные выше примеры описаны на основе некоторых предположений, но без ограничения, и такие же или аналогичные применения могут использоваться для различных вышеописанных вариантов осуществления настоящего изобретения.[00524] For ease of description, the above examples are described on the basis of some assumptions, but without limitation, and the same or similar applications can be used for various embodiments of the present invention described above.

[00525] Подводя итог, группа А кандидатов может использоваться тогда, когда имеются блоки, помеченные как исключительные состояния в смежных блоках, и группа В кандидатов может использоваться тогда, когда имеются блоки, помеченные как исключительные состояния. Следует понимать, что приведенная выше классификация делится на два случая, но конфигурация группы кандидатов внутреннего предсказания в элементах блоков может быть адаптивно реализована в соответствии с исключительными состояниями и положениями блоков.[00525] To sum up, candidate group A can be used when there are blocks marked as exceptions in adjacent blocks, and candidate group B can be used when there are blocks marked as exceptions. It should be understood that the above classification is divided into two cases, but the configuration of the intra prediction candidate group in block elements can be adaptively implemented in accordance with exception states and block positions.

[00526] Кроме того, приведенный выше пример описывает древовидное разделение в режиме разделения, но им не ограничен. Подробнее, в приведенном выше примере возможно задать блок, полученный с использованием по меньшей мере одного древовидного режима разделения, как блок кодирования и непосредственно выполнить предсказание, преобразование и т.д. без разделения этого блока на блоки предсказания, блоки преобразования и т.д.[00526] In addition, the above example describes tree division in the division mode, but is not limited to it. In more detail, in the above example, it is possible to set a block obtained using at least one tree partitioning mode as a coding block, and directly perform prediction, transformation, etc. without dividing this block into prediction blocks, transformation blocks, etc.

[00527] В качестве другого примера настроек разделения, блок кодирования получается с использованием древовидного разделения, и на основе полученного блока кодирования получается по меньшей мере один блок предсказания.[00527] As another example of division settings, a coding block is obtained using tree division, and at least one prediction block is obtained based on the obtained coding block.

[00528] Например, предполагается, что блок кодирования (2N×2N) может быть получен с использованием древовидного разделения (в данном примере на основе четверичного дерева), и блок предсказания получается с использованием типизированного разделения (типами кандидатов, поддерживаемыми в данном примере, являются 2N×2N, 2N×N, N×2N и N×N). В этом случае, если блок кодирования (в данном примере предполагаемый как порождающий блок) разделяется на множество блоков предсказания (в данном примере предполагаемых как подблоки), настройка вышеописанного исключительного состояния или т.п. также может применяться между блоками предсказания.[00528] For example, it is assumed that a coding block (2N×2N) can be obtained using tree partitioning (in this example, based on a quaternary tree), and a prediction block is obtained using typed partitioning (candidate types supported in this example are 2N×2N, 2N×N, N×2N and N×N). In this case, if a coding block (in this example, assumed to be a parent block) is divided into a plurality of prediction blocks (in this example, assumed to be sub-blocks), setting the above-described exception state or the like. can also be applied between prediction blocks.

[00529] Как изображено на изображении g по фиг. 16, если в блоке кодирования (жирная сплошная линия) имеется два блока предсказания (разделенных тонкой сплошной линией), нижний блок имеет характеристику, отличную от верхнего блока, и не относится к информации о кодирования верхнего блока или имеет низкий приоритет.[00529] As shown in image g of FIG. 16, if there are two prediction blocks (separated by a thin solid line) in a coding block (thick solid line), the bottom block has a different characteristic from the top block and does not belong to the coding information of the top block or has a low priority.

[00530] На фиг. 17 изображен пример разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, изображен пример, в котором базовый блок кодирования (максимальный блок кодирования, 8N×8N) получает блок кодирования (диагональный блок, 2N×2N) с использованием разделения на основе четверичного дерева, и полученный блок кодирования разделяется на по меньшей мере один блок предсказания (2N×2N, 2N×N, N×2N и N×N) при помощи типизированного разделения.[00530] FIG. 17 shows an example of block division according to an embodiment of the present invention. In more detail, an example is shown in which a basic coding block (maximum coding block, 8N×8N) obtains a coding block (diagonal block, 2N×2N) using quaternary tree partitioning, and the resulting coding block is divided into at least one prediction block. (2N×2N, 2N×N, N×2N and N×N) using typed partitioning.

[00531] Ниже будет описана настройка группы режимов-кандидатов внутреннего предсказания для случая получения прямоугольных блоков (2N×N и N×2N).[00531] The setting of the intra prediction mode candidate group for the case of obtaining rectangular blocks (2N×N and N×2N) will be described below.

[00532] На фиг. 18 изображены различные примеры групп режимов-кандидатов внутреннего предсказания в отношении настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки 2N×N).[00532] FIG. 18 shows various examples of intra prediction mode candidate groups with respect to setting blocks generating prediction information (the prediction blocks in this example are 2N×N blocks).

[00533] Данный пример предполагает, что, если имеется 67 режимов внутреннего предсказания (компонента яркости), из смежных блоков (в данном примере левого, верхнего, верхнего левого, верхнего правого и нижнего левого) выбирается всего 6 кандидатов, и они задаются в группу МРМ-кандидатов.[00533] This example assumes that if there are 67 intra prediction modes (luminance component), a total of 6 candidates are selected from adjacent blocks (left, top, top left, top right, and bottom left in this example) and are given in a group MRM candidates.

[00534] Со ссылкой на фиг. 13, четыре кандидата могут быть сконфигурированы в порядке L3-T3-B0-R0-TL, и два кандидата могут быть сконфигурированы в предварительно заданном режиме (например, планарном и DC). Если в вышеописанной конфигурации максимальное количество (в данном примере 6) не заполнено, может быть включен режим предсказания (например, k_mode-2, k_mode-2, k_mode+1, k_mode+2 и т.д., если k_mode доступен), полученный из режимов предсказания, включенных в группу кандидатов, предварительно заданного режима (например, вертикального, горизонтального или диагонального и т.д.) и т.д.[00534] With reference to FIG. 13, four candidates may be configured in the order L3-T3-B0-R0-TL, and two candidates may be configured in a predetermined mode (eg, planar and DC). If in the above configuration, the maximum number (in this example 6) is not filled, the prediction mode (for example, k_mode-2, k_mode-2, k_mode+1, k_mode+2, etc., if k_mode is available) can be enabled, obtained from the prediction modes included in the candidate group, a predetermined mode (eg, vertical, horizontal, or diagonal, etc.), and so on.

[00535] В данном примере, в случае пространственно смежных блоков, приоритетом группы кандидатов является порядок левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок текущего блока (подробнее, подблоки на нижней стороне левого блока и правой стороне верхнего блока), и для предварительно заданного режима, в свою очередь, предполагается порядок планарный-DC-вертикальный-горизонтальный-диагональный режим.[00535] In this example, in the case of spatially contiguous blocks, the candidate group priority is the order left block-top block-bottom left block-top right block-top left block of the current block block), and the predetermined mode, in turn, assumes the order planar-DC-vertical-horizontal-diagonal mode.

[00536] Со ссылкой на изображение а по фиг. 18, как и при настройке группы кандидатов в приведенном выше примере, текущий блок (2N×N, PU0) может конфигурировать группу кандидатов в порядке l1-t3-l2-tr-t1 (так как другое содержимое повторяется, оно опущено). В данном примере смежный блок текущего блока может представлять собой блок, который был закодирован/декодирован (блок кодирования, т.е. блок предсказания в других блоках кодирования).[00536] With reference to image a in FIG. 18, as with setting the candidate group in the above example, the current block (2N×N, PU0) can configure the candidate group in the order l1-t3-l2-tr-t1 (because other content is repeated, it is omitted). In this example, an adjacent block of the current block may be a block that has been encoded/decoded (a coding block, i.e. a prediction block in other coding blocks).

[00537] В отличие от вышесказанного, если положение текущего блока соответствует PU1, может быть задана по меньшей мере одна группа режимов-кандидатов внутреннего предсказания. В целом блок, смежный с текущим блоком, с большей вероятностью аналогичен характеристикам текущего блока, и поэтому является более преимущественным для конфигурирования группы кандидатов из соответствующего блока (1). С другой стороны, может потребоваться конфигурирование группы кандидатов для параллельной обработки кодирования/декодирования (2).[00537] In contrast to the above, if the position of the current block corresponds to PU1, at least one group of candidate intra prediction modes may be defined. In general, a block adjacent to the current block is more likely to have similar characteristics to the current block, and therefore is more advantageous for configuring a candidate group from the corresponding block (1). On the other hand, it may be necessary to configure a group of candidates for parallel encoding/decoding processing (2).

[00538] Если текущим блоком является PU1, при настройке здания группы кандидатов, как в случае (1), например, на изображении b по фиг. 18, группы кандидатов могут быть сконфигурированы в порядке l3-c7-bl-k-l1 (к может быть получено из с7 или tr и т.д.), и в случае настройки конфигурации группы кандидатов, как в случае (2), например, на изображении с по фиг. 18, группы кандидатов могут быть сконфигурированы в порядке l3-bl-k-l1 (к может быть получено из tr и т.д.). Разница между двумя этими примерами заключается в том, включена ли группа режимов-кандидатов внутреннего предсказания для верхнего блока. То есть в первом случае режим внутреннего предсказания верхнего блока включен в группу кандидатов с целью повышения эффективности кодирования/декодирования режима внутреннего предсказания, и в последнем случае режим внутреннего предсказания верхнего блока, на который нельзя сослаться, исключается из группы кандидатов для параллельной обработки или т.п., так как еще не было определено, завершено ли кодирование/декодирование.[00538] If the current block is PU1, when setting up a candidate group building as in case (1), for example, in image b of FIG. 18, candidate groups can be configured in the order l3-c7-bl-k-l1 (k can be obtained from c7 or tr, etc.), and in the case of setting the candidate group configuration as in case (2), for example , in the image from Fig. 18, candidate groups may be configured in the order l3-bl-k-l1 (k may be obtained from tr, etc.). The difference between these two examples is whether the group of candidate intra prediction modes for the top block is included. That is, in the first case, the intra prediction mode of the upper block is included in the candidate group in order to improve the coding/decoding efficiency of the intra prediction mode, and in the latter case, the intra prediction mode of the upper block that cannot be referred to is excluded from the candidate group for parallel processing, or the like. etc., since it has not yet been determined whether encoding/decoding is completed.

[00539] На фиг. 19 изображены различные примеры настроек групп режимов-кандидатов внутреннего предсказания в отношении настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки N×2N).[00539] FIG. 19 shows various examples of settings of intra prediction mode candidate groups with respect to setting of blocks generating prediction information (prediction blocks in this example are N×2N blocks).

[00540] Данный пример предполагает, что, если имеется 67 режимов внутреннего предсказания (компонента яркости), из смежных блоков (в данном примере - левого, верхнего, верхнего левого, верхнего правого и нижнего левого) выбирается всего 6 кандидатов, и они задаются в группу МРМ-кандидатов.[00540] This example assumes that if there are 67 intra prediction modes (luma component), a total of 6 candidates are selected from adjacent blocks (left, top, top left, top right, and bottom left in this example) and they are given in group of MRM candidates.

[00541] Со ссылкой на фиг. 13, один кандидат может быть сконфигурирован в порядке L3-L2-L1-L0 (верхний блок), один кандидат может быть образован в порядке Т3-Т2-Т1-Т0 (верхний блок), два кандидата могут быть сконфигурированы в порядке B0-R0-TL (верхний левый блок, верхний правый блок и нижний левый блок), и два кандидата могут быть сконфигурированы в предварительно заданном режиме (например, планарном или DC). Если в вышеописанной конфигурации максимальное количество не заполнено, может быть включен режим предсказания, полученный из режимов предсказания, включенных в группу кандидатов, предварительно заданного режима и т.д. В этом случае приоритетом конфигурации группы кандидатов может являться порядок левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок.[00541] With reference to FIG. 13, one candidate can be configured in the order L3-L2-L1-L0 (top block), one candidate can be formed in the order T3-T2-T1-T0 (top block), two candidates can be configured in the order B0-R0 -TL (upper left block, upper right block and lower left block), and the two candidates can be configured in a predefined mode (eg planar or DC). If the maximum number is not filled in the above configuration, the prediction mode obtained from the prediction modes included in the candidate group, the preset mode, and so on, may be turned on. In this case, the candidate group configuration priority may be the order left block-top block-planar block-block DC-bottom left block-top right block-top left block.

[00542] Со ссылкой на изображение а по фиг. 19, текущий блок (N×2N, PU0) может конфигурировать одного кандидата в порядке l3-l2-l1-l0, одного кандидата в порядке t1-t0 и двух кандидатов в порядке bl-t2-tl таким же образом, как при настройках групп кандидатов в приведенных выше примерах. В данном примере смежный блок текущего блока может представлять собой блок, который был закодирован/декодирован (блок кодирования; т.е. блок предсказания в других блоках кодирования).[00542] With reference to image a in FIG. 19, the current unit (N×2N, PU0) can configure one candidate in the order l3-l2-l1-l0, one candidate in the order t1-t0, and two candidates in the order bl-t2-tl in the same manner as group settings. candidates in the examples above. In this example, an adjacent block of the current block may be a block that has been encoded/decoded (a coding block; i.e., a prediction block in other coding blocks).

[00543] В отличие от вышесказанного, если положение текущего блока соответствует PU1, может быть задана по меньшей мере одна группа режимов-кандидатов внутреннего предсказания. В приведенных выше примерах могут быть сконфигурированы (1) и (2).[00543] In contrast to the above, if the position of the current block corresponds to PU1, at least one group of candidate intra prediction modes may be defined. In the above examples, (1) and (2) can be configured.

[00544] Если текущим блоком является PU1, также может быть сконфигурирован один кандидат в порядке c13-c9-c5-c1, один кандидат - в порядке t3-t2 и два кандидата в порядке k-tr-t1 (к может быть получен из bl или с13 и т.д.) при настройке конфигурации группы кандидатов, как в (1), например, на изображении b по фиг. 19, и также может быть сконфигурирован один кандидат в порядке t3-t2 и две группы кандидатов в порядке k-tr-tl (k может быть получен из bl и т.д.) при настройке конфигурации группы кандидатов, как в (2), например, на изображении с по фиг. 19. Разница между двумя этими примерами заключается в том, включена ли группа режимов-кандидатов внутреннего предсказания для верхнего блока. То есть в первом случае режим внутреннего предсказания левого блока включен в группу кандидатов с целью повышения эффективности кодирования/декодирования режима внутреннего предсказания, и в последнем случае режим внутреннего предсказания левого блока, на который нельзя сослаться, исключается из группы кандидатов для параллельной обработки или т.п., так как еще не было определено, завершено ли кодирование/декодирование.[00544] If the current block is PU1, one candidate in the order c13-c9-c5-c1, one candidate in the order t3-t2, and two candidates in the order k-tr-t1 can also be configured (k can be obtained from bl or c13, etc.) when configuring the candidate group as in (1), for example, in image b of FIG. 19, and one candidate in the order t3-t2 and two candidate groups in the order k-tr-tl (k can be obtained from bl, etc.) can also be configured by configuring the candidate group as in (2), for example, in the image from Fig. 19. The difference between these two examples is whether a group of candidate intra prediction modes for the top block is included. That is, in the first case, the left block intra prediction mode is included in the candidate group to improve the coding/decoding efficiency of the intra prediction mode, and in the latter case, the left block intra prediction mode that cannot be referred to is excluded from the parallel processing candidate group, or the like. etc., since it has not yet been determined whether encoding/decoding is completed.

[00545] Таким образом, конфигурация группы кандидатов может быть определена в соответствии с настройками конфигурации группы кандидатов. В данном примере настройки конфигурации группы кандидатов (в данном примере - настройки конфигурации группы кандидатов для параллельной обработки) могут определяться в неявном виде, или связанная информация может быть в явном виде включена в элементы видео, последовательности, кадра, среза, плитки и т.д.[00545] Thus, the configuration of the candidate group can be determined according to the configuration settings of the candidate group. In this example, candidate group configuration settings (in this example, candidate group configuration settings for parallel processing) may be implicitly specified, or related information may be explicitly included in video, sequence, frame, slice, tile, etc. elements. .

[00546] Краткое описание приведенного выше содержимого является следующим. Предполагается, что связанная информация определяется в неявном виде или генерируется в явном виде.[00546] A brief description of the above content is as follows. Related information is expected to be implicitly defined or explicitly generated.

[00547] Настройка конфигурации группы режимов-кандидатов внутреннего предсказания подтверждается на исходной стадии кодирования/декодирования (А).[00547] The configuration setting of the intra prediction mode candidate group is confirmed in the initial encoding/decoding stage (A).

[00548] Если результат подтверждения для А является таким, что можно сделать отсылку к настройке предыдущего блока предсказания в том же блоке кодирования, режим внутреннего предсказания блока включается в группу кандидатов (конец).[00548] If the acknowledgment result for A is such that reference can be made to the setting of a previous prediction block in the same coding block, the intra block prediction mode is included in the candidate group (end).

[00549] Если результат подтверждения для А является таким, что отсылка к настройке предыдущего блока предсказания в том же блоке кодирования запрещена, режим внутреннего предсказания блока исключается из группы кандидатов (конец).[00549] If the confirmation result for A is such that reference to the setting of the previous prediction block in the same coding block is prohibited, the intra block prediction mode is excluded from the candidate group (end).

[00550] Для простоты описания, приведенные выше примеры описаны на основе некоторых предположений, но без ограничения, и такие же или аналогичные применения могут применяться к различным вышеописанным вариантам осуществления настоящего изобретения.[00550] For ease of description, the above examples are described on the basis of some assumptions, but without limitation, and the same or similar applications can be applied to various above-described embodiments of the present invention.

[00551] На фиг. 20 изображен пример разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, базовый блок кодирования (максимальный блок кодирования) представляет пример получения блока кодирования (диагонального блока А×В) путем разделения на основе двоичного дерева (или разделений на основе множества деревьев), и полученный блок кодирования задается как блок предсказания.[00551] FIG. 20 shows an example of block division according to an embodiment of the present invention. In more detail, the basic coding block (maximum coding block) is an example of obtaining a coding block (A×B diagonal block) by binary tree partitioning (or multi-tree partitioning), and the resulting coding block is set as a prediction block.

[00552] В этом случае ниже будет описана настройка группы кандидатов предсказания информации о движении для случая получения прямоугольного блока (А×В, А≠В).[00552] In this case, the setting of the motion information prediction candidate group for the case of obtaining a rectangular block (A×B, A≠B) will be described below.

[00553] На фиг. 21 изображены различные примеры групп режимов-кандидатов внутреннего предсказания для настройки блоков, генерирующих информацию предсказания (в данном примере блока кодирования 2N×N).[00553] FIG. 21 shows various examples of intra prediction mode candidate groups for setting blocks generating prediction information (2N×N coding block in this example).

[00554] Описание выполняется на основе следующих предположений. Если данный пример (компонента яркости) содержит 67 режимов внутреннего предсказания, из смежных блоков (в данном примере левого, верхнего, верхнего левого, верхнего правого и нижнего левого) выбирается всего 6 кандидатов, и они задаются в группу МРМ-кандидатов. Если конфигурируется множество групп режимов-кандидатов, не являющихся МРМ (в данном примере А и В, режим, в котором выше вероятность предсказания режима предсказания текущего блока в режимах-кандидатах, не являющихся МРМ, принадлежит к А), в группе А сконфигурировано всего 16 кандидатов, и в группе В сконфигурировано всего 45 кандидатов.[00554] The description is made based on the following assumptions. If the given example (luma component) contains 67 intra prediction modes, a total of 6 candidates are selected from the adjacent blocks (left, top, top left, top right, and bottom left in this example) and set to the MPM candidate group. If a plurality of non-MPM candidate mode groups are configured (in this example, A and B, the mode in which the prediction mode of the current block is more likely to be predicted in the non-MPM candidate modes belongs to A), a total of 16 candidates, and a total of 45 candidates are configured in group B.

[00555] В этом случае группа А содержит кандидатов, классифицируемых по определенным правилам (например, составлена из равноудаленных режимов в направленном режиме), которые не включены в режимы из групп МРМ-кандидатов, или может содержать кандидатов, которые не включены в конечную группу МРМ-кандидатов в соответствии с приоритетом группы МРМ-кандидатов, и т.д. Группа В может быть составлена из кандидатов, не включенных в группу А, в группе МРМ-кандидатов и группе режимов-кандидатов, не являющихся МРМ.[00555] In this case, group A contains candidates classified according to certain rules (e.g., composed of equidistant modes in directional mode) that are not included in the modes from the MPM candidate groups, or may contain candidates that are not included in the final MPM group -candidates according to the priority of the group of MPM-candidates, etc. Group B may be composed of candidates not included in group A in the MPM candidate group and the non-MPM candidate regime group.

[00556] Со ссылкой на изображение а по фиг. 21, текущий блок (CU0 или PU0, в котором размер предполагается равным 2N×N, и соотношение горизонтального/вертикального размеров равно 2:1) может конфигурировать шесть кандидатов как группу кандидатов в порядке l1-t3-планарный-DC-l2-tr-tl-l1*-t3*-l2*-tr*-t1* - вертикальный-горизонтальный-диагональный режим. В приведенном выше примере «*» представляет режим, полученный из режима предсказания каждого блока (например, режим с добавлением +1, -1 и т.д.).[00556] With reference to image a of FIG. 21, the current block (CU0 or PU0 in which the size is assumed to be 2N×N and the horizontal/vertical size ratio is 2:1) can configure six candidates as a candidate group in the order l1-t3-planar-DC-l2-tr- tl-l1*-t3*-l2*-tr*-t1* - vertical-horizontal-diagonal mode. In the above example, "*" represents the mode obtained from the prediction mode of each block (eg, plus +1 mode, -1, etc.).

[00557] С другой стороны, со ссылкой на изображение b по фиг. 21, текущий блок (CU1 или PU1, в котором размер равен 2N×N) может конфигурировать шесть кандидатов как группу кандидатов в порядке 13-с7-планарный-DC-bl-k-l1-l3*-с7*-bl*-k*-l1* - вертикальный-горизонтальный-диагональный режим.[00557] On the other hand, with reference to image b in FIG. 21, the current unit (CU1 or PU1 in which the size is 2N×N) can configure six candidates as a candidate group in the order 13-c7-planar-DC-bl-k-l1-l3*-c7*-bl*-k *-l1* - vertical-horizontal-diagonal mode.

[00558] В данном примере, в случае когда применяется настройка (2), представленная на фиг. 18, как изображено на изображении b по фиг. 21, группа кандидатов исключается из группы режимов-кандидатов предсказания верхнего блока в соответствии с порядком 13-планарный-DC-bl-k-l1-с7-l3*-bl*-k*-l1* - вертикальный-горизонтальный-диагональный-с7*, или приоритет снижается, и, таким образом, она может быть включена в группу А.[00558] In this example, in the case where setting (2) shown in FIG. 18 as shown in image b of FIG. 21, the candidate group is excluded from the upper block prediction mode candidate group according to the order 13-planar-DC-bl-k-l1-c7-l3*-bl*-k*-l1*-vertical-horizontal-diagonal-c7 *, or the priority is reduced, and thus it can be included in group A.

[00559] Однако отличие от случая, представленного на фиг. 18, заключается в следующем: даже если блок является прямоугольным, этот блок разделяется на элементы кодирования и немедленно задается как блок предсказания без дополнительного разделения. Поэтому, как изображено на фиг. 18, настройка конфигурации группы кандидатов может не являться применимой к данному примеру (например, настройка (2)).[00559] However, unlike the case shown in FIG. 18 is as follows: even if a block is rectangular, the block is divided into coding units and immediately set as a prediction block without further division. Therefore, as shown in FIG. 18, the configuration setting of the candidate group may not be applicable to this example (eg, setting (2)).

[00560] Однако в случае к на фиг. 21, так как имеется положение, в котором кодирование/декодирование не завершено, оно может быть получено из смежного блока, в котором завершено кодирование/декодирование.[00560] However, in case k in FIG. 21, since there is a position where encoding/decoding is not completed, it can be obtained from an adjacent block where encoding/decoding is completed.

[00561] На фиг. 22 изображены различные примеры настройки групп режимов-кандидатов внутреннего предсказания для блоков, генерирующих информацию о предсказании (блоками кодирования в данном примере являются блоки N×2N).[00561] FIG. 22 shows various examples of setting intra prediction mode candidate groups for blocks generating prediction information (the coding blocks in this example are N×2N blocks).

[00562] Описание будет выполнено на основе следующих предположений. Если данный пример (цветоразностная компонента) содержит пять режимов внутреннего предсказания (в данном примере - режим DC, планарный режим, вертикальный режим, горизонтальный режим и режим копирования цвета), кодирование/декодирование выполняется путем конфигурирования режимов предсказания, которым адаптивно присваиваются приоритеты, как групп кандидатов.[00562] The description will be made based on the following assumptions. If this example (color difference component) contains five intra prediction modes (in this example, DC mode, planar mode, vertical mode, horizontal mode, and color copy mode), encoding/decoding is performed by configuring the prediction modes that are adaptively prioritized as groups candidates.

[00563] В этом случае приоритет будет описан на основе предположения о том, что приоритет определяется из смежных блоков (в данном примере - левого, верхнего, верхнего левого, верхнего правого и нижнего левого).[00563] In this case, the priority will be described based on the assumption that the priority is determined from adjacent blocks (in this example, left, top, top left, top right and bottom left).

[00564] Со ссылкой на фиг. 13, кандидат первого класса может быть определен в левом блоке L3, верхнем блоке Т3, верхнем левом блоке TL, верхнем правом блоке R0 и нижнем левом блоке В0. В этом случае режим, имеющий значение, наиболее часто встречающееся в режимах предсказания блока, может быть определен как кандидат первого класса. Если наиболее часто встречающиеся значения имеет множество режимов, придается предварительно заданный приоритет (например, режим копирования цвета - планарный-вертикальный-горизонтальный-DC).[00564] With reference to FIG. 13, the first class candidate can be determined in the left block L3, the upper block T3, the upper left block TL, the upper right block R0, and the lower left block B0. In this case, the mode having the value most frequently encountered in the block prediction modes can be determined as a first class candidate. If multiple modes have the most frequently occurring values, a predetermined priority is given (eg, color copy mode - planar-vertical-horizontal-DC).

[00565] Данный пример можно считать аналогичным настройке МРМ-кандидатов (в данном примере первый бит определяется как равный 0 или 1; если первый бит равен 1, необходимо добавить 2 бита; первый бит может выполнять обходное кодирование или традиционное кодирование в соответствии с настройками кодирования/декодирования, а остальные биты могут выполнять обходное кодирование) в отношении получения режима (режим представляет собой режим, оцениваемый как режим предсказания текущего блока) из смежных блоков и, таким образом, определения приоритета (то есть определения количества присвоенных битов; например, в случае первого класса он равен «0»; в случае классов от второго до четвертого они равны «100», «101», «110» и «111») и в отношении предсказания режима предсказания.[00565] This example can be considered similar to setting MPM candidates (in this example, the first bit is defined as 0 or 1; if the first bit is 1, 2 bits need to be added; the first bit can perform bypass coding or legacy coding according to coding settings /decoding, and the remaining bits can perform bypass coding) with respect to obtaining a mode (a mode is a mode estimated as a prediction mode of the current block) from adjacent blocks and thus determining a priority (i.e., determining the number of assigned bits; for example, in the case of of the first class, it is "0"; in the case of classes two to four, they are "100", "101", "110", and "111") and with respect to the prediction of the prediction mode.

[00566] Со ссылкой на изображение а по фиг. 22, текущий блок (CU0 или PU0, в котором размер предполагается равным N×2N, и соотношение горизонтального/вертикального размеров равно 1:2) может определять кандидатов первого класса в блоках 13,t1,t1,t2 и b1.[00566] With reference to image a in FIG. 22, the current block (CU0 or PU0 in which the size is assumed to be N×2N and the horizontal/vertical size ratio is 1:2) may determine the first class candidates in blocks 13,t1,t1,t2 and b1.

[00567] С другой стороны, со ссылкой на изображение b по фиг. 22, текущий блок (CU1 или PU1, в котором размер равен N×2N) может определять кандидата первого класса в блоках с13, t3, t1, tr и k.[00567] On the other hand, with reference to image b in FIG. 22, the current block (CU1 or PU1 in which the size is 2N) may determine the first class candidate in blocks c13, t3, t1, tr, and k.

[00568] В данном примере, если применима такая же настройка, как (2), представленная на фиг. 19, текущий блок CU1 может определять кандидата первого класса в блоках t3, t1, tr и k. Кроме того, если блок, соответствующий текущему блоку в других цветовых пространствах, в которых получается режим копирования цвета, не сконфигурирован как один блок, приоритет режима копирования цвета сдвигается назад (понижается) в предварительно заданном приоритете так, что приоритет изменяется до планарный-вертикальный-горизонтальный - DC-режим копирования цвета и т.д. Как описано выше, этот пример может иметь место на основе следующих предположений. Данный пример отличается от примера, в котором классификация выполняется в соответствии с тем, является ли текущий блок таким же, как порождающий блок смежного блока, с режимом разделения или т.п., однако, если конфигурируется множество соответствующих блоков разных цветовых пространств, имеется более высокая вероятность характеристик, отличных от текущего блока. То есть это следует понимать как пример адаптивно определяющих настроек кодирования/декодирования в соответствии с взаимосвязью между блоками.[00568] In this example, if the same setting as (2) shown in FIG. 19, the current CU1 may determine the first class candidate in blocks t3, t1, tr, and k. In addition, if the block corresponding to the current block in other color spaces in which the color copy mode is obtained is not configured as one block, the priority of the color copy mode is shifted back (lowered) in the preset priority so that the priority changes to planar-vertical- horizontal - DC color copying mode, etc. As described above, this example may take place based on the following assumptions. This example is different from the example in which classification is performed according to whether the current block is the same as the parent block of an adjacent block, with a split mode, or the like, however, if a plurality of corresponding blocks of different color spaces are configured, there are more high probability of characteristics different from the current block. That is, this should be understood as an example of adaptively determining encoding/decoding settings in accordance with the relationship between blocks.

[00569] Однако отличие от случая, представленного на фиг. 19, заключается в следующем: даже если блок является прямоугольным, этот блок разделяется на элементы кодирования и соответствует случаю немедленной настройки как блока предсказания без дополнительного разделения. Поэтому, как изображено на фиг. 19, настройка конфигурации группы кандидатов может не являться применимой в данном примере.[00569] However, unlike the case shown in FIG. 19 is as follows: even if the block is rectangular, this block is divided into coding units and corresponds to the case of immediate tuning as a prediction block without further division. Therefore, as shown in FIG. 19, the candidate group configuration setting may not be applicable in this example.

[00570] Однако в случае к на фиг. 22, так как имеется положение, в котором кодирование/декодирование не завершено, оно может быть получено из смежного блока, в котором завершено кодирование/декодирование.[00570] However, in case k in FIG. 22, since there is a position where encoding/decoding is not completed, it can be obtained from an adjacent block where encoding/decoding is completed.

[00571] Для простоты описания, приведенные выше примеры были описаны на основе некоторых предположений, но без ограничения, и такие же или аналогичные применения возможны в различных вышеописанных вариантах осуществления настоящего изобретения.[00571] For ease of description, the above examples have been described based on some assumptions, but without limitation, and the same or similar applications are possible in various embodiments of the present invention described above.

[00572] В вариантах осуществления, представленных на фиг. 21 и 22, предполагается, что блоки M×N (M≠N), которые могут быть разделены при помощи разделения на основе двоичного дерева, появляются последовательно.[00572] In the embodiments shown in FIG. 21 and 22, it is assumed that M×N (M≠N) blocks that can be partitioned using binary tree partitioning appear sequentially.

[00573] В приведенном выше случае может возникать случай, описанный на фиг. 14-16 (пример настройки группы кандидатов путем определения взаимосвязи между текущим блоком и смежным блоком и т.д.). То есть на фиг. 21 и 21 смежные блоки до разделения CU0 и CU1 идентичны друг другу, и CU0 и CU1 могут быть получены путем горизонтального разделения или вертикального разделения при разделении на основе двоичного дерева.[00573] In the above case, the case described in FIG. 14-16 (an example of setting up a group of candidates by determining the relationship between the current block and the adjacent block, etc.). That is, in FIG. 21 and 21, adjacent blocks prior to division of CU0 and CU1 are identical to each other, and CU0 and CU1 can be obtained by horizontal division or vertical division in binary tree division.

[00574] Кроме того, в вариантах осуществления, представленных на фиг. 18 и 19, предполагается, что после разделения блока кодирования в блоке кодирования имеется множество прямоугольных блоков предсказания.[00574] In addition, in the embodiments shown in FIG. 18 and 19, it is assumed that after splitting a coding block, there are a plurality of rectangular prediction blocks in a coding block.

[00575] В приведенном выше случае также может возникать случай, описанный на фиг. 14-16. Тогда возникает противоречие с примерами, представленными на фиг. 18 и 19. Например, на фиг. 18 в случае PU1 может быть определено, использовать ли информацию PU0, и на фиг. 14-16 информация PU0 не используется, так как характеристики PU1 отличаются от таковых у PU0.[00575] In the above case, the case described in FIG. 14-16. Then there is a contradiction with the examples presented in Fig. 18 and 19. For example, in FIG. 18 in the case of PU1, it can be determined whether or not to use the information of PU0, and in FIG. 14-16, the PU0 information is not used because the characteristics of PU1 are different from those of PU0.

[00576] Что касается приведенного выше содержимого, группа кандидатов может быть сконфигурирована без противоречия в соответствии с настройкой исходной стадии кодирования/декодирования. Группа кандидатов предсказаний информации о движении может быть задана в соответствии с различными другими настройками кодирования/декодирования.[00576] With regard to the above content, the candidate group can be configured without conflict according to the setting of the initial encoding/decoding stage. The motion information prediction candidate group may be defined in accordance with various other encoding/decoding settings.

[00577] Случай настройки группы режимов-кандидатов предсказания описан в приведенном выше примере. Кроме того, он может быть задан для ограничения использования опорных пикселей с целью предсказания текущего блока из смежных блоков, помеченных исключительными состояниями.[00577] A case of setting a group of candidate prediction modes is described in the above example. In addition, it may be set to restrict the use of reference pixels to predict the current block from adjacent blocks marked with exception conditions.

[00578] Например, если блок предсказания генерируется путем отличения первого опорного пикселя от второго опорного пикселя в соответствии с вариантом осуществления настоящего изобретения, в случае если второй опорный пиксель включен в блок, помеченный как исключительное состояние, генерирование блока предсказания с использованием второго опорного пикселя может быть ограничено. То есть блок предсказания может генерироваться с использованием только первого опорного пикселя.[00578] For example, if a prediction block is generated by distinguishing a first reference pixel from a second reference pixel according to an embodiment of the present invention, if the second reference pixel is included in a block marked as an exception, generating a prediction block using the second reference pixel may be limited. That is, the prediction block may be generated using only the first reference pixel.

[00579] Коротко говоря, приведенный выше пример можно рассматривать как элемент в настройках кодирования/декодирования, относящийся к использованию второго опорного пикселя.[00579] Briefly, the above example can be considered as an item in the encoding/decoding settings related to the use of the second reference pixel.

[00580] В настоящем документе будут описаны различные случаи в отношении настроек группы режимов-кандидатов внутреннего предсказания.[00580] Various cases will be described herein regarding the settings of the intra prediction mode candidate group.

[00581] В этом примере предполагается, что имеется 67 режимов внутреннего предсказания, сконфигурированных как 65 направленных режимов и 2 ненаправленных режима, а именно планарный режим и режим DC. Однако он ими не ограничен, и могут быть заданы другие режимы внутреннего предсказания. В данном примере предполагается, что в группу МРМ-кандидатов включены шесть кандидатов. Однако он этим не ограничен, и группа МРМ-кандидатов может также быть сконфигурирована четырьмя, пятью или семью кандидатами. Кроме того, имеется настройка, в которой перекрывающийся режим в группе кандидатов отсутствует. Кроме того, приоритет относится к порядку определения включения в группу МРМ-кандидатов, но может рассматриваться как элемент для определения преобразования в двоичную форму, настроек энтропийного кодирования/декодирования и т.д. для каждого кандидата, принадлежащего к группе МРМ-кандидатов. Следующий пример будет описан путем центрирования на компоненте яркости, однако такие же, или аналогичные, или модифицированные применения также могут выполняться для цветоразностной компоненты.[00581] In this example, it is assumed that there are 67 intra prediction modes configured as 65 directional modes and 2 non-directional modes, namely planar mode and DC mode. However, it is not limited to these, and other intra prediction modes may be set. In this example, it is assumed that six candidates are included in the MPM candidate pool. However, it is not limited to this, and the MPM candidate group may also be configured with four, five, or seven candidates. In addition, there is a setting in which there is no overlapping mode in the candidate group. In addition, priority refers to the order of determining inclusion in a group of MPM candidates, but may be considered as an element for determining binarization, entropy encoding/decoding settings, and so on. for each candidate belonging to the group of MPM candidates. The following example will be described by centering on the luma component, however the same or similar or modified applications can also be made to the chroma component.

[00582] Режимы, включенные в группу режимов-кандидатов внутреннего предсказания (например, группу МРМ-кандидатов и т.д.) согласно настоящему изобретению могут быть сконфигурированы как режимы предсказания пространственно смежных блоков, предварительно заданные режимы предсказания, режимы предсказания, производные от режимов предсказания, включенных в кандидаты, и т.д. В этом случае может быть определено правило (например, приоритет и т.д.) для конфигурирования группы кандидатов в соответствии с настройками кодирования/декодирования.[00582] The modes included in the intra prediction mode candidate group (e.g., MPM candidate group, etc.) according to the present invention can be configured as spatially adjacent block prediction modes, predefined prediction modes, prediction modes derived from modes predictions included in the candidates, etc. In this case, a rule (eg, priority, etc.) can be defined to configure the candidate group according to the encoding/decoding settings.

[00583] В следующих примерах описаны случаи, относящиеся к фиксированным конфигурациям группы кандидатов.[00583] The following examples describe cases related to fixed configurations of a group of candidates.

[00584] В качестве примера (1), может поддерживаться фиксированный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере группы МРМ-кандидатов). Например, может поддерживаться предварительно заданный приоритет. Например, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, предварительно заданный приоритет представляет собой порядок левый блок (L3 на фиг. 13) - верхний блок (Т3 на фиг. 13) - нижний левый блок (ВО на фиг. 13) - верхний правый блок (R0 на фиг. 13) - верхний левый блок (TL на фиг. 13). Если предварительно заданный режим предсказания добавляется в группу кандидатов, предварительно заданный приоритет представляет собой порядок планарный-DC-вертикальный-горизонтальный-диагональный режим. Кроме того, может иметь место комбинированная конфигурация приведенного выше примера, такая как порядок левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок. Если количество кандидатов не может быть достигнуто даже при исполнении кандидатов в соответствии с приоритетом, следующий приоритет может иметь режим, производный от режима предсказания, который был включен (например, +1 и -1 режима левого блока, +1 и -1 режима верхнего блока и т.д.), вертикальный режим, горизонтальный режим, диагональный режим и т.д.[00584] As an example (1), a fixed priority for configuring a group of candidate intra prediction modes (in this example, a group of MPM candidates) can be maintained. For example, a predefined priority may be supported. For example, if spatially adjacent block prediction modes are added to a candidate group, the predetermined priority is the order left block (L3 in FIG. 13) - top block (T3 in FIG. 13) - bottom left block (BO in FIG. 13) - upper right block (R0 in Fig. 13) - upper left block (TL in Fig. 13). If the preset prediction mode is added to the candidate group, the preset priority is the planar-DC-vertical-horizontal-diagonal mode order. In addition, a combined configuration of the above example may take place, such as the order left block-top block-planar block-block DC-bottom left block-top right block-top left block. If the number of candidates cannot be reached even when executing the candidates according to the priority, the next priority may have a mode derived from the prediction mode that has been enabled (for example, +1 and -1 of the left block mode, +1 and -1 of the top block mode etc.), vertical mode, horizontal mode, diagonal mode, etc.

[00585] В приведенном выше примере, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, режимы кандидатов имеют приоритеты левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок, и режимы предсказания левого блока (L3 на фиг. 12) последовательно включаются в группу кандидатов, в то же время, если соответствующие модули не существуют, в группу кандидатов как следующий приоритет включается режим предсказания верхнего блока (Т3 на фиг. 13). Таким образом, режим предсказания включается в группу кандидатов в некотором порядке, и, если режим предсказания соответствующего блока недоступен или перекрывается с включенным режимом, порядок переходит к следующем блоку.[00585] In the above example, if spatially adjacent block prediction modes are added to a candidate group, the candidate modes have left block-top block-bottom left block-top right block-top left block priorities, and left block prediction modes (L3 in FIG. 12) are sequentially included in the candidate group, at the same time, if the corresponding modules do not exist, the upper block prediction mode (T3 in FIG. 13) is included in the candidate group as the next priority. Thus, the prediction mode is included in the candidate group in some order, and if the corresponding block's prediction mode is not available or overlaps with the enabled mode, the order moves to the next block.

[00586] В качестве другого примера, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, группа кандидатов может быть сконфигурирована в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок. В этом случае режим предсказания левого блока в первую очередь учитывает режим предсказания блока, расположенного в L3, но если там имеется недоступный или перекрывающийся режим, режимы-кандидаты предсказания левого блока заполняются в порядке следующих подблоков левого блока L2, L1 и L0. Подобным образом, такие же или аналогичные настройки применимы к верхнему блоку (Т3-Т2-Т1-Т0), нижнему левому блоку (В0-В1-В2-В3), верхнему правому блоку (R0-R1-R2-R3) и верхнему левому блоку (TL). Например, если режимы предсказания блоков нельзя добавить в группу кандидатов, даже в случае выполнения в порядке L3-L2-L1-L0, может быть выполнен следующий последовательный блок.[00586] As another example, if spatially adjacent block prediction modes are added to a candidate group, the candidate group may be configured in the order left block-top block-bottom left block-top right block-top left block. In this case, the prediction mode of the left block first considers the prediction mode of the block located in L3, but if there is an unavailable or overlapping mode there, the candidate prediction modes of the left block are populated in the order of the next left block subblocks L2, L1, and L0. Similarly, the same or similar settings apply to the top block (T3-T2-T1-T0), bottom left block (B0-B1-B2-B3), top right block (R0-R1-R2-R3) and top left block (TL). For example, if block prediction modes cannot be added to the candidate group even if executed in L3-L2-L1-L0 order, the next consecutive block can be executed.

[00587] В следующих примерах описаны случаи адаптивных конфигураций группы кандидатов. Адаптивная конфигурация группы кандидатов может быть определена в соответствии с состоянием текущего блока (например, размером и формой блока), состоянием смежного блока (например, размером и формой блока, режимом предсказания и т.д.) или взаимосвязью между текущим блоком и смежным блоком.[00587] The following examples describe cases of adaptive candidate group configurations. The candidate group adaptive configuration may be determined according to the state of the current block (eg, block size and shape), the state of an adjacent block (eg, block size and shape, prediction mode, etc.), or the relationship between the current block and the adjacent block.

[00588] В качестве примера (3), может поддерживаться адаптивный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере - группы МРМ-кандидатов). Приоритет может быть задан в соответствии с частотой. То есть чаще появляющиеся режимы предсказания могут иметь высокий приоритет, тогда как режимы предсказания, встречающиеся с меньшей частотой, могут иметь низкий приоритет.[00588] As an example (3), adaptive priority may be supported to configure a group of candidate intra prediction modes (in this example, a group of MPM candidates). The priority can be set according to the frequency. That is, prediction modes that occur more frequently may have a high priority, while prediction modes that occur less frequently may have a low priority.

[00589] Например, приоритет может быть задан в соответствии с частотой режимов предсказания пространственно смежных блоков.[00589] For example, the priority may be set according to the frequency of prediction modes of spatially adjacent blocks.

[00590] Может поддерживаться предварительно заданный приоритет для случая одинаковой частоты. Например, предполагая, что режимами, появляющимися дважды в левом блоке, верхнем блоке, нижнем левом блоке, верхнем правом блоке и верхнем левом блоке, соответственно (в предположении, что для каждого блока получается один режим предсказания), являются режим 6 и режим 31, и режимом а, появляющимся однократно, является режим 14, в данном примере (в предположении, что режимом а, появляющимся в предыдущем последовательном блоке в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок, является режим 6) в качестве первого кандидата и второго кандидата включаются режим 6 и режим 31.[00590] A predefined priority for the same frequency case may be supported. For example, assuming that the modes appearing twice in the left box, top box, bottom left box, top right box, and top left box, respectively (assuming one prediction mode is obtained for each block), are mode 6 and mode 31, and mode a appearing once is mode 14, in this example (assuming mode a appearing in the previous consecutive block in the order left block-top block-bottom left block-top right block-top left block is mode 6 ) mode 6 and mode 31 are included as the first candidate and the second candidate.

[00591] Планарный режим и режим DC включены как третий и четвертый кандидаты, и режим 14, имеющий режим предсказания с частотой 1, включен как пятый кандидат. Тогда режиму 5 и режиму 7, производным от первого кандидата и второго кандидата, и режимам 30 и 32 может быть задан следующий приоритет. Кроме того, режиму 13 и режиму 15, производным от пятого кандидата, задан следующий приоритет, и тогда следующий приоритет могут иметь вертикальный режим, горизонтальный режим и диагональный режим.[00591] A planar mode and a DC mode are included as the third and fourth candidates, and mode 14 having a frequency prediction mode of 1 is included as the fifth candidate. Then mode 5 and mode 7 derived from the first candidate and the second candidate and modes 30 and 32 can be given the next priority. In addition, the mode 13 and the mode 15 derived from the fifth candidate are given the next priority, and then the vertical mode, the horizontal mode, and the diagonal mode may have the next priority.

[00592] То есть режиму предсказания, имеющему частоту 2 или более, присваивается приоритет перед планарным режимом и режимом DC, и режиму предсказания, имеющему частоту 1, может быть присвоен приоритет после планарного режима и режима DC, например, низкий приоритет имеют производный режим, предварительно заданный режим и т.д. вышеописанного примера.[00592] That is, the prediction mode having a frequency of 2 or more is given priority over the planar mode and the DC mode, and the prediction mode having a frequency of 1 can be given priority after the planar mode and the DC mode, for example, the derivative mode has low priority, preset mode, etc. the above example.

[00593] Коротко говоря, предварительно заданный приоритет (например, порядок левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок) может представлять собой приоритет, заданный с учетом статистических характеристик изображения в целом, и адаптивный приоритет (в данном примере - случай, в котором он включается в группу кандидатов в соответствии с частотой) может представлять собой пример выполнения частичной модификации предварительно заданного приоритета с учетом некоторых характерных признаков изображения (в данном примере - режим, появляющийся с частотой два или более, задается перед фиксированными планарным режимом и режимом DC, и режим, появляющийся с частотой один, задается после фиксированных планарного режима и режима DC).[00593] Briefly, a predetermined priority (e.g., the order left block-top block-planar block-block DC-bottom left block-top right block-top left block) may be a priority given considering the statistical characteristics of the overall image , and the adaptive priority (in this example, the case in which it is included in the candidate group according to the frequency) may be an example of performing a partial modification of the predetermined priority, taking into account some characteristic features of the image (in this example, the mode appearing with a frequency of two or more is set before the fixed planar mode and DC mode, and the mode appearing at a frequency of one is set after the fixed planar mode and DC mode).

[00594] Кроме того, в соответствии с частотой может быть определен не только приоритет в отношении конфигурации группы кандидатов, но на основе частоты также могут быть определены настройки преобразования в двоичную форму и энтропийного кодирования/декодирования для каждого кандидата, принадлежащего к группе МРМ-кандидатов. В качестве примера, на основе частоты может быть определено преобразование в двоичную форму МРМ-кандидатов, имеющих m частот. Альтернативно в соответствии с частотой может быть адаптивно определена контекстная информация о кандидатах. То есть в данном примере может использоваться контекстная информация, задающая вероятность выбора режима как высокую. То есть, когда m равняется 1-4- (в данном примере ненаправленный режим включен в 2 из всего 6 кандидатов, и, таким образом, максимальное значение частоты равно 4), контекстная информация может быть задана по-разному.[00594] In addition, according to the frequency, not only the priority with respect to the configuration of the candidate group can be determined, but the binarization and entropy encoding/decoding settings for each candidate belonging to the MPM candidate group can also be determined based on the frequency. . As an example, frequency-based binarization of MPM candidates having m frequencies can be determined. Alternatively, candidate context information may be adaptively determined according to frequency. That is, in this example, context information setting the mode selection probability as high may be used. That is, when m is 1-4- (in this example, omnidirectional mode is included in 2 out of a total of 6 candidates, and thus the maximum frequency value is 4), the context information may be set differently.

[00595] Если 0 в 0 и 1 двоичного индекса (индекс Bin; порядок битов, когда более одного бита сконфигурировано в соответствии с преобразованием в двоичную форму; например, если некоторый МРМ-кандидат сконфигурирован как «010», числами от первого двоичного числа до третьего двоичного числа могут являться 0, 1 и 0) представляет собой двоичное число, указывающее, что кандидат выбран как МРМ (двоичное число используется для определения того, является ли МРМ конечным, или для распознавания конечного МРМ необходимо подтвердить дополнительное двоичное число; то есть в приведенном выше «010», если первое двоичное число равно 0, необходимо подтвердить второе двоичное число и третье двоичное число, и может быть подтверждено, является ли режим конечным МРМ; если имеется одно двоичное число, немедленно подтверждается, является ли МРМ конечным, в соответствии со значениями 0 и 1 двоичного числа), и 1 представляет собой двоичное число, указывающее, что кандидат не выбран как МРМ, применяется контекстная информация с высокой вероятностью появления 0 (то есть при выполнении двоичной арифметики вероятность появления 0 может быть приравнена к 90%, вероятность появления 1 может быть приравнена к 10%, и предполагается, что базовый случай таков, что вероятности появления 0 и 1 составляют 60% и 40%), так что может быть применено САВАС.[00595] If 0 to 0 and 1 of a binary index (index Bin; bit order when more than one bit is configured according to binarization; for example, if some MPM candidate is configured as "010", by numbers from the first binary number to third binary number can be 0, 1, and 0) is a binary number indicating that the candidate is selected as an MPM (the binary number is used to determine whether the MPM is finite, or an additional binary number needs to be confirmed to recognize the final MPM; that is, in "010" above, if the first binary number is 0, it is necessary to confirm the second binary number and the third binary number, and whether the mode is MPM final can be confirmed; if there is one binary number, it is immediately confirmed whether the MPM is final, according to with binary values 0 and 1), and 1 is a binary number indicating that the candidate is not selected as an MPM, context information with a high probability of occurrence of 0 is applied (that is, when performing binary arithmetic, the probability of occurrence of 0 can be equated to 90%, the probability of occurrence of 1 can be equated to 10%, and it is assumed that the base case is such that the probabilities of occurrence of 0 and 1 are 60% and 40%), so CABAS can be applied.

[00596] В качестве примера (4), может поддерживаться адаптивный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере - группы МРМ-кандидатов). Например, приоритет может быть задан в соответствии с направленностью режимов предсказания пространственно смежных блоков.[00596] As an example (4), adaptive priority may be supported to configure a group of candidate intra prediction modes (in this example, a group of MPM candidates). For example, the priority may be set according to the directionality of the prediction modes of spatially adjacent blocks.

[00597] В этом случае категориями направленности являются: группа режимов в направлении верхнего правого угла (2-17 на фиг. 9), группа горизонтального режима (18 на фиг. 9), группа режимов в направлении нижнего правого угла (19-49 на фиг. 9), группа вертикального режима (50 на фиг. 9), группа режимов в направлении нижнего левого угла (51-66 на фиг. 9) и группа ненаправленных режимов (планарный режим или режим DC). Альтернативно, их можно разделить на группу горизонтально направленных режимов (режимы 2-34 на фиг. 9), группу вертикально направленных режимов (режимы 35-66 на фиг. 9) и группу ненаправленных режимов (планарный режим или режим DC), а также возможны различные примеры конфигурации.[00597] In this case, the directionality categories are: mode group in the upper right corner direction (2-17 in Fig. 9), horizontal mode group (18 in Fig. 9), mode group in the lower right corner direction (19-49 in Fig. 9). Fig. 9), a vertical mode group (50 in Fig. 9), a mode group in the lower left corner direction (51-66 in Fig. 9), and a non-directional mode group (planar mode or DC mode). Alternatively, they can be divided into a group of horizontally directional modes (modes 2-34 in Fig. 9), a group of vertically directional modes (modes 35-66 in Fig. 9) and a group of non-directional modes (planar mode or DC mode), and also possible various configuration examples.

[00598] Например, если приоритет базовой группы кандидатов представляет собой порядок верхний левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, то группа кандидатов может быть сконфигурирована в приведенном выше порядке. Однако после конфигурирования групп кандидатов приоритеты для настроек преобразования в двоичную форму и энтропийного кодирования/декодирования для каждого кандидата могут быть определены на основе категории. В качестве примера, преобразование в двоичную форму с присвоением меньшего количества битов может быть выполнено для категорий в группе МРМ-кандидатов, содержащих большое количество кандидатов. Альтернативно в соответствии с категорией может быть адаптивно определена контекстная информация. То есть контекстная информация может быть определена в соответствии с количеством режимов, включенных в каждую категорию (например, если первая категория m, и вторая категория - n, контекстная информация определяется в соответствии с комбинацией m и n).[00598] For example, if the priority of the base candidate group is the order top left block-planar block-DC block-bottom left block-top right block-top left block, then the candidate group may be configured in the above order. However, after the candidate groups are configured, the priorities for the binarization and entropy encoding/decoding settings for each candidate can be determined based on the category. As an example, binarization with fewer bits can be performed for categories in a candidate MPM group containing a large number of candidates. Alternatively, the context information may be adaptively determined according to the category. That is, the context information can be determined according to the number of modes included in each category (for example, if the first category is m and the second category is n, the context information is determined according to the combination of m and n).

[00599] В качестве примера (5), адаптивный приоритет может поддерживаться в соответствии с размером и формой текущего блока. Например, приоритет может быть определен в соответствии с размером блока, и приоритет может быть определен в соответствии с формой блока.[00599] As an example (5), adaptive priority may be maintained in accordance with the size and shape of the current block. For example, the priority may be determined according to the size of the block, and the priority may be determined according to the shape of the block.

[00600] Если размер блока составляет 32×32 или более, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, а если размер блока меньше 32×32, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок-планарный блок-блок DC.[00600] If the block size is 32×32 or more, it can be included in the candidate group in the order left block-top block-planar block-block DC-bottom left block-top right block-top left block, and if the block size less than 32×32, it can be included in the candidate group in the order left block-top block-bottom left block-top right block-top left block-planar block-block DC.

[00601] Альтернативно, если блок является квадратным, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, если блок является прямоугольным (удлиненным по горизонтали), он может быть включен в группу кандидатов в порядке верхний блок-верхний правый блок-верхний левый блок-планарный блок-блок DC-левый блок-нижний левый блок, и, если блок является прямоугольным (удлиненным по вертикали), он может быть включен в группу кандидатов в порядке левый блок-нижний левый блок-верхний левый блок-планарный блок-блок DC-верхний правый блок. Данный пример можно понимать как случай, в котором блоки, смежные с более длинными блоками, имеют высший порядок.[00601] Alternatively, if the block is square, it may be included in the candidate group in the order left block-top block-planar block-block DC-bottom left block-top right block-top left block if the block is rectangular (elongated horizontal), it can be included in the candidate group in the order top block-top right block-top left block-planar block-block DC-left block-bottom left block, and if the block is rectangular (vertically elongated), it can be included in the candidate group in the order left block - bottom left block - top left block - planar block - DC block - top right block. This example can be understood as the case in which blocks adjacent to longer blocks are of higher order.

[00602] В качестве примера (6), адаптивный приоритет может поддерживаться в соответствии с взаимосвязью между текущим блоком и смежными блоками.[00602] As an example (6), adaptive priority may be maintained in accordance with the relationship between the current block and adjacent blocks.

[00603] Со ссылкой на изображение а на фиг. 23 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - подблока левого блока).[00603] With reference to image a in FIG. 23 shows an example of generating a prediction block according to the prediction mode of an adjacent block (in this example, a sub-block of the left block).

[00604] Если режимом предсказания (использованным, для простоты описания, только со ссылкой на направленное содержимое) левого блока (в данном примере - верхнего подблока левого блока) является направленный режим, существующий среди режимов 51-66 на фиг. 9 (режим с наклоном вправо в вертикальном режиме), и, если генерируется блок предсказания левого блока, то ссылка соответствует диагональной части (части TL или Т) на фигуре. Правая область левого блока может по существу представлять собой область, имеющую высокую корреляцию с левой областью левого блока, однако, поскольку кодирование/декодирование к настоящему моменту не выполнено, блок предсказания может генерироваться при помощи опорных пикселей нижней области Т, где кодирование/декодирование было завершено.[00604] If the prediction mode (used, for ease of description, only with reference to directional content) of the left block (in this example, the upper sub-block of the left block) is the directional mode existing among the modes 51-66 in FIG. 9 (right tilt mode in vertical mode), and if a left block prediction block is generated, the reference corresponds to a diagonal part (TL or T part) in the figure. The right region of the left block may essentially be a region having a high correlation with the left region of the left block, however, since encoding/decoding has not been performed so far, a prediction block may be generated using the reference pixels of the lower region T where encoding/decoding has been completed .

[00605] Даже если предсказание выполняется из части нижней области блока Т, как описано выше, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что некоторые области 2400 текущего блока также имеют такую же или на аналогичную направленность (или края и т.д.), как вышеуказанный режим предсказания.[00605] Even if the prediction is performed from a part of the lower area of the block T as described above, the final prediction mode is defined as the mode existing among the modes 51-66, and this means that some areas 2400 of the current block also have the same or similar directivity (or edges, etc.) like the above prediction mode.

[00606] То есть это может означать, что вероятность выбора режима предсказания левого блока как режима предсказания текущего блока является высокой. Альтернативно это может означать, что более высокой является вероятность выбора режимов 51-66.[00606] That is, it may mean that the probability of selecting the prediction mode of the left block as the prediction mode of the current block is high. Alternatively, this may mean that the probability of selecting modes 51-66 is higher.

[00607] Со ссылкой на изображение b на фиг. 23, когда соответствующее описание выводится из приведенного выше примера, когда режимы предсказания верхнего блока существуют в режимах 2-17 на фиг. 9 (режим с наклоном вниз в горизонтальном режиме), это может означать, что некоторые области текущего блока также имеют такую же направленность, как соответствующие режимы предсказания.[00607] With reference to image b in FIG. 23, when the corresponding description is derived from the above example, when the upper block prediction modes exist in the modes 2 to 17 in FIG. 9 (down slope mode in horizontal mode), this may mean that some areas of the current block also have the same directivity as the corresponding prediction modes.

[00608] То есть это может означать, что вероятность выбора режима предсказания верхнего блока как режима предсказания текущего блока является более высокой. Альтернативно это может означать, что более высокой является вероятность выбора режимов 2-17.[00608] That is, it may mean that the probability of selecting the prediction mode of the upper block as the prediction mode of the current block is higher. Alternatively, this may mean that modes 2-17 are more likely to be selected.

[00609] Как описано выше, если возможно определить режим предсказания текущего блока посредством режимов предсказания смежных блоков, приоритет может определяться адаптивно.[00609] As described above, if it is possible to determine the prediction mode of the current block through the prediction modes of adjacent blocks, the priority may be determined adaptively.

[00610] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, приоритет не изменяется в случае, идентичном изображению а на фиг. 23, и может изменяться в порядке верхний блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок в случае b на фиг. 23.[00610] For example, if the candidate base group is configured with a priority in the order left block-top block-planar block-block DC-bottom left block-top right block-top left block, the priority does not change in the case identical to image a in FIG. 23, and may change in the order top block-left block-planar block-DC block-bottom left block-top right block-top left block in case b in FIG. 23.

[00611] Альтернативно для случая а на фиг. 23 может иметь место порядок левый блок-(левый+1) блок-(левый-1) блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-нижний левый блок, а для случая b на фиг. 23 он может изменяться в порядке верхний блок-(верхний-1) блок-(верхний+1) блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый-нижний левый блок.[00611] Alternatively, for case a in FIG. 23, the order left block-(left+1) block-(left-1) block-top block-planar block-block DC-bottom left block-top right block-bottom left block can take place, and for case b in FIG. 23, it may change in the order top block-(top-1) block-(top+1) block-left block-planar block-block DC-bottom left block-top right-bottom left block.

[00612] Со ссылкой на изображение а на фиг. 24 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - левого блока).[00612] With reference to image a in FIG. 24 shows an example of generating a prediction block according to the prediction mode of an adjacent block (in this example, the left block).

[00613] В случае если режимом предсказания левого блока является режим, имеющий направленность, существующую среди режимов 51-66 на фиг. 9, относящиеся к нему пиксели для генерирования блока предсказания левого блока соответствуют диагональным частям TL и Т на фигуре. Правая область левого блока может представлять собой область, имеющую высокую корреляцию с левой областью левого блока, однако, поскольку кодирование/декодирование к настоящему моменту не выполнено, блок предсказания может генерироваться при помощи опорных пикселей нижней области блока Т, где кодирование/декодирование было завершено.[00613] In the case where the left block prediction mode is the mode having the directionality existing among the modes 51-66 in FIG. 9, its related pixels for generating the left block prediction block correspond to the diagonal portions TL and T in the figure. The right region of the left block may be a region having a high correlation with the left region of the left block, however, since encoding/decoding has not yet been performed, a prediction block may be generated using the reference pixels of the lower region of the block T where encoding/decoding has been completed.

[00614] Даже если предсказание выполняется из нижней области блока Т, как описано выше, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что некоторые области текущего блока также имеют такую же или на аналогичную направленность (или края и т.д.), как вышеуказанный режим предсказания.[00614] Even if the prediction is performed from the lower region of the block T as described above, the final prediction mode is defined as the mode existing among the modes 51-66, and this means that some regions of the current block also have the same or similar directivity (or edges, etc.) like the above prediction mode.

[00615] То есть это может означать, что вероятность выбора режима предсказания левого блока является высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 51-66.[00615] That is, it may mean that the probability of selecting the left block prediction mode is high. Alternatively, this may mean that the probability of selecting modes 51-66 is high.

[00616] Со ссылкой на изображение b на фиг. 24, когда соответствующее описание выводится из приведенного выше примера, когда режимы предсказания верхнего блока существуют в режимах 2-17 на фиг. 9, это может означать, что некоторые области текущего блока также имеют такую же направленность, как соответствующие режимы предсказания.[00616] With reference to image b in FIG. 24, when the corresponding description is derived from the above example, when the upper block prediction modes exist in the modes 2 to 17 in FIG. 9, this may mean that some regions of the current block also have the same directivity as the corresponding prediction modes.

[00617] То есть это может означать, что вероятность выбора режима предсказания верхнего блока как режима предсказания текущего блока является высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 2-17.[00617] That is, it may mean that the probability of selecting the prediction mode of the upper block as the prediction mode of the current block is high. Alternatively, this may mean that the probability of selecting modes 2-17 is high.

[00618] Как описано выше, если возможно определить режим предсказания текущего блока посредством режимов предсказания смежных блоков, приоритет может определяться адаптивно.[00618] As described above, if it is possible to determine the prediction mode of the current block through the prediction modes of adjacent blocks, the priority may be determined adaptively.

[00619] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, приоритет не изменяется для случая а на фиг. 24 и может изменяться в порядке верхний блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок для случая b на фиг. 23. В этом случае, как и в случае а на фиг. 24, приоритет является таким же, как ранее, но взамен могут адаптивно определяться настройки преобразования в двоичную форму и энтропийного кодирования/декодирования для режимов-кандидатов предсказания левого блока в группе МРМ-кандидатов. В качестве примера, может быть определено преобразование в двоичную форму (с присвоением более коротких битов) режимов-кандидатов предсказания для левого блока. Альтернативно может быть адаптивно определена контекстная информация. То есть в данном примере может использоваться контекстная информация, задающая вероятность выбора кандидата как высокую.[00619] For example, if the candidate base group is configured with a priority in the order left block-top block-planar block-block DC-bottom left block-top right block-top left block, the priority does not change for case a in FIG. 24 and may change in the order top block-left block-planar block-DC block-bottom left block-top right block-top left block for case b in FIG. 23. In this case, as in case a in FIG. 24, the priority is the same as before, but instead, binarization and entropy encoding/decoding settings for the left block prediction candidate modes in the MPM candidate group can be adaptively determined. As an example, binarization (with shorter bit assignment) of the prediction candidate modes for the left block can be determined. Alternatively, the context information may be adaptively determined. That is, in this example, context information setting the probability of selecting a candidate as high can be used.

[00620] Если 0 в 0 и 1 некоторого двоичного индекса представляет собой двоичное число, указывающее, что кандидат выбран как МРМ (в случае определения, является ли он конечным МРМ, с помощью одного двоичного числа или подтверждения дополнительного двоичного числа с целью распознавания конечного МРМ), и 1 представляет собой двоичное число, указывающее, что кандидат не выбран как МРМ, САВАС может быть применено путем применения контекстной информации о том, что вероятность появления 0 является высокой.[00620] If 0 to 0 and 1 of some binary index is a binary number indicating that the candidate is selected as the MPM (in the case of determining whether it is the final MPM, using one binary number or confirming an additional binary number to recognize the final MPM ), and 1 is a binary number indicating that the candidate is not selected as an MPM, CABAC can be applied by applying contextual information that the probability of occurrence of 0 is high.

[00621] Альтернативно для случая а на фиг. 24 может иметь место порядок левый блок-(левый+1) блок-(левый-1) блок-(левый+2) блок-(левый-2) блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-нижний левый блок, а для случая b на фиг. 24 он может изменяться в порядке верхний блок-(верхний-1) блок-(верхний+1) блок-(верхний-2) блок-(верхний+2) блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый-нижний левый блок.[00621] Alternatively, for case a in FIG. 24 can be left block-(left+1) block-(left-1) block-(left+2) block-(left-2) block-top block-planar block-block DC-bottom left block-top right block-bottom left block, and for case b in FIG. 24 it can change in the order top-block-(top-1) block-(top+1) block-(top-2) block-(top+2) block-left block-planar block-DC block-bottom-left block- top right-bottom left block.

[00622] Со ссылкой на изображение а на фиг. 25 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - левого блока).[00622] With reference to image a in FIG. 25 shows an example of generating a prediction block according to the prediction mode of an adjacent block (in this example, the left block).

[00623] Рассматривается случай, в котором режимы предсказания левого блока и нижнего левого блока имеют направленность, существующую среди режимов 51-66 на фиг. 9. Левый блок и нижний левый блок могут принадлежать или не принадлежать к одному блоку. В данном примере для простоты описания предполагается, что левый блок и нижний левый блок принадлежат к одному блоку (т.е. к одному режиму), для которого было завершено разделение.[00623] A case is considered in which the left block and lower left block prediction modes have a directionality existing among the modes 51-66 in FIG. 9. Left block and bottom left block may or may not belong to the same block. In this example, for ease of description, it is assumed that the left block and the lower left block belong to the same block (ie, the same mode) for which the division has been completed.

[00624] Пиксели, упоминаемые при генерировании блока предсказания (левого+нижнего левого) блоков, соответствуют диагональным частям TL, Т и TR на фигуре. Даже если предсказание выполняется из нижней области блока Т и блока TR, как описано в приведенном выше примере, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что вся область текущего блока также имеет такую же или аналогичную направленность, как вышеуказанный режим предсказания.[00624] The pixels referred to in generating the prediction block (left+lower left) blocks correspond to the diagonal portions TL, T and TR in the figure. Even if prediction is performed from the lower region of the T block and the TR block as described in the above example, the end prediction mode is defined as the mode existing among the modes 51-66, which means that the entire area of the current block also has the same or similar directionality. , like the above prediction mode.

[00625] То есть это может означать, что вероятность выбора режима предсказания левого блока или нижнего левого блока (в данном примере режимы предсказания этих двух блоков являются одинаковыми) как режима предсказания текущего блока является (очень) высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 51-66 (в данном примере режимы предсказания двух блоков различны).[00625] That is, this may mean that the probability of selecting the prediction mode of the left block or the lower left block (in this example, the prediction modes of these two blocks are the same) as the prediction mode of the current block is (very) high. Alternatively, this may mean that the probability of selecting modes 51-66 is high (in this example, the prediction modes of the two blocks are different).

[00626] На изображении b по фиг. 25, если режимы предсказания (верхнего+верхнего правого) блоков существуют среди режимов 2-17 на фиг. 9, это может означать, что вся область текущего блока также имеет такую же направленность, как соответствующие режимы предсказания.[00626] In image b of FIG. 25, if the (upper+upper right) block prediction modes exist among the modes 2-17 in FIG. 9, this may mean that the entire area of the current block also has the same directivity as the respective prediction modes.

[00627] То есть это может означать, что вероятность выбора режима предсказания верхнего блока или верхнего правого блока (в данном примере режимы предсказания этих двух блоков являются одинаковыми) как режима предсказания текущего блока является (очень) высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 2-17 (в данном примере режимы предсказания двух блоков различны).[00627] That is, it may mean that the probability of selecting the prediction mode of the top block or the top right block (in this example, the prediction modes of these two blocks are the same) as the prediction mode of the current block is (very) high. Alternatively, this may mean that the probability of selecting modes 2-17 is high (in this example, the prediction modes of the two blocks are different).

[00628] Как описано выше, если возможно определить режим предсказания текущего блока посредством режимов предсказания смежных блоков, приоритет может определяться адаптивно.[00628] As described above, if it is possible to determine the prediction mode of the current block through the prediction modes of adjacent blocks, the priority may be determined adaptively.

[00629] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, он может изменяться в порядке левый блок-нижний левый блок-планарный блок-блок DC-верхний блок-верхний правый блок-верхний левый блок для случая а на фиг. 25. Приоритет может изменяться в порядке верхний блок-верхний правый блок-планарный блок-блок DC-левый блок-нижний левый блок-верхний левый блок для случая b на фиг. 25. То есть может быть выдвинут вперед приоритет связанного блока.[00629] For example, if the candidate base group is configured with priority in the order left block-top block-planar block-block DC-bottom left block-top right block-top left block, it may change in the order left block-bottom left block- planar block-block DC-top block-top right block-top left block for case a in FIG. 25. The priority may change in the order top block-top right block-planar block-DC block-left block-bottom left block-top left block for case b in FIG. 25. That is, the priority of the associated block can be pushed forward.

[00630] Альтернативно для случая а на фиг. 25 приоритет может изменяться в порядке левый блок-нижний левый блок-(левый+1) блок-(левый-1) блок-нижний левый+1) блок-(нижний левый-1) блок-планарный блок-блок DC-верхний блок-верхний правый блок-верхний левый блок, а для случая b на фиг. 25 приоритет может изменяться в порядке верхний блок-верхний правый блок-(верхний-1) блок-(верхний+1) блок-(верхний правый-1) блок-(верхний правый+1) блок-планарный блок-блок DC-нижний левый блок-верхний левый блок.[00630] Alternatively, for case a in FIG. 25 priority can change in the order left block-bottom left block-(left+1) block-(left-1) block-bottom left+1) block-(bottom left-1) block-planar block-DC block-top block -upper right block-upper left block, and for case b in FIG. 25 priority can change in the order top block-top right block-(top-1) block-(top+1) block-(top right-1) block-(top right+1) block-planar block-block DC-bottom left block - top left block.

[00631] Кроме того, в случае фиг. 25 на основе категории, описанной в четвертом примере, может определяться настройка преобразования в двоичную форму и энтропийного кодирования/декодирования каждого кандидата, принадлежащего к группе МРМ-кандидатов. В качестве примера, может быть определено преобразование в двоичную форму (т.е. присвоение более коротких битов) для МРМ-кандидатов (режимы а и b по фиг. 24). Альтернативно в соответствии с категорией может адаптивно определяться контекстная информация. То есть в данном примере может использоваться контекстная информация настройки высокой вероятности появления категории, к которой принадлежит данный режим (режимы а и b по фиг. 25).[00631] In addition, in the case of FIG. 25, based on the category described in the fourth example, the setting of binarization and entropy encoding/decoding of each candidate belonging to the MPM candidate group can be determined. As an example, binarization (ie, assignment of shorter bits) can be defined for MPM candidates (modes a and b of FIG. 24). Alternatively, context information may be adaptively determined according to the category. That is, in this example, the high probability setting context information of the category to which the mode belongs (modes a and b of FIG. 25) can be used.

[00632] Если 0 в 0 и 1 некоторого двоичного индекса представляет собой двоичное число, указывающее, что как МРМ выбран режим, принадлежащий к категории, отличной от вышеописанной категории, и 1 представляет собой двоичное число, указывающее, что как МРМ выбран режим, принадлежащий к указанной категории, САВАС может быть применено путем применения контекстной информации, указывающей высокую вероятность появления 1.[00632] If 0 to 0 and 1 of some binary index is a binary number indicating that a mode belonging to a category other than the category described above is selected as MPM, and 1 is a binary number indicating that a mode belonging to to the specified category, CABAS can be applied by applying contextual information indicating a high probability of occurrence of 1.

[00633] Для подтверждения вышеописанного содержимого необходимо подтвердить, сконфигурирован ли блок, расположенный в предварительно определенном направлении (левый, верхний, верхний левый, верхний правый и нижний левый), как единый (т.е. неразделенный) блок. Поэтому, если блок сконфигурирован как единый блок, то выполняется случай с режимом предсказания этого блока, а если он сконфигурирован как блок разделения, то для выполнения этого случая подтверждаются часть или все из режимов предсказания каждого блока. Однако сложность данного случая может являться значительно повышенной.[00633] To confirm the above content, it is necessary to confirm whether a block located in a predetermined direction (left, top, top left, top right, and bottom left) is configured as a single (i.e., unsplit) block. Therefore, if a block is configured as a single block, then the case with the prediction mode of this block is executed, and if it is configured as a split block, then part or all of the prediction modes of each block are confirmed to execute this case. However, the complexity of this case can be significantly increased.

[00634] С этой целью данный процесс может быть сконфигурирован просто. Предполагается, что диапазон текущего блока представляет собой (а, b) (а+М-1, b+N-1). Левый блок содержит пиксели, центрированные на текущем блоке и принадлежащие диапазону (а-1, b) (а-1, b+N-1). Направленность режима предсказания левого блока может быть определена путем подтверждения режимов предсказания некоторых, но не всех, пикселей.[00634] To this end, this process can be configured simply. It is assumed that the range of the current block is (a, b) (a+M-1, b+N-1). The left block contains pixels centered on the current block and belonging to the range (a-1, b) (a-1, b+N-1). The directionality of the left block prediction mode can be determined by confirming the prediction modes of some, but not all, pixels.

[00635] Например, направленность блока предсказания определяется с использованием режима предсказания координат верхней правой (на основе текущего блока верхней левой) стороны левого блока (а-1, b) и режима предсказания координат нижней правой (на основе текущего блока - нижней левой) стороны левого блока (а-1, b+N-1). В этом случае левый блок может быть сконфигурирован как единый блок и может быть сконфигурирован как блок разделения. Даже если он представляет собой единый блок или блок разделения, режимы предсказания, включающие координаты, могут являться одинаковыми. Однако даже если режимы предсказания не являются одинаковыми, если они представляют собой режимы предсказания, принадлежащими к режимам 51-66 на фиг. 9, как описано с помощью изображения а на фиг. 24, режиму предсказания, кодированию этих режимов предсказания может быть присвоен высокий приоритет.[00635] For example, the directionality of the prediction block is determined using the upper right (based on the current upper left block) coordinate prediction mode of the left block (a-1, b) and the lower right (based on the current lower left) side coordinate prediction mode left block (a-1, b+N-1). In this case, the left block may be configured as a single block and may be configured as a division block. Even if it is a single block or a division block, the prediction modes including coordinates may be the same. However, even if the prediction modes are not the same, if they are the prediction modes belonging to the modes 51 to 66 in FIG. 9 as described with the image a in FIG. 24, the prediction mode, the coding of these prediction modes may be given a high priority.

[00636] В приведенном выше примере предполагается случай левого блока, однако другие направления применимы аналогично. В дополнение к левому блоку, для подтверждения режима предсказания нижнего левого блока возможно подтвердить режим предсказания, принадлежащий к координатам нижнего левого блока, например, (а-1, b+N).[00636] The above example assumes a left block case, however other directions apply similarly. In addition to the left block, in order to confirm the prediction mode of the lower left block, it is possible to confirm the prediction mode belonging to the coordinates of the lower left block, for example, (a-1, b+N).

[00637] Коротко говоря, это может быть использовано для ссылки при конфигурации группы режимов-кандидатов внутреннего предсказания путем подтверждения режимов предсказания в отношении некоторых координат блока, расположенного в предварительно определенном направлении, и подтверждения режимов предсказания или направленности режимов предсказания в данном направлении. В этом случае количество координат может представлять собой целое число, равное 1 или более, например, 1, 2 и 3.[00637] Briefly, this can be used to refer to the configuration of a group of candidate intra prediction modes by confirming the prediction modes with respect to some coordinates of a block located in a predetermined direction, and confirming the prediction modes or directionality of the prediction modes in that direction. In this case, the number of coordinates may be an integer equal to 1 or more, such as 1, 2, and 3.

[00638] Подводя итог, если подтвержден режим, для которого определена высокая корреляция с текущим блоком, этому режиму может быть присвоен высокий приоритет в группе кандидатов. Альтернативно высокий приоритет в группе кандидатов может быть присвоен режимам предсказания, полученным на основе данного режима (например, смежным режимам предсказания, таким как +1 или -1). То есть данный режим может приоритизировать все или часть из режима предсказания или предварительно заданных режимов предсказания (режим DC, планарный режим, горизонтальный режим, вертикальный режим, диагональный режим и т.д.) других пространственно смежных блоков.[00638] Summarizing, if a mode is confirmed for which a high correlation with the current block is determined, that mode can be given a high priority in the candidate group. Alternatively, a high priority in the candidate group may be assigned to prediction modes derived from a given mode (eg, adjacent prediction modes such as +1 or -1). That is, this mode may prioritize all or part of the prediction mode or predefined prediction modes (DC mode, planar mode, horizontal mode, vertical mode, diagonal mode, etc.) of other spatially contiguous blocks.

[00639] В отличие от случая, описанного в приведенном выше примере, если нельзя определить, имеется ли высокая корреляция с текущим блоком, может быть сконфигурирована заданная на базовом уровне группа кандидатов. То есть с учетом способа конфигурации группы кандидатов процесса с высокой корреляцией, одно из множества способов конфигурации группы режимов кандидатов предсказания или сконфигурированных групп кандидатов может быть выбрано на основе информации о состоянии (размере, форме, положении блока, режиме предсказания и т.д.) смежных блоков.[00639] In contrast to the case described in the above example, if it cannot be determined whether there is a high correlation with the current block, a baseline-defined candidate group can be configured. That is, considering the configuration method of the candidate group of the high-correlation process, one of the plurality of configuration methods of the prediction mode candidate group or configured candidate groups can be selected based on state information (size, shape, block position, prediction mode, etc.) adjacent blocks.

[00640] На фиг. 26 представлена принципиальная схема взаимосвязи между текущим блоком и смежным блоком.[00640] FIG. 26 is a schematic diagram of the relationship between the current block and the adjacent block.

[00641] На изображении а по фиг. 26 изображен порядок кодирования в соответствии с блоком разделения.[00641] In the image a of Fig. 26 shows the encoding order according to the division block.

[00642] При выполнении разделения на основе четверичного дерева, кодирование выполняется в порядке верхний левый блок (0)-верхний правый блок (1)-нижний левый блок (2)-нижний правый блок (3). Если в подблоках дополнительно выполняется разделение на основе четверичного дерева (глубина 1), кодирование выполняется в приведенном выше порядке в каждом подблоке (глубина 2), и кодирование выполняется перед информацией о глубине. Для верхнего левого блока, разделенного при глубине 1, имеется порядок верхний левый блок (0-0)-верхний правый блок (0-1)-нижний левый блок (0-2)-нижний правый блок (0-3) при глубине 2. Для нижнего правого блока, разделенного при глубине 1, имеется порядок верхний левый блок (3-0), верхний правый блок (3-1), нижний левый блок (3-2) и нижний правый блок (3-3) при глубине 2. То есть кодирование выполняется в порядке x-y-z, представленном посредством информации о глубине.[00642] When performing quaternary tree partitioning, encoding is performed in the order top left block (0)-top right block (1) - bottom left block (2) - bottom right block (3). If sub-blocks are further divided based on a quaternary tree (depth 1), encoding is performed in the above order in each sub-block (depth 2), and encoding is performed before the depth information. For a top left box split at depth 1, there is an order top left box (0-0)-top right box (0-1)-bottom left box (0-2)-bottom right box (0-3) at depth 2 For a bottom right block split at depth 1, there is an order of top left block (3-0), top right block (3-1), bottom left block (3-2), and bottom right block (3-3) at depth 2. That is, encoding is performed in the x-y-z order represented by the depth information.

[00643] При выполнении разделения на основе двоичного дерева кодирование выполняется в порядке левый блок (0)-правый блок (1), или верхний блок (0)-нижний блок (1) в случае горизонтального разделения. Если в подблоках дополнительно выполняется разделение на основе двоичного дерева (глубина 1), кодирование выполняется в приведенном выше порядке в каждом подблоке (глубина 2), и кодирование выполняется перед информацией о глубине.[00643] When performing binary tree partitioning, encoding is performed in the order left block(0)-right block(1), or top block(0)-bottom block(1) in the case of horizontal partitioning. If subblocks are further divided based on a binary tree (depth 1), encoding is performed in the above order in each subblock (depth 2), and encoding is performed before the depth information.

[00644] На изображении а по фиг. 26, в случае когда блок 3 является таким же, как на изображении а на фиг. 25, и блок 16 является таким же, как на изображении а на фиг. 23, блок 20 соответствует такому же случаю, как на изображении а на фиг. 24.[00644] In the image a of Fig. 26, in the case where the block 3 is the same as in the image a in FIG. 25, and block 16 is the same as in image a in FIG. 23, block 20 corresponds to the same case as in image a in FIG. 24.

[00645] Например, блок 3 представляет собой случай, в котором левый блок сконфигурирован как один блок без разделения из нижнего левого блока и имеет режим предсказания (один режим) в конкретном направлении или имеет режимы предсказания (более одного режима) в конкретном направлении, даже если левый блок отделен от нижнего левого блока.[00645] For example, block 3 is a case in which the left block is configured as one undivided block from the lower left block and has a prediction mode (one mode) in a specific direction or has prediction modes (more than one mode) in a specific direction, even if the left block is separated from the bottom left block.

[00646] Блок 16 представляет собой случай, в котором левый блок сконфигурирован как множество блоков после разделения, и по меньшей мере часть подблоков имеет режим предсказания (один режим) в конкретном направлении.[00646] Block 16 is a case in which the left block is configured as a plurality of blocks after division, and at least a portion of the subblocks has a prediction mode (one mode) in a specific direction.

[00647] Блок 20 представляет собой случай, в котором левый блок сконфигурирован как один блок и имеет режим предсказания (один режим) в конкретном направлении, или левый блок сконфигурирован как множество подблоков после разделения, и все подблоки имеют режимы предсказания (более одного режима) в конкретном направлении.[00647] Block 20 is a case in which the left block is configured as one block and has a prediction mode (one mode) in a specific direction, or the left block is configured as a plurality of sub-blocks after division and all sub-blocks have prediction modes (more than one mode) in a specific direction.

[00648] Пример взаимосвязи между текущим блоком и смежным блоком изображен с помощью изображения b на фиг. 26. Если эта взаимосвязь определена так, как на изображении b по фиг. 26, она может быть учтена при конфигурации группы режимов-кандидатов предсказания.[00648] An example of a relationship between a current block and an adjacent block is depicted with image b in FIG. 26. If this relationship is defined as in image b of FIG. 26, it can be taken into account when configuring a group of candidate prediction modes.

[00649] При помощи приведенных выше примеров проверены некоторые примеры взаимосвязи между текущим блоком и смежным блоком, однако возможны и другие различные случаи, и конфигурация группы режимов-кандидатов внутреннего предсказания может быть задана с учетом конкретного случая.[00649] Using the above examples, some examples of the relationship between the current block and the adjacent block are checked, however, various other cases are possible, and the configuration of the group of candidate intra prediction modes can be set according to the specific case.

[00650] Кроме того, в приведенных выше примерах проверены различные случаи в отношении конфигурации группы режимов-кандидатов внутреннего предсказания. Может иметь место конфигурация группы кандидатов для применения одной из настроек, описанных в каждом варианте осуществления, при этом настройки, описанные в каждом варианте осуществления, могут применяться одинаково или аналогично в других вариантах осуществления, и для конфигурирования группы кандидатов может быть применено множество настроек. Кроме того, конфигурация группы кандидатов может быть создана путем комбинирования приведенных выше примеров с дополнительными настройками.[00650] In addition, in the examples above, various cases are tested with respect to the configuration of the intra prediction mode candidate group. The candidate group may be configured to apply one of the settings described in each embodiment, the settings described in each embodiment may be applied the same or similarly in other embodiments, and multiple settings may be applied to configure the candidate group. In addition, a candidate group configuration can be created by combining the above examples with additional settings.

[00651] В данном примере, в предположении примера, в котором группа режимов-кандидатов, не являющихся МРМ, сконфигурирована как множество групп кандидатов (группа А и группа В), режим предсказания группы МРМ-кандидатов не выбран, и кодирование/декодирование выполняется с использованием группы режимов-кандидатов (группы А), в которой следующий из режимов предсказания группы режимов-кандидатов, не являющихся МРМ, оценивается как режим предсказания текущего блока.[00651] In this example, assuming an example in which a non-MPM candidate mode group is configured as a plurality of candidate groups (group A and group B), the MPM candidate group prediction mode is not selected, and encoding/decoding is performed with using a candidate mode group (group A) in which the next of the non-MPM candidate mode group prediction modes is evaluated as the current block prediction mode.

[00652] В данном примере предполагается, что в группу А кандидатов включены 16 кандидатов, и в группу В кандидатов включены 45 кандидатов.[00652] In this example, it is assumed that 16 candidates are included in candidate group A and 45 candidates are included in candidate group B.

[00653] При настройке в отношении конфигурации группы А кандидатов могут использоваться различные способы, и режим предсказания, не включенный в соответствии с приоритетом группы МРМ-кандидатов, может быть включен в группу А кандидатов.[00653] When configured with respect to the configuration of candidate group A, various methods may be used, and a prediction mode not included according to the MPM candidate group priority may be included in candidate group A.

[00654] Альтернативно, группа А кандидатов может быть сконфигурирована в соответствии с предварительно заданной категорией независимо от приведенного выше примера. Например, на фиг. 9 в группе кандидатов могут быть сконфигурированы режимы предсказания с некоторыми интервалами. То есть в группу А могут быть включены блоки 2, 6, 10, 14, 18 и т.д. на фиг. 8. В данном случае, для группы В, в группу В могут быть включены блоки 3, 4, 5, 7, 8,9, 11 и т.д. Разумеется, из данной настройки исключены режимы, включенные в группу МРМ-кандидатов.[00654] Alternatively, Candidate Group A may be configured according to a predefined category regardless of the above example. For example, in FIG. 9, in the candidate group, prediction modes can be configured with some intervals. That is, blocks 2, 6, 10, 14, 18, etc. can be included in group A. in fig. 8. In this case, for group B, blocks 3, 4, 5, 7, 8.9, 11, etc. can be included in group B. Of course, the modes included in the group of MPM candidates are excluded from this setting.

[00655] Настоящее изобретение не ограничено приведенными выше примерами, и также возможны различные модификации и другие настройки.[00655] The present invention is not limited to the above examples, and various modifications and other settings are also possible.

[00656] Коротко говоря, в первую очередь конфигурируется группа МРМ-кандидатов, а затем конфигурируется группа А кандидатов. Кроме того, остальные режимы предсказания могут быть сконфигурированы как группа В кандидатов.[00656] Briefly, the MPM candidate group is configured first, and then the candidate group A is configured. In addition, the remaining prediction modes may be configured as candidate group B.

[00657] Для режима из группы МРМ-кандидатов может использоваться усеченное унарное преобразование в двоичную форму, для режима из группы А кандидатов может использоваться преобразование в двоичную форму с фиксированной длиной, и для режима из группы В кандидатов может использоваться усеченное унарное преобразование в двоичную форму, хотя могут использоваться и различные другие способы преобразования в двоичную форму.[00657] A truncated unary binarization may be used for the MPM candidate mode, a fixed length binarization may be used for the candidate group A mode, and a truncated unary binarization may be used for the B candidate mode , although various other binarization methods can be used.

[00658] Режим из группы МРМ-кандидатов может выполнять кодирование/декодирование в отношении всех или части двоичных чисел при помощи секции традиционного кодирования, и режим, представляющий собой режим-кандидат, не являющийся МРМ, может выполнять кодирование/декодирование в отношении всех двоичных чисел при помощи секции обходного кодирования. Альтернативно режим из группы А кандидатов в группе режимов-кандидатов, не являющихся МРМ, может выполнять кодирование/декодирование в отношении части двоичных чисел при помощи секции традиционного кодирования, но он этим не ограничен, и могут использоваться различные случаи.[00658] A mode in the MPM candidate group may perform encoding/decoding on all or part of the binary numbers using the legacy encoding section, and a mode representing a non-MPM candidate mode may perform encoding/decoding on all binary numbers using the bypass coding section. Alternatively, a mode from candidate group A in a non-MPM candidate mode group may perform encoding/decoding on a portion of binary numbers with a conventional encoding section, but is not limited to this, and various cases may be used.

[00659] Выше приведено описание базовых настроек, и в настоящем описании может иметь место множество преобразованных вариантов осуществления.[00659] The above is a description of the basic settings, and in the present description, many converted embodiments can take place.

[00660] Ниже будет описан случай, в котором блок предсказания генерируется с использованием множества опорных пикселей.[00660] A case in which a prediction block is generated using a plurality of reference pixels will be described below.

[00661] На фиг. 27 изображен пример генерирования блока предсказания с использованием множества слоев опорных пикселей.[00661] FIG. 27 shows an example of generating a prediction block using a plurality of reference pixel layers.

[00662] Как значение предсказания х пикселей текущего блока может быть использовано значение пикселя, генерируемое путем применения взвешенного среднего к а из ref_1 и b из ref_2.[00662] As the prediction value x pixels of the current block, a pixel value generated by applying a weighted average to a of ref_1 and b of ref_2 can be used.

[00663] Генерирование блока предсказания с использованием множества слоев опорных пикселей иногда приводит к лучшим результатам предсказания. То есть это означает, что при генерировании значений предсказания пикселей текущего блока множество пикселей может приводить к более точным результатам предсказания.[00663] Generating a prediction block using multiple reference pixel layers sometimes results in better prediction results. That is, it means that when generating pixel prediction values of the current block, a plurality of pixels can lead to more accurate prediction results.

[00664] Однако ref_1 и ref_2 могут быть применены в случае, когда текущий блок имеет высокую корреляцию с краевым направлением или т.п., и в некоторых случаях использование множества слоев опорных пикселей может приводить к худшим результатам предсказания. Например, если текущий блок имеет высокую корреляцию в вертикальном направлении, и если верхний блок имеет высокую корреляцию в диагональном направлении, использование множества слоев опорных пикселей не может привести к достижению хорошего эффекта.[00664] However, ref_1 and ref_2 may be applied in the case where the current block has a high correlation with the edge direction or the like, and in some cases, using multiple reference pixel layers may lead to poor prediction results. For example, if the current block has a high correlation in the vertical direction, and if the top block has a high correlation in the diagonal direction, using multiple reference pixel layers may not achieve a good effect.

[00665] В этом случае предпочтительным является определение в явном виде того, следует использовать существующий слой опорных пикселей или использовать множество слоев опорных пикселей.[00665] In this case, it is preferable to explicitly determine whether to use an existing reference pixel layer or to use multiple reference pixel layers.

[00666] Альтернативно использование множества слоев опорных пикселей для генерирования блока предсказания путем подтверждения того, имеется ли высокая корреляция между слоями опорных пикселей, может быть определено в неявном виде.[00666] Alternatively, using a plurality of reference pixel layers to generate a prediction block by confirming whether there is a high correlation between the reference pixel layers can be implicitly determined.

[00667] В приведенном выше примере изображено, что при внутреннем предсказании разделение выполняется в элементах предварительно определенных подблоков, и выполняются предсказание и преобразование на основе подблоков, и т.д. В этом случае подблоки, принадлежащие текущему блоку, могут совместно использовать режим внутреннего предсказания. В этом случае при применении множества слоев опорных пикселей к подблокам в блоке могут достигаться лучшие результаты.[00667] In the above example, it is shown that in intra prediction, division is performed in elements of predetermined sub-blocks, and prediction and transformation based on sub-blocks, etc. are performed. In this case, the sub-blocks belonging to the current block can share the intra prediction mode. In this case, by applying multiple reference pixel layers to sub-blocks in a block, better results can be achieved.

[00668] На фиг. 28 изображен пример генерирования подблоков в текущем блоке с использованием множества слоев опорных пикселей. Текущий блок представляет собой блок 4M×4N, подблоком является 4M×N, и выполняется прямое предсказание (сверху→вниз или слева→направо в качестве точки отсчета, обратное предсказание - снизу→вверх, справа→вниз), тогда как режимом предсказания, использующим опорные пиксели, направлениями предсказания которых являются верхний левый блок, верхний блок и верхний правый блок, является k (№66 на фиг. 9).[00668] FIG. 28 shows an example of generating sub-blocks in the current block using multiple reference pixel layers. The current block is a 4M×4N block, the sub-block is 4M×N, and forward prediction is performed (top→down or left→right as a reference point, backward prediction is bottom→up, right→down), while the prediction mode using reference pixels whose prediction directions are top left block, top block, and top right block are k (#66 in FIG. 9).

[00669] Со ссылкой на фиг. 28, подблок 4M×N, содержащий х, может выполнять внутреннее предсказание с использованием в качестве слоя опорных пикселей первого предыдущего подблока, который был закодирован. Альтернативно подблок, содержащий х, может выполнять внутреннее предсказание с использованием в качестве слоя опорных пикселей второго предыдущего подблока, который был закодирован. Альтернативно, подблок, содержащий х, может выполнять внутреннее предсказание с использованием в качестве слоев опорных пикселей первого и второго предыдущих подблоков (если к каждому слою опорных пикселей применяется взвешенное значение, взвешенное значение, применяемое к подблоку, содержащему х, больше или равно взвешенному значению других подблоков).[00669] With reference to FIG. 28, the 4M×N subblock containing x can perform intra prediction using the first previous subblock that has been encoded as the reference pixel layer. Alternatively, the subblock containing x may perform intra prediction using as the reference pixel layer the second previous subblock that has been encoded. Alternatively, the subblock containing x may perform intra prediction using the first and second previous subblocks as reference pixel layers (if a weighted value is applied to each reference pixel layer, the weighted value applied to the subblock containing x is greater than or equal to the weighted value of the other subblocks).

[00670] В целом безусловное использование слоев опорных пикселей не всегда приводит к правильному результату, если множество слоев опорных пикселей используется на основе блока кодирования. Однако в приведенном выше примере используемый для кодирования предыдущий подблок целевого подблока имеет такое же направление, как целевой подблок, что, таким образом, приводит к лучшему результату. Поэтому для определения в явном виде выполнения или выбора одного из слоев опорных пикселей к подблокам в текущем блоке может быть в явном виде применено множество настроек слоев опорных пикселей. Альтернативно, для генерирования значения предсказания целевого подблока к первым к подблокам целевого подблока может быть в неявном виде применено множество слоев опорных пикселей.[00670] In general, the unconditional use of reference pixel layers does not always lead to the correct result if multiple reference pixel layers are used on a coding block basis. However, in the above example, the previous sub-block of the target sub-block used for encoding has the same direction as the target sub-block, thus leading to a better result. Therefore, to explicitly determine the execution or selection of one of the reference pixel layers, multiple reference pixel layer settings can be explicitly applied to sub-blocks in the current block. Alternatively, a plurality of reference pixel layers may be implicitly applied to first subblocks of the target subblock to generate a prediction value of the target subblock.

[00671] Если для множества подблоков задано, соответственно, использование разных слоев опорных пикселей в отношении элемента подблока, и требуется сгенерировать блок предсказания с использованием приведенных выше настроек, в соответствии с положениями в текущем блоке подблоков могут выполняться разные настройки.[00671] If a plurality of sub-blocks are respectively set to use different reference pixel layers with respect to a sub-block element, and it is desired to generate a prediction block using the above settings, different settings can be performed according to the positions in the current sub-block block.

[00672] Например, предполагается, что в текущем блоке поддерживается четыре горизонтально разделенных подблока. Тогда первый подблок может выполнять предсказание и кодирование с использованием ближайшего опорного пикселя текущего блока, а второй подблок может выполнять предсказание и кодирование с использованием ближайшего опорного пикселя текущего блока и данных первого подблока.[00672] For example, it is assumed that four horizontally divided sub-blocks are supported in the current block. Then the first sub-block may perform prediction and encoding using the nearest reference pixel of the current block, and the second sub-block may perform prediction and encoding using the nearest reference pixel of the current block and the data of the first sub-block.

[00673] Кроме того, третий подблок может выполнять предсказание и кодирование с использованием данных первого и второго подблоков, и четвертый подблок может выполнять предсказание и кодирование с использованием данных второго и третьего подблоков.[00673] In addition, the third subblock may perform prediction and encoding using the data of the first and second subblocks, and the fourth subblock may perform prediction and encoding using the data of the second and third subblocks.

[00674] Фильтрация опорных пикселей и интерполяция опорных пикселей, применимые к каждому слою опорных пикселей (или подблоку), могут использовать один фильтр или могут использовать разные фильтры, описанные выше. В этом случае фильтры различаются по количеству отводов фильтра и коэффициентам фильтра. Кроме того, фильтрация также может применяться одинаково или по-разному. Альтернативно, фильтрация опорных пикселей и интерполяция опорных пикселей не выполняются по отдельности, но могут быть реализованы в одном фильтре. Например, при выполнении фильтрации опорных пикселей с использованием 6-отводного интерполяционного фильтра вместо 3 отводного фильтра низких частот и 4-отводного интерполяционного фильтра фильтрацию можно не выполнять дважды.[00674] The reference pixel filtering and reference pixel interpolation applicable to each reference pixel layer (or subblock) may use the same filter or may use different filters as described above. In this case, the filters differ in the number of filter taps and filter coefficients. In addition, filtering can also be applied in the same way or in different ways. Alternatively, the reference pixel filtering and the reference pixel interpolation are not performed separately, but may be implemented in the same filter. For example, when filtering the reference pixels using a 6-tap interpolation filter instead of a 3-tap low-pass filter and a 4-tap interpolation filter, filtering may not be performed twice.

[00675] Как описано выше, могут быть заданы различные конфигурации опорных пикселей, а затем предсказание может быть выполнено с использованием множества слоев опорных пикселей. В других различных вариантах осуществления настоящего изобретения могут быть описаны различные комбинации.[00675] As described above, various reference pixel configurations can be set, and then prediction can be performed using multiple reference pixel layers. Various other combinations may be described in various other embodiments of the present invention.

[00676] Ниже будет описан пример генерирования блока предсказания.[00676] An example of generating a prediction block will be described below.

[00677] Ранее было описано, что опорные пиксели для внутреннего предсказания можно выделить во множество концепций. Вместо использования множества слоев опорных пикселей, блок предсказания может быть сгенерирован или скорректирован с использованием первого опорного пикселя и второго опорного пикселя в соответствии с режимом предсказания.[00677] It was previously described that reference pixels for intra prediction can be separated into a variety of concepts. Instead of using a plurality of reference pixel layers, a prediction block may be generated or corrected using the first reference pixel and the second reference pixel according to the prediction mode.

[00678] Описаны примеры с разными способами применения в соответствии с режимом предсказания. Однако данный пример может быть применен к случаю, в котором текущий блок разделен на множество подблоков. То есть, в сравнении с использованием опорного пикселя как первого опорного пикселя для смежного блока текущего блока, использование пикселя, расположенного в положении, противоположном направлению режима предсказания, или положении, соответствующем направлению режима предсказания, в качестве второго опорного пикселя, если текущий блок разделен на множество подблоков, первым опорным пикселем может являться верхний блок. То есть в настоящем изобретении может изменяться положение первого опорного пикселя в примере генерирования блока предсказания с использованием множества опорных пикселей.[00678] Examples with different application methods according to the prediction mode are described. However, this example can be applied to the case where the current block is divided into a plurality of sub-blocks. That is, compared to using a reference pixel as the first reference pixel for an adjacent block of the current block, using a pixel located at a position opposite to the prediction mode direction or a position corresponding to the prediction mode direction as the second reference pixel if the current block is divided into a plurality of sub-blocks, the top block may be the first reference pixel. That is, in the present invention, the position of the first reference pixel can be changed in an example of generating a prediction block using a plurality of reference pixels.

[00679] Альтернативно вышеописанный способ может не использоваться тогда, когда текущий блок разделен на множество подблоков и преобразован. Причина заключается в том, что использование второго опорного пикселя может приводить к низкой эффективности при компоновке ближайших пикселей, включающих ранее завершенное кодирование.[00679] Alternatively, the above method may not be used when the current block is divided into a plurality of subblocks and converted. The reason is that the use of the second reference pixel may result in low efficiency in arranging nearest pixels including previously completed encoding.

[00680] То есть выполнение кодирования путем разделения текущего блока (блока преобразования) на подблоки требует подтверждения. Поэтому в настоящем изобретении блок предсказания может генерироваться или корректироваться с использованием первого опорного пикселя и второго опорного пикселя в соответствии с режимом предсказания, если кодирование выполняется путем предсказания, преобразования и т.д. при исходном размере блока без разделения. Если кодирование выполняется после разделения, генерирование или коррекция блока предсказания с использованием второго опорного пикселя запрещены.[00680] That is, performing encoding by dividing the current block (transformation block) into subblocks requires confirmation. Therefore, in the present invention, a prediction block can be generated or corrected using the first reference pixel and the second reference pixel according to the prediction mode if encoding is performed by prediction, transformation, etc. at the original block size without splitting. If encoding is performed after splitting, generating or correcting a prediction block using the second reference pixel is prohibited.

[00681] Если при выполнении кодирования второй опорный пиксель используется после разделения в соответствии с настройками разделения на подблоки/декодирования, соответствующий процесс может быть выполнен путем корректировки положения первого опорного пикселя.[00681] If, when performing encoding, the second reference pixel is used after division according to the subdivision/decoding settings, the corresponding process can be performed by correcting the position of the first reference pixel.

[00682] На фиг. 29 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания. Размер и форма (M×N) текущего блока для выполнения предсказания могут быть получены из секции разделения блока и описаны на основе следующих предположений: для выполнения внутреннего предсказания поддерживается диапазон 4×4 - 256×256. Обычно внутреннее предсказание может выполняться в элементах блока предсказания, однако внутреннее предсказание может выполняться в элементах блоков кодирования и блоков преобразования в соответствии с настройками секции разделения блока. После подтверждения информации о блоке секция конфигурации опорных пикселей может конфигурировать опорный пиксель, используемый для предсказания текущего блока. В этом случае обработка опорного пикселя может выполняться временным запоминающим устройством (например, массивом <Array>, главным массивом или вспомогательным массивом и т.д.), опорный пиксель может генерироваться и удаляться во время каждого процесса внутреннего предсказания блока, и размер временного запоминающего устройства может определяться в соответствии с конфигурацией опорного пикселя.[00682] FIG. 29 is a schematic diagram for explaining the configuration of reference pixels for intra prediction. The size and shape (M×N) of the current block for performing prediction can be obtained from the block division section and described based on the following assumptions: a range of 4×4 to 256×256 is supported for performing intra prediction. In general, intra prediction may be performed on elements of a prediction block, however, intra prediction may be performed on elements of coding blocks and transform blocks according to the settings of the block division section. After confirming the block information, the reference pixel configuration section may configure the reference pixel used to predict the current block. In this case, the reference pixel processing may be performed by a temporary storage device (for example, <Array>, main array or auxiliary array, etc.), the reference pixel may be generated and removed during each intra block prediction process, and the size of the temporary storage may be determined according to the configuration of the reference pixel.

[00683] В данном примере предполагается, что для предсказания текущего блока путем центрирования на текущем блоке используются левый блок, верхний блок, верхний левый блок, верхний правый блок и нижний левый блок. Однако он этим не ограничен, и для предсказания текущего блока может использоваться группа блоков-кандидатов, имеющая другие конфигурации. Например, группа кандидатов для смежных блоков опорного пикселя может представлять собой пример, следующий растровому или Z-сканированию, и часть группы кандидатов может быть удалена в соответствии с порядком сканирования или сконфигурирована с возможностью включения других групп блоков-кандидатов (например, дополнительной конфигурации верхнего блока, нижнего блока, нижнего правого блока и т.д.). То есть положения смежных блоков, пригодных в качестве опорных, могут изменяться в соответствии с порядком сканирования или т.п.[00683] This example assumes that left box, top box, top left box, top right box, and bottom left box are used to predict the current block by centering on the current block. However, it is not limited to this, and a candidate block group having other configurations may be used to predict the current block. For example, a candidate group for adjacent blocks of a reference pixel may be an example following a raster or Z-scan, and part of the candidate group may be removed according to the scan order or configured to include other candidate block groups (e.g., additional top block configuration , bottom block, bottom right block, etc.). That is, the positions of adjacent blocks suitable as references may change according to the scan order or the like.

[00684] Альтернативно для предсказания текущего блока могут использоваться блоки (например, имеющие соответствующие координаты согласно той же координате или компонентному композиционному соотношению в каждом цветовом пространстве), соответствующие текущему блоку в других цветовых пространствах (например, если текущий блок принадлежит к Cr, другие цветовые пространства соответствуют Y или Cb). Кроме того, для простоты описания описание выполнено в предположении, что один блок сконфигурирован в предварительно заданном положении (левый, верхний, верхний левый, верхний правый и нижний левый), но в соответствующем положении может существовать по меньшей мере один блок. То есть в предварительно заданном положении может существовать множество подблоков, полученных путем разделения соответствующего блока.[00684] Alternatively, blocks (e.g., having corresponding coordinates according to the same coordinate or component compositional ratio in each color space) corresponding to the current block in other color spaces (e.g., if the current block belongs to Cr, other color spaces) can be used to predict the current block. spaces correspond to Y or Cb). In addition, for ease of description, the description is made on the assumption that one block is configured in a predetermined position (left, top, top left, top right, and bottom left), but at least one block may exist in the corresponding position. That is, at a predetermined position, there may be a plurality of sub-blocks obtained by dividing the corresponding block.

[00685] Коротко говоря, смежная область текущего блока может представлять собой положение опорного пикселя для внутреннего предсказания текущего блока, и положением опорного пикселя в соответствии с режимом предсказания можно дополнительно считать область, соответствующую текущему блоку в другом цветовом пространстве. В дополнение к приведенным выше примерам, может быть определено положение опорного пикселя, заданное в соответствии с режимом предсказания, способом и т.д. Например, если блок предсказания генерируется таким способом, как совпадение блоков, положением опорного пикселя можно считать область, в которой кодирование/декодирование было завершено перед текущим блоком текущего изображения, или область, включенную в диапазон поиска в области, где завершено кодирование/декодирование (например, включая левую сторону, или верхнюю сторону, или верхнюю левую сторону и верхнюю правую сторону текущего блока).[00685] Briefly, the adjacent area of the current block may be the position of the reference pixel for intra prediction of the current block, and the position of the reference pixel according to the prediction mode may be further considered the area corresponding to the current block in a different color space. In addition to the above examples, the position of the reference pixel set according to the prediction mode, method, and so on can be determined. For example, if a prediction block is generated in a manner such as block matching, the position of the reference pixel can be considered to be an area in which encoding/decoding has been completed before the current block of the current image, or an area included in the search range in an area where encoding/decoding is completed (e.g. , including the left side, or top side, or top left side and top right side of the current block).

[00686] Как изображено на фиг. 29, опорный пиксель для предсказания текущего блока (M×N) может быть сконфигурирован при помощи смежных пикселей левого блока, верхнего блока, верхнего левого блока, нижнего правого блока и нижнего левого блока (Ref_L, Ref_Т, Ref_TL, Ref_TR и Ref_BL на фиг. 7).[00686] As shown in FIG. 29, a reference pixel for prediction of the current block (M×N) may be configured with adjacent pixels of the left block, top block, top left block, bottom right block, and bottom left block (Ref_L, Ref_T, Ref_TL, Ref_TR, and Ref_BL in FIG. 7).

[00687] В этом случае смежные пиксели могут быть классифицированы посредством по меньшей мере одного слоя опорных пикселей: ближайшим пикселем является ref_0 (разность значений пикселей равна 1, от р(-1, -1) до р(2М-1, -1), от р(-1, 0) до р(-1, 2N-1)), следующим смежным пикселем (разность значений пикселей равна 2, от р (-2, -2) до р (2М, -2), от р (-2, -1) до р (-2, 2N)) может являться ref_1, и следующим смежным пикселем (разность значений пикселей равна 3, от р (-3, -3) до р(2М+1, -3), от р(-3, -2) до р (-3, 2N+1)) может являться ref_2, и т.д. Подробнее, ref_k представляет набор значений пикселей, в котором разность значений пикселей в смежных блоках (в данном примере - Ref_TL, Ref_T, Ref_TR, Ref_L и Ref_BL) равна k+1. Описание (или основное описание) в отношении использования набора опорных пикселей ref_k в данном документе выполнено на основе следующего предположения. Пиксели, имеющие разность значений пикселей, равную k+1, в Ref_TL, Ref_Т, Ref_TR, Ref_L и Ref_BL используются как опорные пиксели и используются для блока предсказания, но настоящее изобретение этим не ограничено. Это означает, что в наборе опорных пикселей для предсказания текущего блока смежные блоки могут быть одинаковыми или разными.[00687] In this case, adjacent pixels can be classified by at least one reference pixel layer: nearest pixel is ref_0 (pixel value difference is 1, from p(-1, -1) to p(2M-1, -1) , from p(-1, 0) to p(-1, 2N-1)), the next adjacent pixel (the difference in pixel values is 2, from p(-2, -2) to p(2M, -2), from p(-2, -1) to p(-2, 2N)) can be ref_1, and the next adjacent pixel (pixel value difference is 3, from p(-3, -3) to p(2M+1, -3 ), p(-3, -2) to p(-3, 2N+1)) may be ref_2, and so on. In more detail, ref_k represents a set of pixel values in which the difference of pixel values in adjacent blocks (in this example, Ref_TL, Ref_T, Ref_TR, Ref_L and Ref_BL) is equal to k+1. The description (or main description) regarding the use of the reference pixel set ref_k in this document is made based on the following assumption. Pixels having a pixel value difference of k+1 in Ref_TL, Ref_T, Ref_TR, Ref_L, and Ref_BL are used as reference pixels and are used for a prediction block, but the present invention is not limited to this. This means that in the set of reference pixels for predicting the current block, adjacent blocks may be the same or different.

[00688] Например, также может быть использован ref_0 (от р (-1, -1) до р (2М-1, -1)) в Ref_TL, Ref_T и Ref_TR, использован ref_1 (от р (-2, 0) до р (-2, N-1)) в Ref_L и использован ref_2 (от р (-3, N) до р (-3, 2N+1)) в Ref_BL.[00688] For example, ref_0 (p(-1, -1) to p(2M-1, -1)) can also be used in Ref_TL, Ref_T and Ref_TR, ref_1 (p(-2, 0) to p(-2, N-1)) in Ref_L and used ref_2 (p(-3, N) to p(-3, 2N+1)) in Ref_BL.

[00689] Кроме того, один набор опорных пикселей относится к набору опорных пикселей Ref_TL, Ref_T, Ref_TB, Ref_L и Ref_BL (т.е. получен из смежного блока, используемого для внутреннего предсказания текущего блока), но в следующем примере набор опорных пикселей может быть сконфигурирован посредством некоторой комбинации опорных пикселей (например, Ref_T+Ref_TR, Ref_L+Ref_BL, Ref_T+Ref_TL+Ref_L и т.д., или может иметь место случай, в котором блок в каждом положении конфигурируется посредством подблоков, то есть Ref_T0+Ref_T1, Ref_L0+Ref_TL+Ref_Т и т.д.).[00689] In addition, one reference pixel set refers to the Ref_TL, Ref_T, Ref_TB, Ref_L, and Ref_BL reference pixel set (i.e., obtained from an adjacent block used for intra prediction of the current block), but in the following example, the reference pixel set may be configured by some combination of reference pixels (e.g., Ref_T+Ref_TR, Ref_L+Ref_BL, Ref_T+Ref_TL+Ref_L, etc., or there may be a case in which a block at each position is configured by sub-blocks, i.e., Ref_T0+Ref_T1 , Ref_L0+Ref_TL+Ref_T, etc.).

[00690] Настоящее изобретение описано в предположении, что имеется не более трех наборов опорных пикселей, однако оно этим не ограничено, и может использоваться большее количество наборов опорных пикселей (k равно 3 или более). В этом случае поддерживаемый набор опорных пикселей (или максимальное количество наборов, называемое в следующих примерах группой опорных пикселей-кандидатов) может быть определен в соответствии с настройками кодирования/декодирования (например, размером, формой блока, режимом предсказания, типом изображения, цветовой компонентой и т.д.).[00690] The present invention has been described on the assumption that there are no more than three reference pixel sets, however, it is not limited to this, and more reference pixel sets (k is 3 or more) may be used. In this case, the supported reference pixel set (or the maximum number of sets, referred to as the candidate reference pixel group in the following examples) may be determined according to encoding/decoding settings (e.g., size, block shape, prediction mode, image type, color component, and etc.).

[00691] В настоящем описании предполагается случай, в котором нижний индекс (с приращением на 1 от 0) присваивается от ближайшего набора опорных пикселей, но настоящее изобретение этим не ограничено. Кроме того, описанная ниже связанная информация о конфигурации опорных пикселей может генерироваться при вышеописанных настройках индексов (преобразование в двоичную форму присвоения короткого бита малому индексу в случае выбора одного из множества наборов опорных пикселей и т.д.), но настоящее изобретение этим не ограничено.[00691] In the present description, a case is assumed in which a subscript (incremented by 1 from 0) is assigned from the nearest set of reference pixels, but the present invention is not limited to this. In addition, the reference pixel configuration related information described below can be generated by the above-described index settings (binarization of assigning a short bit to a small index in the case of selecting one of the plurality of reference pixel sets, etc.), but the present invention is not limited to this.

[00692] Обычно как опорный пиксель может быть сконфигурирован ближайший пиксель смежного блока (в данном примере - слой ref_0 опорных пикселей), однако в соответствии с настройками кодирования/декодирования как опорные пиксели могут быть сконфигурированы и другие пиксели. Если используются другие слои опорных пикселей или по меньшей мере один слой опорных пикселей, точность предсказания может быть повышена, за счет чего повышается эффективность кодирования. В этом случае могут иметься различные настройки, связанные с настройкой слоя опорных пикселей.[00692] Usually, the nearest pixel of an adjacent block (in this example, the layer ref_0 of the reference pixels) can be configured as a reference pixel, however, other pixels can be configured as reference pixels according to the encoding/decoding settings. If other reference pixel layers or at least one reference pixel layer is used, the prediction accuracy can be improved, thereby improving the coding efficiency. In this case, there may be various settings associated with setting the reference pixel layer.

[00693] Например, набор опорных пикселей, используемый для внутреннего предсказания, может быть определен в неявном виде, или в явном виде может генерироваться информация, связанная с использованным набором опорных пикселей. Подробнее, в качестве опорных пикселей может быть сконфигурирован по меньшей мере один предварительно заданный набор пикселей, или в качестве опорных пикселей может быть сконфигурирован по меньшей мере один набор опорных пикселей, определенный при помощи информации о выборе набора опорных пикселей. При помощи вышеописанного процесса в качестве опорных пикселей для текущего блока может быть сконфигурирован набор опорных пикселей (например, ref_0, ref_1, ref_2, ref_0+ref_1, ref_0+ref_2, ref_1+ref_2, ref_0+ref_1+ref_2).[00693] For example, the reference pixel set used for intra prediction may be implicitly determined, or information associated with the reference pixel set used may be explicitly generated. In more detail, at least one preset pixel set may be configured as reference pixels, or at least one reference pixel set determined by reference pixel set selection information may be configured as reference pixels. With the above process, a set of reference pixels (eg, ref_0, ref_1, ref_2, ref_0+ref_1, ref_0+ref_2, ref_1+ref_2, ref_0+ref_1+ref_2) can be configured as reference pixels for the current block.

[00694] Кроме того, возможно различать случай, в котором количество наборов опорных пикселей, сконфигурированных как опорные пиксели, равно 1, и случай, в котором количество наборов опорных пикселей, сконфигурированных как опорные пиксели, равно двум или более. Первый случай представляет случай, в котором пиксели в одном наборе опорных пикселей используются для генерирования блока предсказания, тогда как последний случай представляет случай, в котором для генерирования блока предсказания используется по меньшей мере один пиксель (например, если в качестве опорных пикселей заданы два или более наборов опорных пикселей значение, полученное из срединного значения, взвешенного среднего и т.д. значений пикселей (это значение также может представлять собой значение, производное от одного или более пикселей в каждом наборе опорных пикселей), в каждом наборе опорных пикселей может представлять собой значение, полученное из одного или более пикселей).[00694] In addition, it is possible to distinguish between a case in which the number of reference pixel sets configured as reference pixels is 1 and a case in which the number of reference pixel sets configured as reference pixels is two or more. The first case represents a case in which pixels in one set of reference pixels are used to generate a prediction block, while the latter case represents a case in which at least one pixel is used to generate a prediction block (for example, if two or more are set as reference pixels). sets of reference pixels, a value obtained from the median, weighted average, etc. of pixel values (this value may also be a value derived from one or more pixels in each reference pixel set), in each reference pixel set may be a value derived from one or more pixels).

[00695] Например, блок предсказания может генерироваться с использованием опорного пикселя, полученного путем взвешенного суммирования пикселей в первом наборе опорных пикселей (в данном примере - ref_0) и пикселей во втором наборе опорных пикселей (в данном примере - ref_1). В этом случае, в соответствии с режимом предсказания (например, направленным режимом предсказания), пиксели, к которым применяется взвешенная сумма в каждом слое опорных пикселей, могут представлять собой не только пиксели целочисленных элементов, но также пиксели десятичных элементов. Альтернативно взвешенные значения (например, 7:1, 3:1, 2:1, 1:1 и т.д.) могут быть соответственно применены к блоку предсказания, полученному путем использования пикселей в первом наборе опорных пикселей в качестве опорных пикселей, и блоку предсказания, полученному путем использования пикселей во втором наборе опорных пикселей, для получения блока предсказания.[00695] For example, a prediction block may be generated using a reference pixel obtained by weighted summing of the pixels in the first reference pixel set (ref_0 in this example) and the pixels in the second reference pixel set (ref_1 in this example). In this case, according to the prediction mode (eg, directional prediction mode), the pixels to which the weighted sum is applied in each reference pixel layer may be not only integer bin pixels but also decimal bin pixels. Alternatively, weighted values (eg, 7:1, 3:1, 2:1, 1:1, etc.) may be respectively applied to a prediction block obtained by using pixels in the first set of reference pixels as reference pixels, and a prediction block obtained by using the pixels in the second set of reference pixels to obtain a prediction block.

[00696] В предположении случая информации о конфигурации опорных пикселей, сгенерированной в явном виде, информация об указании, разрешающая адаптивную конфигурацию опорных пикселей (в данном примере - adaptive_intra_ref_pixel_enabled_flag), может появляться в элементах видео, последовательности, кадра, среза, плитки и т.д.[00696] Assuming the case of explicitly generated reference pixel configuration information, reference information enabling adaptive reference pixel configuration (in this example, adaptive_intra_ref_pixel_enabled_flag) may appear in video, sequence, frame, slice, tile, etc. d.

[00697] Если информация об указании означает, что адаптивная конфигурация опорных пикселей разрешена (в данном примере adaptive_intra_ref_sample_enabled_flag=1), информация об адаптивной конфигурации опорных пикселей (в данном примере - adaptive_intra_ref_sample_flag) может появляться в элементах кадра, среза, плитки, блока и т.д.[00697] If the indication information means that adaptive reference pixel configuration is enabled (in this example, adaptive_intra_ref_sample_enabled_flag=1), adaptive reference pixel configuration information (in this example, adaptive_intra_ref_sample_flag) may appear in frame, slice, tile, block, etc. .d.

[00698] Если информация о конфигурации означает, что адаптивная конфигурация опорных пикселей разрешена (в данном примере adaptive_intra_ref_sample_flag=1), связанная информация о конфигурации опорных пикселей (например, информация о выборе набора опорных пикселей и т.д., в данном примере - intra_ref_idx) может появляться в элементах кадра, среза, плитки, блока и т.д.[00698] If the configuration information means that the adaptive reference pixel configuration is enabled (in this example, adaptive_intra_ref_sample_flag=1), the associated reference pixel configuration information (e.g., reference pixel set selection information, etc., in this example, intra_ref_idx ) can appear in frame, slice, tile, block, etc. elements.

[00699] В этом случае, если адаптивная конфигурация опорных пикселей не разрешена, или конфигурация не является адаптивной конфигурацией опорных пикселей, опорный пиксель может быть сконфигурирован в соответствии с предварительно определенной настройкой. В целом примером этого может быть, но без ограничения, случай, в котором ближайший пиксель смежного блока сконфигурирован как опорный пиксель, могут иметь место различные случаи (например, случай, в котором ref_0 и ref_1 сконфигурированы как опорные пиксели, и значение пикселя предсказания генерируется путем выполнения суммирования взвешенных значений или т.п.в отношении ref_0 и ref_1 и т.д.; то есть неявный случай).[00699] In this case, if the reference pixel adaptive configuration is not enabled or the configuration is not the reference pixel adaptive configuration, the reference pixel may be configured according to a predetermined setting. In general, this can be exemplified, but not limited to, a case in which the nearest pixel of an adjacent block is configured as a reference pixel, various cases may occur (for example, a case in which ref_0 and ref_1 are configured as reference pixels, and the prediction pixel value is generated by performing a summation of weighted values or the like with respect to ref_0 and ref_1, etc., i.e. the implicit case).

[00700] Кроме того, в дополнение к вышеописанному предварительно заданному случаю (например, случаю ref_0), связанная информация о конфигурации опорных пикселей (например, информация о выборе набора опорных пикселей и т.д.) может быть сконфигурирована, но без ограничения, группой кандидатов (например, ref_1, ref_2, ref_3 и т.д.).[00700] Furthermore, in addition to the above-described predetermined case (e.g., ref_0 case), related reference pixel configuration information (e.g., reference pixel set selection information, etc.) can be configured by, but not limited to, a group candidates (for example, ref_1, ref_2, ref_3, etc.).

[00701] В приведенном выше примере описание выполнено на основе иерархической структуры, начиная от элемента верхнего слоя, но этим не ограничено. Кроме того, в некоторых случаях связанная информация может быть определена в неявном виде. Например, как описано выше, в некоторых случаях связанная информация может появляться в соответствии с настройками кодирования/декодирования, в некоторых случаях связанная информация определяется в неявном виде, и в некоторых случаях может иметь место комбинированный случай.[00701] In the above example, the description is made based on the hierarchical structure, starting from the top layer element, but is not limited to this. In addition, in some cases, related information may be implicitly defined. For example, as described above, in some cases, related information may appear according to encoding/decoding settings, in some cases, related information is implicitly determined, and in some cases, a combined case may occur.

[00702] Некоторые случаи конфигурации опорных пикселей описаны при помощи приведенных выше примеров, которые можно скомбинировать с различной информацией о кодировании/декодировании и т.д. для определения настроек внутреннего предсказания. В этом случае информация о кодировании/декодировании содержит тип (I/P/B) изображения, цветовую компоненту, форму и размер текущего блока, режим предсказания (тип режима предсказания (направленный или ненаправленный)), направление режима предсказания (вертикальный, горизонтальный, диагональный 1, диагональный 2 и т.д.) и т.д., и настройки внутреннего предсказания (в данном примере -настройки конфигурации опорных пикселей) могут быть определены в соответствии с информацией о кодировании/декодировании смежного блока и комбинацией информации о кодировании/декодировании текущего блока и смежного блока.[00702] Some reference pixel configurations are described using the above examples, which can be combined with various encoding/decoding information, etc. to define the settings for intra prediction. In this case, the encoding/decoding information contains the type (I/P/B) of the image, the color component, the shape and size of the current block, the prediction mode (prediction mode type (directional or non-directional)), the direction of the prediction mode (vertical, horizontal, diagonal 1, diagonal 2, etc.), etc., and intra prediction settings (in this example, reference pixel configuration settings) can be determined according to the encoding/decoding information of the adjacent block and the combination of encoding/decoding information current block and adjacent block.

[00703] На фиг. 30 представлена принципиальная схема в отношении конфигурации опорных пикселей.[00703] FIG. 30 is a schematic diagram with respect to the configuration of reference pixels.

[00704] На изображении а на фиг. 30 представлен случай, в котором набор опорных пикселей конфигурируется как опорный пиксель, и последующий процесс внутреннего предсказания (генерирование опорных пикселей, фильтрация опорных пикселей, интерполяция опорных пикселей, генерирование блока предсказания, фильтрация при последующей обработке и т.д.; некоторые процессы внутреннего предсказания могут быть сконфигурированы адаптивно в соответствии с конфигурацией набора опорных пикселей) может быть выполнен после конфигурирования ref_0 как опорного пикселя. Например, информация о наборе опорных пикселей не генерируется для одного набора опорных пикселей, и может быть выполнен процесс внутреннего предсказания в соответствии с ненаправленным режимом.[00704] In the image a in Fig. 30 shows a case in which a reference pixel set is configured as a reference pixel, and the subsequent intra prediction process (reference pixel generation, reference pixel filtering, reference pixel interpolation, prediction block generation, post-processing filtering, etc.; some intra prediction processes may be configured adaptively according to the configuration of the reference pixel set) may be performed after configuring ref_0 as a reference pixel. For example, reference pixel set information is not generated for one reference pixel set, and an intra prediction process may be performed according to the non-directional mode.

[00705] На изображении b на фиг. 30 представлен случай, в котором в качестве опорных пикселей задано не более двух наборов опорных пикселей, и последующий процесс внутреннего предсказания может быть выполнен после конфигурирования ref_0+ref_1 («и» на фигуре) в качестве опорных пикселей. Например, несмотря на то что имеется множество наборов опорных пикселей, но не сгенерирована информация о наборе опорных пикселей, процесс внутреннего предсказания может быть выполнен в соответствии с некоторым режимом предсказания (в данном примере от верхнего левого угла к нижнему левому углу или от нижнего левого угла к верхнему правому углу).[00705] On the image b in Fig. 30 shows a case in which at most two sets of reference pixels are set as reference pixels, and the subsequent intra prediction process can be performed after ref_0+ref_1 ("and" in the figure) are configured as reference pixels. For example, although there are multiple reference pixel sets, but no reference pixel set information is generated, the intra prediction process may be performed according to some prediction mode (in this example, top left to bottom left, or bottom left). to the top right corner).

[00706] На изображении с на фиг. 30 представлен случай, в котором в качестве опорного пикселя задано не более одного набора опорных пикселей, и последующий процесс внутреннего предсказания может быть выполнен после конфигурирования одного из ref_0, ref_1 и ref_2 («или» на фигуре) в качестве опорных пикселей. Например, информация о наборе опорных пикселей генерируется при помощи множества наборов опорных пикселей, и обработка внутреннего предсказания может быть выполнена в соответствии с некоторыми режимами предсказания (в данном примере - от верхнего левого угла к нижнему правому углу).[00706] In the image with in Fig. 30 shows a case in which at most one set of reference pixels is set as a reference pixel, and a subsequent intra prediction process can be performed after one of ref_0, ref_1, and ref_2 (or in the figure) is configured as reference pixels. For example, reference pixel set information is generated by a plurality of reference pixel sets, and intra prediction processing may be performed according to some prediction modes (upper left to lower right in this example).

[00707] Коротко говоря, на изображениях b и с по фиг. 30 представлены случаи, в которых поддерживается, соответственно, два и три набора опорных пикселей (другими словами, соответственно, две и три группы опорных пикселей-кандидатов), на изображении b представлено не более двух наборов опорных пикселей, сконфигурированных опорными пикселями (например, производными от взвешенного среднего значений пикселей из каждого набора опорных пикселей и т.д.), и на изображении с представлено не более одного набора опорных пикселей, сконфигурированного опорными пикселями (например, производными от значений пикселей выбранного набора опорных пикселей из трех групп кандидатов).[00707] Briefly, in images b and c of FIG. 30 shows cases in which two and three reference pixel sets are supported respectively (in other words, two and three candidate reference pixel groups respectively), image b shows at most two reference pixel sets configured by reference pixels (e.g., derivatives of from the weighted average of the pixel values from each set of reference pixels, etc.), and the image c represents at most one set of reference pixels configured by the reference pixels (for example, derived from the pixel values of the selected set of reference pixels from the three candidate groups).

[00708] На фиг. 31 представлена принципиальная схема конфигурации опорных пикселей.[00708] FIG. 31 is a schematic diagram of a configuration of reference pixels.

[00709] На изображении а на фиг. 31 изображен случай, в котором группой опорных пикселей-кандидатов является один набор опорных пикселей, когда размер блока равен 64×64 или более. На изображении b на фиг. 31 изображен случай, в котором группами опорных пикселей-кандидатов являются два набора опорных пикселей (что означает не более двух наборов опорных пикселей для опорных пикселей; то есть понятно, что возможны оба случая, которые представлены на изображениях b и с по фиг. 30; такой же случай представлен ниже), когда размер блока больше 16×16 и меньше 64×64. На изображении с на фиг. 31 изображен случай, в котором группами опорных пикселей-кандидатов являются три набора опорных пикселей (что означает не более трех наборов опорных пикселей для опорных пикселей), когда размер блока меньше 16×16. В настоящем примере, так как текущий блок имеет больший размер, размер смежного блока с большей вероятностью является меньшим, что может являться результатом разделения по причине других характеристик изображения. Поэтому, во избежание выполнения предсказания от пикселей на большом расстоянии от значения пикселя текущего блока, предполагается, что, так как блок имеет больший размер, количество кандидатов набора опорных пикселей уменьшается, но также можно предположить противоположный случай. Настоящее изобретение этим не ограничено. Могут быть осуществлены различные примеры изменений.[00709] In the image a in Fig. 31 shows a case in which the candidate reference pixel group is one set of reference pixels when the block size is 64×64 or more. On image b in Fig. 31 shows a case in which the candidate reference pixel groups are two sets of reference pixels (which means at most two sets of reference pixels for the reference pixels; that is, it is clear that both cases are possible, which are shown in images b and c in Fig. 30; the same case is shown below) when the block size is greater than 16×16 and less than 64×64. In the image from Fig. 31 shows a case in which the candidate reference pixel groups are three reference pixel sets (which means at most three reference pixel sets for the reference pixels) when the block size is less than 16×16. In the present example, since the current block has a larger size, the adjacent block size is more likely to be smaller, which may be the result of splitting due to different image characteristics. Therefore, in order to avoid performing prediction from pixels far away from the pixel value of the current block, it is assumed that since the block has a larger size, the number of reference pixel set candidates decreases, but the opposite case can also be assumed. The present invention is not limited to this. Various examples of changes can be implemented.

[00710] На фиг. 32 представлена принципиальная схема в отношении конфигурации опорных пикселей.[00710] FIG. 32 is a schematic diagram with respect to the configuration of reference pixels.

[00711] На фиг. 32 изображен случай, в котором, когда текущий блок является прямоугольным (в данном примере - удлиненным горизонтально), группами опорных пикселей-кандидатов являются множество наборов опорных пикселей на более длинной стороне, и группой опорных пикселей-кандидатов является один набор опорных пикселей на более короткой стороне. В данном примере предполагается, что на более короткой стороне сконфигурирован один набор опорных пикселей, однако понятно, что имеется меньшее количество конфигураций, чем на более длинной стороне, и может также иметься большое количество конфигураций в противоположном случае. Данный пример предназначен для предотвращения, но без ограничения, случая, в котором, когда блок является прямоугольным, опорный пиксель с малой длиной часто находится дальше от текущего блока, вследствие чего снижается точность предсказания.[00711] FIG. 32 shows a case in which, when the current block is rectangular (horizontally elongated in this example), the candidate reference pixel groups are a plurality of reference pixel sets on a longer side, and the candidate reference pixel group is one reference pixel set on a shorter side. side. In this example, it is assumed that one set of reference pixels is configured on the shorter side, however, it is understood that there are fewer configurations than on the longer side, and there may also be a large number of configurations otherwise. This example is intended to prevent, but not limit, the case in which, when a block is rectangular, a reference pixel with a small length is often further away from the current block, thereby degrading prediction accuracy.

[00712] Например, в случае направленного режима, предсказываемого с использованием опорных пикселей на верхней и правой верхней сторонах блока, предсказание может быть выполнено с использованием множества наборов опорных пикселей (возможны оба случая, которые представлены на изображениях b и с по фиг. 30), и в случае направленного режима, предсказываемого с использованием опорных пикселей левой и нижней левой сторон блока, предсказание может быть выполнено с использованием единственного набора опорных пикселей. То есть может иметь место случай, в котором набор опорных пикселей определяется адаптивно в соответствии со смежными блоками в одном блоке.[00712] For example, in the case of a directional mode predicted using reference pixels on the upper and upper right sides of the block, prediction can be performed using multiple sets of reference pixels (both cases are possible, which are shown in images b and c of Fig. 30) , and in the case of a directional mode predicted using the reference pixels of the left and lower left sides of the block, the prediction can be performed using a single set of reference pixels. That is, there may be a case in which a set of reference pixels is determined adaptively according to adjacent blocks in one block.

[00713] В качестве примера случая, в котором один из множества наборов опорных пикселей конфигурируется в качестве опорных пикселей, когда каждый набор опорных пикселей является одинаковым или аналогичным, генерирование информации о конфигурации опорных пикселей (например, информации о выборе опорных пикселей, информации о разрешении адаптивных опорных пикселей и т.д.) может представлять собой случай, в котором информация появляется повторно. Например, если определено, что характеристики распределения опорных пикселей (например, они определены средним значением и дисперсией каждого набора опорных пикселей; в качестве примера, они могут быть определены путем сравнения значения, полученного в вышеописанном процессе с пороговым значением <Threshold>; то есть, если определено, что генерируется такой же или почти аналогичный блок предсказания, не имеет значения, какой набор опорных пикселей используется, связанная информация может быть опущена; в данном примере это может быть ограничено сравнением, выполненным для последнего выбранного режима предсказания) каждого набора опорных пикселей являются одинаковыми или аналогичными, информация о конфигурации опорных пикселей может быть опущена. В этом случае опорные пиксели могут быть сконфигурированы при помощи предварительно заданного способа (например, ближайшего набора опорных пикселей). В аспектах определения того, принимать ли информацию о конфигурации опорных пикселей путем приема информации о внутреннем предсказании (например, информации о режиме внутреннего предсказания), декодер может являться таким же, как кодер, и на основе этого определения может быть определено то, принимать ли информацию о конфигурации опорных пикселей.[00713] As an example of a case in which one of the plurality of reference pixel sets is configured as reference pixels, when each reference pixel set is the same or similar, generating reference pixel configuration information (e.g., reference pixel selection information, resolution information adaptive reference pixels, etc.) may be a case in which the information appears repeatedly. For example, if it is determined that the distribution characteristics of the reference pixels (for example, they are determined by the average value and variance of each set of reference pixels; as an example, they can be determined by comparing the value obtained in the above process with the threshold value <Threshold>; that is, if it is determined that the same or nearly the same prediction block is generated, no matter which reference pixel set is used, related information may be omitted; in this example, this may be limited to the comparison made for the last selected prediction mode) of each reference pixel set are the same or similar, the reference pixel configuration information may be omitted. In this case, the reference pixels may be configured by a predetermined method (for example, the closest set of reference pixels). In aspects of determining whether to receive the configuration information of the reference pixels by receiving intra prediction information (for example, intra prediction mode information), the decoder may be the same as the encoder, and based on this determination, it may be determined whether to receive information about the configuration of the reference pixels.

[00714] Несмотря на то что на различных примерах изображен случай, в котором в качестве опорных пикселей сконфигурировано множество наборов опорных пикселей, он ими не ограничен. Могут иметь место различные преобразованные примеры, которые могут быть скомбинированы с другими, дополнительными конфигурациями.[00714] While various examples show a case in which a plurality of reference pixel sets are configured as reference pixels, it is not limited thereto. There may be various converted examples that can be combined with other, additional configurations.

[00715] Секция конфигурации опорных пикселей для внутреннего предсказания может содержать секцию генерирования опорных пикселей, секцию интерполяции опорных пикселей, секцию фильтрации опорных пикселей и т.д. и может иметь все или часть из вышеописанных конфигураций.[00715] The reference pixel configuration section for intra prediction may include a reference pixel generation section, a reference pixel interpolation section, a reference pixel filtering section, and so on. and may have all or part of the configurations described above.

[00716] Секция конфигурации опорных пикселей выполнена с возможностью подтверждения доступности опорных пикселей с целью классификации доступных опорных пикселей и недоступных опорных пикселей. Например, если блок в предварительно заданном положении (или кандидатный блок опорного пикселя) является доступным, то соответствующий блок может быть использован как опорный пиксель, а если он недоступен, этот блок нельзя использовать как опорный пиксель.[00716] The reference pixel configuration section is configured to confirm the availability of the reference pixels in order to classify available reference pixels and unavailable reference pixels. For example, if a block at a predetermined position (or candidate block of a reference pixel) is available, then the corresponding block can be used as a reference pixel, and if it is not available, that block cannot be used as a reference pixel.

[00717] Если удовлетворяется по меньшей мере одно из следующих условий, определяется, что опорный пиксель является недоступным. Например, опорный пиксель определяется как недоступный, если удовлетворяется одно из условий, согласно которым опорный пиксель находится вне границы кадра, он не принадлежит к тому же блоку разделения, что и текущий блок (например, срез, плитка и т.д.), кодирование/декодирование не завершено, и использование ограничено в соответствии с кодированием/декодированием. То есть, если ни одно из приведенных выше условий не удовлетворяется, определяется, что опорный пиксель является доступным.[00717] If at least one of the following conditions is satisfied, it is determined that the reference pixel is unavailable. For example, a reference pixel is determined to be unavailable if one of the conditions is met that the reference pixel is outside the frame boundary, does not belong to the same partition block as the current block (e.g., slice, tile, etc.), encoding /decoding is not completed and use is limited according to encoding/decoding. That is, if none of the above conditions is satisfied, it is determined that the reference pixel is available.

[00718] Кроме того, использование опорных пикселей может быть ограничено настройками кодирования/декодирования. Например, использование опорных пикселей может быть ограничено в соответствии с выполнением ограниченного внутреннего предсказания (например, constrained_intra_pred_flag). Ограниченное внутреннее предсказание может выполняться тогда, когда устойчивое к ошибкам кодирование/декодирование необходимо выполнить в отношении внешних факторов, таких как среда связи, если предпринимается попытка запретить использование блоков, восстановленных путем отсылки к другим изображениям в качестве опорных пикселей.[00718] In addition, the use of reference pixels may be limited by encoding/decoding settings. For example, the use of reference pixels may be constrained in accordance with the performance of constrained intra prediction (eg, constrained_intra_pred_flag). Limited intra prediction may be performed when error-tolerant encoding/decoding needs to be performed with respect to external factors such as the communication environment if an attempt is made to prohibit the use of blocks recovered by referring to other images as reference pixels.

[00719] В соответствии с доступностью опорного пикселя, кандидатные блоки опорных пикселей могут быть классифицированы на случай, в котором могут быть использованы все кандидатные блоки опорных пикселей, случай, в котором могут быть использованы некоторые опорные пиксели, и случай, в котором все опорные пиксели недоступны. За исключением случая, в котором могут быть использованы все кандидатные блоки опорных пикселей, в остальных случаях опорные пиксели, недоступные в положении кандидатного блока, могут быть заполнены или сгенерированы.[00719] According to the availability of the reference pixel, the candidate reference pixel blocks can be classified into a case in which all of the candidate reference pixel blocks can be used, a case in which some of the reference pixels can be used, and a case in which all of the reference pixels not available. Except for the case in which all candidate blocks of reference pixels may be used, in other cases, reference pixels not available at the position of the candidate block may be filled or generated.

[00720] Если кандидатный блок опорного пикселя можно использовать, пиксель в предварительно заданном положении блока (в данном примере предполагается, что пиксель является смежным с текущим блоком) может быть включен в запоминающее устройство для опорных пикселей текущего блока.[00720] If a candidate reference pixel block can be used, a pixel at a predetermined block position (in this example, the pixel is assumed to be adjacent to the current block) may be included in the current block's reference pixel memory.

[00721] Если кандидатный блок опорного пикселя использовать нельзя, пиксели, полученные путем процесса генерирования опорных пикселей, могут быть включены в запоминающее устройство для опорных пикселей текущего блока.[00721] If a candidate reference pixel block cannot be used, the pixels obtained by the reference pixel generation process may be included in the reference pixel memory of the current block.

[00722] Коротко говоря, если кандидатный блок опорного пикселя находится в доступном состоянии, опорный пиксель может быть сконфигурирован, и, если кандидатный блок опорного пикселя находится в недоступном состоянии, опорный пиксель может быть сгенерирован.[00722] Briefly, if the reference pixel candidate block is in the available state, the reference pixel may be configured, and if the reference pixel candidate block is in the unavailable state, the reference pixel may be generated.

[00723] В секции фильтрации опорных пикселей обычно используется фильтр нижних частот (такой как 3-отводный фильтр и 5-отводный фильтр, например, [1, 2, 1]/4 и [2, 3, 6, 3, 2]/16) для выполнения сглаживания как основной цели, но могут использоваться другие типы фильтров (такие как фильтр верхних частот) в соответствии с назначением фильтров (например, увеличение четкости и т.д.). В настоящем описании подчеркивается, что фильтрация выполняется с целью сглаживания для уменьшения ухудшения качества в процессе кодирования/декодирования.[00723] In the reference pixel filtering section, a low-pass filter (such as a 3-tap filter and a 5-tap filter, such as [1, 2, 1]/4 and [2, 3, 6, 3, 2]/ 16) to perform anti-aliasing as the main purpose, but other types of filters (such as a high pass filter) may be used according to the purpose of the filters (such as sharpening, etc.). In the present description, it is emphasized that filtering is performed for the purpose of smoothing to reduce degradation in quality during the encoding/decoding process.

[00724] Выполнение фильтрации опорных пикселей можно определить в соответствии с настройками кодирования/декодирования. То есть фильтрация может применяться или может не применяться к опорным пикселям. Однако такая единообразная операция фильтрации может иметь тот недостаток, что могут быть не отражены некоторые характеристики изображения, и может являться преимущественным улучшение выполнения кодирования путем выполнения фильтрации на основе такой информации, как информация о кодировании/декодировании, отражающая некоторые характеристики изображения.[00724] The filtering performance of the reference pixels can be determined according to the encoding/decoding settings. That is, filtering may or may not be applied to the reference pixels. However, such a uniform filtering operation may have the disadvantage that some image characteristics may not be reflected, and it may be advantageous to improve the encoding performance by performing filtering based on information such as encoding/decoding information reflecting some image characteristics.

[00725] Характеристики изображения могут быть определены не только в соответствии с типом (I/P/B) изображения, цветовой компонентой (Y/Cb/Cr), параметром квантования, информацией о кодировании/декодировании текущего блока (например, размером, формой, информацией о разделении, режимом предсказания и т.д.), но также в соответствии с информацией о кодировании/декодировании смежных блоков, комбинацией информации о кодировании/декодировании текущего блока и смежных блоков и т.д. Кроме того, определение (например, определение того, является область опорного пикселя ровной областью или областью с разрывами, и т.д.) может выполняться в соответствии с характеристиками распределения опорных пикселей (например, дисперсией, стандартным отклонением и т.д. области опорных пикселей). Таким образом, если информация о характеристиках изображения может быть подтверждена, применение фильтрации опорных пикселей может быть задано заранее.[00725] Image characteristics can be determined not only according to the image type (I/P/B), color component (Y/Cb/Cr), quantization parameter, encoding/decoding information of the current block (e.g., size, shape, division information, prediction mode, etc.), but also according to encoding/decoding information of adjacent blocks, a combination of encoding/decoding information of the current block and adjacent blocks, etc. In addition, determination (for example, determining whether the area of the reference pixel is a flat area or a discontinuous area, etc.) can be performed according to distribution characteristics of the reference pixels (for example, variance, standard deviation, etc. of the area of the reference pixels). Thus, if the information about the characteristics of the image can be confirmed, the application of filtering of the reference pixels can be set in advance.

[00726] Альтернативно фильтрация опорных пикселей может быть задана в явном виде. Например, может генерироваться информация о том, применять ли фильтрацию. В этом случае информация о выборе фильтра не генерируется, если имеется один фильтр, или может генерироваться, если имеется множество групп фильтров-кандидатов.[00726] Alternatively, the filtering of the reference pixels may be explicitly specified. For example, information about whether to apply filtering may be generated. In this case, filter selection information is not generated if there is one filter, or may be generated if there are multiple candidate filter groups.

[00727] Несмотря на то что в приведенных выше примерах были описаны настройки в неявном виде и явном виде для фильтрации опорных пикселей, также могут иметь место комбинированные случаи, например, в некоторых случаях определяется использование настроек в явном виде, а в других случаях определяется использование настроек в неявном виде. В этом случае выражение «настройки в неявном виде» означает, что информация о фильтре опорных пикселей (например, о том, применять ли фильтрацию, и информация о категории фильтра) может быть получена в декодере.[00727] Although the above examples have described implicit and explicit settings for filtering reference pixels, there may also be combined cases, for example, in some cases, the use of settings is explicit, and in other cases, the use of settings implicitly. In this case, "implicit settings" means that reference pixel filter information (eg, whether to apply filtering and filter category information) can be obtained in the decoder.

[00728] Секция интерполяции опорных пикселей выполнена с возможностью генерирования опорных пикселей в десятичном элементе путем линейной интерполяции опорных пикселей. Несмотря на то что в настоящем описании процесс описан как часть секции конфигурации опорных пикселей, его можно понимать, как компонент, выполненный с возможностью включения в секцию генерирования блока предсказания и исполнения перед генерированием блока предсказания.[00728] The reference pixel interpolation section is configured to generate reference pixels in the decimal element by linearly interpolating the reference pixels. Although the process is described in the present description as part of the reference pixel configuration section, it can be understood as a component capable of being included in the prediction block generation section and execution before generating the prediction block.

[00729] Кроме того, несмотря на то что секция интерполяции опорных пикселей предполагается как компонент, отдельный от предшествующей секции фильтрации опорных пикселей, они могут быть выполнены с возможностью объединения в один компонент. Также может иметь место конфигурация, в которой при применении множества фильтров в секции интерполяции опорных пикселей и секции фильтрации опорных пикселей в опорном пикселе генерируется искажение.[00729] In addition, although the reference pixel interpolation section is assumed to be a separate component from the previous reference pixel filtering section, they can be configured to be combined into one component. Also, there may be a configuration in which distortion is generated in the reference pixel by applying a plurality of filters in the reference pixel interpolation section and the reference pixel filtering section.

[00730] В некоторых режимах предсказания (например, горизонтальном, вертикальном, некоторых диагональных режимах <режимах, образующих угол 45 градусов, таких как диагонально снизу справа, диагонально снизу слева и диагонально сверху справа>, ненаправленных режимах, цветовых режимах, режимах копирования цвета и т.д.; то есть в режимах, где десятичная интерполяция при генерировании блока предсказания не требуется), процесс интерполяции опорных пикселей может не выполняться, и он может выполняться в других режимах предсказания (режиме, где десятичная интерполяция при генерировании блока предсказания требуется).[00730] In some prediction modes (e.g., horizontal, vertical, some diagonal modes <45 degree angle modes such as diagonal bottom right, diagonal bottom left, and diagonal top right>, non-directional modes, color modes, color copy modes, and etc.; that is, in modes where decimal interpolation when generating a prediction block is not required), the reference pixel interpolation process may not be performed, and it may be performed in other prediction modes (a mode where decimal interpolation when generating a prediction block is required).

[00731] Точность интерполяции (например, таких элементов пикселей, как 1, 1/2, 1/4, 1/8, 1/16, 1/32 и 1/64) может быть определена в соответствии с режимом предсказания (или направленностью режима предсказания). Например, в режиме предсказания, образующем угол 45 градусов, процесс интерполяции не требуется, а в режиме предсказания, образующем угол 22,5 градусов или 67,5 градусов, требуется интерполяция в элементах 1/2 пикселя. Как описано выше, в соответствии с режимом предсказания может быть определена по меньшей мере одна точность интерполяции и максимальная точность интерполяции.[00731] Interpolation accuracy (for example, pixel units such as 1, 1/2, 1/4, 1/8, 1/16, 1/32, and 1/64) can be determined in accordance with the prediction mode (or directivity prediction mode). For example, in a 45-degree prediction mode, no interpolation process is required, and in a 22.5-degree or 67.5-degree prediction mode, 1/2 pixel interpolation is required. As described above, according to the prediction mode, at least one interpolation accuracy and a maximum interpolation accuracy can be determined.

[00732] Для интерполяции опорных пикселей, может быть использован предварительно заданный фильтр (например, 2-отводный линейный интерполяционный фильтр, то есть в любых случаях используется только этот интерполяционный фильтр), и может использоваться одна из множества групп интерполяционных фильтров-кандидатов (например, 4-отводный кубический фильтр, 4-отводный гауссов фильтр, 6-отводный фильтр Винера и 8-отводный фильтр Калмана; то есть определено, что используется интерполяционный фильтр, применяемый в соответствии с настройками кодирования/декодирования). В этом случае интерполяционный фильтр может быть выделен по отличиям в количестве отводов (т.е. по количеству пикселей, к которым применяется фильтрация), коэффициентам фильтра и т.д.[00732] For interpolation of the reference pixels, a predefined filter (e.g., a 2-tap linear interpolation filter, i.e., only this interpolation filter is used in any case), and one of a plurality of groups of candidate interpolation filters (e.g., 4-tap cube filter, 4-tap Gaussian filter, 6-tap Wiener filter, and 8-tap Kalman filter; that is, it is determined that an interpolation filter is used, applied according to the encoding/decoding settings). In this case, the interpolation filter can be distinguished by differences in the number of taps (i.e., the number of pixels to which filtering is applied), filter coefficients, and so on.

[00733] Интерполяция может включать примеры исполнения по стадиям, например, в порядке от низкой точности до высокой точности (например, 1/2→1/4-1/8), а также примеры единообразного исполнения. В первом случае интерполяция относится к выполнению интерполяции (т.е. это означает, что для интерполяции используются не только целочисленные элементы, но также десятичные элементы) на основе пикселей целочисленных элементов и пикселей десятичных элементов (в данном примере со ссылкой на пиксели, для которых ранее была выполнена интерполяция на основе менее высокой точности, чем для пикселя, подлежащего интерполяции в настоящий момент). В последнем случае интерполяция означает, что интерполяция выполняется на основе пикселей целочисленных элементов (т.е. означает, что для интерполяции используются только пиксели целочисленных элементов).[00733] The interpolation may include execution examples by stage, eg, in order from low precision to high accuracy (eg, 1/2→1/4-1/8), as well as uniform execution examples. In the first case, interpolation refers to performing interpolation (i.e., it means that not only integer elements, but also decimal elements are used for interpolation) based on pixels of integer elements and pixels of decimal elements (in this example, with reference to pixels, for which has previously been interpolated based on a lower precision than the pixel currently to be interpolated). In the latter case, interpolation means that the interpolation is performed based on integer element pixels (i.e., it means that only integer element pixels are used for interpolation).

[00734] Если используется одна из множества групп секций фильтров-кандидатов, информация о выборе фильтра может генерироваться в явном виде или определяться в неявном виде и может определяться в соответствии с настройками кодирования/декодирования (например, точностью интерполяции, размером и формой блока, режимом предсказания и т.д.). В этом случае элемент, генерируемый в явном виде, соответствует видео, последовательности, кадру, срезу, плитке, блоку и т.д.[00734] If one of the plurality of candidate filter section groups is used, the filter selection information may be explicitly generated or determined implicitly and may be determined in accordance with encoding/decoding settings (e.g., interpolation precision, block size and shape, mode predictions, etc.). In this case, the explicitly generated element corresponds to a video, sequence, frame, slice, tile, block, and so on.

[00735] Секция генерирования блока предсказания выполнена с возможностью генерирования блока предсказания в соответствии с по меньшей мере одним режимом предсказания и выполнена с возможностью использования опорного пикселя на основе режима предсказания. В этом случае опорный пиксель может использоваться в таких способах (направленный режим), как экстраполяция в соответствии с режимом предсказания, и может использоваться в таких способах (ненаправленный режим), как интерполяция, или усреднение (DC), или копирование.[00735] The prediction block generating section is configured to generate a prediction block in accordance with at least one prediction mode, and is configured to use a reference pixel based on the prediction mode. In this case, the reference pixel may be used in methods (directional mode) such as extrapolation according to the prediction mode, and may be used in methods (non-directional mode) such as interpolation or averaging (DC) or copying.

[00736] Кроме того, блок предсказания может генерироваться путем копирования опорных пикселей. При копировании опорных пикселей более одного пикселя предсказания может генерироваться путем копирования одного опорного пикселя, или более одного пикселя предсказания может генерироваться путем копирования более чем одного опорного пикселя, и количество скопированных опорных пикселей меньше или равно количеству скопированных пикселей предсказания.[00736] In addition, the prediction block may be generated by copying the reference pixels. When copying the reference pixels, more than one prediction pixel may be generated by copying one reference pixel, or more than one prediction pixel may be generated by copying more than one reference pixel, and the number of copied reference pixels is less than or equal to the number of copied prediction pixels.

[00737] Кроме того, несмотря на то что блок предсказания в целом состоит из одного блока предсказания, полученного при помощи процесса генерирования блока предсказания, может быть включен следующий пример: конечный блок предсказания получается путем получения множества блоков предсказания и применения к этому множеству блоков предсказания взвешенного суммирования или т.п. В данном случае выражение «множество блоков предсказания» может относиться к блокам предсказания, полученным из набора опорных пикселей, а в других случаях может относиться к одному и тому же блоку предсказания.[00737] In addition, although the prediction block as a whole consists of one prediction block obtained by the prediction block generation process, the following example can be included: the final prediction block is obtained by obtaining a plurality of prediction blocks and applying to this plurality of prediction blocks weighted summation or the like. In this case, the expression "multiple prediction blocks" may refer to prediction blocks obtained from a set of reference pixels, and in other cases may refer to the same prediction block.

[00738] Секция определения режима предсказания выполняет процесс выбора оптимального режима во множестве групп режимов-кандидатов предсказания. Для определения режима с оптимальной стоимостью кодирования с целью генерирования количества битов соответствующего режима могут быть в целом рассмотрены технология искажения блока (например, искажение текущего блока и восстановленного блока; SAD, SSD и т.д.) и технология случайного искажения. Блок предсказания, сгенерированный на основе режима предсказания, определенного при помощи вышеописанного процесса, может быть направлен в секцию вычитания и секцию сложения.[00738] The prediction mode determination section performs the optimal mode selection process in the plurality of prediction mode candidate groups. In order to determine the mode with the optimal encoding cost to generate the number of bits of the corresponding mode, block distortion technology (eg, current block and reconstructed block distortion; SAD, SSD, etc.) and random distortion technology can be generally considered. The prediction block generated based on the prediction mode determined by the above process may be sent to a subtraction section and an addition section.

[00739] Секция кодирования режима предсказания выполнена с возможностью кодирования режима предсказания, выбранного при помощи секции определения режима предсказания. В группе режимов-кандидатов предсказания может кодироваться информация об индексах, соответствующая режиму предсказания, или режим предсказания может быть предсказан для кодирования связанной с ним информации. То есть первый случай представляет способ прямого кодирования режима предсказания без выполнения предсказания, и последний случай представляет способ предсказания режима предсказания так, что кодируется информация о предсказании режима кодирования и информация, полученная на основе информации о предсказании. Кроме того, первый пример представляет собой пример, который может применяться к цветоразностной компоненте, и последний пример представляет собой пример, который может быть применен к компоненте яркости. Они этим не ограничены и также могут применяться в других случаях.[00739] The prediction mode encoding section is configured to encode the prediction mode selected by the prediction mode determination section. In the prediction mode candidate group, index information corresponding to the prediction mode may be encoded, or the prediction mode may be predicted to encode information associated therewith. That is, the first case represents a direct prediction mode encoding method without performing prediction, and the latter case represents a prediction mode prediction method such that encoding mode prediction information and information obtained based on the prediction information are encoded. In addition, the first example is an example that can be applied to a color difference component, and the last example is an example that can be applied to a luminance component. They are not limited to this and can also be used in other cases.

[00740] В случае выполнения предсказания и кодирования в отношении режима предсказания, значение предсказания (или информация о предсказании) режима предсказания может называться МРМ. В этом случае как МРМ может быть сконфигурирован предварительно заданный режим предсказания (например, режим DC, планарный режим, вертикальный режим, горизонтальный режим, диагональный режим и т.д.) или режим предсказания пространственно смежного блока (например, левого блока, верхнего блока, верхнего левого блока, верхнего правого блока, нижнего левого блока и т.д.). В данном примере диагональный режим может представлять режим диагонально вверх вправо, диагонально вниз вправо и диагонально вниз влево, которые могут соответствовать режиму 9, режиму 34 и режиму 66 на фиг. 9.[00740] In the case of performing prediction and encoding with respect to the prediction mode, the prediction value (or prediction information) of the prediction mode may be referred to as MPM. In this case, a predetermined prediction mode (e.g., DC mode, planar mode, vertical mode, horizontal mode, diagonal mode, etc.) or spatially adjacent block prediction mode (e.g., left block, top block, top left box, top right box, bottom left box, etc.). In this example, the diagonal mode may represent the diagonal up right, diagonal down right, and diagonal down left modes, which may correspond to mode 9, mode 34, and mode 66 in FIG. 9.

[00741] Кроме того, режим, полученный из режимов, включенных в группу МРМ-кандидатов, может быть сконфигурирован как группа МРМ-кандидатов. Например, в случае направленного режима, включенного в группу МРМ-кандидатов, режим с разностью а интервалов между режимами (например, а -ненулевое целое число, такое как 1, -1, 2 или -2; в случае если на фиг. 9 был включен режим 10, производными режимами являются режим 9, режим 11, режим 8, режим 12 и т.д.) повторно включается (или дополнительно включается) в группу МРМ-кандидатов.[00741] In addition, a mode derived from the modes included in the MPM candidate group may be configured as an MPM candidate group. For example, in the case of a directional mode included in the MPM candidate group, a mode with a mode interval difference a (e.g., a is a non-zero integer such as 1, -1, 2, or -2; in case FIG. 9 was mode 10 enabled, derived modes are mode 9, mode 11, mode 8, mode 12, etc.) is re-included (or further included) in the MPM candidate group.

[00742] Приведенный выше пример может соответствовать случаю, в котором группа МРМ-кандидатов сконфигурирована во множестве режимов, при этом конфигурация группы МРМ-кандидатов (например, количество групп МРМ-кандидатов и приоритет конфигурации) может быть определена в соответствии с настройками кодирования/декодирования (например, группой режимов-кандидатов предсказания, типом изображения, размером блока, формой блока и т.д.) может быть сконфигурирована как включающая по меньшей мере один режим.[00742] The above example may correspond to the case in which the MPM candidate group is configured in a plurality of modes, wherein the configuration of the MPM candidate group (for example, the number of MPM candidate groups and the configuration priority) can be determined in accordance with the encoding/decoding settings (eg, a group of candidate prediction modes, an image type, a block size, a block shape, etc.) may be configured to include at least one mode.

[00743] Режим предсказания для конфигурирования группы МРМ-кандидатов может иметь приоритет. Порядок режимов предсказания, включенных в группу МРМ-кандидатов, может определяться в соответствии с приоритетом, и конфигурация группы МРМ-кандидатов может быть завершена, если количество групп МРМ-кандидатов заполнено в соответствии с приоритетом. В этом случае приоритет может быть определен в порядке: режим предсказания пространственно смежного блока, предварительно заданный режим предсказания и режим, производный от режима предсказания, первоначально включенного в группу МРМ-кандидатов, однако возможны и другие модификации.[00743] A prediction mode for configuring a group of MPM candidates may take precedence. The order of the prediction modes included in the MPM candidate group may be determined according to the priority, and the configuration of the MPM candidate group can be completed if the number of MPM candidate groups is filled in accordance with the priority. In this case, the priority may be determined in the order of a spatially adjacent block prediction mode, a predetermined prediction mode, and a mode derived from the prediction mode originally included in the MPM candidate group, but other modifications are possible.

[00744] Например, в пространственно смежных блоках режимы предсказания блоков могут быть включены в группу кандидатов в порядке левый-верхний-нижний левый-верхний правый-верхний левый блок и т.д. В предварительно заданных режимах предсказания режимы предсказания могут быть включены в группу кандидатов в порядке DC-планарный-вертикальный-горизонтальный режим и т.д., и в группу кандидатов включается режим предсказания, полученный путем добавления к включенному режиму +1, -1 или т.п. Альтернативно режимы предсказания могут быть включены в группу кандидатов с приоритетом левый-верхний-DC-планарный-нижний левый-верхний правый-верхний левый-левый+1-левый-1-верхний+1 и т.д.[00744] For example, in spatially contiguous blocks, the block prediction modes may be included in the candidate group in the order left-top-bottom-left-top-right-top-left block, and so on. In the predetermined prediction modes, the prediction modes may be included in the candidate group in the order DC-planar-vertical-horizontal mode, etc., and the prediction mode obtained by adding +1, -1, or t to the included mode is included in the candidate group. .P. Alternatively, the prediction modes may be included in the left-top-DC-planar-bottom-left-top-right-top-left-left+1-left-1-top+1 priority candidate group, and so on.

[00745] Если кодирование режима предсказания текущего блока выполнятся с использованием МРМ, может генерироваться информация о том, совпадает ли режим предсказания с МРМ (например, most_probable_mode_flag).[00745] If the encoding of the prediction mode of the current block is performed using the MPM, information about whether the prediction mode matches the MPM (eg, most_probable_mode_flag) may be generated.

[00746] Если режим предсказания совпадает с МРМ, (например, most_probable_mode_flag=1), в соответствии с конфигурацией МРМ может дополнительно генерироваться информация об индексах МРМ (например, mpm_idx). Например, если МРМ выполнен как один режим предсказания, дополнительная информация об индексах МРМ не генерируется, а если МРМ выполняется как множество режимов предсказания, в группе МРМ-кандидатов может генерироваться информация об индексах, соответствующая режиму предсказания текущего блока.[00746] If the prediction mode is the same as the MPM (eg, most_probable_mode_flag=1), MPM index information (eg, mpm_idx) may be additionally generated according to the MPM configuration. For example, if the MPM is executed as a single prediction mode, no additional MPM index information is generated, and if the MPM is performed as a plurality of prediction modes, index information corresponding to the prediction mode of the current block may be generated in the MPM candidate group.

[00747] Если режим предсказания не совпадает с МРМ (например, most_probable_mode_flag=0), в оставшейся группе режимов-кандидатов предсказания (или группе режимов-кандидатов, не являющихся МРМ), отличной от группы МРМ-кандидатов в группах режимов-кандидатов предсказания, может генерироваться информация об индексах режимов, не являющихся МРМ (например, non_mpm_idx), соответствующая режиму предсказания текущего режима, что может представлять собой пример случая, в котором режим, не являющийся МРМ, сконфигурирован как одна группа.[00747] If the prediction mode does not match the MPM (e.g., most_probable_mode_flag=0), in the remaining prediction mode candidate group (or non-MPM candidate mode group) other than the MPM candidate group in the prediction mode candidate groups, non-MPM mode index information (eg, non_mpm_idx) corresponding to the prediction mode of the current mode may be generated, which may be an example of a case in which the non-MPM mode is configured as one group.

[00748] Если группа режимов-кандидатов, не являющихся МРМ, состоит из множества групп, может генерироваться информация о том, к какой группе принадлежит режим предсказания текущего блока. Например, режим, не являющийся МРМ, состоит из групп А и В, если режим предсказания текущего блока совпадает с режимом предсказания из группы А (например, non_mpm_A_flag=1), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в группе А кандидатов, и, если совпадение отсутствует (например, non_mpm_A_flag=0), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в остальных группах режимов-кандидатов предсказания (или группе В кандидатов). Как и в приведенном выше примере, режим, не являющийся МРМ, может быть сконфигурирован как по меньшей мере одна группа (или набор) режимов-кандидатов предсказания, и конфигурация режимов, не являющихся МРМ, может быть определена в соответствии с группой режимов-кандидатов предсказания. Например, если имеется не более 35 групп режимов-кандидатов предсказания, может иметься один режим, не являющийся МРМ, а в других случаях имеется два или более режимов, не являющихся МРМ.[00748] If a group of non-MPM candidate modes consists of a plurality of groups, information about which group the prediction mode of the current block belongs to can be generated. For example, the non-MPM mode consists of groups A and B, if the prediction mode of the current block is the same as the prediction mode of group A (for example, non_mpm_A_flag=1), index information corresponding to the prediction mode of the current block may be generated in group A candidates, and if there is no match (eg, non_mpm_A_flag=0), index information corresponding to the prediction mode of the current block may be generated in the remaining prediction mode candidate groups (or candidate group B). As in the above example, the non-MPM mode may be configured as at least one group (or set) of candidate prediction modes, and the configuration of the non-MPM modes may be determined according to the group of prediction candidate modes. . For example, if there are no more than 35 groups of candidate prediction modes, there may be one non-MPM mode, and in other cases, there are two or more non-MPM modes.

[00749] В этом случае группа А может конфигурировать как группу кандидатов режим, отличный от группы МРМ-кандидатов, имеющей высшую вероятность совпадения с режимом предсказания текущего блока. Например, следующий последовательный режим предсказания, не включенный в группу МРМ-кандидатов, может быть включен в группу А, или в группу А может быть включен режим предсказания, имеющий направленность из предварительно определенного интервала.[00749] In this case, group A may configure as a candidate group a mode different from the MPM candidate group having a higher probability of matching with the prediction mode of the current block. For example, the next sequential prediction mode not included in the MPM candidate group may be included in group A, or a prediction mode having directionality from a predetermined interval may be included in group A.

[00750] Если режим, не являющийся МРМ, состоит из множества групп, как в приведенном выше примере, количество режимов предсказания является большим, и режим предсказания не предсказывается с помощью МРМ, режим, не являющийся МРМ, поддерживается с целью уменьшения количества битов режима.[00750] If the non-MPM mode consists of a plurality of groups, as in the above example, the number of prediction modes is large, and the prediction mode is not predicted by MPM, the non-MPM mode is supported to reduce the number of mode bits.

[00751] Если кодирование режима предсказания (или декодирование режима предсказания) текущего блока выполняется с использованием МРМ, таблица преобразования в двоичную форму, применяемая к каждой группе режимов-кандидатов предсказания (например, к группе МРМ-кандидатов, группе режимов-кандидатов, не являющихся МРМ, и т.д.), может генерироваться отдельно, и способ преобразования в двоичную форму, применяемый к каждой группе кандидатов, также может применяться отдельно.[00751] If prediction mode encoding (or prediction mode decoding) of the current block is performed using MPM, the binarization table applied to each prediction mode candidate group (e.g., MPM candidate group, non-MPM candidate mode group) MPM, etc.) may be separately generated, and the binarization method applied to each candidate group may also be applied separately.

[00752] В приведенном выше примере такие термины, как «группа МРМ-кандидатов» и «группа режимов-кандидатов, не являющихся МРМ», являются лишь некоторыми терминами, используемыми в настоящем изобретении, и оно ими не ограничено. В частности, эти термины представляют информацию о категории, к которой принадлежит режим предсказания после деления режимов предсказания в текущем фрейме на множество категорий, и информацию о режиме в пределах категории. В качестве других выражений, они также могут быть использованы для таких терминов, как «главная группа МРМ-кандидатов» и «вспомогательная группа МРМ-кандидатов».[00752] In the above example, terms such as "MPM candidate group" and "Non-MPM candidate mode group" are just some of the terms used in the present invention, and it is not limited to them. In particular, these terms represent information about the category to which the prediction mode belongs after dividing the prediction modes in the current frame into a plurality of categories, and information about the mode within the category. As other expressions, they can also be used for terms such as "major group of MPM candidates" and "auxiliary group of MPM candidates".

[00753] Информация, связанная с предсказанием, которая генерируется при помощи секции кодирования режима предсказания, может передаваться в секцию кодирования и включаться в битовый поток.[00753] Prediction-related information that is generated by the prediction mode coding section may be transmitted to the coding section and included in the bitstream.

[00754] Если в качестве группы опорных пикселей-кандидатов сконфигурировано более одного набора опорных пикселей, ниже можно выделить случай, в котором используется один набор опорных пикселей, и случай, в котором используется более двух наборов опорных пикселей.[00754] If more than one reference pixel set is configured as a candidate reference pixel group, a case in which one reference pixel set is used and a case in which more than two reference pixel sets are used can be distinguished below.

[00755] (1) Использование одного набора опорных пикселей.[00755] (1) Using one set of reference pixels.

[00756] В данном примере предполагается, что, когда в качестве групп кандидатов задано множество наборов опорных пикселей, для внутреннего предсказания выбирается один набор опорных пикселей (один из ref_0, ref_1 и ref_2 на фиг. 29).[00756] In this example, it is assumed that when a plurality of reference pixel sets are set as candidate groups, one reference pixel set (one of ref_0, ref_1, and ref_2 in FIG. 29) is selected for intra prediction.

[00757] Если внутреннее предсказания выполняется с использованием одного набора опорных пикселей, может возникнуть следующая ситуация.[00757] If intra prediction is performed using one set of reference pixels, the following situation may occur.

[00758] Блок Р предсказания может генерироваться с использованием ref*, полученного с использованием набора ref опорных пикселей и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей.[00758] The prediction block P may be generated using ref* obtained using the reference pixel set ref and using a prediction pre-processing procedure such as generating the reference pixels, filtering the reference pixels, and interpolating the reference pixels.

[00759] Например, к пикселям, расположенным в ref, применяется 5-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, и к пикселям, расположенным в ref' (т.е. пикселям после фильтрации опорных пикселей), применяется 6-отводная линейная интерполяционная фильтрация при помощи секции интерполяции опорных пикселей. Кроме того, блок предсказания может генерироваться с использованием ref*, полученного в вышеописанном процессе.[00759] For example, pixels located at ref are 5-tap low-pass filtered by the reference pixel filtering section, and pixels located at ref' (i.e., pixels after reference pixel filtering) are 6-tap low-pass filtered. linear interpolation filtering using the reference pixel interpolation section. In addition, the prediction block may be generated using ref* obtained in the above process.

[00760] Ниже описана процедура предварительной обработки предсказания при использовании единственного набора опорных пикселей.[00760] The prediction pre-processing procedure using a single set of reference pixels is described below.

[00761] Например, при использовании набора ref_2 опорных пикселей на фиг. 29, если в качестве опорных пикселей могут быть использованы положения Ref_TL и Ref_TR, а положение Ref_Т нельзя использовать как опорный пиксель, пиксели в положениях от Р (0, -3) до Р (n-1, -3) Ref_Т могут быть сгенерированы посредством смежных пикселей в положениях от Р(-1, -3) до Р (n, -3) из доступных опорных пикселей и сконфигурированы как опорные пиксели.[00761] For example, when using the reference pixel set ref_2 in FIG. 29, if Ref_TL and Ref_TR positions can be used as reference pixels, and Ref_T position cannot be used as a reference pixel, pixels at positions P(0, -3) to P(n-1, -3) Ref_T can be generated by adjacent pixels at positions P(-1, -3) to P(n, -3) of the available reference pixels and are configured as reference pixels.

[00762] После конфигурирования опорных пикселей при помощи вышеописанного процесса, могут быть выполнены такие компоненты, как секция фильтрации опорных пикселей и секция интерполяции опорных пикселей, перед генерированием блока предсказания.[00762] After configuring the reference pixels using the above process, components such as the reference pixel filtering section and the reference pixel interpolation section may be performed before generating a prediction block.

[00763] В случае секции фильтрации опорных пикселей, фильтрация может применяться в смежных пикселях с центром на целевом пикселе, и обычно чем больше количество пикселей, которые применяются к фильтру, тем более точный эффект фильтрации (например, сглаживания, увеличения четкости и т.д.) может быть достигнут.[00763] In the case of the reference pixel filtering section, the filtering can be applied to adjacent pixels centered on the target pixel, and generally, the larger the number of pixels that are applied to the filter, the more accurate the filtering effect (e.g., smoothing, sharpening, etc.) .) can be achieved.

[00764] В случае секции интерполяции опорных пикселей, фильтрация может применяться в смежных пикселях с центром на пикселях, подлежащих интерполяции, и чем больше количество пикселей, которые применяются к фильтру, тем более точный эффект фильтрации может быть сгенерирован.[00764] In the case of the reference pixel interpolation section, filtering can be applied in adjacent pixels centered on pixels to be interpolated, and the larger the number of pixels that are applied to the filter, the more accurate filtering effect can be generated.

[00765] Оба эти этапа служат в качестве процесса для выполнения фильтрации, и, в зависимости от ситуаций, могут генерироваться ненужные эффекты фильтрации. То есть при применении фильтрации на каждом этапе, в случае неблагоприятных эффектов при применении фильтрации на другом этапе, также может появляться требуемый эффект.[00765] Both of these steps serve as a process for performing filtering, and depending on situations, unnecessary filtering effects may be generated. That is, when applying filtering in each step, in case of adverse effects when applying filtering in another step, the desired effect can also occur.

[00766] Например, в процессе интерполяции опорных пикселей целевые десятичные пиксели интерполяции могут применять фильтрацию в смежных целочисленных пикселях, если в данном примере предполагается, что на предыдущем этапе применяется фильтрация опорных пикселей (т.е. применяется к пикселям целочисленных элементов), ошибка квантования каждого целочисленного пикселя может быть уменьшена при помощи фильтрации опорных пикселей, или также возможно создать случай, в котором ошибка квантования, напротив, дополнительно включается в интерполированный пиксель за счет использования этого пикселя в процессе интерполяции опорных пикселей.[00766] For example, in the process of interpolating reference pixels, interpolation target decimal pixels may apply filtering in adjacent integer pixels, if this example assumes that the previous step applies reference pixel filtering (i.e., applied to pixels of integer elements), a quantization error of each integer pixel can be reduced by filtering the reference pixels, or it is also possible to create a case in which the quantization error, on the contrary, is further included in the interpolated pixel by using this pixel in the reference pixel interpolation process.

[00767] (S1. Сглаживание Ref)[00767] (S1. Smoothing Ref)

[00768] m*=v0x1'+v1xm'+v2xn'[00768] m*=v0x1'+v1xm'+v2xn'

[00769] m*=m+k1[00769] m*=m+k1

[00770] (m - исходный пиксель, m* - фильтрованный пиксель, m' - пиксель до фильтрации, 1 и n' - смежные пиксели до выполнения фильтрации, v - коэффициент фильтра, и k1 - ошибка квантования)[00770] (m - original pixel, m* - filtered pixel, m' - pixel before filtering, 1 and n' - adjacent pixels before filtering, v - filter coefficient, and k1 - quantization error)

[00771] (S2. Процесс интерполяции)[00771] (S2. Interpolation process)

[00772] Z*=(w0xa'+w1xb'+w2xc'+w3xd,+w4xe,+w5xf)[00772] Z*=(w0xa'+w1xb'+w2xc'+w3xd,+w4xe,+w5xf)

[00773] z*=z+k2[00773] z*=z+k2

[00774] (z - исходный пиксель в указанном положении, z* - интерполированный пиксель; a'-f - смежные пиксели <фильтрация не выполнена>, w коэффициент фильтра, и k2 ошибка квантования)[00774] (z is the original pixel at the specified position, z* is the interpolated pixel; a'-f is the adjacent <filtering failed> pixels, w is the filter factor, and k2 is the quantization error)

[00775] (S3. Сглаживание Ref+процесс интерполяции)[00775] (S3. Smoothing Ref+interpolation process)

[00776] Z**=(w0xa*+w1xb*+w2xc*+w3xd*+w4xe*+w5xf*)[00776] Z**=(w0xa*+w1xb*+w2xc*+w3xd*+w4xe*+w5xf*)

[00777] z**=z+k3[00777] z**=z+k3

[00778] (z - исходный пиксель в указанном положении, и z** - интерполированный пиксель; a*-f* - смежные фильтрованные пиксели, w - коэффициент фильтра, и k3 - ошибка квантования)[00778] (z is the original pixel at the specified position and z** is the interpolated pixel; a*-f* are adjacent filtered pixels, w is the filter coefficient, and k3 is the quantization error)

[00779] В приведенных выше уравнениях входным значением пикселя в процесс S1 фильтрации опорных пикселей является смежный пиксель смежного блока, для которого завершено кодирование/декодирование, и выходным значением, получаемым при помощи вышеуказанного процесса, является пиксель, имеющий высокую вероятность близости к исходному пикселю для уменьшения ошибки квантования, вносимой в ходе кодирования/декодирования.[00779] In the above equations, the input pixel value to the reference pixel filtering process S1 is the adjacent pixel of the adjacent block for which encoding/decoding is completed, and the output value obtained by the above process is the pixel having a high probability of being close to the original pixel for reducing the quantization error introduced during encoding/decoding.

[00780] Кроме того, входным значением пикселя в процесс S2 интерполяции опорных пикселей является смежный пиксель смежного блока, для которого завершено кодирование/декодирование, и выходным значением, получаемым при помощи вышеуказанного процесса, является пиксель, имеющий высокую вероятность близости к исходному значению пикселя в указанном положении пикселя. При помощи этого процесса взвешенное суммирование применяется к смежным пикселям смежных блоков, включающих ошибку квантования, с целью получения интерполированных пикселей (т.е. в предположении, что фильтрация для уменьшения ошибки квантования не применяется, ошибка квантования может также снижаться за счет данного процесса), и, таким образом, возможно получать пиксели, которые уменьшают ошибку квантования и являются близкими к исходному пикселю. То есть могут генерироваться не только пиксели десятичных элементов, но также может иметь место эффект секции фильтрации нижних частот.[00780] In addition, the input pixel value to the reference pixel interpolation process S2 is the adjacent pixel of the adjacent block for which encoding/decoding is completed, and the output value obtained by the above process is a pixel having a high probability of being close to the original pixel value in specified pixel position. With this process, weighted summation is applied to adjacent pixels of adjacent blocks including quantization error to obtain interpolated pixels (i.e., assuming no filtering is applied to reduce quantization error, quantization error can also be reduced by this process), and thus it is possible to obtain pixels that reduce the quantization error and are close to the original pixel. That is, not only decimal element pixels may be generated, but the effect of a low-pass filtering section may also take place.

[00781] С другой стороны, в случае S3, где процессы выполняются последовательно, необходимо учитывать, может ли сохраняться эффект, который требуется получить в процессах. То есть это связано с тем, что выполнение фильтрации (выполнение только одного или двух фильтров и т.д.), тип фильтра (использование улучшенного фильтра или немного улучшенного фильтра; то есть даже если в процессе генерируется удовлетворительный эффект, этот эффект не достигается в других процессах или, наоборот, получается неудовлетворительный эффект), добавление отвода фильтра и т.д. не обязательно гарантируют удовлетворительный эффект фильтрации.[00781] On the other hand, in the case of S3, where the processes are performed sequentially, it is necessary to consider whether the effect that is desired to be obtained in the processes can be maintained. That is, it is due to the fact that the filtering performance (performing only one or two filters, etc.), the type of filter (using an improved filter or a slightly improved filter; that is, even if a satisfactory effect is generated in the process, this effect is not achieved in other processes or, conversely, an unsatisfactory effect is obtained), adding a filter tap, etc. do not necessarily guarantee a satisfactory filtering effect.

[00782] (2) Использование большего количества наборов опорных пикселей.[00782] (2) Using more reference pixel sets.

[00783] В данном примере для внутреннего предсказания выбирается более двух наборов опорных пикселей (более двух из ref_1, ref_2 и ref_3 на фиг. 29), когда в качестве групп кандидатов сконфигурировано множество наборов опорных пикселей.[00783] In this example, more than two reference pixel sets (more than two of ref_1, ref_2, and ref_3 in FIG. 29) are selected for intra prediction when multiple reference pixel sets are configured as candidate groups.

[00784] Если внутреннее предсказания выполняется с использованием множества наборов опорных пикселей, может возникнуть следующая ситуация.[00784] If intra prediction is performed using multiple sets of reference pixels, the following situation may occur.

[00785]<1>Как изображено на изображении а по фиг. 33, первый блок предсказания может генерироваться посредством набора ref_A опорных пикселей. То есть блок РА предсказания может генерироваться с использованием ref_А*, полученного с использованием ref_А и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей. Кроме того, блок РВ предсказания может генерироваться с использованием ref_В*, полученного при помощи процедуры предварительной обработки предсказания в отношении ref_В.[00785]<1>As shown in image a of FIG. 33, the first prediction block may be generated by the reference pixel set ref_A. That is, the prediction block PA may be generated using ref_A* obtained using ref_A and using a prediction pre-processing procedure such as reference pixel generation, reference pixel filtering, and reference pixel interpolation. In addition, the prediction PB block may be generated using ref_B* obtained by the prediction pre-processing procedure with respect to ref_B.

[00786] Конечный блок Р предсказания может генерироваться посредством полученного множества блоков предсказания.[00786] The final prediction block P may be generated by the obtained plurality of prediction blocks.

[00787] Например, к пикселям в ref_А применяется 3-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, и к пикселям в ref_А (т.е. пикселям после фильтрации опорных пикселей) применяется 4-отводная кубическая фильтрация посредством опорных пикселей. Кроме того, к пикселям, расположенным в ref_В, применяется 5-отводная фильтрация нижних частот, и к пикселям, расположенным в ref_B' (т.е. пикселям после фильтрации опорных пикселей), может применяться 6-отводная линейная интерполяционная фильтрация.[00787] For example, pixels in ref_A are 3-tap low-pass filtered by the reference pixel filtering section, and pixels in ref_A (i.e., pixels after the reference pixel is filtered) are 4-tap cube filtered by the reference pixels. In addition, 5-tap low-pass filtering is applied to pixels located in ref_B, and 6-tap linear interpolation filtering can be applied to pixels located in ref_B' (ie, pixels after reference pixel filtering).

[00788] Кроме того, каждый блок предсказания генерируется с использованием ref_A* и ref_B*, полученных при помощи вышеописанного процесса, а затем блок предсказания генерируется путем применения взвешенного среднего (например, применения высокого взвешенного значения, например, 3:1, к блоку предсказания, смежному с текущим блоком) и т.д.[00788] In addition, each prediction block is generated using ref_A* and ref_B* obtained using the above process, and then the prediction block is generated by applying a weighted average (for example, applying a high weighted value, for example, 3:1, to the prediction block , adjacent to the current block), etc.

[00789]<2>Как изображено на изображении b по фиг. 33, блок предсказания может генерироваться посредством наборов ref_А и ref_В опорных пикселей. В этом случае блок Р предсказания может генерироваться с использованием ref_A*, полученного с использованием ref_A и ref_B и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей.[00789]<2>As shown in image b of FIG. 33, a prediction block may be generated by the reference pixel sets ref_A and ref_B. In this case, the prediction block P may be generated using ref_A* obtained using ref_A and ref_B and using a prediction preprocessing procedure such as reference pixel generation, reference pixel filtering, and reference pixel interpolation.

[00790] Например, к пикселям, расположенным в ref_А, может применяться 3-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, а к пикселям, расположенным в ref_A', может применяться 4-отводная кубическая фильтрация при помощи секции интерполяции опорных пикселей. Кроме того, к пикселям, расположенным в ref_В, может применяться 5-отводная фильтрация нижних частот, а к пикселям, расположенным в ref_В', может применяться 2-отводная линейная интерполяционная фильтрация.[00790] For example, the pixels located in ref_A' can be 3-tap low-pass filtered by the reference pixel filtering section, and the pixels located in ref_A' can be 4-tap cubic filtered by the reference pixel interpolation section. In addition, pixels located in ref_B can be applied 5-tap low-pass filtering, and pixels located in ref_B' can be applied 2-tap linear interpolation filtering.

[00791] Кроме того, блок предсказания может генерироваться после получения ref* с использованием ref_A* и ref_B*, полученных в вышеописанном процессе. То есть после получения значений пикселей, соответствующих направленности режима внутреннего предсказания, в каждом наборе опорных пикселей (например, ра в ref_А* и pb в ref_В*) в соответствии с режимом предсказания, может быть применено взвешенное среднее (например, pa×A+pb×B) для генерирования блока предсказания.[00791] In addition, a prediction block may be generated after obtaining ref* using ref_A* and ref_B* obtained in the above process. That is, after obtaining the pixel values corresponding to the directivity of the intra prediction mode in each set of reference pixels (for example, pa in ref_A* and pb in ref_B*) according to the prediction mode, a weighted average (for example, pa×A+pb ×B) to generate a prediction block.

[00792] Для генерирования блока предсказания при помощи способов <1> и <2> (<1> представляет собой способ применения взвешенного среднего между блоками предсказания после генерирования этих блоков предсказания в каждом наборе опорных пикселей, <2> представляет собой способ применения взвешенного среднего между пикселями в процессе генерирования блока предсказания; то есть получаются одинаковые или аналогичные результаты, но процесс может отличаться) может использоваться более двух наборов пикселей.[00792] To generate a prediction block using the methods <1> and <2> (<1> is a method of applying a weighted average between prediction blocks after generating these prediction blocks in each set of reference pixels, <2> is a method of applying a weighted average between pixels in the process of generating a prediction block; that is, the same or similar results are obtained, but the process may differ) more than two sets of pixels may be used.

[00793] Ниже описана процедура предварительной обработки предсказания при использовании более двух наборов опорных пикселей.[00793] The prediction pre-processing procedure when using more than two sets of reference pixels is described below.

[00794] Например, при использовании наборов ref_1 и ref_2 опорных пикселей на фиг. 29, если в качестве опорных пикселей могут быть использованы положения Ref_TL и Ref_TR, а положение Ref_Т нельзя использовать как опорные пиксели, пиксели от Р (0, -1) до P(n-1, -1) в положении Ref_Т генерируются в ref_1 посредством смежных пикселей в Р (-1, -1) и Р (n, -1) из доступных опорных пикселей набора ref_1 опорных пикселей, и пиксели от Р (0, -2) до Р (n-1, -2) в положении Ref_T могут генерироваться в ref_2 посредством смежных пикселей в Р (-1, -2) и Р (n, -2) из доступных опорных пикселей набора ref_2 опорных пикселей.[00794] For example, when using the reference pixel sets ref_1 and ref_2 in FIG. 29, if Ref_TL and Ref_TR positions can be used as reference pixels, and Ref_T position cannot be used as reference pixels, pixels P(0, -1) to P(n-1, -1) at Ref_T position are generated at ref_1 by adjacent pixels in P(-1,-1) and P(n,-1) of the available reference pixels of the reference pixel set ref_1, and pixels from P(0,-2) to P(n-1,-2) at position Ref_T may be generated in ref_2 by adjacent pixels in P(-1,-2) and P(n,-2) from the available reference pixels of the reference pixel set ref_2.

[00795] Альтернативно блок предсказания может генерироваться с использованием доступных пикселей в ref_1 и ref_2 в положениях недоступных пикселей в ref_1, и блок предсказания также может генерироваться с использованием доступных пикселей в ref_2 и ref_1, как описано выше, в положениях недоступных пикселей в ref_2.[00795] Alternatively, the prediction block may be generated using the available pixels in ref_1 and ref_2 at the unavailable pixel positions in ref_1, and the prediction block may also be generated using the available pixels in ref_2 and ref_1, as described above, at the unavailable pixel positions in ref_2.

[00796] В случае секции фильтрации опорных пикселей, фильтрация может применяться к смежным пикселям с центром на целевом пикселе, и в случае секции интерполяции опорных пикселей фильтрация может применяться к смежным пикселям с центром на пикселе, подлежащем интерполяции.[00796] In the case of the reference pixel filtering section, filtering may be applied to adjacent pixels centered on the target pixel, and in the case of the reference pixel interpolation section, filtering may be applied to adjacent pixels centered on the pixel to be interpolated.

[00797] В данном примере, как также упоминается в случае использования одного набора опорных пикселей в (1) для генерирования блока предсказания, при применениях фильтрации создаются нежелательные эффекты.[00797] In this example, as also mentioned in the case of using one set of reference pixels in (1) to generate a prediction block, filtering applications create unwanted effects.

[00798] Следуя процедуре в (1), дальнейшее описание выполнено в предположении <1> в (2).[00798] Following the procedure in (1), the following description is made under the assumption <1> in (2).

[00799] (S4. Процесс внутреннего предсказания)[00799] (S4. Intra prediction process)

[00800] P=v0×P1+v1+P2[00800] P=v0×P1+v1+P2

[00801] Приведенная выше формула представляет процесс получения конечного блока предсказания путем выполнения взвешенного суммирования в отношении блоков предсказания, полученных с использованием каждого набора опорных пикселей. То есть необходимо учесть часть, относящуюся к получению блоков предсказания с использованием значений, которые получены при помощи процесса S3 в каждом наборе опорных пикселей и применения взвешенного суммирования блоков предсказания, вследствие чего возможно повысить точность блока предсказания.[00801] The above formula represents the process of obtaining a final prediction block by performing a weighted summation on the prediction blocks obtained using each set of reference pixels. That is, it is necessary to take into account the part related to obtaining prediction blocks using the values that are obtained by the S3 process in each set of reference pixels and applying the weighted summation of the prediction blocks, whereby it is possible to improve the accuracy of the prediction block.

[00802] Для проблем, которые необходимо учесть при помощи (1) и (2), способ может представлять собой решение, в котором в явном виде выбирается одна из множества групп кандидатов (например, в качестве группы кандидатов, связанной с фильтрацией опорных пикселей, выбирается одно из следующего: <без фильтрации, или 3-отводной фильтрации, или 5-отводной фильтрации>, в качестве группы кандидатов, связанной с интерполяцией опорных пикселей, выбирается одно из <4-отводной фильтрации или 6-отводной фильтрации>), и оптимальный способ для определения в неявном виде описан ниже.[00802] For the problems to be considered by (1) and (2), the method may be a solution in which one of the plurality of candidate groups is explicitly selected (for example, as the candidate group associated with the filtering of the reference pixels, one of the following is selected: <no filtering, or 3-tap filtering, or 5-tap filtering>, one of <4-tap filtering or 6-tap filtering> is selected as the candidate group associated with the interpolation of the reference pixels>), and the best way to determine implicitly is described below.

[00803] Процесс внутреннего предсказания, в котором блок предсказания генерируется с использованием одного набора опорных пикселей или с использованием более двух наборов опорных пикселей, описан посредством следующих вариантов осуществления.[00803] An intra prediction process in which a prediction block is generated using one set of reference pixels or using more than two sets of reference pixels is described by the following embodiments.

[00804] (3) Процедура предварительной обработки предсказания при использовании одного набора опорных пикселей[00804] (3) Prediction pre-processing procedure when using one set of reference pixels

[00805] Как изображено на изображении а по фиг. 34, для предсказанного опорного пикселя может потребоваться временное запоминающее устройство, которое может содержать главный массив или вспомогательный массив. В данном примере предполагается, что опорные пиксели задаются главным массивом, как изображено на фигуре.[00805] As shown in image a of FIG. 34, the predicted reference pixel may require temporary storage, which may include a main array or an auxiliary array. In this example, it is assumed that the reference pixels are given by the main array, as shown in the figure.

[00806] Как изображено на изображении а по фиг. 34, ref может быть заполнен пикселями из набора опорных пикселей, использованного для предсказания. В этом случае для конфигурирования ref опорные пиксели могут быть пропущены через секцию фильтрации опорных пикселей после конфигурирования или генерирования опорных пикселей, например, секцией генерирования опорных пикселей. Опорные пиксели, полученные при помощи секции фильтрации опорных пикселей, представляются как ref'. Затем опорные пиксели, полученные путем выполнения процесса интерполяции опорных пикселей в отношении ref', представляются как ref*, и блок предсказания может генерироваться с использованием ref*.[00806] As shown in image a of FIG. 34, ref may be filled with pixels from the set of reference pixels used for prediction. In this case, to configure ref, the reference pixels may be passed through a reference pixel filtering section after the reference pixels are configured or generated, for example, by a reference pixel generation section. The reference pixels obtained by the reference pixel filtering section are represented as ref'. Then, the reference pixels obtained by performing the reference pixel interpolation process with respect to ref' are represented as ref*, and a prediction block may be generated using ref*.

[00807] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции в отношении ref (изображение b на фиг. 12).[00807] *Integer element pixel consists of ref', decimal element pixel consists of ref* obtained by performing interpolation with respect to ref (image b in Fig. 12).

[00808] Как описано в приведенном выше примере, для ref* (пиксель целочисленного элемента из ref* является таким же, как ref') процесс фильтрации опорных пикселей и процесс интерполяции опорных пикселей выполняются последовательно, так что при применении пикселя целочисленного элемента, полученного при помощи этих процессов, в интерполяции пикселей десятичных элементов вследствие повторной фильтрации может быть получен опорный пиксель с менее высокой точностью. Поэтому процесс фильтрации опорных пикселей и процесс интерполяции опорных пикселей необходимо выполнять по отдельности.[00808] As described in the above example, for ref* (the integer element pixel of ref* is the same as ref'), the reference pixel filtering process and the reference pixel interpolation process are performed sequentially, so that when applying the integer element pixel obtained by With the help of these processes, in the interpolation of the decimal element pixels due to repeated filtering, a reference pixel with less high accuracy can be obtained. Therefore, the reference pixel filtering process and the reference pixel interpolation process need to be performed separately.

[00809] Например, фильтрация опорных пикселей может быть опущена, и может выполняться только интерполяция опорных пикселей. В этом случае пикселем целочисленного элемента, используемым для предсказания, может являться существующий смежный пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, полученный путем применения интерполяции к существующим смежным пикселям целочисленных элементов.[00809] For example, the filtering of the reference pixels may be omitted, and only interpolation of the reference pixels may be performed. In this case, the integer element pixel used for prediction may be an existing adjacent pixel to which no reference pixel filtering has been applied, and the decimal element pixel may be a pixel obtained by applying interpolation to existing adjacent integer element pixels.

[00810] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции с использованием ref (изображение с на фиг. 34).[00810] *An integer element pixel consists of ref', a decimal element pixel consists of ref* obtained by performing interpolation using ref (image c in Fig. 34).

[00811] Альтернативно, если интерполяция выполняется в отношении пикселей десятичных элементов, в качестве опорного пикселя вместо ref' может быть использован ref. В этом случае пикселем целочисленного элемента, используемым для предсказания, может являться пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, к которому интерполяция применяется путем использования существующих смежных пикселей как пикселей до выполнения фильтрации опорных пикселей.[00811] Alternatively, if interpolation is performed on decimal element pixels, ref can be used as a reference pixel instead of ref'. In this case, the integer element pixel used for prediction may be the pixel to which no reference pixel filtering has been applied, and the decimal element pixel may be the pixel to which interpolation is applied by using existing adjacent pixels as pixels prior to performing the reference pixel filtering.

[00812] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции с использованием ref (изображение d на фиг. 34).[00812] *Integer element pixel consists of ref', decimal element pixel consists of ref* obtained by performing interpolation using ref (image d in FIG. 34).

[00813] Количество фильтраций, применяемых к пикселям в каждом положении в ref, изображено с помощью изображений b d на фиг. 34. На изображениях c и d на фиг. 34 изображены примеры конфигурирования опорного пикселя путем применения не более одной фильтрации.[00813] The number of filters applied to the pixels at each position in ref is depicted by the images b d in FIG. 34. In images c and d in FIG. 34 shows examples of configuring a reference pixel by applying no more than one filter.

[00814] (4) Процедура предварительной обработки предсказания при использовании более двух наборов опорных пикселей[00814] (4) Prediction pre-processing procedure when using more than two sets of reference pixels

[00815] Для простоты описания, в предположении случая <2> в (2) предшествующего примера, для генерирования блока предсказания используются два набора опорных пикселей.[00815] For ease of description, assuming the case <2> in (2) of the preceding example, two sets of reference pixels are used to generate a prediction block.

[00816] После конфигурирования ref_А, при помощи секции фильтрации опорных пикселей может быть получен ref_А', и после выполнения процесса интерполяции опорных пикселей в отношении ref_А' может быть получен ref_A*. Кроме того, в случае ref_B, ref_B* может быть получен посредством ref_B', и для генерирования блока предсказания используются ref_A* и ref_B* (т.е. ref* на изображении b по фиг. 34). В этом случае блок предсказания может генерироваться с использованием пикселей целочисленных элементов или пикселей десятичных элементов в ref_A* и ref_B* в соответствии с режимом предсказания.[00816] After configuring ref_A, ref_A' can be obtained by the reference pixel filtering section, and after performing the reference pixel interpolation process with respect to ref_A', ref_A* can be obtained. Further, in the case of ref_B, ref_B* can be obtained by ref_B', and ref_A* and ref_B* (ie, ref* in image b of FIG. 34) are used to generate a prediction block. In this case, the prediction block may be generated using integer element pixels or decimal element pixels in ref_A* and ref_B* according to the prediction mode.

[00817] Как описано выше, для ref_A* и ref_B* процесс фильтрации опорных пикселей и процесс интерполяции опорных пикселей выполняются последовательно, так что при применении пикселя целочисленного элемента, полученного при помощи этих процессов, в интерполяции пикселей десятичных элементов вследствие повторной фильтрации может быть получен опорный пиксель с менее высокой точностью. Кроме того, поскольку пиксели, расположенные более чем в двух наборах опорных пикселей, дополнительно могут подвергаться фильтрации в виде взвешенного суммирования или т.п., для окончательного предсказания возможно выполнить фильтрацию в отношении пикселей слишком много раз.[00817] As described above, for ref_A* and ref_B*, the reference pixel filtering process and the reference pixel interpolation process are performed sequentially, so that by applying the integer element pixel obtained by these processes to the decimal element pixel pixel interpolation due to re-filtering, a reference pixel with less high precision. In addition, since pixels located in more than two reference pixel sets may be further subjected to weighted summation filtering or the like, it is possible to filter the pixels too many times for final prediction.

[00818] Ниже изображены различные комбинации опорных пикселей для пикселей предсказания. Например, пиксели предсказания могут генерироваться с использованием двух пикселей целочисленных элементов в ref_A и ref_B в соответствии с направленностью режима предсказания (например, вертикального режима, горизонтального режима и т.д.), пиксели предсказания могут генерироваться с использованием одного пикселя целочисленного элемента и одного пикселя десятичного элемента (например, направленного режима и т.д.), и пиксели предсказания могут генерироваться с использованием двух пикселей десятичных элементов (например, направленного режима и т.д.). Это может быть подтверждено с помощью изображений b-d на фиг. 35.[00818] Various combinations of reference pixels for prediction pixels are shown below. For example, prediction pixels may be generated using two integer element pixels in ref_A and ref_B according to the directivity of the prediction mode (e.g., vertical mode, horizontal mode, etc.), prediction pixels may be generated using one integer element pixel and one pixel decimal element (eg, directional mode, etc.), and prediction pixels may be generated using two decimal element pixels (eg, directional mode, etc.). This can be confirmed by images b-d in FIG. 35.

[00819] В приведенном выше случае, как изображено на изображении b по фиг. 34, в предположении, что применение фильтрации к единственному набору опорных пикселей рассматривается как случай, в котором применяется средневзвешенное значение с другими наборами опорных пикселей, количество фильтраций, применяемых на изображении b на фиг. 35, может составлять 2, количество фильтраций, применяемых на изображении с на фиг. 35, может составлять 3, и количество фильтраций, применяемых на изображении d на фиг. 35, может составлять 4.[00819] In the above case, as shown in image b of FIG. 34, assuming that applying filtering to a single reference pixel set is considered as a case in which a weighted average is applied with other reference pixel sets, the number of filters applied in image b in FIG. 35 may be 2, the number of filters applied in image c in FIG. 35 may be 3, and the number of filters applied in image d in FIG. 35 may be 4.

[00820] Для приведенного выше случая может быть применен следующий пример.[00820] For the above case, the following example can be applied.

[00821] Например, в каждом наборе опорных пикселей фильтрация опорных пикселей может быть опущена, и может выполняться только процесс интерполяции опорных пикселей. В этом случае целочисленным элементом, используемым для предсказания, может являться существующий смежный пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, полученный путем применения интерполяции к существующим смежным пикселям целочисленных элементов.[00821] For example, in each set of reference pixels, the filtering of the reference pixels may be omitted, and only the reference pixel interpolation process may be performed. In this case, the integer element used for prediction may be an existing adjacent pixel to which no reference pixel filtering has been applied, and the decimal element pixel may be a pixel obtained by applying interpolation to existing adjacent integer element pixels.

[00822] В частности, в случае фильтрации опорных пикселей применение фильтрации к пикселям, аналогичным целевому пикселю, может более эффективно снижать ошибку квантования. В данном примере предсказание выполняется с использованием более двух наборов опорных пикселей, что означает, что направленность текущего блока также существует на границе блока, включающего опорный пиксель (то есть более двух наборов опорных пикселей, смежных с текущим блоком). Поэтому, как и ранее, фильтрация выполняется с использованием только ближайшего пикселя независимо от направленности режима предсказания текущего блока, что аналогично фильтрации потенциально разных пикселей на основе значений целевого пикселя и исходного пикселя.[00822] In particular, in the case of reference pixel filtering, applying filtering to pixels similar to the target pixel can more effectively reduce quantization error. In this example, prediction is performed using more than two reference pixel sets, which means that directionality of the current block also exists at the boundary of the block containing the reference pixel (i.e., more than two reference pixel sets adjacent to the current block). Therefore, as before, filtering is performed using only the nearest pixel, regardless of the directionality of the current block prediction mode, which is similar to filtering potentially different pixels based on the values of the target pixel and the source pixel.

[00823] Альтернативно процессы фильтрации опорных пикселей и интерполяции опорных пикселей могут выполняться для каждого набора опорных пикселей. Однако, как изображено на изображении b по фиг. 35, если средневзвешенное значение применяется только к пикселям целочисленных элементов, могут использоваться пиксели, к которым применена фильтрация опорных пикселей, и, как изображено на изображении с по фиг. 35, если средневзвешенное значение применяется к пикселям целочисленных элементов и пикселям десятичных элементов, используемые пиксели целочисленных элементов могут использовать пиксели, к которым фильтрация опорных пикселей не применялась.[00823] Alternatively, the reference pixel filtering and reference pixel interpolation processes may be performed for each set of reference pixels. However, as shown in image b of FIG. 35, if the weighted average is only applied to integer element pixels, pixels to which the reference pixel filtering is applied can be used, and as shown in the image c of FIG. 35, if the weighted average is applied to integer element pixels and decimal element pixels, the integer element pixels used may use pixels to which reference pixel filtering has not been applied.

[00824] При помощи приведенных выше примеров, процедура предварительной обработки предсказания изображена для случая, в котором используется один набор опорных пикселей, и для случая, в котором используется более двух наборов опорных пикселей.[00824] With the above examples, the prediction pre-processing procedure is shown for a case in which one set of reference pixels is used and in a case in which more than two sets of reference pixels are used.

[00825] В приведенных выше примерах, несмотря на то что некоторые случаи описаны в случае, когда предполагается, что неблагоприятные эффекты появляются по причине повторного использования фильтра, он не может определять только одну характеристику изображения, и могут существовать другие варианты.[00825] In the above examples, although some cases are described in the case where it is assumed that adverse effects occur due to the repeated use of the filter, it cannot determine only one characteristic of the image, and there may be other options.

[00826] Например, для случаев (3) и (4) он может использоваться или фиксированным образом (например, независимо от такого состояния, как форма и размер текущего блока и режим предсказания), или адаптивно (например, определяться в соответствии с состоянием текущего блока).[00826] For example, for cases (3) and (4), it can be used either in a fixed manner (for example, regardless of a state such as the shape and size of the current block and the prediction mode), or adaptively (for example, determined according to the state of the current block).

[00827] В случае адаптивного использования (3) и (4), настройки в (3) и (4) могут применяться полностью или частично, и в некоторых случаях может быть также модифицирован или применен противоположный пример.[00827] In the case of adaptive use of (3) and (4), the settings in (3) and (4) may be applied in whole or in part, and in some cases the reverse example may also be modified or applied.

[00828] В качестве примера, в некоторых режимах (например, вертикальном, горизонтальном, диагональном режимах с углами 45 градусов, 135 градусов и т.д.) случая (3) может выполняться 5-отводная фильтрация нижних частот. В этом примере, поскольку процесс интерполяции в десятичных элементах не требуется, для уменьшения ошибки квантования может выполняться точная фильтрация (в предположении, что в данном примере фильтрация является более точной при большем количестве отводов).[00828] As an example, in some modes (eg, vertical, horizontal, diagonal 45 degrees, 135 degrees, etc.) of case (3), 5-tap low-pass filtering can be performed. In this example, since the interpolation process in decimals is not required, fine filtering can be performed to reduce quantization error (assuming that filtering is more accurate with more taps in this example).

[00829] Альтернативно, в некоторых режимах (например, направленном режиме и т.д.) в (3) может выполняться 3-отводная фильтрация нижних частот и 6-отводная гауссова интерполяционная фильтрация. В данном примере требуется процесс интерполяции десятичных элементов, и простая фильтрация может выполняться путем применения фильтрации к пикселям целочисленных элементов (например, в предположении, что в следующих случаях фильтрация является более простой, то есть типы фильтров отличаются, количество пикселей, к которым применяется фильтр, уменьшается, и количество отводов является небольшим) для уменьшения ошибок квантования множества фильтраций (в данном примере фильтрация опорных пикселей применяется к пикселям целочисленных элементов, и фильтрация применяется тогда, когда эти пиксели используются для интерполяции пикселей десятичных элементов). То есть может иметь место случай, как b на фиг. 34 (хотя и описанный как существующий случай при описании изображения b на фиг. 12, в данном примере описано, что случай b может быть применен вместо случаев с и d на фиг. 34).[00829] Alternatively, in some modes (eg, directional mode, etc.), 3-tap low-pass filtering and 6-tap Gaussian interpolation filtering can be performed in (3). In this example, a decimal element interpolation process is required, and simple filtering can be performed by applying filtering to integer element pixels (for example, assuming that in the following cases, filtering is more simple, that is, the types of filters are different, the number of pixels to which the filter is applied, is reduced and the number of taps is small) to reduce quantization errors of multiple filterings (in this example, reference pixel filtering is applied to integer element pixels, and filtering is applied when these pixels are used to interpolate decimal element pixels). That is, a case like b in FIG. 34 (although described as an existing case when describing image b in FIG. 12, this example describes that case b can be applied instead of cases c and d in FIG. 34).

[00830] В качестве примера, в (3) в случае блока (например, 32×32), который больше предварительно определенного размера, может выполняться 5-отводная фильтрация нижних частот и может выполняться 4-отводная кубическая интерполяционная фильтрация, но пиксели, применяемые при интерполяции, могут включать пиксели до фильтрации нижних частот (т.е. пиксели целочисленных элементов) как входные пиксели. Кроме того, в случае блока, который меньше предварительно определенного размера, выполняются те же процессы фильтрации опорных пикселей и интерполяции опорных пикселей, которые идентичны вышеописанному процессу, однако пиксели, применяемые при интерполяции, могут включать пиксели после фильтрации нижних частот как входные пиксели.[00830] As an example, in (3), in the case of a block (for example, 32×32) that is larger than a predetermined size, 5-tap low-pass filtering may be performed and 4-tap cubic interpolation filtering may be performed, but the pixels applied when interpolated, may include pixels before low-pass filtering (i.e., integer element pixels) as input pixels. In addition, in the case of a block that is smaller than the predetermined size, the same reference pixel filtering and reference pixel interpolation processes that are identical to the above process are performed, however, the pixels applied in the interpolation may include pixels after low-pass filtering as input pixels.

[00831] В качестве примера, в некоторых режимах (например, вертикальном, горизонтальном и т.д.) в (4) может выполняться 5-отводная фильтрация нижних частот в отношении каждого набора опорных пикселей (т.е. с использованием более точного фильтра, чем при использовании 3-отводного фильтра в других направленных режимах или использовании других типов фильтров, даже если они содержат такое же количество отводов). В данном примере, поскольку интерполяция не требуется, фильтрация может быть выполнена для уменьшения ошибки квантования. Альтернативно, 5-отводная фильтрация нижних частот может выполняться в отношении набора опорных пикселей, смежного с текущим блоком, а в отношении следующего смежного набора опорных пикселей может выполняться 3-отводная фильтрация нижних частот. В данном примере в отношении набора опорных пикселей может быть выполнена точная фильтрация (в данном примере предполагается, что взвешенные значения добавляются к пикселям вблизи текущего блока). Набор опорных пикселей присваивает более высокие взвешенные значения более чем двум наборам опорных пикселей. Альтернативно 5-отводная фильтрация нижних частот выполняется в отношении набора опорных пикселей, смежного с текущим блоком, а в отношении следующего смежного набора опорных пикселей фильтрация нижних частот не выполняется. Понятно, что в данном примере за счет центрирования на пикселях из набора опорных пикселей, имеющего более высокое взвешенное значение, фильтрация нижних частот применяется к пикселям, смежным с набором опорных пикселей, к которому принадлежит пиксель, и к пикселям, смежным с пикселем в других наборах опорных пикселей (т.е., если случаем согласно известному уровню техники является одномерная фильтрация, в данном примере понятно, что имеет место двумерная фильтрация).[00831] As an example, in some modes (e.g., vertical, horizontal, etc.) in (4), 5-tap low-pass filtering can be performed on each set of reference pixels (i.e., using a more accurate filter than when using a 3-tap filter in other directional modes or using other filter types even if they contain the same number of taps). In this example, since no interpolation is required, filtering can be performed to reduce the quantization error. Alternatively, 5-tap low-pass filtering may be performed on the reference pixel set adjacent to the current block, and 3-tap low-pass filtering may be performed on the next adjacent reference pixel set. In this example, a set of reference pixels can be fine filtered (in this example, the weighted values are assumed to be added to the pixels near the current block). The reference pixel set assigns higher weighted values to more than two reference pixel sets. Alternatively, 5-tap low-pass filtering is performed on the reference pixel set adjacent to the current block, and no low-pass filtering is performed on the next adjacent reference pixel set. It will be understood that in this example, by centering on pixels in the higher weighted reference pixel set, low-pass filtering is applied to pixels adjacent to the reference pixel set to which the pixel belongs and to pixels adjacent to a pixel in other sets. reference pixels (i.e., if the case according to the prior art is one-dimensional filtering, in this example it is clear that two-dimensional filtering takes place).

[00832] Кроме того, в некоторых режимах (например, направленном режиме и т.д.) в (4) 3-отводная фильтрация нижних частот выполняется в отношении каждого набора опорных пикселей, 8-отводная кубическая интерполяционная фильтрация выполняется в отношении набора опорных пикселей, смежного с текущим блоком, и 2-отводная линейная интерполяционная фильтрация может выполняться в отношении следующего смежного набора опорных пикселей. Альтернативно, вместо выполнения фильтрации нижних частот в отношении каждого набора опорных пикселей 6-отводная гауссова интерполяционная фильтрация выполняется в отношении набора опорных пикселей, смежного с текущим блоком, и 4-отводная гауссова интерполяционная фильтрация может выполняться в отношении следующего смежного набора опорных пикселей. Альтернативно 5-отводная фильтрация нижних частот может выполняться в отношении набора опорных пикселей, смежного с текущим блоком, 3-отводная фильтрация нижних частот может выполняться в отношении следующего смежного набора опорных пикселей, и 4-отводная кубическая интерполяционная фильтрация может выполняться в отношении каждого набора опорных пикселей. Альтернативно 3-отводная фильтрация нижних частот выполняется в отношении набора А опорных пикселей, смежного с текущим блоком, фильтрация нижних частот не выполняется в отношении следующего смежного набора В опорных пикселей, 8-отводная гауссова интерполяционная фильтрация выполняется в отношении набора А опорных пикселей, смежного с текущим блоком, и 4-отводная кубическая интерполяционная фильтрация выполняется в отношении следующего смежного набора В опорных пикселей.[00832] In addition, in some modes (for example, directional mode, etc.) in (4), 3-tap low-pass filtering is performed on each reference pixel set, 8-tap cubic interpolation filtering is performed on the reference pixel set adjacent to the current block, and 2-tap linear interpolation filtering may be performed on the next adjacent set of reference pixels. Alternatively, instead of performing low-pass filtering on each reference pixel set, 6-tap Gaussian interpolation filtering is performed on the reference pixel set adjacent to the current block, and 4-tap Gaussian interpolation filtering may be performed on the next adjacent reference pixel set. Alternatively, 5-tap low-pass filtering may be performed on the reference pixel set adjacent to the current block, 3-tap low-pass filtering may be performed on the next adjacent reference pixel set, and 4-tap cubic interpolation filtering may be performed on each reference pixel set. pixels. Alternatively, 3-tap low-pass filtering is performed on the reference pixel set A adjacent to the current block, no low-pass filtering is performed on the next adjacent reference pixel set B, 8-tap Gaussian interpolation filtering is performed on the reference pixel set A adjacent to the current block, and 4-tap cubic interpolation filtering is performed on the next adjacent set B of reference pixels.

[00833] В качестве примера, в (4) в случае блока, имеющего предварительно определенный или больший размер (например, 64×64), 4-отводная кубическая интерполяционная фильтрация может выполняться без выполнения фильтрации нижних частот в отношении каждого набора опорных пикселей. Кроме того, в блоке, который меньше предварительно заданного размера и больше предварительно заданного или большего размера (например, 16×16-64×64), 3-отводная фильтрация нижних частот, а также 4-отводная гауссова интерполяционная фильтрация выполняются для каждого набора опорных пикселей, но когда пиксели для взвешенного усреднения состоят только из набора пикселей целочисленных элементов, используются пиксели после фильтрации нижних частот, а когда пиксели для взвешенного усреднения состоят из комбинации целочисленных элементов и десятичных элементов, пиксели целочисленных элементов могут использовать пиксели до фильтрации нижних частот. Кроме того, в блоке, который меньше предварительно заданного размера (16×16), для каждого набора опорных пикселей выполняется 5-отводная фильтрация нижних частот и 6-отводная кубическая интерполяционная фильтрация, и пиксели для взвешенного усреднения, вне зависимости от того, являются они целочисленными элементами или десятичными элементами, могут использовать пиксели после фильтрации нижних частот.[00833] As an example, in (4), in the case of a block having a predetermined or larger size (for example, 64×64), 4-tap cubic interpolation filtering can be performed without performing low-pass filtering on each set of reference pixels. In addition, in a block that is smaller than a predetermined size and larger than a predetermined or larger size (for example, 16×16-64×64), 3-tap low-pass filtering as well as 4-tap Gaussian interpolation filtering are performed for each set of reference pixels, but when the weighted average pixels consist of only a set of integer element pixels, pixels after low-pass filtering are used, and when the weighted average pixels consist of a combination of integer elements and decimal elements, integer element pixels can use pixels before low-pass filtering. In addition, in a block that is smaller than the predetermined size (16×16), 5-tap low-pass filtering and 6-tap cubic interpolation filtering are performed for each set of reference pixels, and the pixels to be weighted average, regardless of whether they are integer elements or decimal elements can use pixels after low-pass filtering.

[00834] Согласно приведенному выше примеру, изображены различные случаи, в которых используется один набор опорных пикселей, и используется более двух наборов опорных пикселей, и т.д.[00834] According to the above example, various cases are shown in which one reference pixel set is used, and more than two reference pixel sets are used, and so on.

[00835] В отношении процедуры предварительной обработки предсказания может выполняться обработка в явном виде. То есть возможно сгенерировать один вид информации о выборе в отношении использования одного набора опорных пикселей или использования большего количества опорных пикселей, также возможно генерировать другой вид информации о выборе в отношении того, что для настроек фильтрации опорных пикселей фильтрация не выполняется, или фильтрация выполняется с использованием фильтра А или фильтра В, и возможно сгенерировать еще один вид информации о выборе в отношении использования фильтра А или фильтра В для настроек интерполяции опорных пикселей.[00835] Explicit processing may be performed on the prediction pre-processing procedure. That is, it is possible to generate one kind of selection information about using one set of reference pixels or using more reference pixels, it is also possible to generate another kind of selection information about whether filtering settings of the reference pixels are not performed, or filtering is performed using filter A or filter B, and it is possible to generate another kind of selection information regarding the use of filter A or filter B for reference pixel interpolation settings.

[00836] Альтернативно в отношении процедуры предварительной обработки предсказания может выполняться обработка в неявном виде. То есть количество наборов опорных пикселей, настройки фильтрации опорных пикселей и настройки интерполяции опорных пикселей, описанные выше, могут быть определены в неявном виде в соответствии с такой информацией о кодировании (состояниями), как размер блока, форма блока и режим предсказания. В этом случае, если количество наборов опорных пикселей определено как равное двум или более, может быть в неявном виде определено, что такая же настройка фильтрации опорных пикселей или интерполяции опорных пикселей или другая настройка выполняется в отношении множества наборов опорных пикселей.[00836] Alternatively, implicit processing may be performed on the prediction pre-processing procedure. That is, the number of reference pixel sets, the reference pixel filtering settings, and the reference pixel interpolation settings described above can be implicitly determined according to encoding information (states) such as block size, block shape, and prediction mode. In this case, if the number of reference pixel sets is determined to be two or more, it may be implicitly determined that the same reference pixel filtering setting or reference pixel interpolation or other setting is performed on the plurality of reference pixel sets.

[00837] Альтернативно в отношении процедуры предварительной обработки предсказания может выполняться смешанная обработка. То есть в некоторых случаях может выполняться обработка в неявном виде, и в других случаях может выполняться обработка в явном виде. В этом случае в соответствии с информацией о кодировании может быть определена ссылка на смешанную обработку. То есть обработка в неявном виде или обработка в явном виде может быть определена в соответствии с комбинацией по меньшей мере одного или более из определенного размера или формы блока или режима предсказания.[00837] Alternatively, mixed processing may be performed on the prediction pre-processing procedure. That is, implicit processing may be performed in some cases, and explicit processing may be performed in other cases. In this case, according to the encoding information, a mixed processing reference can be determined. That is, the implicit processing or the explicit processing may be determined according to a combination of at least one or more of the determined block size or shape or prediction mode.

[00838] В настоящем описании будет описан случай обработки в неявном виде или смешанной обработки. Для обоих процессов настройка внутреннего предсказания может быть сконфигурирована на основе информации о кодировании (например, о предварительной обработке предсказания и т.д., которая была описана выше как имеющая адаптивную конфигурацию только при предварительной обработке предсказания, но которая также имеет адаптивную конфигурацию в других процессах внутреннего предсказания <группа режимов-кандидатов внутреннего предсказания конфигурируется в следующем содержимом, то есть определяется из такой информации о кодировании, как количество режимов внутреннего предсказания и направление предсказания>).[00838] In the present description, the case of implicit processing or mixed processing will be described. For both processes, the intra prediction setting can be configured based on coding information (e.g., prediction preprocessing, etc., which has been described above as having an adaptive configuration only in prediction preprocessing, but which also has an adaptive configuration in other processes. intra prediction mode <an intra prediction mode candidate group is configured in the following content, that is, determined from coding information such as the number of intra prediction modes and the prediction direction>).

[00839] Указанное содержимое скомпоновано следующим образом.[00839] The specified content is arranged as follows.

[00840] (Кодер)[00840] (Encoder)

[00841]<1> Подтверждаются размер и форма текущего блока[00841]<1> The size and shape of the current block are confirmed

[00842] - Настройка группы режимов-кандидатов внутреннего предсказания (т.е. определение количества режимов, углов и т.д., которое может быть опущено, если имеется одна группа кандидатов)[00842] - Setting up an intra prediction mode candidate group (i.e. determining the number of modes, angles, etc., which can be omitted if there is one candidate group)

[00843]<2> Подтверждаются размер, форма и режим предсказания текущего блока (в этот момент режим предсказания определяется посредством группы режимов-кандидатов внутреннего предсказания, определенной в вышеупомянутом процессе)[00843]<2> The size, shape, and prediction mode of the current block are confirmed (at this point, the prediction mode is determined by the intra prediction mode candidate group determined in the above process)

[00844] - Настройка набора опорных пикселей (т.е. использование одного или более двух наборов)[00844] - Setting the reference pixel set (i.e. using one or more than two sets)

[00845] - Настройка фильтрации опорных пикселей (если имеется более двух наборов опорных пикселей, настройка фильтрации может быть определена в каждом наборе опорных пикселей)[00845] - Reference pixel filtering setting (if there are more than two reference pixel sets, a filtering setting can be defined in each reference pixel set)

[00846] - Настройка интерполяции опорных пикселей (аналогично, если имеется более двух наборов опорных пикселей, настройки интерполяции могут быть определены в каждом наборе)[00846] - Reference pixel interpolation setting (similarly, if there are more than two sets of reference pixels, interpolation settings can be defined in each set)

[00847]<3> Кодирование информации, связанной с внутренним предсказанием (если информация о выборе генерируется вследствие присутствия множества групп кандидатов в режиме предсказания и настройках вышеуказанного процесса, эта информация также включается в информацию о внутреннем предсказании).[00847]<3> Encoding information related to intra prediction (if selection information is generated due to the presence of multiple candidate groups in the prediction mode and settings of the above process, this information is also included in the intra prediction information).

[00848] (Декодирование)[00848] (Decoding)

[00849]<1> Подтверждаются размер и форма текущего блока (на предыдущем этапе информация о блоке анализируется секцией разделения блока, и связанная информация подтверждается)[00849]<1> The size and shape of the current block are confirmed (in the previous step, the block information is parsed by the block dividing section and related information is confirmed)

[00850] - Настройка группы режимов-кандидатов внутреннего предсказания (информация о режиме предсказания анализируется и восстанавливается в соответствии с группой кандидатов)[00850] - Intra prediction mode candidate group setting (prediction mode information is parsed and reconstructed according to the candidate group)

[00851]<2> Подтверждаются размер, форма и режим предсказания текущего блока[00851]<2> The size, shape and prediction mode of the current block are confirmed

[00852] - Настройка опорных пикселей[00852] - Adjustment of reference pixels

[00853] - Настройка фильтрации опорных пикселей[00853] - Reference pixel filtering setting

[00854] - Настройка интерполяции опорных пикселей[00854] - Reference pixel interpolation setting

[00855]<3> Декодирование информации, связанной с внутренним предсказанием (режима предсказания и другой, необязательной информации; можно считать, что на данном этапе выполняется анализ этой информации).[00855]<3> Decoding information related to intra prediction (prediction mode and other optional information; it can be considered that analysis of this information is performed at this stage).

[00856] В кодере группа режимов-кандидатов внутреннего предсказания может подтверждаться в соответствии с состоянием текущего блока. То есть определяется, какая группа кандидатов используется, и определенная группа кандидатов содержит конкретное количество режимов и конкретные конфигурации режимов. Подтверждение является тривиальным, если все условия групп режимов-кандидатов внутреннего предсказания являются одинаковыми, но подтверждение требуется, если используется более двух групп режимов-кандидатов внутреннего предсказания. То есть то, какая группа кандидатов используется, можно узнать в соответствии с состоянием текущего блока, или то, какая группа кандидатов используется, можно узнать в явном виде при помощи информации.[00856] In the encoder, a group of candidate intra prediction modes may be confirmed in accordance with the state of the current block. That is, it is determined which candidate group is used, and the determined candidate group contains a specific number of modes and specific mode configurations. Confirmation is trivial if all conditions of the intra prediction mode candidate groups are the same, but confirmation is required if more than two intra prediction mode candidate groups are used. That is, which candidate group is used can be known according to the state of the current block, or which candidate group is used can be explicitly known by information.

[00857] Номера режимов предсказания и т.п. присваиваются в соответствии с указанным процессом, но если группы режимов-кандидатов предсказания отличаются, направления или углы и т.п. каждого режима предсказания отличаются в соответствии с группами кандидатов, и поэтому может потребоваться процесс унификации групп кандидатов. То есть №50 при использовании режима предсказания на фиг. 9 может представлять собой вертикальный режим, однако №50 в другой группе режимов-кандидатов предсказания не обязательно является вертикальным режимом, поэтому требуется подтверждение.[00857] Numbers of prediction modes, etc. are assigned according to the specified process, but if the groups of candidate prediction modes are different, directions or angles, etc. of each prediction mode are different according to the candidate groups, and therefore a process of unification of the candidate groups may be required. That is, #50 when using the prediction mode in FIG. 9 may be the vertical mode, however, #50 in the other candidate prediction mode group is not necessarily the vertical mode, so confirmation is required.

[00858] Поэтому в настоящем документе описано, что операции, настройки и т.д. изменяются в зависимости от типа режима предсказания.[00858] Therefore, this document describes that operations, settings, etc. vary depending on the type of prediction mode.

[00859] Например, когда для определения выполнения обработки внутреннего предсказания (например, интерполяции опорных пикселей, фильтрации опорных пикселей и т.д.) используется условное предложение «if (intramode=Vertical)», если «intramode» представляет собой №50, и используется группа режимов-кандидатов предсказания, он может быть прямо определен для выполнения обработки внутреннего предсказания, но поскольку необходимо знать тип режима в группе режимов-кандидатов внутреннего предсказания (направленный режим или ненаправленный режим; если он является направленным режимом, определяется, принадлежит ли он к вертикальному или горизонтальному режиму, и если он не является направленным режимом, определяется, имеется ли направленный режим для генерирования блока предсказания только с использованием целочисленных пикселей и т.д.), он может быть введен в условное предложение после подтверждения направления вышеупомянутого режима в группе режимов-кандидатов предсказания. То есть, если (intramode<x>=Vertical), его следует изменить на такой процесс, что режим х является вертикальным в группе режимов-кандидатов внутреннего предсказания режима х.[00859] For example, when the conditional clause "if (intramode=Vertical)" is used to determine whether intra-prediction processing (e.g., reference pixel interpolation, reference pixel filtering, etc.) is used if "intramode" is #50, and the prediction mode candidate group is used, it can be directly determined to perform intra prediction processing, but since it is necessary to know the mode type in the intra prediction mode candidate group (directed mode or non-directional mode; if it is a directional mode, it is determined whether it belongs to vertical or horizontal mode, and if it is not a directional mode, it is determined whether there is a directional mode for generating a prediction block using only integer pixels, etc.), it can be entered into a conditional sentence after confirming the direction of the above mode in the mode group - prediction candidates. That is, if (intramode<x>=Vertical), it should be changed to such a process that mode x is vertical in the mode x intra-prediction candidate mode group.

[00860] Кроме того, для подтверждения настроек внутреннего предсказания необходимо подтвердить состояние текущего блока. В этом случае состояние текущего блока может быть определено в соответствии с по меньшей мере одним или более из размера, формы, режима предсказания и т.д. текущего блока. Набор опорных пикселей, фильтрация опорных пикселей, интерполяция опорных пикселей и т.д. задаются в соответствии с состоянием текущего блока. То есть может быть определено количество наборов опорных пикселей, то, какой набор опорных пикселей использовать, применять ли фильтрацию опорных пикселей, и какой использовать фильтр. Если связанная информация определяется в явном виде, может генерироваться флаг. Если связанная информация определена в неявном виде, она может быть определена в соответствии с информацией о кодировании (вышеописанное состояние текущего блока или тип <I/Р/В> текущего изображения, текущее изображение <Y/Cb/Cr> и т.д., которые могут оказывать влияние на настройки внутреннего предсказания).[00860] In addition, to confirm the intra prediction settings, it is necessary to confirm the state of the current block. In this case, the state of the current block may be determined according to at least one or more of size, shape, prediction mode, and so on. current block. Reference pixel set, reference pixel filtering, reference pixel interpolation, etc. are set according to the state of the current block. That is, the number of reference pixel sets, which reference pixel set to use, whether to apply reference pixel filtering, and which filter to use can be determined. If the associated information is explicitly specified, a flag may be generated. If the related information is implicitly defined, it can be determined according to the encoding information (the above-described state of the current block or type <I/P/B> of the current picture, the current picture <Y/Cb/Cr>, etc., which may affect the intra-prediction settings).

[00861] Несмотря на то что настоящее изобретение было описано с сосредоточением на наборе опорных пикселей, фильтрации опорных пикселей и интерполяции опорных пикселей, также могут быть включены другие настройки, связанные с внутренним предсказанием. Например, в процессе предсказания, как и ранее, в соответствии с информацией о кодировании также может быть определено, что блок предсказания генерируется с использованием (экстраполированных, усредненных и интерполированных) опорных пикселей в соответствии с режимом предсказания, или для генерирования блока предсказания и т.д. используются другие опорные пиксели, отличные от опорных пикселей, использованных в соответствии с существующей направленностью (например, с целью коррекции соответствующих пикселей предсказания в соответствии с положением пикселя предсказания поправочное значение генерируется путем дополнительного использования других опорных пикселей, а затем добавляется к существующему значению предсказания и т.д.), и т.д. В этом случае, если связанная информация определяется в явном виде, она также может быть известна посредством связанной информации об использованном способе предсказания, иначе, в случае неявного определения связанной информации, то, какой способ предсказания использовать, может быть определено посредством состояния текущего блока или т.п.[00861] Although the present invention has been described with a focus on the reference pixel set, reference pixel filtering, and reference pixel interpolation, other intra prediction-related settings may also be included. For example, in the prediction process, as before, according to the encoding information, it can also be determined that a prediction block is generated using (extrapolated, averaged, and interpolated) reference pixels according to the prediction mode, or to generate a prediction block, etc. d. different reference pixels are used than the reference pixels used according to the existing directionality (for example, in order to correct the corresponding prediction pixels according to the position of the prediction pixel, the correction value is generated by additionally using other reference pixels and then added to the existing prediction value, etc. .d.), etc. In this case, if the related information is explicitly defined, it can also be known by the related information about the prediction method used, otherwise, in the case of implicit definition of the related information, which prediction method to use can be determined by the state of the current block or t .P.

[00862] В декодере связанное с ним описание может быть получено в обратном порядке относительно содержимого кодера. В случае явной части, связанная информация подвергается анализу. В случае неявной части, связанная информация определяется в соответствии с информацией о кодировании и т.д.[00862] In the decoder, the description associated with it can be obtained in reverse order relative to the contents of the encoder. In the case of an explicit part, the related information is parsed. In the case of the implicit part, the related information is determined according to the encoding information, etc.

[00863] В приведенном выше описании настройка фильтрации опорных пикселей и настройка интерполяции опорных пикселей могут быть определены с учетом содержимого изменения настройки с количеством наборов опорных пикселей, используемых в настоящем описании.[00863] In the above description, the reference pixel filtering setting and the reference pixel interpolation setting may be determined in view of the setting change content with the number of reference pixel sets used in the present description.

ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬINDUSTRIAL APPLICABILITY

[00864] Настоящее изобретение может быть применено для кодирования/декодирования сигнала изображения.[00864] The present invention can be applied to encoding/decoding an image signal.

Claims (18)

1. Способ внутреннего предсказания, включающий: 1. The method of intra prediction, including: получение режима внутреннего предсказания текущего блока; obtaining an intra prediction mode of the current block; определение линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; determining a pixel line for intra prediction of the current block among the plurality of pixel lines; выборочное выполнение фильтрации в отношении первого опорного пикселя определенной линии пикселей на основе первого флага, указывающего, подвергали ли фильтрации первый опорный пиксель для внутреннего предсказания; и selectively performing filtering on the first reference pixel of the determined pixel line based on the first flag indicating whether the first reference pixel has been filtered for intra prediction; And выполнение внутреннего предсказания текущего блока на основе режима внутреннего предсказания и определенной линии пикселей, performing intra prediction of the current block based on the intra prediction mode and the determined pixel line, при этом первый флаг получают с устройства для декодирования на основе параметра кодирования текущего блока, и wherein the first flag is received from the device for decoding based on the encoding parameter of the current block, and параметр кодирования содержит то, применяли ли внутреннее предсказание в элементах подблоков. the encoding parameter contains whether intra-prediction has been applied in the sub-block elements. 2. Способ внутреннего предсказания по п. 1, отличающийся тем, что 2. The method of intra prediction according to claim 1, characterized in that параметр кодирования дополнительно содержит размер блока, тип цветовой компоненты или режим внутреннего предсказания. the encoding parameter further comprises a block size, a color component type, or an intra prediction mode. 3. Способ внутреннего предсказания по п. 1, отличающийся тем, что дополнительно включает: 3. The method of intra prediction according to claim 1, characterized in that it further includes: выполнение коррекции в отношении пикселя предсказания текущего блока в соответствии с внутренним предсказанием. performing correction on the prediction pixel of the current block according to the intra prediction. 4. Способ внутреннего предсказания по п. 3, отличающийся тем, что операция выполнения коррекции дополнительно включает: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока. 4. The intra prediction method of claim 3, wherein the step of performing the correction further comprises: determining at least one of the second reference pixel or a weighted value for correction based on the position of the prediction pixel of the current block. 5. Способ внутреннего предсказания по п. 4, отличающийся тем, что 5. The method of intra prediction according to claim 4, characterized in that коррекцию выборочно выполняют с учетом по меньшей мере одного из положения линии пикселей текущего блока, режима внутреннего предсказания текущего блока или того, выполняли ли внутреннее предсказание в элементах подблоков текущего блока. the correction is selectively performed considering at least one of a pixel line position of the current block, an intra prediction mode of the current block, or whether intra prediction has been performed on subblock elements of the current block. 6. Способ внутреннего предсказания по п. 1, отличающийся тем, что 6. The method of intra prediction according to claim 1, characterized in that внутреннее предсказание выполняют в элементах подблоков текущего блока, и intra prediction is performed on subblock elements of the current block, and подблоки определяют на основе по меньшей мере одного из второго флага, указывающего, следует ли выполнять разделение информации о направлении разделения или информации о количестве разделений. the sub-blocks are determined based on at least one of the second flag indicating whether to perform division of the division direction information or division number information. 7. Способ внутреннего предсказания по п. 1, отличающийся тем, что дополнительно включает: получение режима внутреннего предсказания на основе предварительно определенного режима по умолчанию или множества наиболее вероятных режимов (MPM)-кандидатов.7. The intra prediction method of claim 1, further comprising: obtaining an intra prediction mode based on a predetermined default mode or a set of most likely candidate modes (MPM).
RU2021101193A 2018-06-25 2019-06-25 Method and device for intra-frame prediction RU2795549C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0072558 2018-06-25
KR10-2018-0076783 2018-07-02

Related Child Applications (4)

Application Number Title Priority Date Filing Date
RU2023111167A Division RU2816427C2 (en) 2018-06-25 2019-06-25 Method and device for intraframe prediction
RU2023111168A Division RU2815921C2 (en) 2018-06-25 2019-06-25 Method and device for intraframe prediction
RU2023111169A Division RU2817117C2 (en) 2018-06-25 2019-06-25 Method and device for intraframe prediction
RU2023111166A Division RU2816201C2 (en) 2018-06-25 2019-06-25 Method and device for intraframe prediction

Publications (2)

Publication Number Publication Date
RU2021101193A RU2021101193A (en) 2022-07-25
RU2795549C2 true RU2795549C2 (en) 2023-05-05

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2513708C1 (en) * 2009-08-17 2014-04-20 Самсунг Электроникс Ко., Лтд. Video encoding method and apparatus, and video decoding method and apparatus
WO2017190288A1 (en) * 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
WO2017222325A1 (en) * 2016-06-24 2017-12-28 주식회사 케이티 Video signal processing method and device
WO2018016823A1 (en) * 2016-07-18 2018-01-25 한국전자통신연구원 Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018070790A1 (en) * 2016-10-14 2018-04-19 세종대학교 산학협력단 Image encoding/decoding method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2513708C1 (en) * 2009-08-17 2014-04-20 Самсунг Электроникс Ко., Лтд. Video encoding method and apparatus, and video decoding method and apparatus
WO2017190288A1 (en) * 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
WO2017222325A1 (en) * 2016-06-24 2017-12-28 주식회사 케이티 Video signal processing method and device
WO2018016823A1 (en) * 2016-07-18 2018-01-25 한국전자통신연구원 Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018070790A1 (en) * 2016-10-14 2018-04-19 세종대학교 산학협력단 Image encoding/decoding method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YAO-JEN CHANG et al, Arbitrary reference tier for intra directional modes, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-C0043, 3rd Meeting: Geneva, 26 May - 1 June 2016. *
YONGBING LIN et al, Simplified Planar Intra Prediction, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-E289, 5th Meeting: Geneva, 16-23 March 2011. *

Similar Documents

Publication Publication Date Title
CN113347423B (en) Intra-frame prediction method and device
KR102394226B1 (en) Method for encoding/decoing video using intra prediction and apparatus for the same
KR102443959B1 (en) In-loop filtering method according to adaptive pixel classification criteria
CN111937395A (en) Method and apparatus for encoding/decoding image
Pfaff et al. Video compression using generalized binary partitioning, trellis coded quantization, perceptually optimized encoding, and advanced prediction and transform coding
CN112335249A (en) Method and apparatus for encoding/decoding image
RU2795549C2 (en) Method and device for intra-frame prediction
RU2815921C2 (en) Method and device for intraframe prediction
RU2816427C2 (en) Method and device for intraframe prediction
RU2816201C2 (en) Method and device for intraframe prediction
RU2817117C2 (en) Method and device for intraframe prediction
JP7453236B2 (en) Image encoding/decoding method and device