RU2817117C2 - Method and device for intraframe prediction - Google Patents

Method and device for intraframe prediction Download PDF

Info

Publication number
RU2817117C2
RU2817117C2 RU2023111169A RU2023111169A RU2817117C2 RU 2817117 C2 RU2817117 C2 RU 2817117C2 RU 2023111169 A RU2023111169 A RU 2023111169A RU 2023111169 A RU2023111169 A RU 2023111169A RU 2817117 C2 RU2817117 C2 RU 2817117C2
Authority
RU
Russia
Prior art keywords
block
mode
prediction
pixel
encoding
Prior art date
Application number
RU2023111169A
Other languages
Russian (ru)
Other versions
RU2023111169A (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 RU2023111169A publication Critical patent/RU2023111169A/en
Application granted granted Critical
Publication of RU2817117C2 publication Critical patent/RU2817117C2/en

Links

Abstract

FIELD: image encoding and decoding.
SUBSTANCE: invention relates to the technology of encoding and decoding an image and, in particular, to a method and device for encoding/decoding of internal prediction. Disclosed is an intraframe prediction device configured to obtain an intraframe prediction mode of the current block, determining, among a plurality of pixel lines, a pixel line for intraframe prediction of the current block and performing intraframe prediction of current block based on intraframe prediction mode and pixel line, wherein obtaining includes: obtaining an internal prediction mode based on a predetermined default mode or a group of most probable modes (MPM) candidates. 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 intraframe prediction accuracy can be improved.
EFFECT: high efficiency of compressing images.
20 cl, 35 dwg, 5 tbl

Description

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

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

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

[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 are being developed.

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

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

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

[0004] Настоящее изобретение относится к технологии кодирования и декодирования изображения и, в частности, к способу и устройству для кодирования/декодирования внутреннего предсказания.[0004] The present invention relates to an image encoding and decoding technology, and in particular 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 a 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 line of pixels.

[0007] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, фильтрация может быть выборочно выполнена на основе первого флага, указывающего, подвергался ли фильтрации первый опорный пиксель для внутреннего предсказания.[0007] According to the intra prediction method and apparatus of the present invention, filtering may 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 apparatus for intra prediction according to the present invention, the first flag may be obtained from the apparatus for decoding based on an encoding parameter of the current block, and the encoding parameter may comprise at least one of block size, component type, intra mode prediction or whether intra prediction was applied to the subblock elements.

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

[0010] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция выполнения коррекции может дополнительно включать: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока.[0010] According to the method and apparatus for intra prediction according to the present invention, the operation of performing correction may further include: determining at least one of the second reference pixel or 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, correction may be selectively performed taking into account at least one of the pixel line position of the current block, the intra prediction mode of the current block, or whether intra prediction has been performed on subblock elements of the current block. block.

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

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

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

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

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

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

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

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

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

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

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

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

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

[0023] На фиг. 5 представлена принципиальная схема, изображающая различные формы блоков, которые могут быть получены при помощи секции разделения блока согласно настоящему изобретению.[0023] In FIG. 5 is a schematic diagram showing various block shapes that can be obtained by using the block separating 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 a tree division according to an embodiment of the present invention.

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

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

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

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

[0030] На фиг. 12 представлена принципиальная схема для разъяснения диапазона опорного пикселя для внутреннего предсказания.[0030] In 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] In FIG. 14 and 15 show some examples of confirming the division information of each block.

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

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

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

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

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

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

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

[0040] На фиг. 26 представлена принципиальная схема взаимосвязи между текущим блоком и смежным блоком.[0040] In 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 directionality of the prediction mode.

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

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

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

[0044] Способ и устройство для внутреннего предсказания согласно настоящему изобретению выполнены с возможностью получения режима внутреннего предсказания текущего блока, определения среди множества линий пикселей линии пикселей для внутреннего предсказания текущего блока и выполнения внутреннего предсказания текущего блока на основе режима внутреннего предсказания и определенной линии пикселей.[0044] The intra prediction method and apparatus of the present invention is configured to obtain an intra prediction mode of a current block, determine among a 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] According to the intra prediction method and apparatus of the present invention, the first reference pixel of a certain line of pixels may be filtered.

[0046] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, фильтрация может быть выборочно выполнена на основе первого флага, указывающего, подвергался ли фильтрации первый опорный пиксель для внутреннего предсказания.[0046] According to the intra prediction method and apparatus of the present invention, filtering may 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 apparatus for intra prediction according to the present invention, the first flag may be obtained from the apparatus for decoding based on an encoding parameter of the current block, and the encoding parameter may comprise at least one of block size, component type, intra mode prediction or whether intra prediction was applied to the subblock elements.

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

[0049] В соответствии со способом и устройством для внутреннего предсказания согласно настоящему изобретению, операция коррекции может дополнительно включать: определение по меньшей мере одного из второго опорного пикселя или взвешенного значения для коррекции на основе положения пикселя предсказания текущего блока.[0049] According to 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 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 may be selectively performed taking into account at least one of the pixel line position of the current block, the intra prediction mode of the current block, or whether intra prediction has been performed on subblock 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 subblock elements of the current block, and the subblocks may be determined based on at least one of the second flag indicating whether to perform division, information about partition direction or partition number information.

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

[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 intended to include all changes, equivalents and substitutions that fall within the spirit and scope of the present invention.

[0054] Такие термины, как первый, второй, A и B, могут использоваться для описания различных элементов, но эти элементы не следует ограничивать такими терминами. Эти термины предназначены только для отличения одного элемента от другого. Например, первый элемент может быть назван вторым элементом, и, аналогично, второй элемент может быть назван первым элементом без выхода за пределы объема настоящего изобретения. Термин «и/или» может включать в себя комбинацию множества связанных перечисленных объектов или любого из множества связанных перечисленных объектов.[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 intended only to distinguish one element from another. For example, the first element may be referred to as the second element, and likewise, 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 entities or any of a plurality of related listed entities.

[0055] Следует понимать, что, если элемент называется «соединенным» или «связанным» с другим элементом, элемент может быть непосредственно соединен или связан с другим элементом. Однако следует понимать, что между ними может присутствовать еще один элемент. С другой стороны, если элемент называется «непосредственно соединенным» или «непосредственно связанным» с другим элементом, следует понимать, что между ними нет другого элемента.[0055] It should be understood that when an element is said to be "connected" or "coupled" to another element, the element may be directly connected or connected to the other element. However, it should be understood that there may be another element present in between. 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. As used herein, a term such as “include” or “have” is intended to indicate the presence of the features, numbers, steps, acts, components, parts, or combinations thereof described in the specification, and it is to be understood that the term does not exclude the possibility of having 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 commonly understood by one skilled in the art to which the present invention relates. Terms such as those defined in a commonly used vocabulary 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 expressly defined herein.

[0058] Устройства для кодирования и декодирования видео могут представлять собой пользовательские терминалы, такие как персональный компьютер (PC), ноутбук, персональный цифровой ассистент (PDA), портативный мультимедийный проигрыватель (PMP), игровую консоль PlayStation Portable (PSP), терминал беспроводной связи, смартфон, телевизор, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство смешанной реальности (MR), наголовный дисплей (HMD) и умные очки, или серверные терминалы, такие как сервер приложений и сервер услуг, и могут включать в себя различные устройства, такие как устройство связи, содержащее модем связи, для осуществления связи с различными устройствами или сетями проводной/беспроводной связи, запоминающее устройство для хранения различных программ и данных для кодирования или декодирования изображения или для выполнения предсказания, осуществляемого между изображениями или внутри изображения, для кодирования или декодирования, процессор для исполнения программы для выполнения операций вычисления и управления и т.д. Кроме того, изображение, закодированное как битовый поток с помощью устройства для кодирования изображения, может быть передано на устройство для декодирования изображения в реальном времени или не в реальном времени через проводную или беспроводную сеть, такую как Интернет, локальная сеть, беспроводная сеть LAN, сеть WiBro или сеть мобильной связи, или через различные интерфейсы связи, такие как кабель и универсальная последовательная шина (USB), декодировано устройством для декодирования изображения и восстановлено и воспроизведено как изображение.[0058] The 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 (PSP) game console, 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 devices or wired/wireless communication networks, a storage device for storing various programs and data for encoding or decoding an image or for performing prediction carried out between images or within images, for encoding or decoding, a processor for executing a program to perform calculation and control operations, etc. In addition, an image encoded as a bitstream by the image encoding apparatus may be transmitted to the image decoding apparatus 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 phone network, or through various communication interfaces such as cable and universal serial bus (USB), is decoded by the image decoding device and reconstructed and reproduced as an image.

[0059] Кроме того, изображение, закодированное как битовый поток с помощью устройства для кодирования изображения, может быть передано от устройства для кодирования на устройство для декодирования посредством машиночитаемого носителя данных.[0059] In addition, an image encoded as a bitstream by the image encoding apparatus may be transmitted from the encoding apparatus to the decoding apparatus 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 configured 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 devices for decoding images.

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

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

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

[0064] Обычно изображение может быть выполнено как ряд неподвижных изображений, причем эти неподвижные изображения можно классифицировать по элементам группы кадров (GOP), и каждое неподвижное изображение может называться кадром. В этом случае кадр может представлять одно из фрейма или поля в сигнале с прогрессивной разверткой или сигнале с чересстрочной разверткой, и изображение может быть выражено как «фрейм», если кодирование/декодирование выполняется в элементах фреймов, и выражено как «поле», если кодирование/декодирование выполняется в элементах полей. В настоящем изобретении рассматривается и описывается сигнал с прогрессивной разверткой. Однако настоящее изобретение может быть применено и к сигналу с чересстрочной разверткой. В концепции более высокого уровня могут существовать такие элементы, как GOP и последовательность, и каждый кадр может быть разделен на предварительно определенные области, такие как срезы, плитки и блоки. Кроме того, одна GOP может содержать элементы, такие как кадр I, кадр P и кадр B. Кадр I может относиться к кадру, который сам закодирован/декодирован без использования опорного кадра, а кадр P и кадр B могут относиться к кадрам, которые закодированы/декодированы за счет выполнения такого процесса, как оценка движения и компенсация движения, с использованием опорного кадра. В целом, кадр I и кадр P могут использоваться в качестве опорных кадров в случае кадра P, и кадр I и кадр P могут использоваться в качестве опорных кадров в случае кадра B. Однако вышеприведенное определение может быть изменено посредством настройки кодирования/декодирования.[0064] Typically, an image may be configured as a series of still images, wherein these still images may be classified into Group of Pictures (GOP) elements, and each still image may be referred to as a frame. In this case, a frame may represent one of a frame or a field in a progressive scan signal or an interlaced signal, and the image may be expressed as a "frame" if encoding/decoding is performed in frame elements, and expressed as a "field" if encoding /decoding is performed in field elements. The present invention contemplates and describes a progressive scan 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 areas 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. An I frame may refer to a frame that is itself encoded/decoded without using a reference frame, and a P frame and a B frame may refer to frames that are encoded /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 can be used as reference frames in the case of a P frame, and an I frame and a P frame can be used as reference frames in the case of a B frame. However, the above definition can be changed by encoding/decoding settings.

[0065] В данном случае кадр для кодирования/декодирования называется опорным кадром, а относящийся к нему блок или пиксель называется опорным блоком или опорным пикселем. Кроме того, опорные данные могут представлять собой не только значение пикселя в пространственной области, но также значение коэффициента в частотной области и различные типы информации о кодировании/декодировании, сгенерированной и определенной во время процесса кодирования/декодирования. Их примеры могут представлять собой информацию, связанную с внутренним предсказанием, или информацию, связанную с движением в секции предсказания, информацию, связанную с преобразованием в секции преобразования/секции обратного преобразования, информацию, связанную с квантованием в секции квантования/секции обратного квантования, информацию, связанную с кодированием/декодированием (контекстную информацию) в секции кодирования/секции декодирования, информацию, связанную с фильтром в секции фильтра в контуре, и т.д.[0065] Here, the frame to be encoded/decoded is called a reference frame, and the block or pixel associated with 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 intra prediction related information or motion related information in the prediction section, transformation related information in the transform section/inverse transform section, quantization related information in the quantization section/inverse quantization section, information encoding/decoding related information (contextual information) in the encoding section/decoding section, filter related information in the filter section in the loop, etc.

[0066] Наименьший элемент, составляющий изображение, может представлять собой пиксель, и количество битов, используемых для представления одного пикселя, называется битовой глубиной. В целом, битовая глубина может составлять 8 битов, и согласно настройкам кодирования может поддерживаться битовая глубина более 8 битов. В качестве битовой глубины может поддерживаться по меньшей мере одна битовая глубина согласно цветовому пространству. Кроме того, по меньшей мере одно цветовое пространство может быть выполнено в соответствии с форматом цвета изображения. Один или более кадров, имеющих определенный размер, или один или более кадров, имеющих разные размеры, могут быть предусмотрены согласно формату цвета. Например, в случае YCbCr 4:2:0 могут быть предусмотрены одна компонента яркости (Y в этом примере) и две цветоразностные компоненты (Cb/Cr в этом примере). В этом примере компонентное соотношение цветоразностных компонент и компоненты яркости может представлять собой соотношение 1:2 в ширину и высоту. В качестве другого примера, в случае 4:4:4 ширина и высота могут быть такими же в компонентном соотношении. В случае наличия одного или более цветовых пространств, как в вышеприведенном примере, кадр может быть разделен на соответствующие цветовые пространства.[0066] The smallest element that makes up an image may be a pixel, and the number of bits used to represent one pixel is called the bit depth. In general, the bit depth can be 8 bits, and according to the encoding settings, bit depths greater than 8 bits can be supported. As a bit depth, at least one bit depth according to a color space may be supported. In addition, the at least one color space may be configured to match 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 luma 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 chrominance 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 component ratio. If there are one or more color spaces, as in the example above, the frame can be divided into the corresponding color spaces.

[0067] В настоящем изобретении описание будет приведено на основе некоторых цветовых пространств (Y в этом примере) некоторых форматов цвета (YCbCr в этом примере), и такое же или аналогичное применение (настройка, зависящая от конкретного цветового пространства) может быть применено к другим цветовым пространствам (Cb и Cr в этом примере) согласно формату цвета. Однако в каждое цветовое пространство могут быть внесены некоторые отличия (не зависящие от настройки для конкретного цветового пространства). Другими словами, настройка, зависящая от каждого цветового пространства, может означать наличие настройки, связанной с компонентным соотношением каждой компоненты, или зависящей от него (например, 4:2:0, 4:2:2, 4:4:4 и т.д.), а независимая настройка для каждого цветового пространства может означать наличие настройки только соответствующего цветового пространства, не учитывающей или не зависящей от компонентного соотношения каждой компоненты. В настоящем изобретении в зависимости от кодера/декодера некоторые конфигурации могут иметь независимые или зависимые настройки.[0067] In the present invention, description will be given based on some color spaces (Y in this example), some color formats (YCbCr in this example), and the same or similar application (tuning depending on the specific color space) can be applied to others color spaces (Cb and Cr in this example) according to the color format. However, each color space may have some differences (independent of the setting for a particular color space). In other words, a setting that is specific to each color space may mean that there is a setting that is related to or dependent on the component ratio of each component (e.g., 4:2:0, 4:2:2, 4:4:4, etc.). etc.), and an independent setting for each color space may mean that there is only a setting for the corresponding color space, not taking into account or depending 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] Setting information or a 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 the 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 same layer to recover the setting information transmitted from the encoder, and use the recovered setting information in the image decoding process. In addition, the associated information can be transmitted as a bit stream in the form of additional optimization information (SEI) or metadata, and it can be analyzed and used. Each set of options has a unique ID value, and the bottom set of options can have the ID value of the top set of options that should be referenced. For example, the lower parameter set may refer to information from the upper parameter set having the same ID value among one or more upper parameter sets. Among the examples of various elements mentioned above, when one element includes one or more other elements, the corresponding element may be called a top element, and the included element may be called a 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 a previous, subsequent, or top element. In this case, the dependent setting can be understood as indicating information about the settings of the corresponding element as flag information indicating that the setting of the previous, subsequent or top element is respected (for example, a 1-bit flag, the setting is respected in case 1 and not respected in case 0) . The description of the 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 subsequent element relative to the current element or the top element may be included.

[0070] На фиг. 1 представлена структурная схема устройства для кодирования изображения согласно варианту осуществления настоящего изобретения. На фиг. 2 представлена структурная схема устройства для декодирования изображения согласно варианту осуществления настоящего изобретения.[0070] In 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, an image encoding apparatus may include a prediction section, a subtraction section, a transform section, a quantization section, an inverse quantization section, an inverse transform section, an addition section, an in-loop filter section, a storage device, and/or an encoding section. Some of the above components may optionally be included, some or all of the components may be selectively included as needed, and some other configurations not depicted in the figure may be included.

[0072] Со ссылкой на фиг. 2, устройство для декодирования изображения может содержать секцию декодирования, секцию предсказания, секцию обратного квантования, секцию обратного преобразования, секцию сложения, секцию фильтра в контуре и/или запоминающее устройство. Некоторые из вышеперечисленных компонентов, необязательно, могут быть включены, некоторые или все из компонентов могут быть включены выборочно по мере необходимости, и могут быть включены некоторые другие конфигурации, не изображенные на фигуре.[0072] With reference to FIG. 2, an image decoding apparatus may include a decoding section, a prediction section, an inverse quantization section, an inverse transform section, an adding 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 selectively included as needed, and some other configurations not depicted in the figure may be included.

[0073] Устройство для кодирования изображения и устройство для декодирования изображения могут представлять собой отдельные устройства, однако, в соответствии с реализацией, могут быть составлены как устройство для кодирования/декодирования изображения. В этом случае некоторые конфигурации устройства для кодирования изображения представляют собой по существу такие же технические элементы, как некоторые компоненты устройства для декодирования изображения, и могут быть реализованы по меньшей мере с такой же конструкцией или выполнять по меньшей мере такую же функцию, как и некоторые компоненты устройства для декодирования изображения. Следовательно, избыточные описания соответствующих технических элементов будут опущены в подробном описании следующих технических элементов и принципов их работы. Поскольку устройство для декодирования изображения соответствует вычислительному устройству, которое применяет способ кодирования изображения, выполняемый устройством для кодирования изображения, к декодированию, следующее описание будет сосредоточено на устройстве для кодирования изображения. Устройство для кодирования изображения может называться кодером, а устройство для декодирования видео может называться декодером.[0073] The image encoding device and the image decoding device may be separate devices, but may be configured as an image encoding/decoding device according to implementation. In this case, some configurations of the image encoding apparatus are substantially the same technical elements as some components of the image decoding apparatus, and may be implemented with at least the same structure or perform at least the same function as some components devices for decoding images. Therefore, redundant descriptions of the corresponding technical elements will be omitted in the detailed description of the following technical elements and their operating principles. Since the image decoding apparatus corresponds to a computing device that applies an image encoding method performed by the image encoding apparatus to decoding, the following description will focus on the image encoding apparatus. A device for encoding an image may be called an encoder, and a device for decoding a video may be called 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 can be determined by configuring a pixel of a block adjacent to a current block as a reference pixel, and a prediction block can be generated using the intra prediction mode. In inter-picture prediction, a prediction block may be generated by determining motion information of a current block using one or more reference images and performing motion compensation using the motion information. For use with respect to the current block, one of intra prediction and inter-picture prediction (coding element or prediction element) may be determined, and specific information (for example, intra prediction mode, motion vector, reference video, etc.) may be determined. ) according to each prediction method. In this case, the processing element in which the prediction is performed and the processing element in which the prediction method and the specific content are determined can be determined according to the encoding/decoding setting. For example, prediction method, prediction mode, etc. are defined in a prediction element (or encoding element), and the prediction is performed in a prediction block element (or encoding element or transform element).

[0075] Секция вычитания генерирует остаточный блок за счет вычитания блока предсказания из текущего блока. То есть секция вычитания вычисляет разницу между значением пикселя каждого пикселя в текущем блоке, который должен быть закодирован, и предсказанным значением пикселя каждого пикселя в блоке предсказания, который сгенерирован посредством секции предсказания, для генерирования остаточного блока, который представляет собой остаточный сигнал в изображении.[0075] The subtraction section generates a residual block by subtracting the 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 that is generated by the prediction section to generate a residual block that represents 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 transform block containing a transformed coefficient can be obtained by transforming a residual block having a residual signal received from the subtraction section, and the input signal is determined according to the encoding setting and is not limited by the residual signal.

[0077] Секция преобразования может преобразовывать остаточный блок с использованием такой схемы преобразования, как преобразование Адамара, дискретное синусное преобразование (преобразование на основе DST) или дискретное косинусное преобразование (преобразование на основе DCT). Однако схема преобразования не ограничена этим, и можно использовать различные схемы преобразования, полученные путем улучшения и модификации этой схемы преобразования.[0077] The transform section may transform the residual block using a transform scheme such as the Hadamard transform, discrete sine transform (DST-based transform), or discrete cosine transform (DCT-based transform). However, the conversion circuit is not limited to this, and various conversion circuits obtained by improving and modifying this conversion circuit 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, at least one conversion scheme may be supported in a conversion, and at least one detailed conversion scheme may be supported in each conversion scheme. In this case, the at least one detailed transformation circuit may be a transformation circuit in which a portion of the basis vector is configured differently in each transformation method. For example, how conversion technologies can support DST-based and DCT-based conversions. For DST, detailed conversion schemes such as DST-I, DST-II, DST-III, DST-V, DST-VI, DST-VII and DST-VIII can be supported. For DCT, detailed conversion 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 (eg, transformation scheme and detailed transformation scheme) can be set as a basic transformation scheme. Therefore, additional conversion schemes (eg, multiple conversion schemes and multiple detailed conversion schemes) may be supported. You can define support for additional transformation scheme in sequence, frame, slice, tile, etc. elements. such that associated information can be generated in a given element and, if additional mapping scheme is supported, mapping circuit selection information can be defined to generate associated information in elements such as blocks.

[0080] Преобразование может выполняться в горизонтальном/вертикальном направлении. Например, используя базисный вектор при преобразовании, полное двумерное преобразование может быть выполнено за счет выполнения одномерного преобразования в горизонтальном направлении и выполнения одномерного преобразования в вертикальном направлении, тем самым преобразуя значение пикселя в пространственной области в значение пикселя в частотной области.[0080] The conversion can be performed in the horizontal/vertical direction. For example, using a basis vector in the transform, a complete two-dimensional transform can be performed by performing a one-dimensional transform in the horizontal direction and performing a one-dimensional transform 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 horizontal/vertical direction conversion can be performed adaptively. In more detail, execution of the adaptive transform may be determined in accordance with at least one encoding setting. For example, in the case of internal conversion, if the conversion mode is a 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 a vertical mode, DST-VI can be applied in the horizontal direction, and DCT-VI can be applied in the vertical direction. In the case of diagonal down left mode, DCT-II can be used in the horizontal direction, and DCT-V can be used in the vertical direction. In case of diagonal down right mode, in the horizontal direction DST-I can be applied, and in the vertical direction DST-VI can be applied.

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

[0083] Квадратное преобразование в форме преобразования может быть задано как базовая форма преобразования, и могут поддерживаться дополнительные формы преобразования (например, прямоугольные формы). Может быть определена поддержка дополнительных форм преобразования в элементах последовательности, кадра, среза, плитки и т.д., в данном элементе может генерироваться связанная информация, и для генерирования связанной информации в таких элементах, как блоки, может быть определена информация о выборе формы преобразования.[0083] The square transform in the transform shape may be specified as the base 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, associated information can be generated within a given element, and transformation form selection information can be defined to generate associated 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 the slice type, encoding mode, block size and shape, block division mode, etc. That is, one transform form may be supported in accordance with at least one kind of encoding information, and a plurality of transform forms may be supported in accordance with at least one kind of encoding information. The first case may be an implicit case, and the last case may be an explicit case. Optionally, adaptive selection information indicating the best candidate group among the plurality of candidate groups may be generated and included in the bit stream. It is understood that in the present invention, including the present example, when generating encoding information explicitly, the corresponding information is included in the bitstream in various elements, and to recover the decoded information, the decoder analyzes the related information in various elements. In addition, it is understood that when processing the encoding/decoding information implicitly, the encoder and the decoder perform processing using the same method and rule.

[0085] В качестве примера, поддержка преобразования прямоугольных форм может быть определена в соответствии с типом среза. В случае среза I поддерживаемым преобразованием может являться квадратное преобразование, а в случае срезов Р/В преобразование может представлять собой преобразование квадратной или прямоугольной формы.[0085] As an example, support for transforming rectangular shapes may be determined 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 a P/B slice, 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 encoding mode. In the case of intra prediction, the supported transform form may be a square transform, and in the case of inter-image prediction, the supported transform may be a square or rectangular transform.

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

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

[0089] Приведенный выше пример представляет собой пример поддержки формы преобразования в соответствии с одним фрагментом информации о кодировании, а для участия в настройке поддерживаемых дополнительных форм преобразования может быть скомбинировано множество фрагментов информации. Приведенный выше пример не ограничен приведенными выше примерами, но направлен на примеры, в которых дополнительные формы преобразования поддерживаются в соответствии с различными настройками кодирования, и могут быть реализованы различные примеры модификаций.[0089] The above example is an example of supporting a transform shape according to one piece of encoding information, and multiple pieces of information can be combined to participate in setting supported additional transform shapes. 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 encoding settings or image characteristics, the conversion process may be omitted. For example, the conversion process (including the inverse process) can be omitted according to encoding settings (this example assumes lossless compression conditions). 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 transformation may be the entire element, or one of the horizontal and vertical elements may be omitted, and it can be determined whether such omission is supported according to the size and shape of the block.

[0091] Например, в настройке, при которой опущение горизонтального и вертикального преобразований связаны, если флаг опущения преобразования равен 1, преобразование не выполняется в горизонтальном и вертикальном направлениях, и, если флаг равен 0, преобразование выполняется в горизонтальном и вертикальном направлениях. В настройке, где операции с горизонтальным и вертикальным преобразованиями выполняются независимо, если первый флаг опущения преобразования равен 1, преобразование не выполняется в горизонтальном направлении, и, если флаг равен 0, преобразование выполняется в горизонтальном направлении. Если второй флаг опущения преобразования равен 1, преобразование не выполняется в вертикальном направлении, и, если флаг равен 0, преобразование выполняется в вертикальном направлении.[0091] For example, in a setting where the omit horizontal and vertical transforms are coupled, if the omit transform flag is 1, no transform is performed in the horizontal and vertical directions, and if the flag is 0, the transform is performed in the horizontal and vertical directions. In a setting where the horizontal and vertical transformation operations are performed independently, if the first transform omit flag is 1, no transformation is performed in the horizontal direction, and if the flag is 0, the transformation 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, conversion is performed in the vertical direction.

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

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

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

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

[0096] В качестве примера, поддержка схемы преобразования может быть определена в соответствии с режимом предсказания. Схемами преобразования, поддерживаемыми в режиме A предсказания, могут являться DCT-1 и DCT-II, схемами преобразования, поддерживаемыми в режиме B предсказания, могут являться DCT-1 и DST-1, и схемой преобразования, поддерживаемой в режиме С предсказания, может являться DCT-I. В этом случае режимы А и B предсказания могут представлять собой направленные режимы, а режим C предсказания может представлять собой ненаправленный режим.[0096] As an example, support for a conversion scheme may be determined in accordance with a prediction mode. The conversion circuits supported in prediction mode A may be DCT-1 and DCT-II, the conversion circuits supported in prediction mode B may be DCT-1 and DST-1, and the conversion circuit 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 a 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 conversion scheme may be determined according to the block size and type. The conversion scheme supported for blocks with sizes that are larger than a certain size may be DCT-II, the conversion schemes supported for blocks with sizes that are less than a certain size can be DCT-II and DST-V, and the conversion schemes supported for blocks with sizes greater and less than a certain size may be DCT-I, DCT-II and DST-I. In addition, the conversion circuits supported in square form may be DCT-1 and DCT-II, and the conversion circuits supported in rectangular form may be DCT-1 and DST-1.

[0098] Приведенные выше примеры представляют собой примеры поддержки схемы преобразования в соответствии с одним фрагментом информации о кодировании, а для участия в настройке поддерживаемых дополнительных технологий преобразования может быть скомбинировано множество фрагментов информации. Примеры не ограничены приведенными выше примерами, но также могут быть преобразованы в другие примеры. Кроме того, секция преобразования может передавать информацию, необходимую для генерирования блока преобразования, в секцию кодирования с целью кодирования информации, включения информация в битовый поток и передачи в декодер, и секция декодирования декодера анализирует информацию и использует информацию для процесса обратного преобразования.[0098] The above examples are examples of supporting a conversion scheme according to one piece of encoding information, and multiple pieces of information can be combined to participate in the configuration of supported additional conversion technologies. The examples are not limited to the above examples, but can also be converted into other examples. In addition, the transform section may transmit information needed to generate a transform block to the encoding section for encoding the information, incorporating the information into a bitstream and transmitting to the decoder, and the decoding section of the decoder analyzes the information and uses the information for the deconversion 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 quantization block with a quantized coefficient can 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 conversion gain.

[00100] Секция квантования выполнена с возможностью квантования преобразованного остаточного блока с использованием технологии квантования, такой как равномерное пороговое квантование с мертвой зоной и взвешенная матрица квантования. Однако технология квантования не ограничена этим, и можно использовать различные технологии квантования, полученные путем улучшения и модификации этой технологии квантования.[00100] The quantization section is configured to quantize the transformed residual block using a 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 to generate a quantization block to the encoding section, whereby the information is encoded, including the information in a bit stream 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 under the assumption that the residual block is subjected to transformation and quantization by the transformation section and the 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 a 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 scanning order (for example, zigzag scanning, vertical scanning, horizontal scanning, etc.), generating a sequence of quantized coefficients, a sequence the transformed coefficients or signal sequence and may perform encoding using at least one entropy encoding technology. In this case, scanning order information can be determined according to an encoding setting (eg, encoding mode, prediction mode, etc.), and related information can be generated implicitly or explicitly. For example, one of a plurality of scan orders may be selected in accordance with 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) или контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Однако схема кодирования не ограничена этим, и можно использовать различные схемы кодирования, полученные путем улучшения и модификации этой схемы кодирования.[00104] In addition, encoding data including encoding information transmitted from each component can be generated and output as a bit stream, which can be implemented by a multiplexer (MUX). In this case, encoding may be performed using a method such as exponential Golomb method, context-adaptive variable-length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) as the encoding scheme. However, the encoding scheme is not limited to this, and various encoding schemes obtained by improving and modifying this encoding scheme can be used.

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

[00106] Поскольку элемент синтаксиса, введенный в устройство для энтропийного кодирования, может не представлять собой двоичное значение, когда элементы синтаксиса не являются двоичными значениями, преобразователь в двоичную форму может преобразовывать в двоичную форму элементы синтаксиса и выводить строку двоичных чисел, содержащую 0 или 1. В этом случае двоичное число представляет собой бит, содержащий 0 или 1, и он может быть закодирован с помощью двоичного арифметического кодера. В этом случае один из движка для нормального кодирования и движка для обходного кодирования может быть выбран на основе вероятности появления 0 и 1, которая может быть определена согласно настройке кодирования/декодирования. Движок для обходного кодирования может использоваться, когда элемент синтаксиса представляет собой данные, в которых частота появления 0 и 1 одинакова, а движок для нормального кодирования может использоваться в иных случаях, на которые можно ссылаться, когда последующий движок для нормального кодирования выполняется посредством контекстного моделирования (или обновления контекстной информации).[00106] Since 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 may 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 normal encoding engine and the bypass encoding engine can be selected based on the probability of occurrence of 0s and 1s, which can be determined according to the encoding/decoding setting. The bypass encoding engine can be used when the syntax element represents data in which the frequency of occurrence of 0 and 1 is the same, and the normal encoding engine can be used in other cases, which can be referred to when the subsequent normal encoding engine is performed through context modeling ( or updating contextual information).

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

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

[00109] Секция обратного квантования и секция обратного преобразования могут быть реализованы путем выполнения в обратном порядке процессов секции преобразования и секции квантования. Например, секция обратного квантования выполнена с возможностью обратного квантования квантованного преобразованного коэффициента, сгенерированного посредством секции квантования, а секция обратного преобразования может осуществлять обратное преобразование преобразованного коэффициента, подвергнутого обратному квантованию, для генерирования восстановленного остаточного блока.[00109] The inverse quantization section and the inverse transform section can be implemented by performing the processes of the transform section and the quantization section in reverse order. For example, the inverse quantization section is configured to inversely quantize the quantized transformed coefficient generated by the quantization section, and the inverse transform section is capable of inversely transforming the inverse 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 reconstructed residual block. The reconstructed block can be stored in a memory and used as reference data (prediction section, filter element, etc.).

[00111] Секция фильтра в контуре может предусматривать по меньшей мере один компонент фильтрации после обработки, такой как деблочный фильтр, адаптивный к выборке сдвиг (SAO) и адаптивный контурный фильтр (ALF). Деблочный фильтр может удалять искажение блока, возникающее на границе между блоками в восстановленном изображении. ALF может выполнять фильтрацию на основе значения, полученного за счет сравнения восстановленного изображения и входного изображения. Подробнее, фильтрация может выполняться на основе значения, полученного путем сравнения изображения, восстановленного после фильтрации блока при помощи деблочного фильтра, и входного изображения. Альтернативно фильтрация может выполняться на основе значения, полученного путем сравнения изображения, восстановленного после фильтрации блока при помощи SAO, и входного видео.[00111] The loop filter section may include at least one post-processing filtering component, such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF). The deblocking filter can remove block distortion occurring 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 detail, filtering can be performed based on the value obtained by comparing the image reconstructed after filtering a block using a deblocking filter and the input image. Alternatively, filtering can be performed based on the value obtained by comparing the image reconstructed after filtering the block using SAO and the input video.

[00112] Восстановленный блок или кадр могут храниться в запоминающем устройстве. Восстановленный блок или кадр, хранящиеся в запоминающем устройстве, могут быть предоставлены в секцию предсказания, которая выполняет внутреннее предсказание или предсказание, осуществляемое между изображениями. Подробнее, пространство хранения в виде очереди битового потока, сжатого кодером, может быть обработано как буфер кодированных кадров (CPB), а пространство для хранения декодированного изображения в элементах кадров может быть обработано как буфер декодированных кадров (DPB). В случае CPB элементы декодирования сохраняются в соответствии с порядком декодирования, операция декодирования эмулируется в кодере, битовый поток, сжатый во время процесса эмуляции, может быть сохранен, битовый поток, выводимый из CPB, восстанавливается посредством процесса декодирования, восстановленное изображение сохраняется в DPB, и кадры, сохраненные в DPB, могут упоминаться в последующем процессе кодирования и декодирования изображения.[00112] The reconstructed block or frame may be stored in a storage device. The reconstructed block or frame stored in the storage device may be provided to a prediction section that performs intra or inter-picture prediction. In detail, a storage space in the form of a queue of a bit stream compressed by an encoder can be treated as a coded frame buffer (CPB), and a space for storing a decoded image in frame elements can be treated as a decoded frame buffer (DPB). In the case of CPB, the decoding elements 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 reconstructed through the decoding process, the reconstructed image is stored in the DPB, and frames stored in the DPB may be referenced in a subsequent image 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 can be received from a bitstream and decoded, and decoding data including decoding information can be analyzed and transmitted to each component.

[00114] С другой стороны, секция разделения блока также может быть включена в устройство для кодирования изображения и устройство для декодирования изображения, представленные на фиг.1 и 2, хотя она на них не изображена. Информация о базовом элементе кодирования может быть получена из секции разделения кадра, и базовый элемент кодирования может представлять базовый (или начальный) элемент, использованный для предсказания, преобразования, квантования и т.д. в процессе кодирования/декодирования изображения. В этом случае элементы кодирования могут быть составлены в один блок кодирования яркости и два блока кодирования цветоразностных компонент в соответствии с форматом цвета (в данном примере YCbCr), и размер каждого блока может быть определен в соответствии с форматом цвета. В следующих примерах будет осуществлено описание на основе блоков (в данном примере - компонент яркости). В этом случае предполагается, что блок представляет собой элемент, который может быть получен после определения каждого элемента, и описание будет дано в предположении того, что аналогичные настройки могут быть применены к другим типам блоков.[00114] On the other hand, a block dividing section may also be included in the image encoding apparatus and the image decoding apparatus shown in FIGS. 1 and 2, although it is not shown therein. The basic coding element information may be obtained from the frame division section, and the basic coding element may represent a basic (or starting) element used for prediction, transform, quantization, etc. during the image encoding/decoding process. In this case, the encoding elements may be composed into one luminance encoding block and two chroma component encoding blocks according to a color format (YCbCr in this example), and the size of each block may be determined according to the color format. The following examples will implement a block-based description (in this example, the luminance component). In this case, it is assumed that the block is an element that can be obtained after defining each element, and the description will be given with the assumption that similar settings can be applied to other types of blocks.

[00115] Секция разделения блока может быть задана в связи с каждым компонентом устройства для кодирования и устройства для декодирования изображения, и при помощи этого процесса могут быть определены размер и форма блока. В этом случае заданный блок может быть определен по-разному в зависимости от конфигурации и может соответствовать блоку предсказания в случае секции предсказания, блоку преобразования - в случае секции предсказания, и блоку квантования - в случае секции квантования. Настоящее изобретение этим не ограничено, и дополнительно могут быть определены элементы блоков согласно другим компонентам. Размер и форма блока могут определяться горизонтальной и вертикальной длинами блока.[00115] A block dividing section can be specified in connection with each component of the image encoding apparatus and the image decoding apparatus, and by this process the size and shape of the block can be determined. In this case, the specified block may be defined differently depending on the configuration and may correspond to a prediction block in the case of a prediction section, a transform 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 may be further defined according to other components. 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 (в данном примере m и n - целые числа от 8 до 256).[00116] In the block dividing section, a block can be expressed as M×N, and the maximum and minimum values of each block can be obtained within a range. For example, if the block shape supports a square, and the maximum block value is 256x256, and the minimum block value is 8x8, 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 size m×m (in this example, m is an integer from 8 to 256). Alternatively, in case the block shape supports square and rectangle, and it has the same range as in the example above, it is possible to get a block having size 2 m × 2 n (in this example, m and n are integers from 3 to 8 eg 8×8, 8×16, 16×8, 16×16, 16×32, 32×16, 32×32, 32×64, 64×32, 64×64, 64×128, 128×64 , 128x128, 128x256, 256x128, or 256x256, assuming a maximum width-to-height ratio of 2:1 and, depending on the encoding/decoding setting, there may be no limit to the width-to-height ratio, or there may be 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 size m×n (in this example, m and n are integers from 8 to 256).

[00117] Получаемые блоки могут быть определены в соответствии с настройками кодирования/декодирования (например, типом блока, схемой разделения, настройкой разделения и т.д.). Например, как блок кодирования может быть получен блок, имеющий размер 2m×2n, как блок предсказания может быть получен блок, имеющий размер 2m×2n или m×n, и как блок преобразования может быть получен блок, имеющий размер 2m×2n. Информация о размере блока, диапазоне и т.д. (например, информация, связанная с индексом и множителем, и т.д.) может быть сгенерирована на основе настроек.[00117] The resulting blocks may be determined according to the encoding/decoding settings (eg, block type, partitioning scheme, partitioning setting, etc.). For example, as an encoding block a block having size 2 m × 2 n can be obtained, as a prediction block a block having size 2 m × 2n or m × n can be obtained, and as a transform block a block having size 2 m × 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] The 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, block range information may be generated explicitly, and for some blocks, block range information may be implicitly determined. For example, related information may be generated explicitly in an encoding and transform block, and related information may be implicitly processed in a prediction block.

[00119] В явном случае может генерироваться по меньшей мере один фрагмент информации о диапазоне. Например, в случае блока кодирования информация о диапазоне может генерировать информацию о максимальном значении и минимальном значении. Альтернативно информация может быть сгенерирована на основе разности между максимальным значением и предварительно заданным минимальным значением (например, 8) (например, сгенерированным на основе настройки, информации о значении разности между индексами максимального значения и минимального значения и т.д.). Кроме того, для горизонтальной и вертикальной длин прямоугольного блока может быть сгенерирована информация о множестве диапазонов.[00119] Explicitly, 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 the 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 a rectangular block.

[00120] В неявном случае информация о диапазоне может быть определена на основе настроек кодирования/декодирования (например, типа блока, схемы разделения, настройки разделения и т.д.). Например, в случае блока предсказания информация о максимальном значении и минимальном значении может быть получена при помощи группы кандидатов (в данном примере M×N и m/2×n/2), которая может быть получена посредством настройки разделения блока предсказания (например, разделение на основе четверичного дерева + глубина разделения 0) в блоке кодирования (например, максимальный размер блока кодирования равен M×N, и минимальный размер блока кодирования равен m×n), который представляет собой верхний элемент.[00120] Implicitly, 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 group of candidates (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 quaternary tree-based + partition depth 0) in the encoding block (for example, the maximum encoding block size is M×N, and the minimum encoding block size is m×n), which is the top element.

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

[00122] Подводя итог, секция разделения блока выполнена с возможностью разделения базового элемента кодирования (или наибольшего элемента кодирования) на по меньшей мере один элемент кодирования (или нижний элемент кодирования). Кроме того, элемент кодирования может быть разделен на по меньшей мере один элемент предсказания и может быть разделен на по меньшей мере один элемент преобразования. Элемент кодирования может быть разделен на по меньшей мере один блок кодирования, блок кодирования может быть разделен на по меньшей мере один блок предсказания и может быть разделен на по меньшей мере один блок преобразования. Элемент предсказания может быть разделен на по меньшей мере один блок предсказания, и элемент преобразования может быть разделен на по меньшей мере один блок преобразования.[00122] To summarize, the block dividing section is configured to divide a base encoding element (or a top encoding element) into at least one encoding element (or a lower encoding element). In addition, the encoding element may be divided into at least one prediction element and may be divided into at least one transform element. The encoding element may be divided into at least one encoding block, the encoding 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 transformation 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 through the mode determination process, mode information (eg, division information, etc.) can be generated for that block. Mode information may be included in the bitstream along with information generated by the component to which the block belongs (eg, prediction-related information, conversion-related information, etc.) and transmitted to the decoder and may be subjected to analyzed in the same layer element in the decoder and used in the process of decoding the image.

[00124] В примере, описанном ниже, будет описана схема разделения, и описание будет дано в предположении, что исходный блок имеет квадратную форму. Однако в случае прямоугольной формы допускается такой же или аналогичный пример.[00124] In the example described below, a division scheme will be described, and the description will be given under the assumption that the original block has a square shape. 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 type 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 the shapes of blocks included in a predefined candidate group can be used to generate partition information.

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

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

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

[00129] Как изображено на фиг. 4, в соответствии с типом, разделяемый блок может иметь 1 форму разделения (в данном примере - «a»), 2 формы разделения (в данном примере - «b», «c», «d», «e», «f» и «g») и 4 формы разделения (в данном примере - «h»). Группа кандидатов может быть сконфигурирована при помощи различных конфигураций. Например, на фиг.-5 группа кандидатов может быть сконфигурирована при помощи a, b, c, n или a, b-g, n, или a, n, q и т. д. Но данный пример ими не ограничен и включает следующие примеры, вследствие чего могут исполняться различные преобразованные примеры. При активации флага, разрешающего симметричное разделение, поддерживаемыми блоками могут являться «a», «b», «c» и «h» на фиг. 4, и, если активируется флаг, разрешающий асимметричное разделение, поддерживаемыми блоками могут являться все блоки «a»-«h» на фиг. 4. В первом случае связанная информация (в данном примере - флаг, разрешающий симметричное разделение) может активироваться в неявном виде, а в последнем случае связанная информация (в данном примере - флаг, разрешающий асимметричное разделение) может генерироваться в явном виде. Типизированное разделение может представлять собой способ поддержки однократного разделения. По сравнению с древовидным разделением, дальнейшее разделение блоков, полученных путем типизированного разделения, может не допускаться. Это может представлять пример, в котором допустимая глубина разделения равна нулю (например, одноуровневое разделение).[00129] As shown in FIG. 4, according to the type, the divided block can have 1 division form (in this example - "a"), 2 division forms (in this example - "b", "c", "d", "e", "f" " and "g") and 4 forms of separation (in this example - "h"). The candidate group can be configured using 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 these and includes the following examples, As a result, various transformed examples can be executed. When the flag enabling symmetric partitioning is activated, the supported blocks may be "a", "b", "c" and "h" in FIG. 4, and if the flag enabling asymmetric division 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 that allows symmetric partitioning) can be activated implicitly, and in the latter case, the associated information (in this example, the flag that allows asymmetric partitioning) can be generated explicitly. Typed partitioning may be a way to support one-time partitioning. Compared to tree partitioning, blocks obtained by typed partitioning may not be allowed to further partition. This may represent an example in which the allowable partition depth is zero (eg, single-level partitioning).

[00130] На фиг. 5 представлена принципиальная схема, изображающая различные формы блоков, которые могут быть получены при помощи секции разделения блока согласно настоящему изобретению.[00130] In FIG. 5 is a schematic diagram showing various block shapes that can be obtained by using the block separating 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, e (в данном примере - горизонтальное разделение) или c, f, g (в данном примере - вертикальное разделение). Данный пример может соответствовать случаю, в котором направление разделения определяется флагом горизонтального или вертикального разделения, а форма блока определяется в соответствии с флагом, разрешающим асимметрию. Однако настоящее изобретение не ограничено данными примерами, и их можно преобразовать в другие примеры.[00132] As an example, for tree partitioning, asymmetric partitioning may be allowed. 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 multi-block division), or asymmetric division may be allowed for blocks b-g in FIG. 5 (in this example, the case of division into many blocks). If the flag allowing asymmetric partitioning is explicitly or implicitly deactivated according to the encoding/decoding settings, the resulting candidate block may be block b or c (this example assumes that overlapping horizontal and vertical partitions are not allowed), and if the flag allowing asymmetric partitioning is enabled, the resulting candidate blocks can be b, d, e (horizontal partition in this example) or c, f, g (vertical partition in this example). This example may correspond to a case in which the division direction is determined by a horizontal or vertical division flag, and the block shape is determined in accordance with the asymmetry enabling flag. However, the present invention is not limited to these examples, and they can be converted into other examples.

[00133] В качестве примера, для древовидного разделения может быть использовано дополнительное разделение на основе дерева. Например, может быть выполнено разделение на основе троичного дерева, четверичного дерева, восьмеричного дерева и т.д. для получения n блоков разделения (в данном примере - 3, 4 и 8, n - целое число). В случае троичного дерева поддерживаемыми блоками (в данном примере - разделенными на множество блоков) могут являться блоки h-m. В случае четверичного дерева поддерживаемыми блоками могут являться блоки n-p. В случае восьмеричного дерева поддерживаемым блоком может являться блок q. Поддержка древовидного разделения может быть в неявном виде определена в соответствии с настройкой кодирования/декодирования, или может в явном виде генерироваться связанная информация. Кроме того, в зависимости от настроек кодирования/декодирования, разделение может использоваться само по себе или в комбинации с разделением на основе двоичного дерева или четверичного дерева. Например, в случае двоичного дерева могут быть получены такие блоки, как блоки b и с. Если двоичное дерево и троичное дерево используются в комбинации (в данном примере предполагается, что диапазон применения двоичного дерева и диапазон применения троичного дерева частично перекрываются), могут быть получены такие блоки, как блоки b, c, i, и l. Если флаг, разрешающий дополнительное разделение, отличное от существующего дерева, деактивирован в явном или неявном виде в соответствии с настройкой кодирования/декодирования, получаемым кандидатным блоком может являться блок b или c. Если этот флаг активирован, получаемым кандидатным блоком могут являться блоки b и i или блоки b, h, i и j (в данном примере - горизонтальное разделение) или могут являться блоки c и l или блоки c, k, l и m (в данном примере - вертикальное разделение). Данный пример может соответствовать случаю, в котором направление разделения определяется флагом горизонтального или вертикального разделения, а форма блока определяется в соответствии с флагом, разрешающим дополнительное разделение. Однако настоящее изобретение не ограничено данными примерами, и эти примеры преобразуются в другие примеры.[00133] As an example, an additional tree-based partition may be used for tree partitioning. For example, a division based on a ternary tree, a quaternary tree, an octal tree, etc. can be performed. to obtain 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) can be h-m blocks. In the case of a quaternary tree, the supported blocks can be n-p blocks. In the case of an octal tree, the supported block may be the q block. Tree support may be implicitly determined according to the encoding/decoding setting, or associated information may be explicitly generated. In addition, depending on the encoding/decoding settings, partitioning can 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 b and c blocks can be obtained. If the binary tree and the 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 disabled explicitly or implicitly according to the encoding/decoding setting, the resulting candidate block may be block b or c. If this flag is activated, the resulting candidate block may be blocks b and i or blocks b, h, i and j (horizontal split in this example) or may be blocks c and l or blocks c, k, l and m (in this example example - vertical division). This example may correspond to a case in which the dividing direction is determined by a horizontal or vertical dividing flag, and the block shape is determined in accordance with a flag allowing additional division. However, the present invention is not limited to these examples, and these examples are converted into other examples.

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

[00135] Режим разделения может быть определен в соответствии с настойками кодирования/декодирования.[00135] The division mode can 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, the encoding block and transform block may use a tree division, and the prediction block may use a typed division. Additionally, a combination of the two types of separation can be used. For example, a prediction block may use a division mode 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, a tree partition may be performed on some range (eg, a×b-c×d, if the latter is larger) between the maximum value and the minimum value of the block, and a typed partition may be performed on some range (eg, e×f-g×h). In this case, range information according to the division mode may be generated explicitly or may be determined implicitly.

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

[00139] Настройка разделения может быть определена в соответствии с настойками кодирования/декодирования.[00139] The split setting can be determined in accordance with the encoding/decoding settings.

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

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

[00142] В качестве другого примера, типизированное разделение для некоторых групп кандидатов может выполняться в определенных диапазонах блока (таких же, как в примере), и в определенных диапазонах (таких же, как в примере) может выполняться типизированное разделение для некоторых групп кандидатов (в настоящем примере по меньшей мере одна конфигурация отличается от предыдущей группы кандидатов). В этом случае диапазон может включать в себя все диапазоны от максимального значения до минимального значения блока, и диапазон может иметь настройки, которые не перекрываются друг с другом.[00142] As another example, typed partitioning for some candidate groups may be performed in certain block ranges (same as in the example), and typed partitioning can be performed in certain ranges (same as in the example) for some candidate groups ( in the present example, at least one configuration differs from the previous group of candidates). 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 division setting may be determined according to the shape of the block. For example, if the block is square, a quaternary tree division can be performed. Additionally, if the block is rectangular, binary tree-based partitioning can be performed.

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

[00145] В качестве другого примера, допустимая глубина разделения на основе четверичного дерева (или двоичного дерева) может быть приравнена к m, если цветовая компонента представляет собой компоненту яркости, и может быть приравнена к n, если цветовая компонента представляет собой цветоразностную компоненту, и m и n могут являться или не являться одинаковыми. Кроме того, диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда цветовой компонентой является компонента яркости (например, a×b - c×d), может являться или не являться таким же, как диапазон разделения на основе четверичного дерева (или двоичного дерева) в случае, когда цветовой компонентой является цветоразностная компонента (например, e×f - g×h).[00145] As another example, the allowable division 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 chroma component, and m and n may or may not be the same. In addition, the division range based on a quaternary tree (or binary tree) in the case where the color component is a luminance component (eg, a×b - c×d) may or may not be the same as the division range based on a 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 quaternary tree (or binary tree) partition depth may be equal to m if the encoding mode is intra prediction, and may be equal to n (in this example, n is assumed to be greater than m) , if the encoding mode is prediction performed between images, where m and n may or may not be the same. In addition, the partition range based on a quaternary tree (or binary tree) in the case where the encoding mode is intra prediction may or may not be the same as the partition range based on a quaternary tree (or binary tree) in the case where the encoding mode is a prediction made between images.

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

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

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

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

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

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

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

[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 partition depth based on the quaternary tree of the top left block is 3, if the current block is of size N×N, the partition is performed until one of the horizontal or vertical reaches (N>>3), and partition information is generated up to (N>>2).This also applies to the following example.The maximum and minimum values of the quaternary tree are assumed to be N×N, (N>>3)×(N>>3)), with By performing a tree division they can be divided into four blocks with 1/2 horizontal and vertical lengths. When partitioning is activated, the value of the partition flag may be "1", and when partitioning is deactivated, the value of the partition flag may be "0". According to the setting, the top left block split flag can be generated along 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>>), что означает, что разделение на основе двоичного дерева может выполняться (в данном примере он больше минимального значения разделения на основе четверичного дерева, но глубина разделения ограничена). То есть данный пример может представлять собой пример, в котором разделение на основе четверичного дерева и разделение на основе двоичного дерева не могут перекрываться. Информация о разделении на основе двоичного дерева в данном примере может быть сконфигурирована при помощи множества флагов разделения. Некоторые флаги могут представлять собой флаги горизонтального разделения (в данном примере соответствующие х в х/y), и некоторые флаги могут представлять собой флаги вертикального разделения (в данном примере соответствующие y в x/y). Конфигурация флагов разделения может иметь настройки, аналогичные разделению на основе четверичного дерева (например, выполнять ли активацию). В данном примере два флага могут активироваться повторно. Если для генерирования информации флага на фигуре используется
«-», «-» может соответствовать обработке флага в неявном виде. Если дополнительное разделение не может быть выполнено в соответствии такими условиями, как максимальное значение, минимальное значение и глубина древовидного разделения, может генерироваться обработка флага в неявном виде. Согласно настройке, флаг разделения верхнего правого блока может генерироваться вместе с верхним левым блоком b.
[00155] As an example (for the top right block, the allowed quaternary tree partition depth is assumed to be 0, the allowed binary tree partition depth is 4, the maximum and minimum quaternary tree partition values 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 the case performing quaternary tree division on the original block, the upper right block can be divided into four blocks with a length of 1/2 the horizontal and vertical lengths. The partitioned block size is (N>>1)×(N>>), which means that binary tree partitioning can be performed (in this example, it is larger than the minimum value of quaternary tree partitioning, but the partition depth is limited). That is, this example may be an example in which the quaternary tree-based partition and the binary tree-based partition cannot overlap. The binary tree-based partitioning information in this example can be configured using a variety of partitioning flags. Some flags may be horizontal split flags (in this example, corresponding to x in x/y), and some flags may be vertical split flags (in this example, corresponding to y in x/y). The partition flag configuration can have settings similar to quaternary tree partitioning (for example, whether to perform activation). In this example, two flags can be reactivated. If you use
"-", "-" may correspond to processing the flag implicitly. If additional partitioning cannot be performed according to conditions such as maximum value, minimum value, and tree partition depth, implicit flag processing may be generated. According to the setting, the top right block split flag can be generated together with the top 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>>), что означает, что в соответствии с настройками данного примера могут быть выполнены разделение на основе двоичного дерева и разделение на основе четверичного дерева. То есть данный пример может представлять собой пример, в котором разделение на основе четверичного дерева и разделение на основе двоичного дерева могут перекрываться. В этом случае может быть определено выполнение разделения на основе двоичного дерева в соответствии с результатом разделения на основе четверичного дерева, имеющего заданный приоритет. При выполнении разделения на основе четверичного дерева разделение на основе двоичного дерева не будет выполняться. Если разделение на основе четверичного дерева не выполняется, может выполняться разделение на основе двоичного дерева. Если разделение на основе четверичного дерева не выполняется, даже если удовлетворяются условия для разделения в соответствии с вышеперечисленными настройками, разделение на основе четверичного дерева может не выполняться. Информация о разделении на основе двоичного дерева в данном примере может быть сконфигурирована при помощи множества флагов разделения. Некоторые флаги могут представлять собой флаги разделения (в данном примере соответствующие х в х/y), и некоторые флаги могут представлять собой флаги направления разделения (в данном примере соответствующие y в x/y, и может быть определено, генерировать ли информацию y в соответствии с х). Флаги разделения могут иметь настройки, аналогичные разделению на основе четверичного дерева. В данном примере горизонтальное и вертикальное разделения не могут быть активированы за счет перекрывания друг с другом. При генерировании информации флага как «-» на фигуре, «-» может иметь настройки, аналогичные приведенному выше примеру. В соответствии с настройкой, флаг разделения нижнего левого блока может генерироваться вместе с нижним левым блоком b.[00156] As an example (for the top left block, the allowed quaternary tree partition depth is assumed to be 3, the allowed binary tree partition depth is 2, the maximum and minimum quaternary tree partition values are N×N, (N >>3)×(N>>3), the maximum and minimum binary tree partition values are (N>>2)×(N>>2), (N>>4)×(N>>4), and in the overlapping range, the division priority is given to the quaternary tree-based division), when performing the quaternary tree-based division on the original block, the lower left block can be divided into four blocks with a length of 1/2 the horizontal and vertical lengths. The size of the partitioned block is (N>>1)×(N>>), which means that according to the settings of this example, binary tree partitioning and quaternary tree partitioning can be performed. That is, this example may be an example in which the quaternary tree-based partition and the binary tree-based partition may overlap. In this case, it may be determined to perform the binary tree partition in accordance with the result of the quaternary tree partition having a predetermined priority. When performing a quaternary tree-based partition, the binary tree-based partition will not be performed. If quaternary tree based partitioning is not performed, binary tree based partitioning can be performed. If the quaternary tree-based partitioning is not performed, even if the conditions for partitioning according to the above settings are satisfied, the quaternary tree-based partitioning may not be performed. The binary tree-based partitioning information in this example can be configured using a variety of partitioning flags. Some flags may be split flags (in this example, corresponding to x in x/y), and some flags may be split direction flags (in this example, corresponding to y in x/y, and it can be determined whether to generate y information according to with x). Partition flags can have settings similar to quaternary tree partitioning. In this example, horizontal and vertical divisions cannot be activated by overlapping each other. When generating flag information as "-" in the figure, "-" may have settings similar to the example above. According to the setting, the lower left block split flag can be generated along with the lower left block b.

[00157] В качестве примера (для нижнего правого блока предполагается, что допустимая глубина разделения на основе двоичного дерева равна 5, максимальное и минимальное значения разделения на основе двоичного дерева равны N×N, (N>>2)×(N>>3)), в случае выполнения разделения на основе двоичного дерева в отношении исходного блока нижний правый блок может быть разделен на два блока с длиной в 1/2 горизонтальной и вертикальной длин. Настройка флага разделения в данном примере может являться такой же, как для нижнего левого блока. При генерировании информации флага как «-» на фигуре, «-» может иметь настройки, аналогичные приведенному выше примеру. В данном примере изображен случай, в котором горизонтальное и вертикальное минимальные значения двоичного дерева заданы по-разному. В соответствии с настройкой, флаг разделения нижнего правого блока может генерироваться вместе с нижним правым блоком b.[00157] As an example (for the lower right block, the allowable binary tree partition depth is assumed to be 5, the maximum and minimum binary tree partition values are N×N, (N>>2)×(N>>3 )), in case of performing a binary tree partition on the original block, the lower right block can be divided into two blocks with a length of 1/2 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, "-" may have settings similar to the example above. This example depicts a case in which the horizontal and vertical minimum values of a binary tree are specified differently. According to the setting, the lower right block split flag can be generated along with the lower right block b.

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

[00159] На фиг. 7 представлена принципиальная схема для разъяснения древовидного разделения согласно варианту осуществления настоящего изобретения.[00159] In FIG. 7 is a schematic diagram for explaining a 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] Regarding block a and block b, the thick solid line L0 represents the maximum encoding block, the block divided by the thick solid line, and the other lines L1-L5 represent the divided encoding block, where the number inside the block represents 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 (in this example, based on a quaternary tree), 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 an order of L, or U(0)-R, or D(1), which can be determined at each partition depth. The following example depicts a case in which the resulting encoding blocks 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 encoding block a has a size of 64×64, the minimum encoding block has a size of 16×16, and a quaternary tree-based partition is used. In this case, since the size of blocks 2-0, 2-1 and 2-2 (in this example having a size of 16x16) is equal to the size of the minimum encoding block, they may not be subject to division 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 8x8). In this case, since there are 16×16 blocks obtained in blocks 2-0, 2-1, 2-2 and 2-3, that is, one candidate group, block division information is not 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 encoding block b has a size of 64×64, the length of the minimum encoding block in the horizontal or vertical direction is 8, and the allowable division depth is 3. In this case, since the block 1-0- 1-1 (in this example having a size of 16x16 and a partition depth of 3) satisfies the minimum coding block condition, this block can be divided into smaller blocks. However, since it is equal to the allowed partition depth, this block cannot be divided into blocks having a larger partition 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, block division information is not generated.

[00163] Как изображено в приведенном выше примере, разделение на основе четверичного дерева или разделение на основе двоичного дерева может поддерживаться в соответствии с кодированием/декодированием. Альтернативно разделение на основе четверичного дерева и разделение на основе двоичного дерева могут поддерживаться совместно. Например, один или два из вышеперечисленных режимов могут поддерживаться в соответствии с размером блока, глубиной разделения и т.д. Если блок принадлежит к первому диапазону блока, может поддерживаться разделение на основе четверичного дерева, и, если блок принадлежит ко второму диапазону блока, может поддерживаться разделение на основе двоичного дерева. При поддержке множества режимов разделения в соответствии с каждым режимом может иметься по меньшей мере одна настройка максимального размера блока кодирования, минимального размера блока кодирования, допустимой глубины разделения и т.д. Диапазоны могут быть настроены для перекрывания друг с другом, или они могут не перекрываться. Альтернативно также возможно, что некоторый диапазон включает другой диапазон. Вышеперечисленные настройки могут быть определены в соответствии с единственным или смешанными факторами, такими как тип среза, режим кодирования и цветовая компонента.[00163] As depicted in the above example, a quaternary tree-based partition or a binary tree-based partition can be supported in accordance with 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, partition depth, etc. If the block belongs to the first block range, a quaternary tree-based partition may be supported, and if the block belongs to a second block range, a binary tree-based partition may be supported. When supporting multiple division modes, according to each mode there may be at least one setting of the maximum encoding block size, minimum encoding block size, allowable division depth, etc. The ranges may be configured to overlap each other, or they may not overlap. Alternatively, it is also possible that a certain range includes another range. The above settings can be determined 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. В случае среза P/B поддерживаемая настройка разделения такова, что в случае четверичного дерева поддерживаемым диапазоном разделения является 128×128 - 32×32, и в случае двоичного дерева поддерживаемым диапазоном разделения является 64×64 - 8×8.[00164] As an example, the division setting may be determined according to the slice type. In the case of slice I, the supported partition setting is such that in the case of a quaternary tree, the supported partition range is 128x128 - 32x32, and in the case of a binary tree, the supported partition range is 32x32 - 8x8. In case of P/B slice, the supported partition setting is such that in case of quaternary tree, the supported partition range is 128x128 - 32x32, and in case of binary tree, the supported partition range is 64x64 - 8x8.

[00165] В качестве примера, настройка разделения может быть определена в соответствии с режимом кодирования. Если режимом кодирования является внутреннее предсказание, поддерживаемой настройкой разделения является следующее: для двоичного дерева могут поддерживаться диапазон разделения 64×64 - 8×8 и допустимая глубина разделения 2. Если режимом кодирования является предсказание, осуществляемое между изображениями, поддерживаемой настройкой разделения является следующее: для двоичного дерева могут поддерживаться диапазон разделения 32×32 - 8×8, и допустимая глубина разделения 3.[00165] As an example, the division setting may be determined in accordance with the encoding mode. If the encoding mode is intra prediction, the supported partition setting is as follows: for a binary tree, a partition range of 64x64 - 8x8 and an allowable partition depth of 2 can be supported. If the encoding mode is inter-picture prediction, the supported partition setting is as follows: for binary tree can support a partition range of 32x32 - 8x8, and a valid partition 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, the separation setting may be determined according to the color component. For the luma component, the supported partition range is 256x256 - 64x64 in the case of a quaternary tree, and the supported partition range is 64x64 - 16x16 in the case of a binary tree. The chrominance component in the case of a quaternary tree supports the same settings as the luminance component (in this example, the length ratio of each block is set according to the chrominance format), and the supported partitioning range in the case of a binary tree is 64x64 - 4x4 (in This example assumes that this range in the same luminance component is 128x128 - 8x8, 4:2:0).

[00167] Примеры описывают случай, в котором настройки разделения отличаются в соответствии с типом блока. Кроме того, для выполнения процесса разделения некоторые блоки могут быть скомбинированы с другими блоками. Например, при комбинировании в один элемент блока кодирования и блока преобразования процесс разделения выполняется с целью получения оптимальных размера и формы блока, которые могут представлять собой не только оптимальные размер и форму блока кодирования, но также и оптимальные размер и форму блока преобразования. Альтернативно в один элемент могут быть скомбинированы блок кодирования и блок преобразования, в один элемент могут быть скомбинированы блок предсказания и блок преобразования, в один элемент могут быть скомбинированы блок кодирования, блок предсказания и блок преобразования, а также могут комбинироваться другие блоки.[00167] The examples describe a case in which the partition settings differ according to the block type. In addition, some blocks may be combined with other blocks to perform the partitioning process. For example, when combining an encoding block and a transform 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 transform block size and shape. Alternatively, an encoding block and a transform block may be combined into one element, a prediction block and a transform block may be combined into one element, a coding block, a prediction block and a transform block may be combined into one element, and other blocks may be combined into one element.

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

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

[00170] В процессе кодирования/декодирования изображения входное значение пикселя может отличаться от выходного значения пикселя, и для предотвращения искажения, вызванного операционными ошибками, может быть выполнен процесс корректировки значения пикселя. Схема корректировки значения пикселя представляет собой процесс корректировки значения пикселя, выходящего за пределы диапазона значения пикселя, с целью его нахождения в диапазоне значения пикселя и может называться отсечением.[00170] In the image encoding/decoding process, the input pixel value may be different from the output pixel value, and a pixel value correction process may be performed to prevent distortion caused by operational errors. A pixel value adjustment scheme is the process of adjusting a pixel value that is outside the pixel value range to be within the pixel value range and can be called clipping.

Таблица 1Table 1

[00171] В таблице 1 представлен пример кода для отсекающей функции (Clip_x), используемой для выполнения корректировки значения пикселя. Со ссылкой на таблицу 1, вводом в качестве параметров отсекающей функции (Clip_x) могут являться входное значение пикселя (pixel_val), а также минимальное значение (minI) и максимальное значение (maxI) из допустимого диапазона значений пикселя. В данном случае, если описание осуществляется на основе битовой глубины (bit_depth), минимальное значение (minI) может быть равно 0, и максимальное значение (maxI) может быть равно (2bit_depth-1). При исполнении отсекающей функции (Clip_x) входное значение пикселя (pixel_val, параметр A), которое меньше минимального значения (minI), заменяется минимальным значением (minI), и входное значение пикселя, которое больше максимального значения maxI (параметр C), может быть заменено максимальным значением (maxI). Поэтому после завершения корректировки значения пикселя выходное значение (output) может возвращаться как выходное значение пикселя (pixel_val').[00171] Table 1 provides example code for a clipping function (Clip_x) used to perform adjustments to a pixel value. With reference to Table 1, the input as parameters of the clipping function (Clip_x) can be the input pixel value (pixel_val), as well as the minimum value (minI) and maximum value (maxI) from 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), an input pixel value (pixel_val, parameter A) that is less than the minimum value (minI) is replaced by the minimum value (minI), and an input pixel value that is greater than the maximum value maxI (parameter C) can be replaced maximum value (maxI). Therefore, after the pixel value adjustment is complete, the output value can be returned as the pixel output value (pixel_val').

[00172] Диапазон значений пикселя определяется в соответствии с битовой глубиной, но значения пикселя (например, кадры, срезы, плитки, блоки и т.д.), которые составляют изображение, отличаются в соответствии с типом и характеристиками изображения, поэтому они могут не генерироваться в диапазоне всех значений пикселя. Согласно варианту осуществления настоящего изобретения, чтобы диапазон значений пикселя можно было использовать в процессе кодирования/декодирования изображения, можно сделать отсылку к диапазону значений пикселя, которые составляют фактическое изображение.[00172] The range of pixel values is determined according to the bit depth, but the pixel values (e.g., frames, slices, tiles, blocks, etc.) that make up the image differ according to the type and characteristics of the image, so they may not be generated over 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 the range of pixel values that constitute the actual image.

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

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

[00175] С другой стороны, при помощи этого процесса и посредством корректировки значений пикселя на основе битовой глубины или корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение, диапазон значений пикселя, включающий минимальное и максимальное значения среди значений пикселя, может быть изменен (определен или задан), или также может быть изменена (определена или задана) дополнительная информация о диапазоне значений пикселя. Например, могут быть изменены максимальное и минимальное значения среди значений пикселя, используемых для составления фактического изображения, а также может быть изменено срединное значение, используемое для конфигурирования значений пикселя.[00175] On the other hand, by this process and by adjusting the pixel values based on the bit depth or adjusting the pixel values based on the range of pixel values that constitute the image, the range of pixel values including the minimum and maximum values among the pixel values can be changed (defined or given), or additional information about the range of pixel values can also be changed (defined or given). For example, the maximum and minimum values among the pixel values used to compose the actual image may be changed, and the median value used to configure the pixel values may 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 a minimum value of image pixels, maxI may represent a maximum value of image pixels, I may represent a color component, and medianI may represent a central value of image pixels. minI can be equal to 0, maxI can be equal to (1<<bit_depth-1)-1, midI can be equal to 1<<(bit_depth-1), and medianI can be obtained in other forms, including the examples above according to encoding/decoding settings. The median value is just a term used in the present invention for description, and it may refer to information about a range of pixel values that can be changed (determined or set) in accordance with the process of adjusting the pixel values 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 represent the minimum pixel value of the image, maxI may represent the maximum pixel value of the image, and medianI may represent the central value of the image pixels. medianI may represent the average value of the pixel values in the image, may represent the value at the center when the pixels are aligned, or may represent 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 can represent a pixel value within a range of pixel values in the image.

[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 the image pixel value range information (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 the encoding/decoding settings.

[00179] Ниже будет описан вариант осуществления в соответствии с обработкой корректировки значений пикселя (в данном примере это срединное значение).[00179] An embodiment will be described below in accordance with the processing of adjusting pixel values (in this example, the median 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 image (in this example, a frame), adjacent blocks used for encoding/decoding (in this example, the left , lower left, upper left, upper and upper right) do not exist, so the reference pixel can be filled with a median value of 100. The reference pixel can be used to perform an intra prediction process according to a prediction mode.

[00181] В качестве примера, базовая битовая глубина равна 10 битов (0-1023), выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере срединное значение равно 600, и имеются связанные элементы синтаксиса), и, если текущий блок представляет собой первый блок в изображении (в данном примере - срез или плитку), смежные блоки, используемые для кодирования/декодирования (в данном примере - левый, нижний левый, верхний левый, верхний и верхний правый), не существуют, поэтому опорный пиксель может быть заполнен срединным значением 600. Опорный пиксель может быть использован для выполнения процесса внутреннего предсказания в соответствии с режимом предсказания.[00181] As an example, the base bit depth is 10 bits (0-1023), a process is selected to adjust pixel values 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 (in this example, a slice or tile), the adjacent blocks used for encoding/decoding (in this example, left, bottom left, top left, top and top right) do not exist, therefore, the reference pixel may be filled with the median value of 600. The reference pixel may be used to perform an intra prediction process according to a prediction mode.

[00182] В качестве примера, базовая битовая глубина равна 10 битов, выбран процесс корректировки значений пикселя на основе диапазона значений пикселя, которые составляют изображение (в данном примере промежуточное значение равно 112, и имеются связанные элементы синтаксиса), настройка определения того, можно ли использовать пиксели соответствующих блоков в предсказании текущего блока, активируется в соответствии с режимом кодирования смежных блоков (внутреннее предсказание/предсказание, осуществляемое между изображениями) (в данном примере, если режимом кодирования соответствующих блоков является внутреннее предсказание, то его можно использовать для опорного пикселя текущего блока, и, если режимом кодирования является предсказание, осуществляемое между изображениями, его нельзя использовать для опорного пикселя текущего блока; если настройка деактивирована, его можно использовать как пиксель текущего блока независимо от режима кодирования соответствующих блоков; связанным элементом синтаксиса является constrained_intra_pred_flag, который может появляться в типе Р или B изображения). Если текущий блок расположен на левой стороне изображения, смежные блоки, используемые для кодирования/декодирования (в данном примере - левый, нижний левый и верхний левый), не существуют, и, если имеются смежные блоки, используемые для кодирования/декодирования (в данном примере - правый и верхний правый), однако, поскольку режимом кодирования блока является предсказание, осуществляемое между изображениями, и он отключен посредством вышеуказанной настройки, доступный опорный пиксель отсутствует, и тогда опорный пиксель может быть заполнен срединным значением (в данном примере - 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), setting to determine whether use the pixels of the corresponding blocks in the prediction of the current block, is activated according to the encoding mode of adjacent blocks (intra/inter-picture prediction) (in this example, if the encoding 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-image prediction, it cannot be used for the current block's reference pixel; if the setting is deactivated, it can be used as the current block's 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 image). If the current block is located on the left side of the image, adjacent blocks used for encoding/decoding (in this example - left, lower left and upper 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 encoding mode is inter-picture prediction and is disabled by the above setting, there is no reference pixel available, and then the reference pixel can be filled with the median value (112 in this example). That is, since there is no available reference pixel, it can be filled with the median value from the range of image pixel values. The reference pixel may be used to perform an intra prediction process in accordance with a prediction mode.

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

[00184] В настоящем изобретении процесс корректировки значений пикселя может применяться к процессу кодирования/декодирования секции предсказания, секции преобразования, секции квантования, секции обратного квантования, секции обратного преобразования, секции фильтра, запоминающего устройства и т.д. Например, входной пиксель в способе корректировки значений пикселя может представлять собой опорное дискретное значение или дискретное значение предсказания в процессе предсказания и может представлять собой восстановленное дискретное значение в процессе преобразования, квантования, обратного преобразования и обратного квантования. Кроме того, пиксель может представлять собой восстановленное дискретное значение в процессе фильтрации в контуре или может представлять собой пиксель, сохраненный в запоминающем устройстве. В этом случае в процессе преобразования, квантования, обратного преобразования и обратного квантования восстановленное дискретное значение может относиться к восстановленному дискретному значению перед применением фильтрации в контуре. Восстановленное дискретное значение в фильтре в контуре может относиться к восстановленному дискретному значению после применения фильтра в контуре. Восстановленное дискретное значение в процессе фильтрации в деблочном фильтре может относиться к восстановленному дискретному значению после применения декодирующего фильтра. Восстановленное дискретное значение в процессе SAO может относиться к восстановленному дискретному значению после применения SAO. Восстановленное дискретное значение в процессе ALF может относиться к восстановленному дискретному значению после применения ALF. Были описаны примеры различных вышеописанных случаев, но настоящее изобретение ими не ограничено и может быть применено к входным, промежуточным и выходным этапам всех процессов кодирования/декодирования, которые вызывают процесс корректировки значений пикселя.[00184] In the present invention, the pixel value adjustment process may 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 storage device, etc. For example, the input pixel in the pixel value adjustment method may be a reference sample value or a prediction sample value in a prediction process, and may be a reconstructed sample value in a transform, quantization, inverse transform, and inverse quantization process. In addition, the pixel may be a reconstructed sample value from an in-loop filtering process or may be a pixel stored in a storage device. In this case, in the process of transform, quantization, inverse transform, and inverse quantization, the reconstructed sampled value may refer to the reconstructed sampled value before applying filtering in the loop. The recovered sample value in the in-loop filter may refer to the recovered sample value after applying the in-loop filter. The recovered sample value during the filtering process in the deblocking filter may refer to the recovered sample value after applying the decoding filter. The recovered sampled value during the SAO process may refer to the recovered sampled value after applying the SAO. The recovered sampled value during the ALF process may refer to the recovered sampled value after applying the ALF. Examples of various cases described above have been described, but the present invention is not limited to them and can be applied to the input, intermediate and output stages 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 the clipping function Clip_Y of the Y luminance components and the clipping functions Clip_Cb and Clip_Cr of the chroma components Cb and Cr are supported.

[00186] В настоящем изобретении секция предсказания может быть классифицирована на внутреннее предсказание и предсказание, осуществляемое между изображениями, и внутреннее предсказание и предсказание, осуществляемое между изображениями, могут быть определены следующим образом.[00186] In the present invention, the prediction section can be classified into intra prediction and inter-picture prediction, and intra 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 picture (e.g., frame, slice, tile, etc.) has been completed, and prediction performed between pictures may be a technique to generate 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 of generating a prediction value from a reference image, block match, pattern match and other predictions. Inter-picture prediction may be a technique for generating a prediction value from an image in which at least one encoding/decoding has been completed. The picture in which at least one encoding/decoding is completed may be configured to include the current picture.

[00189] Одно из приведенных выше определений может соблюдаться в соответствии с настройками кодирования/декодирования, и следующий пример будет описан в предположении, что соблюдается первое определение. Кроме того, хотя описание выполнено на основе предположения о том, что значение предсказания представляет собой значение, полученное путем предсказания в пространственной области, настоящее изобретение этим не ограничено.[00189] One of the above definitions may be met according to the encoding/decoding settings, and the following example will be described assuming that the first definition is met. In addition, although the description has been 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] In FIG. 8 illustrates a block division method according to an embodiment of the present invention. In more detail, this figure depicts an example of the size and shape of a block obtained in accordance with one or more division methods, starting from a basic encoding block.

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

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

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

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

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

[00196] В данном примере, если поддерживается разделение на основе множества деревьев (в данном примере - на основе четверичного дерева и двоичного дерева), размер и форма получаемых блоков могут быть определены посредством настроек разделения на основе множества деревьев. В данном примере предполагается, что в случае двоичного дерева максимальный блок кодирования имеет размер 64×64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.[00196] In this example, if multi-tree partitioning (quaternary tree and binary tree-based in this example) is supported, the size and shape of the resulting blocks can be determined by the multi-tree partition settings. This example assumes that in the case of a binary tree, the maximum encoding block has a size of 64x64, the minimum encoding block has a length of 4, and the maximum partition 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 partition, the partition information required for one partition operation (the partition depth of the quaternary tree is increased by 1) is the flag indicating whether division is being performed, a flag indicating the type of division, a flag indicating the form of division, and a flag indicating the direction of division. The resulting candidates are 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N, and 3M×4N/M×4N.

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

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

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

[00201] «с» представляет собой флаг, указывающий направление разделения, c=0 означает горизонтальное разделение (hor), и c=1 означает вертикальное разделение (ver). «d» обозначает флаг, указывающий форму разделения. d=0 означает симметричное разделение (SBT, симметричное двоичное дерево), и d=1 означает асимметричное разделение (ABT, асимметричное двоичное дерево). Только когда d равен 1, выполняется проверка информации о подробном соотношении разделения (1/4 или 3/4) при асимметричном разделении. Если d равен 0, в левом/правом или верхнем/нижнем блоках соотношение левого блока к верхнему блоку равно 1/4, и отношение верхнего блока к нижнему блоку равно 3/4. Если d равен 1, соотношение является противоположным.[00201] "c" is a flag indicating the direction of division, c=0 means horizontal division (hor), and c=1 means vertical division (ver). "d" denotes a flag indicating the form of division. d=0 means symmetric partitioning (SBT, symmetric binary tree), and d=1 means asymmetric partitioning (ABT, asymmetric binary tree). Only when d is 1, the detailed split ratio information (1/4 or 3/4) for asymmetric split is checked. 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 opposite.

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

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

[00204] На фиг. 8 случай блока A7 представляет собой случай, в котором в блоках (A7-A11) до разделения может быть выполнено разделение на основе четверичного дерева (то есть, даже если может быть выполнено разделение на основе четверичного дерева, вместо разделения на основе четверичного дерева выполняется разделение на основе двоичного дерева), и, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (1).[00204] In FIG. 8, the case of block A7 is a case in which the blocks (A7-A11) can be subject to quaternary tree division before division (that is, even though quaternary tree division can be performed, instead of quaternary tree division, division is performed based on a binary tree), and thus corresponds to the case in which the partitioning information is generated in step (1).

[00205] С другой стороны, в случае блоков A8-A11, если разделение на основе двоичного дерева выполняется без предварительного выполнения разделения на основе четверичного дерева в блоках (A8-A11) до разделения (то есть разделение на основе четверичного дерева в соответствующих блоках <A8-A11> более невозможно), данный случай, таким образом, соответствует случаю, в котором информация о разделении генерируется в пункте (2).[00205] On the other hand, in the case of blocks A8-A11, if a binary tree-based partition is performed without first performing a quaternary tree-based partition in the blocks (A8-A11) before the division (that is, a quaternary tree-based partition in the corresponding blocks < A8-A11> is no longer possible), this case therefore corresponds to the case in which the division information is generated in step (2).

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

[00207] В данном примере поддерживается разделение по схеме на основе множества деревьев (в данном примере - четверичного дерева, двоичного дерева и троичного дерева), и размер и форма блока, который может быть получен, могут определяться посредством множества настроек разделения блока. В данном примере предполагается, что в случае двоичного дерева/троичного дерева максимальный блок кодирования имеет размер 64x64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.[00207] In this example, a partitioning scheme based on multiple trees (in this example, a quaternary tree, a binary tree, and a ternary tree) is supported, and the size and shape of a block that can be obtained can be determined through a variety of block partitioning settings. This example assumes that in the case of binary tree/ternary tree, the maximum encoding block has a size of 64x64, the minimum encoding block has a length of 4, and the maximum partition 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 can be obtained by dividing (in this example, 2, 3 and 4), the dividing information required for one dividing operation is a flag indicating whether division is performed, flag , 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 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×2N/4M×N and M×4N/2M×4N/M×4N.

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

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

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

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

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

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

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

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

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

[00218] В данном примере поддерживается разделение по схеме на основе множества деревьев (в данном примере - четверичного дерева, двоичного дерева и троичного дерева), и размер и форма блока, который может быть получен, могут определяться посредством множества настроек разделения блока. В данном примере предполагается, что в случае двоичного дерева/троичного дерева максимальный блок кодирования имеет размер 64x64, минимальный блок кодирования имеет длину, равную 4, и максимальная глубина разделения равна 4.[00218] In this example, a partitioning scheme based on multiple trees (in this example, a quaternary tree, a binary tree, and a ternary tree) is supported, and the size and shape of a block that can be obtained can be determined through a variety of block partitioning settings. This example assumes that in the binary tree/ternary tree case, the maximum encoding block has a size of 64x64, the minimum encoding block has a length of 4, and the maximum partition 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/4M×N и M×4N/2M×4N/M×4N.[00219] In this example, if more than two blocks can be obtained by dividing (in this example, 2, 3 and 4), the dividing information required for one dividing operation is a flag indicating whether division is performed, flag , indicating the type of split, a flag indicating the shape of the split, and a flag indicating the direction of the split. Where possible, the candidates obtained are 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N, 3M×4N/M×4N, 4M ×N/4M×2N/4M×N and M×4N/2M×4N/M×4N.

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

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

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

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

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

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

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

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

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

[00229] На фиг. 9 представлена примерная схема, изображающая режим внутреннего предсказания, предопределенный в устройстве для кодирования/декодирования изображения.[00229] In FIG. 9 is an exemplary diagram showing an intra prediction mode predetermined in the 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 candidate prediction mode groups 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 can be divided into tilt (eg dy/dx) or angle (degrees) information. All or part of the prediction modes described in the above examples may be included in the group of luminance component or chroma component prediction candidate modes, and other, additional modes may be included in the group of candidate prediction modes.

[00231] Кроме того, за счет использования корреляции между цветовыми пространствами, для предсказания текущего блока может быть использован восстановленный блок из другого цветового пространства, который был кодирован/декодирован, и может быть включен поддерживающий это режим предсказания. Например, в случае цветоразностной компоненты, для генерирования блока предсказания текущего блока может быть использован восстановленный блок компоненты яркости, соответствующий текущему блоку. То есть блок предсказания может генерироваться на основе восстановленного блока с учетом корреляции между цветовыми пространствами.[00231] In addition, by using the correlation between color spaces, a reconstructed block from another color space that has been encoded/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, the reconstructed luminance component block corresponding to the current block may be used to generate a prediction block of the current block. That is, a prediction block can be generated based on the reconstructed block taking into account the correlation between color spaces.

[00232] Группа режимов-кандидатов предсказания может быть адаптивно определена в соответствии с настойками кодирования/декодирования. Для повышения точности предсказания количество групп кандидатов может быть увеличено, а для снижения количества битов в соответствии с режимом предсказания, количество групп кандидатов может быть уменьшено.[00232] A group of candidate prediction modes can be adaptively determined in accordance with the 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] Например, может быть выбрана одна группа из группы A кандидатов (67 режимов, 65 направленных режимов и 2 ненаправленных режима), группы B кандидатов (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, the group of candidate prediction modes may have different configurations in accordance with the encoding/decoding settings. For example, as shown in FIG. 2, in fig. 9, a group of candidate prediction modes is configured equally for all modes, or in FIG. 9, the candidate group may be configured such that the number of modes 18 to 34 is greater than the number of modes 2 to 18. Alternatively, the opposite case may also occur and the candidate group may be configured adaptively according to the block shape (i.e., square, rectangular with long horizontal sides or rectangular with long vertical sides). For example, if the width of the current block is greater than the height, the intra prediction modes belonging to 2-15 are not used, and the intra prediction modes belonging to 67-80 can be used for replacement. On the other hand, if the width of the current block is less than the height, the intra prediction modes belonging to 53 to 66 are not used, and the 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 predefined group of candidate prediction modes (candidate group A) with equal intervals between modes, however, the basic elements of the present invention can also be used to specify the above-described adaptive internal prediction after change.

[00236] На фиг. 9 может быть представлен режим предсказания, поддерживаемый в случае квадратного или прямоугольного блока. Кроме того, режимом предсказания, поддерживаемым в случае прямоугольного блока, может являться режим предсказания, отличный от приведенного выше примера. Например, режимы предсказания с разными количествами групп режимов-кандидатов предсказания или равным количеством групп режимов-кандидатов предсказания, но с большими длинами блоков, являются более плотными. И наоборот, может иметь место случай, в котором режимы предсказания являются рассеянными, или может иметь место противоположный случай. В настоящем описании, как изображено на фиг. 9, режим предсказания описан при условии, что настройка режима предсказания (равные интервалы между направленными режимами) поддерживается независимо от формы блока, но он также применим и в других случаях.[00236] In FIG. 9 may show the prediction mode supported in the case of a square or rectangular block. In addition, the prediction mode supported in the case of a rectangular block may be a prediction mode different from the above example. For example, prediction modes with different numbers of candidate prediction mode groups, or equal numbers of candidate prediction mode groups but with larger block lengths, are denser. Conversely, it may be the case that the prediction modes are diffuse, or the opposite may be the case. In the present description, as shown in FIG. 9, the prediction mode is described under 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] Для задания индекса, присваиваемого режиму предсказания, могут быть использованы различные способы. В случае направленного режима индекс, присваиваемый каждому режиму, может быть определен на основе предварительно заданной информации о приоритетах в соответствии с информацией об угле или о наклоне режима предсказания. Например, режим, соответствующий оси х или оси y (режимы 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 a directional mode, an index assigned to each mode can be determined based on preset priority information in accordance with the angle or slope information of the prediction mode. For example, the mode corresponding to the x-axis or y-axis (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 the horizontal or vertical mode may have the following priority, diagonal mode having an angular difference of 22.5 or -22.5 degrees based on the diagonal mode may have the following priority, and the priority information can be set in this way (next - 11.25 or - 11.25 degrees, etc.) or 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, the index can be assigned in a clockwise direction from a certain diagonal mode (mode 2). In the following example, the description will be made based on the assumption that the index is assigned in a clockwise direction based on a predefined prediction mode.

[00239] Кроме того, ненаправленный режим предсказания может присваивать информацию об индексах перед направленным режимом, или может присваивать информацию об индексах между направленными режимами, или может присваивать информацию об индексах в конце, что может быть определено в соответствии с настройками кодирования/декодирования. В данном примере предполагается, что ненаправленный режим имеет высший приоритет присвоения индексов среди режимов предсказания (ему присваивается низкий индекс, режим 0 - плоский, и режим 1 - DC).[00239] In addition, the undirected prediction mode may assign index information before the directed mode, or may assign index information between directed modes, or may assign index information at the end, which may be determined in accordance with the encoding/decoding settings. This example assumes that the omnidirectional mode has 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 assigning an index to a prediction mode have been described using the above examples, the index may be assigned with other settings, the above example is not limiting, or various converted examples may occur.

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

[00242] Ниже будет описана схема получения режима внутреннего предсказания (в частности, компоненты яркости) текущего блока.[00242] A 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 a default mode predefined in the image encoding/decoding device. The default mode may be a directional mode or an omnidirectional mode. For example, the directional mode may include at least one of a vertical mode, a horizontal mode, or a diagonal mode. The omnidirectional mode may include at least one of a planar mode or a 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 set to the default mode.

[00244] Альтернативно режим внутреннего предсказания текущего блока может быть получен на основе множества MPM-кандидатов. В первую очередь, из вышеупомянутой группы режимов-кандидатов предсказания может быть выбран предварительно определенный MPM-кандидат. Количество MPM-кандидатов может составлять три, четыре, пять или более. MPM-кандидаты могут быть получены на основе режима внутреннего предсказания смежных блоков, смежных с текущим блоком. Смежный блок может представлять собой блок, смежный с по меньшей мере одним из левой стороны, верхнего конца, верхнего левого конца, нижнего левого конца или верхнего правого конца текущего блока.[00244] Alternatively, the intra prediction mode of the current block can be obtained based on a plurality of MPM candidates. First, a predetermined candidate MPM may be selected from the above group of candidate prediction modes. The number of MPM candidates can be three, four, five or more. MPM candidates can be obtained based on the intra-prediction mode of contiguous 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] В частности, MPM-кандидат может быть определен с учетом того, являются ли одинаковыми режим внутреннего предсказания (candIntraPredModeA) блока с левой стороны и режим внутреннего предсказания (candIntraPredModeB) блока на верхнем конце и являются ли candIntraPredModeA и candIntraPredModeB ненаправленными режимами.[00245] In particular, the candidate MPM can be determined by considering whether the intra prediction mode (candIntraPredModeA) of the block at the left side and the intra prediction mode (candIntraPredModeB) of the block at the top end are the same, and whether candIntraPredModeA and candIntraPredModeB are non-directional modes.

[00246] Например, если candIntraPredModeA и candIntraPredModeB являются одинаковыми, и candIntraPredModeA не является ненаправленным режимом, MPM-кандидаты текущего блока могут включать по меньшей мере один из candIntraPredModeA, (candIntraPredModeA-n), (candIntraPredModeA+n) или ненаправленного режима. Здесь n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из планарного режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 2. Индекс в таблице 2 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, index1 может быть присвоен режиму DC, или может быть присвоен index4.[00246] For example, if candIntraPredModeA and candIntraPredModeB are the same, and candIntraPredModeA is not an undirected mode, the MPM candidates of the current block may include at least one of candIntraPredModeA, (candIntraPredModeA-n), (candIntraPredModeA+n), or an undirected mode. Here n may be an integer equal to 1, 2 or more. The omnidirectional mode may include at least one of a planar mode or a DC mode. For example, the MPM candidates of the current block may be determined as shown in Table 2 below. An 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.

Таблица 2table 2

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

Таблица 3Table 3

[00248] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными и только один из candIntraPredModeA и candIntraPredModeB находится в ненаправленном режиме, MPM-кандидаты текущего блока могут включать по меньшей мере один из maxAB, (maxAB-n), (maxAB+n) или ненаправленного режима. Здесь maxAB представляет максимальное значение из candIntraPredModeA и candIntraPredModeB, и n может представлять собой целое число, равное 1, 2 или более. Ненаправленный режим может включать по меньшей мере один из плоского режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 4. Индекс в таблице 4 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, индекс 0 может быть присвоен режиму DC, или может быть присвоен максимальный индекс.[00248] Alternatively, if candIntraPredModeA and candIntraPredModeB are different and only one of candIntraPredModeA and candIntraPredModeB is in omnidirectional mode, the current block's candidate MPMs may include at least one of maxAB, (maxAB-n), (maxAB+n), or omnidirectional mode. Here, maxAB represents the maximum value of candIntraPredModeA and candIntraPredModeB, and n may be an integer equal to 1, 2 or more. The omnidirectional 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 determined 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 the maximum index may be assigned.

Таблица 4Table 4

[00249] Альтернативно, если candIntraPredModeA и candIntraPredModeB являются разными, и оба из candIntraPredModeA и candIntraPredModeB являются ненаправленными режимами, MPM-кандидаты текущего блока могут включать по меньшей мере один из ненаправленного режима, вертикального режима, горизонтального режима, (вертикального режима-m), (вертикального режима+m), (горизонтального режима-m) или (горизонтального режима+m). Здесь m может представлять собой целое число, равное 1, 2, 3, 4 или более. Ненаправленный режим может включать по меньшей мере один из плоского режима или режима DC. Например, MPM-кандидаты текущего блока могут быть определены так, как изображено ниже в таблице 5. Индекс в таблице 5 определяет, но без ограничения, положение или приоритет MPM-кандидатов. Например, index1 может быть присвоен горизонтальному режиму, или может быть присвоен максимальный индекс.[00249] Alternatively, if candIntraPredModeA and candIntraPredModeB are different, and both candIntraPredModeA and candIntraPredModeB are omnidirectional modes, the candidate MPMs of the current block may include at least one of omnidirectional 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 omnidirectional 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 determined as shown in Table 5 below. The index in Table 5 specifies, but is not limited to, the position or priority of the MPM candidates. For example, index1 can be assigned to horizontal mode, or the maximum index can be assigned.

Таблица 5Table 5

[00250] МРМ-кандидат из вышеупомянутого множества МРМ-кандидатов, указанный индексом МРМ, может быть задан как режим внутреннего предсказания текущего блока. Индекс MPM может кодироваться и сообщаться устройством для кодирования изображения.[00250] An MPM candidate from the above plurality of MPM candidates 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 apparatus.

[00251] Как описано выше, режим внутреннего предсказания может быть получен путем выборочного использования любого из режима по умолчанию или МРМ-кандидата. Выбор может быть сделан на основе флага, сообщаемого устройством для кодирования. В этом случае флаг может указывать то, задается ли режим внутреннего предсказания текущего блока как режим по умолчанию. Если флаг имеет первое значение, режим внутреннего предсказания текущего блока задается как режим по умолчанию, а если нет, может передаваться информация о том, является ли режим внутреннего предсказания текущего блока производным от МРМ-кандидата, индекса МРМ и т.д.[00251] As described above, the intra prediction mode can be obtained by selectively using any of the default or candidate MPM mode. The selection may be made based on a flag reported by the encoding device. 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 is set to the 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 chroma 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 luma 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 vs. Variable Candidate Group Configuration)

[00254] В качестве примера фиксированной конфигурации, как группа режимов-кандидатов предсказания цветоразностной компоненты для выполнения внутреннего предсказания сконфигурированы некоторые режимы в группе режимов-кандидатов предсказания компоненты яркости (например, предполагается, что этими некоторыми режимами являются по меньшей мере один из режима DC, планарного режима, вертикального режима, горизонтального режима или диагонального режима <предполагается, что некоторые режимы представляют собой по меньшей мере один из DL, UL или UR, DL - режим, в котором предсказание выполняется от нижнего правого угла до верхнего правого угла, UL - режим, в котором предсказание выполняется от верхнего левого угла до нижнего правого угла, и UR - режим, в котором предсказание выполняется от верхнего правого угла до нижнего левого угла, и предполагается, что указанными некоторыми режимами являются, соответственно, режимы 2, 34 и 66 на фиг. 9.[00254] As an example of a fixed configuration, as a group of chroma component prediction mode candidates, some modes in the luminance component prediction mode group are configured to perform intra prediction (for example, it is assumed that the some modes are at least one of a DC mode, planar mode, vertical mode, horizontal mode or diagonal mode <assuming that some modes are 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 a 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 variable configuration, as a basic group of chroma component prediction mode candidates, some modes are configured in the luminance component prediction candidate mode group (for example, it is assumed that these some modes are DC mode, planar mode, vertical mode, horizontal mode and UR diagonal mode, and it is assumed that more selected modes are generally configured as a core group of candidate prediction modes). 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 color difference component prediction mode group 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 luminance component at a position identical to or corresponding to a block of a chroma component may be included (Example 1 described below) in a basic group of candidate prediction modes, or instead of some modes may be performed a new group of candidate prediction modes (Example 2 described below). For example, in a case where the corresponding position in the luminance component corresponding to the chrominance component <according to the color format> cannot be configured with a single block, but is configured as a plurality of sub-blocks by dividing one block, a preset position block is provided. In this case, the position of the predetermined block is determined at the upper left, upper right, lower left, lower right, middle, upper middle, lower middle, left middle and right middle positions in the luminance component block corresponding to the chroma component block; if it varies to a coordinate within the image, it can be a position including the coordinate (0, 0) at the top left, a position including the coordinate (blk_width-1, 0) at the top right, a position including the coordinate (0, blk_height-1) at the bottom left, position including coordinate (blk_width-1, blk_height-1) bottom right, position including one of 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) in the center, a position including one of the coordinates (blk_width/2-1, 0) and (blk_width/2, 0) in the top middle, position including one of the coordinates (blk_width/2-1, blk_height-1) and (blk_width/2, blk_height-1) bottom middle, position including one of the coordinates (0, blk_height/2-1) and (0, blk_height /2) in the middle left, and a position including one of the coordinates (blk_width-1, blk_height/2-1) and (blk_width-1, blk_height/2) in the middle right. That is, it means a block including a coordinate position. The above blk_width and blk_height refer to the horizontal and vertical lengths of the luma block, and the coordinates are not limited to the above case and may include other cases. In the following description, for a luminance component prediction mode <or color mode> added to a group of chroma component prediction mode candidates, at least one prediction mode is added according to a predetermined priority <for example, assuming top left-top right-bottom left -bottom right-middle>. If two prediction modes are added, the top left block mode and the top right block mode are added according to the above settings. In this case, if the blocks in the upper left and upper right positions are configured by one block, the lower left block mode having the next priority is added.

[00257] Альтернативно в базовую группу режимов-кандидатов предсказания могут быть включены по меньшей мере один режим предсказания (который может определять блоки, смежные с блоком в настоящем положении, если в группу режимов-кандидатов предсказания цветоразностной компоненты включено множество режимов, блоки с предварительно заданным приоритетом и режимы предсказания подблоков с предварительно заданным приоритетом в пределах подблоков могут быть включены как набор кандидатов в соответствии с приоритетом) смежных блоков слева, сверху, сверху слева, сверху справа, снизу слева и т.п. или подблоков соответствующих блоков (если смежные блоки сконфигурированы множеством блоков), или вместо некоторых режимов может быть сконфигурирована новая группа режимов-кандидатов предсказания.[00257] Alternatively, the basic candidate prediction mode group may include at least one prediction mode (which may determine blocks adjacent to a block at the present position if the color difference component prediction mode candidate group includes multiple modes, blocks with a predetermined priority and subblock prediction modes with a preset priority within subblocks can be included as a set of candidates according to the priority of adjacent blocks on the left, top, top left, top right, bottom left, etc. or sub-blocks 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 a prediction mode of a luminance component block or an adjacent block (luminance block) may be included, but also at least one mode derived from the prediction mode may be included as a prediction mode color difference components. The following examples will include an example in which a luminance component prediction mode is adopted as a chroma component prediction mode, and a detailed description about an example of adopting the prediction mode (for example, taking as examples the adjacent mode and the directional mode of this mode, if the horizontal mode 18 is luma component prediction mode, modes 17, 19, 16, etc. are equivalent to the derived prediction mode, and if a plurality of prediction modes are configured from the chroma component as a group of chroma component prediction modes candidate, the configuration priority of the candidate group can be set in order from the mode luminance component prediction mode to a mode derived from the luminance component prediction mode), derived from the luminance component prediction mode, or a prediction mode derived from the adjacent block prediction mode, as a group of candidate chroma 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 candidate chroma component prediction mode groups, the configuration of the candidate groups is the same (the number of candidate groups does not change), and the configurations of the sample candidate groups are different if there is no match (the number of candidate groups is increasing).

[00260] Если конфигурации групп кандидатов в приведенном выше примере одинаковы, индексы режимов предсказания могут быть одинаковыми, или могут быть присвоены другие индексы, которые могут быть определены в соответствии с настройками кодирования/декодирования. Например, если индексами группы режимов-кандидатов предсказания цветоразностной компоненты являются плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный UR4, в случае когда компонента яркости является горизонтальной, конфигурация группы режимов-кандидатов предсказания остается неизменной, и неизменными остаются индексы каждого режима предсказания, или могут быть присвоены другие индексы (в данном примере - горизонтальный 0, плоский 1, DC2, вертикальный 3 и диагональный UR4). Представленный выше сброс индексов может представлять собой пример процесса, выполняемого с целью генерирования меньшего количества битов режимов в ходе кодирования/декодирования режима предсказания (предположение: присвоение меньшего количества битов малому индексу).[00260] If the configurations of the candidate groups in the above example are the same, the prediction mode indices may be the same, or different indices may be assigned, which may be determined according to the encoding/decoding settings. For example, if the indices of the color difference component prediction mode 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 candidate prediction mode group remains unchanged, and the indices of each prediction mode remain unchanged , or other indices can be assigned (in this example, horizontal 0, flat 1, DC2, vertical 3, and diagonal UR4). The above index reset may be an example of a process performed to generate fewer mode bits during prediction mode encoding/decoding (assumption: 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 above examples are not the same, they may be added if the prediction mode indices can remain the same, or different indices may be assigned. For example, in the case where the index setting of the candidate prediction mode group is the same as in the previous example, if the luminance component prediction mode is diagonal DL, the configuration of the candidate prediction mode group is increased by 1, and the prediction mode index of the existing candidate group remains unchanged. Additionally, the index of the newly added mode can be used as the last one (in this example, diagonal DL5), or other indexes can 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 luminance component prediction mode matches one of the candidate chroma component prediction mode groups, the configuration of the candidate groups is the same (the modes of the candidate groups do not change), and the configurations of the candidate groups 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 configurations of the candidate groups 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 indices of the color difference component prediction mode group 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 candidate prediction mode group remains unchanged, and the indices of each remain unchanged 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 luminance 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, a mode in which the prediction mode index remains unchanged remains unchanged, and a change mode may be assigned a replacement mode index, or a plurality of prediction modes may be assigned indices different from the existing index. For example, if the indices setting of the candidate prediction mode group is the same as in the previous example, in case the luminance component prediction mode is diagonal DL, one mode in the candidate prediction mode group (diagonal UL in this example) will be replaced, and the prediction mode index of the existing candidate group remains unchanged. The index of the mode to be replaced is assigned as the 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] В предшествующем описании пример выполнения сброса индексов приведен с целью присвоения меньшего количества битов режимов, но это лишь пример в соответствии с настойками кодирования/декодирования, и могут иметь место и другие случаи. Если индекс режима предсказания не изменяется, может выполняться преобразование в двоичную форму, при котором малому индексу присваивается небольшое количество битов, или может выполняться преобразование в двоичную форму, при котором биты присваиваются независимо от размера индекса. Например, если группой режимов-кандидатов предсказания сброса является плоский 0, DC1, вертикальный 2, горизонтальный 3 и диагональный DL4, даже если диагональному DL присваивается большой индекс, поскольку диагональный DL представляет собой режим, полученный из компоненты яркости, присваивается меньше битов режимов, чем другим режимам предсказания.[00265] In the previous description, an example of performing index reset is given to assign fewer mode bits, but this is only an example according to the encoding/decoding settings, and other cases may occur. If the prediction mode index is not changed, a binarization may be performed in which a small number of bits is assigned to the small index, or a binarization may be performed in which the bits are assigned regardless of the size of the index. For example, if the reset prediction candidate mode group is flat 0, DC1, vertical 2, horizontal 3, and diagonal DL4, even if the diagonal DL is assigned a large index, since the diagonal DL is a mode derived from the luminance component, fewer mode bits are assigned than other prediction modes.

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

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

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

[00269] В случае режима внутреннего предсказания, описанного при помощи приведенного выше примера, описан режим предсказания в отношении способа (например, экстраполяции, интерполяции, усреднения и т.д.) получения данных для генерирования блока предсказания из смежных областей в пределах одного времени и пространства.[00269] In the case of the intra prediction mode described using 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 may be supported with respect to a method of obtaining data to generate 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, где a и b представляют значения для коррекции, R и P, соответственно, представляют значения, полученные в других цветовых пространствах, и значения предсказания текущего цветового пространства).[00271] For example, an example of the above-described content may be a prediction mode regarding a method of obtaining data to generate a prediction block in other color spaces using correlation between color spaces. Here, when the 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 the chroma difference component Cb or Cr, the reconstructed luminance component block corresponding to the current block can be generated as a prediction block of the current block (the basic setting of the following example is chroma difference versus luminance). Alternatively, the 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 color difference component (Cr or Cb) prediction block. 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 subject to correction using the formula P=a*R+b, where a and b represent the correction values, R and P respectively represent the values obtained in other color spaces and the prediction values of the current color space).

[00272] В данном примере описание осуществляется в предположении, что данные, полученные с использованием корреляции цветового пространства, используются в качестве значения предсказания текущего блока, но оно также возможно в случае, когда данные используются в качестве поправочного значения для коррекции значения предсказания существующего текущего блока (например, в качестве поправочных значений используются остаточные значения других цветовых пространств; то есть существуют другие значения предсказания, и эти значения предсказания являются скорректированными; и хотя эти значения предсказания добавляются с целью получения также значения предсказания, описание сделано для подробного различения). В настоящем описании, как предполагается, описан первый случай, но настоящее изобретение им не ограничено, и поправочные значения могут использоваться аналогично или переменным образом.[00272] In this example, the description is made under the assumption that data obtained using color space correlation is used as a prediction value of the current block, but it is also possible in the case where the data is used as a correction value to correct the prediction value of an existing current block (eg, 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 to distinguish in detail). The present description is intended to describe the first case, but the present invention is not limited to it, and the correction values can be used in a similar or variable manner.

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

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

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

[00276] Например, связанная информация получается путем сравнения по меньшей мере одного значения пикселя каждого цветового пространства (в данном случае значением пикселя, подлежащим сравнению, может являться значение пикселя, полученное из одного пикселя в каждом цветовом пространстве, и может являться значение пикселя, полученное из множества пикселей). Значения пикселя, получаемые из процесса фильтрации путем взвешенного усреднения или т.п., то есть количество пикселей, являющихся опорными или используемых для сравнения одного значения пикселя каждого цветового пространства, может представлять собой один пиксель в сравнении с одним пикселем, один пиксель в сравнении с множеством пикселей или т.п. В этом случае первое может представлять собой цветовое пространство для генерирования значения предсказания, а последнее может представлять собой опорное цветовое пространство. Приведенный выше пример может являться возможным в соответствии с форматом цвета, или значение пикселя для одного пикселя цветоразностной компоненты можно сравнить со значением пикселя для соответствующего пикселя компоненты яркости способом, не зависящим от формата цвета, значение пикселя для одного пикселя цветоразностной компоненты можно сравнить со значением пикселя, полученным путем выполнения фильтра <a-tapseparate1Dfilter, 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). Pixel values obtained from a filtering process by weighted averaging or the like, that is, the number of pixels that are reference or used to compare one pixel value of each color space, may be one pixel versus one pixel, one pixel versus many pixels or the like. In this case, the former may be a color space for generating the prediction value, and the latter may be a reference color space. The above example may be possible according to the color format, or the pixel value for one chroma component pixel can be compared with the pixel value for the corresponding luminance component pixel in a manner independent of the color format, the pixel value for one chroma component pixel can be compared to the pixel value , obtained by performing a filter <a-tapseparate1Dfilter, bxcmasknon-separable2Dfilter, d-tapdirectionalfilter, etc.> on a set of luminance component pixels, 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] В приведенном выше примере областью сравнения, если связанная информация получена в неявном виде, может являться ближайшая линия пикселей текущего блока текущей цветовой компоненты (например, пиксели, включая от p[-1, -1] до p[blk_width-1, -1], от p[-1, 0] до p[-1, blk_height-1]), и соответствующие линии пикселей других цветовых пространств или множество линий пикселей текущего блока текущей цветовой компоненты (например, в вышеописанном случае пиксели, включенные во множество линий пикселей, включающих от p[-2, -2] до p[blk_width-1, -2], от p[-2, -1] до p[-2, blk_height-1], и соответствующие линии пикселей других цветовых пространств.[00277] In the above example, the comparison region, if the associated information is obtained implicitly, may be the nearest line of pixels of the current block of the current color component (e.g., pixels including p[-1, -1] to p[blk_width-1, -1], from 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 other color spaces.

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

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

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

[00281] Например, при исключении из процесса получения информации о корреляции между цветовыми пространствами, этот пример может являться примером, соответствующим случаю, в котором недоступной является область, содержащая пиксели по меньшей мере одного цветового пространства. Подробнее, это может являться примером, соответствующим случаю, в котором недоступны пиксели одного из двух цветовых пространств, или недоступны пиксели двух цветовых пространств, что может быть определено в соответствии с настройками кодирования/декодирования.[00281] For example, by excluding the process of obtaining correlation information between color spaces, this example may be an example corresponding to a case in which a region containing pixels of at least one color space is inaccessible. In detail, this may be an example corresponding to a case in which pixels of one of two color spaces are not available, or pixels of 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 correlation information between color spaces is performed after padding the comparison data in the inaccessible region (or an operation similar to the process of padding a reference pixel), various padding methods may be used. For example, a predefined pixel value (for example, the median value 1 of bit_depth << (bit_depth-1), the value between the minimum and maximum values of the actual image pixel, the average of the actual image pixel, the median value, etc.) can be used for padding. , adjacent pixels or a value obtained by performing filtering (an operation similar to the process of filtering reference pixels) on adjacent pixels may be used for padding, or other methods may be used.

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

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

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

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

[00289] В дополнение, в отличие от фиг. 10, если смежные области текущего блока или соответствующие области других цветовых пространств недоступны, могут быть выполнены различные настройки.[00289] In addition, unlike 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] В качестве примера, a и b могут быть присвоены предварительно заданные значения (в данном примере a равно 1, и b равно 0). Этот случай может подразумевать поддержание режима, в котором данные в другом цветовом пространстве заполняются блоком предсказания текущего блока. Кроме того, данный случай может допускать, при выполнении кодирования/декодирования режима предсказания, чтобы настройка или приоритет вероятности появления (или выбора) режима имел настройку, отличную от существующего случая (например, вероятность выбора задается как менее высокая, или приоритет задается как менее высокий; другими словами, вследствие низкой точности связанной информации, точность блока предсказания, полученного при помощи данного режима предсказания, может быть очень низкой, поэтому оценивается, что режим не будет выбран в качестве оптимального режима предсказания).[00290] As an example, a and b may 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 by the current block's prediction block. In addition, a given case may allow, when performing prediction mode encoding/decoding, that the setting or priority of the probability of occurrence (or selection) of the mode has a setting different from the existing case (for example, the selection probability is set to less high, or the priority is set to less high ; in other words, due to the low accuracy of the related information, the accuracy of the prediction block obtained by a given 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 another color space data with the prediction block of the current block may not be supported. That is, this mode may be a mode supported when at least one region is available. In this case, when encoding/decoding of the prediction mode is performed, it can be configured to allow or not to allow the mode to be replaced by other modes. The first case may be a setting in which the number of candidate prediction mode groups is maintained, and the last case is a setting in which the number of candidate prediction mode groups is reduced.

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

[00293] В приведенном выше примере случай недоступности представляет собой случай, в котором область находится вне границ изображения (например, кадра, среза, плитки и т.д.) (то есть текущий блок и область не включены в одно изображение), если область не была кодирована/декодирована. Например, случай недоступности может быть добавлен в соответствии с настройками кодирования/декодирования (например, constrained_intra_pred_flag и т.д., например, если типом является срез P или B, вышеуказанный флаг равен 1, и режимом кодирования соответствующей области является предсказание, осуществляемое между изображениями).[00293] In the above example, the inaccessibility case is the case in which the region is outside the boundaries of the image (e.g., frame, slice, tile, etc.) (that is, the current block and region are not included in the same image), if the region was not encoded/decoded. For example, the unavailability case can be added according to the encoding/decoding settings (for example, 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 reconstructed data from other color spaces after obtaining related information by comparing two color spaces. That is, as described above, if it is determined that 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 unavailable.

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

[00296] Например, в случае 4:4:4 для генерирования значения предсказания одного пикселя в пространстве цветности, может быть использовано значение пикселя для соответствующего пикселя в пространстве яркости. Альтернативно для генерирования значения предсказания одного пикселя в пространстве цветности, могут быть использованы значения пикселя, полученные путем фильтрации множества пикселей в пространстве яркости (например, пикселей в таких направлениях, как влево, вправо, вверх, вниз, вверх влево, вверх вправо, вниз влево и вниз вправо путем центрирования на соответствующем пикселе, если, в качестве примеров, применяются 5-отводные и 7-отводные фильтры, понятно, что имеются два пикселя и три пикселя конкретно в направлениях влево, вправо, вверх и вниз, соответственно, путем центрирования на соответствующем пикселе).[00296] For example, in the case of 4:4:4, to generate the prediction value of one pixel in chroma space, the pixel value for the corresponding pixel in luma space can be used. Alternatively, to generate a prediction value of a single pixel in chroma space, pixel values obtained by filtering multiple pixels in luminance space (e.g., pixels in directions such as left, right, up, down, up left, up right, down left) may be used. and down to the right by centering on the corresponding pixel, if, as examples, 5-tap and 7-tap filters are used, 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, to generate a prediction value of one pixel in chroma space, the pixel value for one pixel at a predetermined position (selected from top left, top right, bottom left, and bottom right) can be used from four corresponding pixels (one chrominance component pixel corresponds to 2x2 luminance component pixels) in luminance 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 2x2 pixels in luminance space.

[00298] Подводя итог, для получения значения пикселя, используемого в качестве значения предсказания пикселя в текущем цветовом пространстве, к значению пикселя, полученному в других цветовых пространствах, может быть применен (путем умножения или сложения и т.д.) параметр, представляющий информацию о корреляции, полученную при помощи вышеописанного процесса.[00298] To summarize, to obtain a pixel value used as a pixel prediction value in the current color space, a parameter representing information can be applied (by multiplication or addition, etc.) to the pixel value obtained in other color spaces o 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, but 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) may be applied to a fixed candidate group configuration versus a variable candidate group configuration. For example, if the prediction value cannot be obtained in other color spaces, a prediction value replacement mode may be included in the candidate group.

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

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

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

[00304] Например, группы режимов-кандидатов предсказания могут иметь одну конфигурацию независимо от каких-либо настроек кодирования/декодирования (в данном примере - типов изображения) или иметь одну конфигурацию в соответствии с некоторыми настройками кодирования/декодирования (например, режим A, режим B_1<цветовой режим> и режим B_2<режим копирования цвета> используются для конфигурирования группы режимов-кандидатов предсказания в типе I изображения, режим A и режим B_1 используются для конфигурирования группы режимов-кандидатов предсказания в типе P изображения, и режим A и режим B_2 используются для конфигурирования группы режимов-кандидатов предсказания в типе B изображения).[00304] For example, groups of candidate prediction modes may have one configuration regardless of any encoding/decoding settings (in this example, picture types) or have one configuration in accordance with 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 candidate prediction mode group in image type I, mode A and mode B_1 are used to configure a candidate prediction mode group in image 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 luminance 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 horizontal, vertical and diagonal modes in FIG. 9 (flat, DC, color mode 1, color mode 2, color mode 3, color copy mode 1, color copy mode 2, adjacent block mode 1 (left block), adjacent mode 2 (top block)), however may also have other settings for different groups of candidate prediction modes.

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

[00308] На этапе генерирования блока предсказания может выполняться внутреннее предсказание в элементе текущего блока (например, блока кодирования, блока предсказания, блока преобразования и т.д.) или может выполняться внутреннее предсказание в элементе предварительно определенного подблока. С этой целью может использоваться флаг, указывающий, разделен ли текущий блок на подблоки для выполнения внутреннего предсказания. Этот флаг может кодироваться и сообщаться устройством для кодирования. Если флаг равен первому значению, текущий блок разделен на множество подблоков, в ином случае текущий блок не разделен на множество подблоков. В данном случае разделение может представлять собой дополнительное разделение, выполненное после разделения на основе вышеописанной древовидной структуры. Подблоки, принадлежащие к текущему блоку, совместно используют один режим внутреннего предсказания, но для каждого подблока могут быть сконфигурированы разные опорные пиксели. Альтернативно подблоки могут использовать один режим внутреннего предсказания и одинаковые опорные пиксели. Альтернативно подблоки могут использовать одинаковые опорные пиксели, но для каждого подблока могут использоваться разные режимы внутреннего предсказания.[00308] In the prediction block generation step, intra prediction may be performed on an element of a current block (eg, an encoding block, a prediction block, a transform block, etc.) or intra prediction may be performed on an element of a predetermined subblock. For this purpose, a flag may be used to indicate 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 many subblocks, otherwise the current block is not divided into many subblocks. In this case, the division may be an additional division made after the division based on the above-described tree structure. Subblocks belonging to the current block share the same intra prediction mode, but different reference pixels can be configured for each subblock. Alternatively, the subblocks 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 division can be done in a vertical or horizontal direction. The dividing direction may be determined based on a flag reported by the encoding device. For example, if the flag is set to the first value, the division may be performed in the horizontal direction, otherwise the division may be performed in the vertical direction. Alternatively, the direction of division 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 value, division may be performed in the horizontal direction, and if the width of the current block is greater than a predetermined threshold value, division may be performed in the vertical direction. Here, the threshold value may be a fixed value predetermined in the encoding/decoding apparatus, or the threshold value may be determined based on block size information (eg, maximum transform block size, maximum encoding block size, etc.). Block size information may be reported at at least one sequence, frame, slice, tile, block, or CTU line level.

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

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

[00312] На фиг. 11 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания. Размер и форма (M×N) текущего блока, используемого для предсказания, могут быть получены из секции разделения блока и будут описаны на основе предположения о том, что внутреннее предсказание поддерживается в пределах диапазона 4×4 - 128×128. В целом внутреннее предсказание может выполняться с использованием элемента блока предсказания, однако, в соответствии с настройками секции разделения блока, может выполняться внутреннее предсказание в элементах блоков кодирования и блоков преобразования. После подтверждения информации о блоке секция конфигурации опорных пикселей может конфигурировать опорный пиксель, используемый для предсказания текущего блока. В этом случае обработка опорного пикселя может выполняться временным запоминающим устройством (например, массивом <Array>, главным массивом или вспомогательным массивом и т.д.), опорный пиксель может генерироваться и удаляться во время каждого процесса внутреннего предсказания блока, и размер временного запоминающего устройства может определяться в соответствии с конфигурацией опорного пикселя.[00312] In FIG. 11 is a circuit 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 supported within the range of 4×4 - 128×128. In general, intra prediction may be performed using a prediction block element, however, according to the settings of the block division section, intra prediction may be performed on encoding block elements and transform block elements. After confirming the block information, the reference pixel configuration section may configure a reference pixel used for predicting the current block. In this case, the reference pixel processing may be performed by a temporary storage device (such as an <Array>, a main array or a auxiliary array, etc.), a reference pixel may be generated and deleted during each block intra prediction process, and the size of the temporary storage device can be determined according to the configuration of the reference pixel.

[00313] Данный пример описывается на основе предположения о том, что для предсказания текущего блока путем центрирования на текущем блоке используются левый блок, верхний блок, верхний левый блок, верхний правый блок и нижний левый блок. Однако он этим не ограничен, и для предсказания текущего блока может использоваться группа блоков-кандидатов, имеющая другие конфигурации. Например, группа кандидатов для смежных блоков опорного пикселя может представлять собой пример в соответствии с растровым или Z-сканированием, и часть группы кандидатов может быть удалена в соответствии с порядком сканирования, или группа кандидатов может быть выполнена с возможностью включения других групп блоков-кандидатов (например, дополнительной конфигурации верхнего блока, нижнего блока, нижнего правого блока и т.д.).[00313] This example is described based on the assumption that a left block, a top block, a top left block, a top right block, and a bottom left block are used to predict the current block by centering on the current block. However, it is not limited to this, and a group of candidate blocks having other configurations can be used to predict the current block. For example, a candidate group for adjacent reference pixel blocks may be exemplified according to a raster or Z-scan, and part of the candidate group may be removed according to the scanning 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 relationship 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) may 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, a plurality of subblocks of the separating block may exist.

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

[00316] Как изображено на фиг. 11, опорный пиксель для предсказания текущего блока может быть сконфигурирован при помощи смежных пикселей левого блока, верхнего блока, верхнего левого блока, верхнего правого блока и нижнего левого блока (Ref_L, Ref_T, Ref_TL, Ref_TR и Ref_BL на фиг. 11). В этом случае опорный пиксель в целом состоит из пикселей смежного блока, ближайших к текущему блоку (a на фиг. 11), но также может включать другие пиксели (пиксели на b и других внешних линиях на фиг. 11). То есть может использоваться по меньшей мере одна из первой линии «а» пикселей, смежной с текущим блоком, второй линии «b» пикселей, смежной с первой линией пикселей, третьей линии пикселей, смежной со второй линией пикселей, или четвертой линии пикселей, смежной с третьей линией пикселей. Например, в соответствии с настройками кодирования/декодирования, множество линий пикселей может включать все от первой до четвертой линии пикселей или может включать только остальные линии пикселей за исключением третьей линии пикселей. Альтернативно множество линий пикселей может включать только первую линию пикселей и четвертую линию пикселей.[00316] As shown in FIG. 11, a reference pixel for predicting the current block can be configured by adjacent pixels of the left block, top block, top left block, top 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 the adjacent block pixels closest to the current block (a in FIG. 11), but may also include other pixels (pixels on b and other outer lines in FIG. 11). That is, at least one of a first pixel line a adjacent to the current block, a second pixel line b adjacent to the first pixel line, a third pixel line adjacent to the second pixel line, or a 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 all of the first to fourth pixel lines, or may include only the remaining pixel lines excluding 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 a plurality of pixel lines. In this case, the selection may be made based on the index (refIdx) reported by the encoding device. 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 an omnidirectional mode, the angle of the intra prediction mode, etc. For example, if the intra prediction mode is planar mode or 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 predefined threshold. Alternatively, only the first line of pixels 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 above group of candidate prediction modes.

[00318] С другой стороны, пиксели, смежные с текущим блоком, можно классифицировать как по меньшей мере один слой опорных пикселей, который может быть классифицирован так, что пиксели, ближайшие к текущему блоку, представляют собой ref_0 (пиксели, имеющие разность значений пикселя, равную 1, относительно граничного пикселя текущего блока; от p(-1, -1) до p(2m-1, -1), от p(-1, 0) до p(-1, 2n-1)), следующий смежный пиксель (разность между граничным пикселем текущего блока и значением пикселя равна 2; от p(-2, -2) до p(2m, -2), от p(-2, -1) до p(-2, 2n)) представляет собой ref_1, и следующий смежный пиксель (разность между граничным пикселем текущего блока и значением пикселя равна 3; от p(-3, -3) до p(2m+1, -3), от p(-3, -2) до p(-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 boundary 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) ) represents ref_1, and the next adjacent pixel (the difference between the boundary 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)) represents 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] Additionally, the reference pixel layers may be arranged differently for each adjacent block. For example, a reference pixel according to layer ref_0 can be used when a block adjacent to the current block and a block adjacent to the top end are used as reference blocks, and a reference pixel according to layer ref_1 can be used when a block adjacent to top end.

[00320] В этом случае набор опорных пикселей, к которому обычно делается отсылка при выполнении внутреннего предсказания, принадлежит к смежным блокам, смежным с текущим блоком. Смежные блоки расположены снизу слева, слева, сверху слева, на верхнем конце и верхнем правом конце и представляют собой пиксели, принадлежащие к слою ref_0 (пиксели, ближайшие к граничному пикселю), и пиксели, принадлежащие друг к другу, считаются являющимися этими пикселями, если не указано иное. Однако только часть пикселей, принадлежащих к вышеупомянутым смежным блокам, может быть использована в качестве набора опорных пикселей, или в качестве набора опорных пикселей могут быть использованы пиксели, принадлежащие более чем к двум слоям. В этом случае набор, или слой, опорных пикселей может быть определен в неявном виде (предварительно задан в устройстве для кодирования/декодирования) или может быть определен в явном виде (информация для определения может быть принята из устройства для кодирования).[00320] In this case, the set of reference pixels that are typically 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 represent pixels belonging to the ref_0 layer (pixels closest to the boundary pixel), and pixels belonging to each other are considered to be these pixels if not otherwise stated. However, only a portion of the pixels belonging to the above-mentioned adjacent blocks may be used as a set of reference pixels, or pixels belonging to more than two layers may be used as a set of reference pixels. In this case, the set, or layer, of reference pixels may be defined implicitly (preset in the encoding/decoding apparatus) or may be explicitly defined (the determination information may be received from the encoding apparatus).

[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 may also have a value that is 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 called candidate reference pixel groups) may be specified differently according to the 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, etc. elements.

[00322] Настоящее изобретение описано при условии, что нижний индекс (с приращением на 1 от 0) присваивается от слоя опорных пикселей, ближайшего к текущему блоку, но настоящее изобретение этим не ограничено. Кроме того, описанная ниже связанная информация о конфигурации опорных пикселей может генерироваться при вышеописанной настройке индексов (преобразование в двоичную форму присвоения короткого бита нижнему индексу в случае выбора одного из множества наборов опорных пикселей и т.д.).[00322] The present invention is described under the assumption 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, related reference pixel configuration information described below may be generated by adjusting the indices as described above (binarization of assigning a short bit to a subscript when one of a plurality of reference pixel sets is selected, etc.).

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

[00324] Например, блок предсказания может генерироваться с использованием опорного пикселя, полученного из взвешенной суммы пикселей, расположенных в слое ref_0 (ближайший слой пикселей) и слое ref_l (следующий слой пикселей) согласно фиг. 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 the ref_0 layer (nearest pixel layer) and the ref_l layer (next pixel layer) according to FIG. 11. In this case, according to the prediction mode (eg, the directional prediction mode), the pixels to which the weighted sum is applied in each reference pixel layer may be not only integer element pixels, but also decimal element pixels. In addition, to obtain the prediction block, weighted values (for example, 7:1, 3:1, 2:1 and 1:1) are respectively 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 reference pixels in accordance with the second reference pixel. In this case, if the weighted value is a prediction block according to a 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 the reference pixel, but is not limited to this. For example, there may be various cases (for example, a 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 of generating prediction pixel values, etc., i.e. implicit happening).

[00326] Кроме того, связанная информация о конфигурации опорных пикселей (например, информация о выборе для слоя, или набора, опорных пикселей и т.д.) может не включать предварительно заданную информацию (например, если слой опорных пикселей предварительно задан как ref_0). Например, она может быть сконфигурирована как, но без ограничения, ref_1, ref_2, ref_3 и т.д.[00326] In addition, associated reference pixel configuration information (e.g., selection information for a layer, or set, of reference pixels, etc.) may not include preset 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, etc.

[00327] Некоторые случаи конфигурации опорных пикселей были описаны при помощи приведенных выше примеров, которые можно скомбинировать с различной информацией о кодировании/декодировании и т.д. для определения настроек внутреннего предсказания. В этом случае информация о кодировании/декодировании содержит тип изображения, цветовую компоненту, форму и размер текущего блока, режим предсказания (тип режима предсказания (направленный или ненаправленный)), направление режима предсказания (вертикальный, горизонтальный, диагональный 1, диагональный 2 и т.д.) и т.д., и настройки внутреннего предсказания (в данном примере - настройки конфигурации опорных пикселей) могут быть определены в соответствии с информацией о кодировании/декодировании смежного блока и комбинацией информации о кодировании/декодировании текущего блока и смежного блока.[00327] Some cases of reference pixel configurations have been described using the above examples, which can be combined with various encoding/decoding information, etc. to define intra prediction settings. In this case, the encoding/decoding information contains the image type, color component, shape and size of the current block, prediction mode (prediction mode type (directional or omnidirectional)), prediction mode direction (vertical, horizontal, diagonal 1, diagonal 2, etc.). etc.), etc., and the intra prediction settings (in this example, the reference pixel configuration settings) can be determined in accordance with 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] In FIG. 12 is a circuit diagram for explaining the range of a reference pixel for intra prediction. In detail, the range of the reference pixel is determined according to the block size and shape, the prediction mode configuration (in this example, the prediction mode angle information), etc. The position indicated by the arrow in Fig. 12 is a pixel used for prediction.

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

[00330] Например, если опорными пикселями являются пиксели A и A' (прямоугольные блоки), они располагаются в пределах диапазона от p(0, -1) до p(9, -1), от p(-1, 0) до p(-1, 9), p(-1, -1), если опорными пикселями являются пиксели B и B' (прямоугольные блоки), они располагаются в пределах диапазона от p(0, -1) до p(11, -1), от p(-1, 0) до p(-1, 11), p(-1, -1), и, если опорным пикселем является пиксель C (квадратный блок), он располагается в пределах диапазона от p(0, -1) до p(15, -1), от p(-1, 0) до p(-1, 15), p(-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), 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 of p( 0, -1) to p(15, -1), from p(-1, 0) to p(-1, 15), p(-1, -1).

[00331] Информация о диапазоне (например, P(-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 generation process, etc.). In addition, support for reference pixels is not limited to the above-described cases, 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, etc. and may have all or part of the above configurations.

[00333] Секция конфигурации опорных пикселей выполнена с возможностью проверки доступности опорных пикселей с целью классификации доступных опорных пикселей и недоступных опорных пикселей. Например, если блок в предварительно заданном положении (или кандидатный блок опорного пикселя) можно использовать, то соответствующий блок может быть использован как опорный пиксель, а если он недоступен, этот блок нельзя использовать как опорный пиксель.[00333] The reference pixel configuration section is configured to check the availability of reference pixels to classify available reference pixels and unavailable reference pixels. For example, if a block at a predetermined position (or a reference pixel candidate block) 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 defined as unreachable 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 division block as the current block (e.g. slice, tile, etc.), encoding/decoding is not completed and the reference pixel usage is limited according to the encoding/decoding setting. That is, if none of the above conditions are 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 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 reconstructed by referring to other images as reference pixels.

[00336] Если ограниченное внутреннее предсказание деактивировано (например, в типе I кадра или типе P или B кадра constrained_intra_pred_flag=0), доступны все кандидатные блоки опорных пикселей, а если активировано (например, в типе P или B кадра constrained_intra_pred_flag=1), использование опорного пикселя из соответствующего блока может быть определено в соответствии с режимом кодирования (внутреннего предсказания или предсказания, осуществляемого между изображениями) кандидатного блока опорного пикселя. То есть, если режимом кодирования блока является внутреннее предсказание, блок можно использовать независимо от того, активировано ли ограниченное внутреннее предсказание. В случае предсказания, осуществляемого между изображениями, доступность (деактивировано) или недоступность (активировано) блока определяется в зависимости от активации ограниченного внутреннего предсказания.[00336] If constrained intra prediction is deactivated (for example, in frame type I or frame type P or B constrained_intra_pred_flag=0), all candidate reference pixel blocks are available, and if enabled (for example, in frame type P or B constrained_intra_pred_flag=1), the use of a reference pixel from the corresponding block may be determined in accordance with the encoding 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 the limited intra prediction.

[00337] Кроме того, ограниченное внутреннее предсказание может применяться в соответствии с режимом кодирования восстановленного блока, соответствующего текущему блоку в другом цветовом пространстве. Например, текущий блок принадлежит к каким-либо цветоразностным компонентам Cb и Cr, и доступность ограниченного внутреннего предсказания определяется в соответствии с режимом кодирования блока, в котором завершено кодирование/декодирование компоненты Y яркости, соответствующей текущему блоку. Приведенный выше пример может представлять собой пример случая, в котором в качестве опорного пикселя используется восстановленный блок другого цветового пространства. Кроме того, он может представлять собой пример случая, в котором режим кодирования определяется независимо в соответствии с цветовым пространством.[00337] In addition, limited intra prediction may be applied in accordance with the encoding mode of the reconstructed block corresponding to the current block in another color space. For example, the current block belongs to some chroma components Cb and Cr, and the availability of limited intra prediction is determined according to the block coding mode in which encoding/decoding of the luminance Y component 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. Moreover, it may be an example of a case in which the encoding mode is determined independently according to the color space.

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

[00339] В качестве примера, если кодирование/декодирование выполняется с использованием указанного способа предсказания, и если режим кодирования задан как внутреннее предсказание, соответствующий блок может быть определен как доступный. Альтернативно, даже если используется внутреннее предсказание, допускаются специальные случаи, в которых блок является недоступным.[00339] As an example, if encoding/decoding is performed using a 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 the block is unavailable.

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

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

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

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

[00344] Если кандидатный блок опорного пикселя доступен, пиксель в предварительно заданном положении этого блока (в данном примере предполагается, что пиксель является смежным с текущим блоком) может быть сохранен в запоминающем устройстве для опорных пикселей текущего блока. В этом случае данные пикселей из положения соответствующего блока могут сохраняться в запоминающем устройстве для опорных пикселей при помощи таких процессов, как прямое копирование или фильтрация опорных пикселей.[00344] If a reference pixel candidate 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 reference pixel memory of the current block. In this case, the pixel data from the position of the corresponding block can be stored in the reference pixel memory by processes such as direct copying or reference pixel filtering.

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

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

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

[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 bit depth-based pixel value adjustment process or an information-based pixel value adjustment process about the range of values of an image pixel, such as minimum value, maximum value and median value). In more detail, this may be an example applicable when all reference pixel candidate blocks are not available.

[00349] Альтернативно опорные пиксели могут быть сгенерированы по завершении кодирования/декодирования изображения. Подробнее, опорные пиксели могут быть сгенерированы из по меньшей мере одного доступного блока, смежного с недоступным блоком. В этом случае может быть использовано по меньшей мере одно из экстраполяции, интерполяции, копирования или других способов, и направлением генерирования (или копирования и экстраполяции) опорных пикселей может являться направление по часовой стрелке или против часовой стрелки, и оно может быть определено в соответствии с настройками кодирования/декодирования. Например, направление генерирования опорных пикселей в блоке может представлять собой предварительно заданное направление или направление, адаптивно определяемое в соответствии с положением недоступного блока. Альтернативно для области, соответствующей текущему блоку в других цветовых пространствах, можно использовать такой же способ, как в приведенном выше примере. Разница заключается в том, что, если процесс заполнения смежных опорных пикселей текущего блока выполняется в текущем цветовом пространстве, процесс заполнения блока M×N, соответствующего текущему блоку m×n, выполняется в других цветовых пространствах. Поэтому для генерирования соответствующих областей могут быть использованы другие различные способы, включая приведенный выше способ (например, экстраполяцию в вертикальном, горизонтальном и диагональном направлениях окружающих пикселей, планарную интерполяцию, усреднение и т.д., в данном случае направление заполнения относится к направлению от окружающих пикселей блока, соответствующего текущему блоку, внутрь блока). Данный пример может представлять собой случай, в котором режим предсказания, используемый для генерирования блока предсказания из другого цветового пространства, включается в группу кандидатов, но не исключается из группы кандидатов.[00349] Alternatively, reference pixels may be generated upon completion of image encoding/decoding. More specifically, 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 generating (or copying and extrapolating) reference pixels may be a clockwise or counterclockwise direction, and it may be determined in accordance with encoding/decoding settings. For example, the direction of generating reference pixels in a block may be a predetermined direction or a direction adaptively determined according to the position of an inaccessible block. Alternatively, for the region corresponding to the current block in other color spaces, the same method as in the example above can be used. The difference is that while the process of filling adjacent reference pixels of the current block is performed in the current color space, the process of filling 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 regions, 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 filling 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 a prediction mode used to generate a prediction block from another color space is included in the candidate group, but is not excluded from the candidate group.

[00350] Кроме того, после завершения конфигурации опорных пикселей при помощи процесса подтверждения доступности опорных пикселей при помощи линейной интерполяции опорных пикселей могут быть сгенерированы опорные пиксели в десятичных элементах. Альтернативно процесс интерполяции опорных пикселей может быть выполнен после выполнения процесса фильтрации опорных пикселей. Альтернативно может выполняться только процесс фильтрации для сконфигурированных опорных пикселей. Коротко говоря, он может выполняться перед процессом генерирования блока предсказания.[00350] In addition, after completing the configuration of reference pixels, reference pixels in decimal units can be generated by a process of confirming the availability of reference pixels 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 may be performed on the configured reference pixels. Briefly, it may be executed before the prediction block generation process.

[00351] В этом случае в горизонтальном режиме, вертикальном режиме, некоторых диагональных режимах (например, диагональном снизу справа, диагональном снизу слева и диагональном сверху справа) и ненаправленных режимах, цветовом режиме, режиме копирования цвета и т.д. процесс интерполяции не выполняется, а в случае других режимов (других диагональных режимов) интерполяция может выполняться.[00351] In this case, in horizontal mode, vertical mode, some diagonal modes (for example, bottom-right diagonal, bottom-left diagonal, and top-right diagonal) and omnidirectional modes, color mode, color copy mode, etc. no interpolation process is performed, but in case of other modes (other diagonal modes), interpolation may be performed.

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

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

[00354] Если используется одна из множества групп фильтров-кандидатов, информация о выборе фильтра может генерироваться в явном виде или определяться в неявном виде и может определяться в соответствии с настройками кодирования/декодирования (например, точностью интерполяции, размером и формой блока, режимом предсказания и т.д.).[00354] If one of a plurality of candidate filter groups is used, filter selection information may be generated explicitly 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, the interpolation filter to use may be determined according to the block size range, the interpolation filter to use may be determined according to the interpolation precision, and the interpolation filter may be determined according to characteristics of the prediction mode (e.g., directional information, etc.). d.).

[00356] Подробнее, в соответствии с диапазоном размеров блока предварительно заданный интерполяционный фильтр а может использоваться в некоторых диапазонах А, предварительно заданный интерполяционный фильтр b может использоваться в некоторых диапазонах B, интерполяционный фильтр с из множества интерполяционных фильтров С может использоваться в некоторых диапазонах С, интерполяционный фильтр d из множества интерполяционных фильтров D может использоваться в некоторых диапазонах D, в некоторых диапазонах может использоваться предварительно заданный интерполяционный фильтр, и в некоторых диапазонах может использоваться один из множества интерполяционных фильтров. В этом случае, если использование одного интерполяционного фильтра является неявным, использование одного интерполяционного фильтра во множестве интерполяционных фильтров является явным, и размер блока для разделения диапазона размеров блока может составлять M×N (в данном примере M и N равны 4, 8, 16, 32, 64, 128 и т.д.; то есть M и N могут представлять собой минимальное или максимальное значение диапазона размеров каждого блока).[00356] In detail, according to the block size range, a predefined interpolation filter a can be used in some A-bands, a predefined interpolation filter b can be used in some B-bands, an interpolation filter c of a plurality of interpolation filters C can be used in some C-bands, an interpolation filter d of a plurality of interpolation filters D may be used in some D bands, some bands may use a predefined interpolation filter, and some bands may use one of a plurality of interpolation filters. In this case, if the use of one interpolation filter is implicit, the use of one interpolation filter in a plurality of interpolation filters is explicit, and 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.; that is, M and N can represent 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, etc. 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 reduce degradation remaining after the encoding/decoding process to improve prediction accuracy. In this case, the filter used may be a low pass filter. The implementation of filtering can be determined according to the encoding/decoding settings, if filtering is applied, fixed or adaptive filtering can be applied, and the encoding/decoding settings can 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 the case where a predetermined filter is applied to the reference pixel filtering section, and adaptive filtering refers to the case where one of a plurality of filters is applied to the reference pixel filtering section. In this case, in adaptive filtering, one of a plurality of filters may be defined implicitly according to the encoding/decoding settings, or selection information may be generated explicitly 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 (A block range).

[00361] В качестве примера, фильтрация может не применяться при некоторых настройках (диапазон B блоков, некоторый режим C), и при некоторых настройках (диапазон B блоков, некоторый режим D) может применяться фильтрация при помощи предварительно заданного фильтра (3-отводного фильтра).[00361] As an example, filtering may not be applied in some settings (block range B, some mode C), and in some settings (block range B, some mode D) filtering may be applied using a predefined 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, in some G mode) filtering may be applied using a pre-filter (3-tap filter), in some settings (range E blocks, some mode H) filtering can be applied using a pre-filter (5-tap filter), and in some settings (range E blocks, some mode I) one of a variety of filters can be used for filtering.

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

[00364] В приведенном выше примере размер блока для разделения диапазона размеров блока может составлять M×N (в данном примере M и N равны 4, 8, 16, 32, 64, 128 и т.д., т.е. M и N могут представлять собой минимальное или максимальное значение каждого диапазона размеров блока). Кроме того, режим предсказания может быть грубо классифицирован на направленный режим, ненаправленный режим, цветовой режим, режим копирования цвета и т.д., и, подробнее, режим 1, смежный с горизонтальным или вертикальным режимом/диагональным режимом (интервал 45 градусов)/горизонтальным или вертикальным режимом, режим 2, смежный с горизонтальным или вертикальным режимом (интервал между режимами несколько больше приведенного выше интервала), и т.д. То есть, как описано выше, выполнение фильтрации и тип фильтрации определяются в соответствии с режимом классификации.[00364] In the above example, the block size for dividing a 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 may represent the minimum or maximum value of each block size range). In addition, the prediction mode can be roughly classified into directional mode, non-directional mode, color mode, color copy mode, etc., and, in more detail, mode 1 adjacent to 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 larger than the interval above), etc. That is, as described above, the filtering execution and the filtering type are determined according to the classification mode.

[00365] Кроме того, в приведенных выше примерах представлен случай, в котором адаптивная фильтрация применяется в соответствии с множеством факторов, таких как диапазон блока и режим предсказания. Однако не всегда требуется множество факторов, и также может иметь место пример, в котором адаптивная фильтрация выполняется в соответствии с по меньшей мере одним фактором. Кроме того, может иметь место множество преобразованных примеров без ограничения примерами, приведенными выше, и информация, связанная с фильтрацией опорных пикселей, может быть включена в элементы видео, последовательности, кадра, среза, плитки и блока.[00365] In addition, the above examples represent a case in which adaptive filtering is applied according to a plurality of factors such as block range and prediction mode. However, multiple factors are not always required, and there may also be an example in which adaptive filtering is performed according to at least one factor. In addition, there may be a variety of transformed examples without limitation to the examples above, and information associated with 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 that filtering is performed 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 decoding device based on the encoding parameter of the current block. The encoding parameter may include at least one of a reference pixel position/area, a block size, a component type, whether intra prediction was applied in the subblock elements, or an intra prediction mode.

[00367] Например, если опорным пикселем текущего блока является первая линия пикселей, смежная с текущим блоком, то опорный пиксель может подвергаться фильтрации, в ином случае опорный пиксель может не подвергаться фильтрации. Альтернативно опорный пиксель может подвергаться фильтрации, если количество пикселей, принадлежащих к текущему блоку, больше количества предварительно определенных пороговых значений, в ином случае опорный пиксель может не подвергаться фильтрации. Пороговое значение представляет собой значение, предварительно определенное для устройства для кодирования/декодирования, и может представлять собой целое число 16, 32, 64 или более. Альтернативно опорный пиксель может подвергаться фильтрации, если текущий блок больше предварительно определенного порогового значения, в ином случае опорный пиксель может не подвергаться фильтрации. Пороговое значение может быть представлено как M×N, и оно представляет собой значение, предварительно определенное для устройства для кодирования/декодирования, и M и 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 predefined thresholds, otherwise the reference pixel may not be filtered. The threshold value is a value predetermined for the encoding/decoding device 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 value, 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 encoding/decoding device, and M and N may be integers 8, 16, 32 or more. A threshold number or threshold size may be set to determine filtering of a reference pixel by a single threshold number or threshold size, or a combination thereof. Alternatively, the reference pixel may be filtered if the current block represents a luminance component, otherwise the reference pixel may not be filtered. Alternatively, if the current block does not perform the above-described intra-prediction on the subblock elements (ie, the current block is not split into multiple subblocks), the reference pixel is subject to filtering, 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 an undirected mode or a predetermined directed mode, otherwise the reference pixel may not be filtered. Here, the omnidirectional mode may be a planar mode or a DC mode. However, in DC omnidirectional mode it can be limited to avoid reference pixel filtering. The directional mode may refer to an intra prediction mode with reference to an integer pixel. For example, the directional 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 can be limited to eliminate the horizontal mode and vertical mode, which are related to modes 18 and 50, respectively.

[00368] При фильтрации опорного пикселя в соответствии с флагом фильтрация может выполняться на основе фильтра, предопределенного в устройстве для кодирования/декодирования. Количество отводов фильтра может составлять 1, 2, 3, 4, 5 или более. Количество отводов фильтра может быть определено как переменное в соответствии с положением опорного пикселя. Например, 1-отводный фильтр может применяться к опорным пикселям, соответствующим по меньшей мере одной стороне самого нижнего, самого верхнего, самого левого и самого правого конца линии пикселей, а к остальным опорным пикселям может применяться 3-отводный фильтр. Кроме того, сила фильтра может определяться как переменная в соответствии с положением опорного пикселя. Например, сила s1 фильтра может применяться к опорным пикселям, соответствующим по меньшей мере одной стороне самого нижнего, самого верхнего, самого левого и самого правого конца линии пикселей, а к остальным опорным пикселям может применяться сила s2 фильтра (s1<s2). Сила фильтра может сообщаться в устройстве для кодирования или может быть определена на основе вышеописанных параметров кодирования. При применении n-отводного фильтра к опорному пикселю фильтр может быть применен к текущему опорному пикселю и (n-1) окружающих опорных пикселей. Окружающие опорные пиксели могут указывать пиксели, расположенные в по меньшей мере одном из верхнего конца, нижнего конца, левой стороны или правой стороны текущего опорного пикселя. Окружающие опорные пиксели могут принадлежать к той же линии пикселей, что и текущий опорный пиксель, и часть окружающих опорных пикселей может принадлежать к иной линии пикселей, чем текущий опорный пиксель.[00368] When filtering a reference pixel according to a flag, filtering may be performed based on a filter predefined in the encoding/decoding apparatus. The number of filter taps can be 1, 2, 3, 4, 5 or more. The number of filter taps can be determined to be variable according to the position of the reference pixel. For example, a 1-tap filter may be applied to reference pixels corresponding to at least one side of the bottom-most, top-most, left-most, and right-most ends of a line of pixels, and a 3-tap filter may be applied to the remaining reference pixels. In addition, the filter strength may be determined as variable according to the position of the reference pixel. For example, filter strength s1 may be applied to reference pixels corresponding to at least one side of the lowermost, uppermost, leftmost, and rightmost ends of a line of pixels, and filter strength s2 (s1<s2) may be applied to the remaining reference pixels. The filter strength may be reported to the encoder or may be determined based on the encoding parameters described above. When applying an n-tap filter to a reference pixel, the filter can 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 top left end of the current block, the surrounding reference pixels may be pixels adjacent at least one of the bottom end or right side of the current reference pixel. The ratio between 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 can be used in methods such as extrapolation (directional mode) in accordance with the prediction mode, and can 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] In 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_T на фиг. 13) или опорные пиксели нижнего левого блока, левого блока, верхнего левого блока, верхнего блока и правого верхнего блока (Ref_BL, Ref_L, Ref_TL, Ref_T и Ref_TR на фиг. 13). Альтернативно, в случае использования режима корреляции цветовых пространств (режима копирования цвета) в качестве опорных пикселей используются восстановленные блоки других цветовых пространств (не изображены на фиг. 12, но называются Ref_Col в настоящем описании; это означает, что размещенная ссылка блоков находится в разных пространствах в одно время).[00372] For example, in the directional mode, the mode between the horizontal mode and some diagonal modes (diagonally top right, including diagonal lines other than horizontal) may use the bottom left block + left block reference pixels (Ref_BL and Ref_L in Fig. 13), in horizontal mode, the reference pixel of the left block can be used, in the mode between horizontal and vertical modes, the reference pixels of left block + top left block + top block (Ref_L, Ref_TL and Ref_T in Fig. 13) can be used, in vertical mode, the reference pixel of the top block (Ref_L in Fig. 13), and in a mode between the vertical mode and some diagonal modes (diagonally bottom left, including diagonals other than vertical), the reference pixels of the top block + top right block (Ref_T and Ref_TR in Fig. 13) can be used. . Alternatively, in omnidirectional 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 color space correlation mode (color copy mode), reconstructed blocks of other color spaces (not shown in FIG. 12, but called Ref_Col in this description; this means that the allocated block reference is in different spaces) are used as reference pixels At the same time).

[00373] Опорные пиксели, используемые для внутреннего предсказания, могут быть выделены во множество групп. Например, опорные пиксели, используемые для внутреннего предсказания, могут быть выделены в первый опорный пиксель и второй опорный пиксель, и первый опорный пиксель может представлять собой пиксель, непосредственно используемый для генерирования значения предсказания текущего блока, и второй опорный пиксель может представлять собой пиксель, опосредованно используемый для генерирования значения предсказания текущего блока. Альтернативно первый опорный пиксель может представлять собой пиксель, используемый для генерирования значений предсказания всех пикселей текущего блока, а второй опорный пиксель может представлять собой пиксель, используемый для генерирования значения предсказания некоторых пикселей текущего блока. Альтернативно первый опорный пиксель может представлять собой пиксель, используемый для генерирования главного значения предсказания текущего блока, а второй опорный пиксель может представлять собой пиксель, используемый для генерирования вспомогательного значения предсказания текущего блока. Альтернативно первый опорный пиксель (безусловно) может представлять собой пиксель в области в начальной точке направления предсказания текущего блока, второй опорный пиксель может представлять собой пиксель, не находящийся в начальной точке (необходимого) направления предсказания текущего блока.[00373] The reference pixels used for intra prediction may be divided into a variety 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 current block's prediction value. 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 a pixel used to generate a main prediction value of the current block, and the second reference pixel may be a pixel used to generate a minor prediction value of the current block. Alternatively, the first reference pixel may (of course) be a pixel in a region at the starting point of the prediction direction of the current block, the second reference pixel may be a pixel not at the starting point of the (desired) prediction direction of the current block.

[00374] Как описано в приведенном выше примере, несмотря на то что опорные пиксели можно различить при помощи разных определений, могут иметь место случаи, в которых некоторые определения не различаются в соответствии с режимом предсказания. То есть следует отметить, что определение, используемое для различения опорных пикселей, может отличаться в соответствии с режимом предсказания.[00374] As described in the above example, although 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 reference pixels may differ according to the prediction mode.

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

[00376] Кроме того, можно считать, что второй опорный пиксель включает не только пиксели, которые были закодированы/декодированы, но также пиксели в текущем блоке (в данном примере - пиксели предсказания). То есть главным значением предсказания может являться пиксель, используемый для генерирования вспомогательного значения предсказания. В настоящем изобретении будет главным образом описан пример, в котором вторым опорным пикселем считается пиксель, который был закодирован/декодирован, но настоящее изобретение этим не ограничено, и также может иметь место преобразованный пример, в котором используются пиксели, которые не были закодированы/декодированы (в данном примере - пиксели предсказания).[00376] In addition, the second reference pixel can be considered to include not only the pixels that have been encoded/decoded, but also the pixels in the current block (in this example, the prediction pixels). 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 a converted example in which pixels that have not been encoded/decoded is also used ( in this example - prediction pixels).

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

[00378] Например, направленный режим представляет собой режим, используемый для предсказания направленности соответствующего блока с использованием некоторых опорных пикселей (первого опорного пикселя), однако он может неточно отражать изменения в блоке, что может вызывать снижение точности предсказания. В этом случае, если блок предсказания генерируется или корректируется с использованием дополнительного опорного пикселя (второго опорного пикселя), точность предсказания может быть повышена.[00378] For example, a 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 decrease in prediction accuracy. In this case, if the prediction block is generated or adjusted using an additional reference pixel (second reference pixel), the 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 to use an additional reference pixel for the purpose of generating a prediction block may be specified explicitly or specified implicitly. Explicitly, an element can contain a video, sequence, frame, slice, tile, etc. The following example will describe the case of implicit processing, however, the present invention is not limited to it, 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. In detail, the prediction block may be determined according to the position of a reference pixel used in the prediction mode. In addition, the prediction method can 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 from) the nearest pixel (1300 in FIG. 13).

[00384] Кроме того, блок предсказания может генерироваться (или корректироваться; генерирование может включать конечное значение предсказания; коррекция может не включать все пиксели) путем использования опорных пикселей, смежных с текущим блоком и соответствующих горизонтальному направлению. Подробнее, для коррекции значения предсказания может использоваться ближайший пиксель соответствующего блока (1310 на фиг. 13; также могут учитываться и другие пиксели 1320 и 1330), и информация о степени изменения, или градиенте, пикселя и т.д. (например, информация о степени изменения, или градиенте, значений пикселя, отраженных в R0-T0, T0-TL, T2-TL, T2-T0, T2-T1 и т.д.) может передаваться при помощи обратной связи в процесс коррекции.[00384] In addition, a prediction block may be generated (or adjusted; the generation may include the final prediction value; the adjustment may not include all pixels) by using reference pixels adjacent to the current block and corresponding to the horizontal direction. In detail, the nearest pixel of the corresponding block (1310 in FIG. 13; other pixels 1320 and 1330 may also be considered) and information about the degree of change, or gradient, of the pixel, etc. can be used to adjust the prediction value. (for example, information about the degree of change, or gradient, of 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 certain pixels (for example, they may be defined in single pixel elements that do not have a specific shape or exist in a variable position, as in the following example, they are defined in line pixel elements having a certain shape; for ease of description, the description in the following example is made on the assumption of a pixel element with a line as an element). If the correction pixel is limitedly 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 applied identically regardless of line position, or correction information may be applied differently across line elements, and as 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, pixels to be corrected may be determined according to the block size. In a block less than 8x8, no line is corrected, only one pixel can be corrected in a block greater than 8x8 and less than 32x32, and in a block greater than 32x32 two lines of pixels can be corrected. The definition of the block size range can be obtained from the foregoing description of the present invention.

[00388] Альтернативно пиксели, подлежащие коррекции, могут определяться в соответствии с формой блока (например, квадратной или прямоугольной; в частности, прямоугольника, удлиненного в горизонтальном направлении, или прямоугольника, удлиненного в вертикальном направлении). Например, в случае блока 8×4 коррекции могут подвергаться две линии пикселей (a-h на фиг. 13), а в случае блока 4×8 коррекции может подвергаться одна линия пикселей (a-d на фиг. 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 block, two lines of pixels (a-h in FIG. 13) may be subject to correction, and in the case of a 4×8 block, one line of pixels (a-d in FIG. 13) may be subject to correction. If the shape of a horizontally stretched block is determined to be in horizontal mode in case 8x4, the directionality of the current block may be more dependent on the top block, and if the shape of a vertically stretched block is determined to be in horizontal mode in case 4 ×8, the directionality of the current block may depend on the upper block to a lesser extent. In addition, the opposite arrangement to that described above is also possible.

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

[00390] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут применяться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении горизонтального режима. Однако оно применимо не только к приведенным выше примерам, но аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же случай, как в приведенном выше примере, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.[00390] In addition to the above description, adaptive settings may be applied in accordance with additional encoding/decoding elements. The above description focuses on limiting the horizontal mode. However, it does not only apply to the above examples, but similar or similar settings apply to other modes as well. Moreover, the same case as in the above example is implemented according to a combination of multiple 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, a detailed description thereof will be omitted. Additionally, the following example omits repeats of content associated with landscape mode.

[00392] Ниже будет описан случай диагонального режима (диагонального вверх вправо).[00392] The case of the diagonal mode (diagonal up 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_T и Ref_TR на фиг. 13), смежных с текущим блоком, расположенных в диагонально противоположных положениях. Подробнее, значение предсказания может корректироваться с использованием ближайших пикселей соответствующего блока (1310 и 1330 на фиг. 13, и дополнительно может учитываться 1320) и может передаваться с использованием обратной связи в процесс коррекции при помощи взвешенного среднего вспомогательного опорного пикселя и главного опорного пикселя (например, взвешенное значение может быть получено на основе по меньшей мере одного из пикселя предсказания, главного опорного пикселя или разности расстояний по оси х или оси y между пикселем предсказания и вспомогательным опорным пикселем; пример взвешенного значения, применимого к главному опорному пикселю и вспомогательному опорному пикселю, может включать 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 adjusted) 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 adjusted using the nearest pixels of the corresponding block (1310 and 1330 in FIG. 13, and optionally 1320 may be taken into account) and may be fed back into the correction process using a weighted average of the minor reference pixel and the main reference pixel (e.g. , the weighted value may be obtained based on at least one of a prediction pixel, a main reference pixel, or a difference in x-axis or y-axis distances between the prediction pixel and the auxiliary reference pixel; an example of a weighted value applicable to the main reference pixel and the auxiliary reference pixel is may include 15:1 - 8:8; if there are more than two secondary reference pixels, an example of the weighting is that the weighted values in the secondary reference pixels are, for example, 14:1:1, 12:2:2, 10:3:3 , 8:4:4, are the same, or the weightings between the auxiliary reference pixels, such as 12:3:1, 10:4:2, 8:6:2, may differ; in this case, by centering on the corresponding prediction pixel, different weights are determined according to the proximity of the slope information in the current direction of the prediction mode, that is, the gradient of the current prediction mode is determined, which is closer to which the gradient of the corresponding prediction pixel and each auxiliary reference pixel is located).

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

[00396] В качестве примера, в случае адаптивного определения пиксели, подлежащие фильтрации (например, число пикселей и т.д.), могут быть определены в соответствии с положениями пикселей, подлежащих коррекции. Если режим предсказания представляет собой диагональный режим (в данном примере - режим 2), и пикселем, подлежащим коррекции, является с, предсказание выполняется с использованием L3 (в данном примере - первый опорный пиксель), и коррекция выполняется с использованием T3 (в данном примере - второй опорный пиксель). То есть данный случай может представлять собой случай, в котором для предсказания одного пикселя используются один первый опорный пиксель и один второй опорный пиксель.[00396] As an example, in the case of adaptive determination, pixels to be filtered (eg, number of pixels, etc.) may be determined according to the positions of pixels to be corrected. If the prediction mode is the diagonal mode (mode 2 in this example) and the pixel to be corrected is c, prediction is performed using L3 (the first reference pixel in this example) and correction is performed using T3 (in this example - second reference pixel). That is, the 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, и коррекция выполняется с использованием T2 (в данном примере - второго опорного пикселя), или коррекция может выполняться с использованием T3. Альтернативно коррекция может выполняться с использованием T2 и T3, или коррекция может выполняться с использованием T2* (или T3*), которые получены путем выполнения интерполяции в отношении пикселей десятичных элементов между T2 и T3, которые получены на основе направленности режима предсказания. То есть для предсказания одного пикселя могут использоваться один первый опорный пиксель (в данном примере, предполагая L1*, его можно рассматривать как два пикселя, если непосредственно используемыми пикселями считаются L1 и L2; или, в соответствии с фильтром, используемым для выполнения интерполяции в отношении L1*, его можно рассматривать как два или более пикселей) и два вторых опорных пикселя (в данном примере, предполагая T2 и T3, 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 decimal element pixels between L1 and L2, and correction is performed using T2 (the second reference pixel in this example), or correction may be performed using T3. Alternatively, correction may be performed using T2 and T3, or correction may be performed using T2* (or T3*) that are obtained by performing interpolation on the decimal element pixels between T2 and T3 that are obtained based on the directionality 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 the directly used pixels are considered to be L1 and L2; 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, to predict one pixel, which can be determined in accordance with the prediction mode and the position of the prediction pixel, at least one first reference pixel and at least one second reference pixel can be used.

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

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

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

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

[00403] Например, если в качестве опорных пикселей используются левый блок, верхний левый блок и верхний блок (первые опорные пиксели, или главные опорные пиксели, Ref_L, Ref_TL и Ref_T на фиг. 13), блок предсказания генерируется в диагональном направлении с использованием ближайших пикселей (1300, 1310 и 1320 на фиг. 13) соответствующего блока (например, путем экстраполяции и т.д.).[00403] For example, if the left block, the top left block and the top block (the first reference pixels, or main reference pixels, Ref_L, Ref_TL 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_T на фиг. 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 adjusted) using reference pixels (second reference pixels, or auxiliary reference pixels, Ref_L, Ref_TL and Ref_T in Fig. 13, in the same position as the main reference pixel) adjacent with the current block, located in positions coinciding with the diagonal lines. In detail, pixels other than the nearest pixels of the corresponding block may be used to correct the prediction value (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 by the weighted average of the sub-reference pixel and the main reference pixel (for example, an example of the ratio of the weighted values applied to the main reference pixel and the sub-reference pixel, may include 7:1 - 4:4, etc., if there are more than two sub-reference pixels, an example of the weighted value may be a case in which the weighted values in the sub-reference pixels are the same, for example, 14:1:1, 12:2:2, 10:3:3 and 8:4:4, or the weightings between the auxiliary reference pixels are different, for example, 12:3:1, 10:4:2 and 8:6:2; in this case, 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, и пиксели (перекрывающиеся с а), соответствующие a, e, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, e и f перекрываются).[00405] If correction pixels are limitedly applied to some pixels, the corrected pixels may be determined in horizontal line elements or vertical line elements adjacent to the reference pixel used in the prediction mode. In this case, horizontal and vertical lines can be counted simultaneously and overlap is allowed. For example, the correction target may include pixels corresponding to a-d and pixels (overlapping with a) corresponding to a, e, i and m. 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 the non-directional mode (DC) will be described below.

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

[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 auxiliary reference pixel, of the reference pixel; the positions of Ref_L and Ref_T in FIG. 13 in this example are the same as the main reference pixel) may be used to generate (or correct) the prediction block , or are complementary to the main reference pixel, the pixel located at the next adjacent position is also included; a case similar to the diagonally up right mode). In detail, pixels at positions the same or similar to the position of the main reference pixel of the corresponding block can be used to correct the prediction value and can be fed back to the correction process using a weighted average of the auxiliary reference pixel and the main reference pixel (for example, an example of the weighted ratio values applicable to the main reference pixel and the secondary reference pixel may include 15:1 - 8:8, etc., if there are more than two secondary reference pixels, an example of the weighted value may be a case in which the weighted values in the secondary reference pixels are the same, for example, 14:1:1, 12:2:2, 10:3:3 and 8:4:4, or the weightings between the sub-reference pixels are different, for example, 12:3:1, 10: 4:2 and 8:6:2).

[00409] В этом случае фильтрация имеет одну настройку для одного изображения, или фильтрация определяется адаптивно в соответствии с различными элементами кодирования/декодирования.[00409] In this case, the filtering has one setting for one image, or the filtering is determined adaptively according to different encoding/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, at the top end and left end of the current block (in this example, the pixel located at the top left end filters out pixels to the left 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 8:4:4 and 12:4 weighting ratios ), and some filtering settings can be used in a block larger than 16x16 (in this example, filtering is applied according to the 10:3:3 and 14:2 weighting ratios).

[00411] Альтернативно фильтр может быть определен в соответствии с формой блока. Например, для блока 16×8, некоторые настройки фильтра могут использоваться для пикселей на верхнем конце текущего блока (в данном примере предполагается, что фильтрации подвергаются пиксели на верхней левой, верхней и верхней правой сторонах пикселя, т.е. их можно рассматривать как пример, в котором фильтрованные пиксели также изменяются; весовое соотношение фильтрации составляет 10:2:2:2), и некоторые настройки фильтра могут использоваться для пикселей на левом конце текущего блока (в данном примере предполагается, что фильтрации подвергается пиксель на левом конце этого пикселя, и весовое соотношение фильтрации составляет 12:4). Данный пример предполагает, что его можно применять к множеству пикселей на верхней стороне блока с формой блока, удлиненной в горизонтальном направлении. Кроме того, может также быть реализовано противоположное расположение.[00411] Alternatively, the filter may be defined according to the shape of the block. For example, for a 16x8 block, some filter settings may be used for the pixels at the top end of the current block (this example assumes that the pixels on the top left, top and top right sides of the pixel are filtered, so these can be considered an example , in which the filtered pixels are also changed; 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 (this example assumes that the pixel at the left end of that pixel is being filtered, and the filtration weight ratio is 12:4). This example assumes that it can be applied to multiple 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, и пиксели (перекрывающиеся с а), соответствующие a, e, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, e и f перекрываются).[00412] If the correction is limited to certain pixels, the corrected pixels may be determined in horizontal line elements or vertical line elements adjacent to the reference pixel used in the prediction mode. In this case, horizontal and vertical lines can be counted simultaneously and overlap is allowed. For example, the correction target may include pixels corresponding to a-d and pixels (overlapping with a) corresponding to a, e, i and m. 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.

[00413] В дополнение к приведенному выше описанию, в соответствии с дополнительными элементами кодирования/декодирования могут реализовываться адаптивные настройки. Приведенное выше описание сосредоточено на ограничении ненаправленного режима. Однако оно применимо к приведенным выше примерам не только в ограничительном смысле, и аналогичные или подобные настройки применимы и к другим режимам. Кроме того, такой же пример, как описанный выше, реализуется в соответствии с комбинацией множества элементов, а не одним элементом кодирования/декодирования.[00413] In addition to the above description, adaptive settings may be implemented in accordance with additional encoding/decoding elements. The above description focuses on limiting the omnidirectional mode. However, it does not apply to the above examples only in a restrictive sense, and similar or similar settings apply to other modes as well. Moreover, the same example as described above is implemented in accordance with a combination of multiple 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 manner different from the prediction method of the existing prediction mode, but the reference pixels can be used in the same way as or similar to generating (or correcting) the prediction block. Since content regarding prediction block acquisition can be obtained using the above examples and the following examples, content regarding prediction block acquisition is omitted.

[00416] Например, блок предсказания может быть сгенерирован путем использования (например, копирования) в качестве опорного пикселя (первого опорного пикселя, или главного опорного пикселя) блока, соответствующего текущему блоку в другом цветовом пространстве.[00416] For example, a prediction block can be generated by using (eg, copying) as a reference pixel (a first reference pixel, or a main reference pixel) a block corresponding to a current block in another 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 adjusted) 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 detail, the nearest pixels (assumed to be pixels 1300 and 1310 in this example in FIG. 13) of the corresponding block can be used to correct the prediction value and can be fed back into the correction process using a weighted average of the sub reference pixel and the main reference pixel. pixel (for example, an example of the ratio of the weighted values applicable to the main reference pixel and the secondary reference pixel may include 15:1 - 8:8, etc., if there are more than two secondary reference pixels, the example of the weighted value may be the case wherein the weightings within the minor reference pixels are the same, for example, 14:1:1, 12:2:2, 10:3:3 and 8:4:4, or the weightings between the minor reference pixels are different, for example, 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, pixels of a block adjacent to blocks obtained in other color spaces (second reference pixels, or auxiliary reference pixels; if the frame in FIG. 13 is assumed to be 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). The pixels to be corrected and the surrounding pixels (e.g., 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, to be corrected, and the filtered first reference pixel, and a block boundary is required, the first reference pixel to be corrected, and the filtered first reference pixel) 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 of adjacent blocks of the current block can be used, but also 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 of 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 filtering example; at this point, the mask filters these pixels and all or part of the pixels at the top, bottom, left, right, top left, top right, bottom left, bottom left, etc.) and are fed back into the correction process.

[00420] Данный пример иллюстрирует случай, в котором фильтрация применяется после получения значения предсказания текущего блока в других цветовых пространствах, но также возможно принятие подвергнутого фильтрации значения в соответствующем цветовом пространстве перед получением значения предсказания в качестве значения предсказания текущего блока. В данном примере следует отметить, что данный случай отличается от приведенного выше примера только порядком, а подвергаемый фильтрации объект является таким же.[00420] This example illustrates a case in which filtering is applied after obtaining the prediction value of the current block in other color spaces, but it is also possible to accept 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 above example only in the order, and the object being filtered is the same.

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

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

[00423] В настройках фильтра может быть определено, применять ли фильтрацию. Например, в соответствии с настройками фильтра может применяться фильтр <1> или может не применяться фильтр <2>. Альтернативно может использоваться фильтр A <1> или может использоваться фильтр B <2>. Альтернативно фильтрация может применяться ко всем пикселям на левой и верхней сторонах текущего блока, или фильтрация может применяться к некоторым пикселям на левой и верхней сторонах.[00423] The filter settings can determine whether filtering is applied. For example, depending on 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, filtering may be applied to all pixels on the left and top sides of the current block, or filtering may be applied to some pixels on the left and top sides.

[00424] Если пиксели, подлежащие коррекции, ограничены некоторыми пикселями, пиксели, подлежащие коррекции, могут определяться в элементах горизонтальных линий или вертикальных линий, смежных с опорными пикселями, используемыми в режиме предсказания (в данном примере, отличном от предшествующего примера - вспомогательными опорными пикселями). В этом случае горизонтальные и вертикальные линии могут учитываться одновременно, и допускается перекрывание.[00424] If the pixels to be corrected are limited to certain pixels, the pixels to be corrected may be determined in horizontal line elements or vertical line elements adjacent to 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 counted simultaneously and overlap is allowed.

[00425] Например, в цель коррекции могут быть включены пиксели, соответствующие a-d, и пиксели (перекрывающиеся с а), соответствующие a, e, i и m. Кроме того, в цель коррекции могут быть включены пиксели, соответствующие e-h, и пиксели, соответствующие b, f, j и n (a, b, e и f перекрываются).[00425] For example, the correction target may include pixels corresponding to a-d and pixels (overlapping with a) corresponding to a, e, i and m. 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, the main reference pixels for generating the prediction block can be obtained from other color spaces, and the auxiliary reference pixels for correcting the prediction block can be obtained from blocks adjacent to the current block of the current color space. Additionally, they can be derived from blocks adjacent to 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 in accordance with additional encoding/decoding elements. The above description focuses on limiting the omnidirectional mode. However, it does not apply to the above examples only in a restrictive sense, and similar or similar settings apply to other modes as well. Moreover, the same example as described above is implemented in accordance with a combination of multiple 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 to obtain the correlation is obtained from the adjacent region of the current block and the adjacent region of corresponding blocks in other color spaces, and therefore filtering can be applied to the boundary of the block.

[00429] Существует множество случаев, в которых для генерирования блока предсказания в соответствии с настройками кодирования/декодирования может использоваться множество опорных пикселей. Подробнее, можно в соответствии с настройками кодирования/декодирования определить, поддерживается ли генерирование или коррекция блока предсказания с использованием второго опорного пикселя.[00429] There are many cases in which a plurality of reference pixels may be used to generate a prediction block in accordance with the encoding/decoding settings. In 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 specified either implicitly or explicitly. In an explicit case, the above information may be included in video, sequence, frame, slice, tile, block, etc. elements.

[00431] В качестве примера определение в отношении того, использовать ли дополнительные пиксели в процессе предсказания, может применяться ко всем режимам предсказания или может применяться к некоторым режимам предсказания. В этом случае некоторые режимы предсказания могут представлять собой по меньшей мере один из горизонтального, вертикального, некоторых диагональных режимов, ненаправленных режимов, режимов копирования цвета или т.п.[00431] As an 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 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 (например, длины M и 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 can 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 8x8, 16x16, 32x32, 64x64, etc.; if the blocks are rectangular, the rectangle can 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 certain encoding/decoding settings. In this case, the encoding/decoding settings may be constrained_intra_pred_flag, and the 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 is assumed in accordance with the flag), 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 by the above example, there may be various applications and modifications, such as combinations of one or more elements. Moreover, although the above example describes only some cases related to the color copying mode, in addition to color copying, this example can be equally or variably used to generate or correct the prediction mode of a prediction block using multiple reference pixels .

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

[00437] Коротко говоря, информация о выполнении фильтрации может обрабатываться в явном или неявном виде, и при выполнении фильтрации информация об информации о выборе фильтрации может обрабатываться в явном или неявном виде. При обработке информации в явном виде эта информация может быть включена в элементы видео, последовательности, кадра, среза, плитки и блока.[00437] Briefly, information about filtering execution may be processed explicitly or implicitly, and when performing filtering, information about 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 may be corrected, and a process for correcting the prediction block will be described below.

[00439] Процесс коррекции может выполняться на основе предварительно определенных опорных пикселей и весовых коэффициентов. В этом случае опорный пиксель и взвешенное значение могут быть определены в соответствии с положением пикселя (ниже в данном документе называемого текущим пикселем) в текущем блоке, подлежащем коррекции. Опорный пиксель и взвешенное значение могут быть определены в соответствии с режимом внутреннего предсказания текущего блока.[00439] The correction process may be performed based on predetermined reference pixels and weighting factors. In this case, the reference pixel and the weighted value can 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 can be determined in accordance with the intra prediction mode of the current block.

[00440] Если режимом внутреннего предсказания текущего блока является ненаправленный режим, опорные пиксели ref_L и ref_T текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же горизонтальной/вертикальной линии, что и текущий пиксель. Взвешенное значение может включать по меньшей мере одно из первого взвешенного значения wL в направлении оси х, второго взвешенного значения wT в направлении оси y или третьего взвешенного значения wTL в диагональном направлении. Первое взвешенное значение может относиться к взвешенному значению, примененному к левому опорному пикселю, второе взвешенное значение может относиться к взвешенному значению, примененному к верхнему опорному пикселю, и третье взвешенное значение может относиться к взвешенному значению, примененному к верхнему левому опорному пикселю. Здесь первое взвешенное значение и второе взвешенное значение могут быть определены на основе информации о положении текущего пикселя и предварительно определенного масштабного коэффициента (nScale). Масштабный коэффициент может быть определен на основе ширины W и высоты H текущего блока. Например, первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), и второе взвешенное значение (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 omnidirectional mode, the reference pixels ref_L and ref_T of the current pixel may belong to the first line of pixels 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 a weighted value applied to a left reference pixel, the second weighted value may refer to a weighted value applied to a top reference pixel, and the third weighted value may refer to a weighted value applied to a 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 scale factor (nScale). The scale factor can 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)>>nScale)), 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 can be set to 0. The scale factor can be set to ((Log2(nTbW) + Log2(nTbH)-2)>>2).

[00441] Если режимом внутреннего предсказания текущего блока является вертикальный/горизонтальный режим, опорные пиксели ref L и ref T текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же горизонтальной/вертикальной линии, что и текущий пиксель. В вертикальном режиме первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), второе взвешенное значение 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, reference pixels ref L and ref T of the current pixel may belong to the first line of pixels adjacent to the current block and may be located in the same horizontal/vertical line as current pixel. In vertical mode, 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] can be defined as 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 defined to be equal to the second weighted value.

[00442] Если режимом внутреннего предсказания текущего блока является диагональный режим, опорные пиксели refL и refT текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. Диагональная линия может представлять диагональную линию от нижнего левого конца к верхнему правому концу или может представлять диагональную линию от верхнего левого конца к нижнему правому концу. В этом случае первое взвешенное значение wL[x] текущего пикселя predPixel[x][y] определяется как (32>>((x<<1)>>nScale)), второе взвешенное значение wT[y] определяется как (32>>((y<<1)>>nScale)), и третье взвешенное значение wTL[x][y] может быть определено как равное 0.[00442] If the intra prediction mode of the current block is diagonal mode, reference pixels refL and refT of the current pixel may belong to the first line of pixels adjacent to the current block and may be located in 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)>>nScale)), the second weighted value wT[y] is defined as (32> >((y<<1)>>nScale)), and the third weighted value wTL[x][y] can be defined as 0.

[00443] Если режим внутреннего предсказания текущего блока меньше или равен режиму 10, опорные пиксели refL и refT текущего пикселя могут принадлежать к первой линии пикселей, смежной с текущим блоком, и могут быть расположены в той же диагональной линии, что и текущий пиксель. Здесь диагональная линия имеет такой же угол, как режим внутреннего предсказания текущего блока. В этом случае опорный пиксель может быть ограничен так, что используется только один из левого опорного пикселя или верхнего опорного пикселя текущего блока. Первое взвешенное значение 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 refL and refT of the current pixel may belong to the first line of pixels adjacent to the current block, and may be located in 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 so 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 line of pixels 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 so 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[x][y] и взвешенных значений 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], the current pixel correction predPixels[x ][y] can be done using formula 1 below.

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

[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)[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 on the 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 a specific mode. Here, the particular mode may include at least one of a non-directional mode, a vertical mode, a 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 an optimal mode selection process in a plurality of candidate prediction mode groups. To determine the mode with the optimal encoding cost, in order to generate the number of bits of the corresponding mode, the block distortion (e.g., distortion of the current block and the reconstructed block; sum of absolute difference (SAD), sum of squared difference (SSD), etc.) can be generally considered. and random distortion technology. The prediction block generated based on the prediction mode determined by the above process may be sent to the subtraction section and the addition section.

[00450] Секция кодирования режима предсказания выполнена с возможностью кодирования режима предсказания, выбранного при помощи секции определения режима предсказания. В группе режимов-кандидатов предсказания может кодироваться информация об индексах, соответствующая режиму предсказания, или режим предсказания может быть предсказан для кодирования связанной с ним информации. То есть первый случай указывает способ прямого кодирования режима предсказания без выполнения предсказания, и последний случай указывает способ предсказания режима предсказания так, что кодируется информация о предсказании режима кодирования и информация, полученная на основе информации о предсказании. Кроме того, первый пример представляет собой пример, который может применяться к цветоразностной компоненте, и последний пример представляет собой пример, который может быть применен к компоненте яркости. Настоящее изобретение не ограничено этими примерами, и также возможны другие случаи.[00450] The prediction mode encoding section is configured to encode the prediction mode selected by the prediction mode determining section. In a group of candidate prediction modes, index information corresponding to a prediction mode may be encoded, or a prediction mode may be predicted to encode information associated therewith. That is, the first case indicates a method of directly encoding a prediction mode without performing prediction, and the last case indicates a method of predicting a prediction mode such that prediction information of the encoding mode and information obtained based on the prediction information are encoded. Moreover, the first example is an example that can be applied to a chroma 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] В случае выполнения кодирования путем предсказания режима предсказания, значение предсказания (или информация о предсказании) режима предсказания может называться наиболее вероятным режимом (МРМ). В этом случае как MPM конфигурируется предварительно заданный режим предсказания (например, режим DC, планарный режим, вертикальный режим, горизонтальный режим, диагональный режим и т.д.) или режим предсказания пространственно смежного блока (например, левого блока, верхнего блока, верхнего левого блока, верхнего правого блока, нижнего левого блока и т.д.). В данном примере диагональный режим может представлять режим диагонально вверх вправо, диагонально вниз вправо и диагонально вниз влево, которые могут соответствовать режиму 9, режиму 2 и режиму 66 на фиг. 9.[00451] In the case of performing prediction encoding of a prediction mode, the prediction value (or prediction information) of the prediction mode may be called a most probable mode (MPM). In this case, a preset prediction mode (e.g., DC mode, planar mode, vertical mode, horizontal mode, diagonal mode, etc.) or a spatially adjacent block prediction mode (e.g., left block, top block, top left) is configured as MPM block, top right block, bottom left block, etc.). In this example, the diagonal mode may represent a diagonally up-right, diagonally down-right, and diagonally down-left mode, which may correspond to mode 9, mode 2, and mode 66 in FIG. 9.

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

[00453] Приведенный выше пример может соответствовать случаю, в котором группа МРМ-кандидатов выполнена во множестве режимов, группа МРМ-кандидатов (или число групп МРМ-кандидатов) может быть определена в соответствии с настройками кодирования/декодирования (например, группой режимов-кандидатов предсказания, типом изображения, размером блока, формой блока и т.д.), и может быть включен по меньшей мере один режим.[00453] The above example may correspond to the case in which 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 enabled.

[00454] Режим предсказания для конфигурирования группы МРМ-кандидатов может иметь приоритет. Порядок режимов предсказания, включенных в группу МРМ-кандидатов, может определяться в соответствии с приоритетом, и конфигурация группы МРМ-кандидатов может быть завершена, если количество групп МРМ-кандидатов заполнено в соответствии с приоритетом. В этом случае приоритет, в свою очередь, может представлять собой режим предсказания пространственно смежного блока, предварительно заданный режим предсказания и режим, производный от режима предсказания, первоначально включенного в группу МРМ-кандидатов, однако возможны и другие модификации.[00454] The prediction mode for configuring a group of MPM candidates may have priority. The order of prediction modes included in the MPM candidate group can 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 the 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 prediction mode encoding of the current block is performed using MPM, information about whether the prediction mode matches the MPM (eg, most_probable_mode_flag) may be generated.

[00456] Если режим предсказания совпадает с MPM, (например, most_probable_mode_flag=1), в соответствии с конфигурацией МРМ может дополнительно генерироваться информация об индексах MPM (например, mpm_idx). Например, если MPM выполнен как один режим предсказания, дополнительная информация об индексах MPM не генерируется, а если MPM выполняется как множество режимов предсказания, в группе MPM-кандидатов может генерироваться информация об индексах, соответствующая режиму предсказания текущего блока.[00456] If the prediction mode matches 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 executed as a plurality of prediction modes, index information corresponding to the prediction mode of the current block may be generated in a group of candidate MPMs.

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

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

[00459] Как и в приведенном выше примере, цель поддержки режимов, не являющихся MPM, заключается в том, что количество режимов предсказания является большим, если режим, не являющийся MPM, состоит из множества групп, и количество битов режима уменьшается, если режим предсказания не предсказывается при помощи MPM.[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 many groups, and the number of mode bits is reduced if the prediction mode not predicted by MPM.

[00460] Если кодирование режима предсказания (или декодирование режима предсказания) текущего блока выполняется с использованием MPM, таблица преобразования в двоичную форму, применяемая к каждой группе режимов-кандидатов предсказания (например, к группе MPM-кандидатов, группе режимов-кандидатов, не являющихся MPM, и т.д.), может генерироваться отдельно, и способ преобразования в двоичную форму, применяемый к каждой группе кандидатов, также может применяться отдельно.[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 mode group, non-candidate mode group MPM, etc.) can be generated separately, and the binarization method applied to each candidate group can also be applied separately.

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

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

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

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

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

[00466] Альтернативно на изображении ii по фиг. 14 блок B10 представляет собой верхний блок (добавление 0 к B1) в двух блоках, полученных путем выполнения горизонтального разделения при разделении на основе двоичного дерева в отношении нижнего блока B1 (добавление 1 к B) из двух блоков, полученных после выполнения горизонтального разделения при разделении на основе двоичного дерева в отношении исходного блока B.[00466] Alternatively, in image ii of FIG. 14, block B10 is the top block (adding 0 to B1) in two blocks obtained by performing a horizontal split in a binary tree-based partition on the bottom block B1 (adding 1 to B) of the two blocks obtained after performing a horizontal split in a split. based on a binary tree regarding the source block B.

[00467] При помощи вышеописанного разделения могут быть получены состояние разделения и информация о разделении (например, поддерживаемые настройки разделения <тип древовидного режима и т.д.>) каждого блока, диапазон поддержки блока, такой как минимальный размер и максимальный размер <подробно - диапазон поддержки в соответствии со способом разделения>, допустимая глубина разделения <подробно - диапазон поддержки в соответствии со способом разделения>, флаг разделения <подробно - флаг разделения в соответствии со способом разделения>, тип изображения <I/P/B>, состояние разделения режима кодирования блока <внутреннее предсказание/предсказание, осуществляемое между изображениями>, настройки кодирования/декодирования, необходимые для подтверждения информации, информация и т.д., и может быть подтверждено, к какому блоку (порождающему блоку) принадлежит текущий блок до этапа разделения с целью получения текущего блока (порожденного блока). Например, на изображении i по фиг. 14 для блока A31 смежные блоки могут включать A30, A12 и A13, и может быть подтверждено, что A30 принадлежит к тому же блоку A3, что и A31, на этапе разделения предыдущего этапа. В случае A12 и A13 на предыдущем этапе, то есть на этапе разделения A3, A12 и A13 принадлежат к другому блоку A1, и может быть подтверждено, что A12 и A13 принадлежат к одному блоку A только на предыдущем этапе.[00467] Using the above-described partitioning, the partition status and partition information (eg, supported partition settings <tree mode type, etc.>) of each block, block support range such as minimum size and maximum size <details - support range according to the division method>, allowable division depth <detail - support range according to the division method>, division flag <detail - division flag according to the division method>, image type <I/P/B>, division status block encoding mode <intra prediction/prediction carried out between pictures>, encoding/decoding settings required to confirm information, information, etc., and it can be confirmed which block (generating block) the current block belongs to before the separation step with the purpose of obtaining the current block (generated block). For example, in image i of FIG. 14, for block A31, adjacent blocks may include A30, A12 and A13, and it may be confirmed that A30 belongs 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 stage, that is, in the splitting stage, 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 stage.

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

[00469] На фиг. 15 представлен пример блока разделения на основе множества деревьев согласно варианту осуществления настоящего изобретения.[00469] In FIG. 15 illustrates 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 division status or information about the division performed to obtain the corresponding block can be confirmed through text and numbers obtained in the division process. In this example, each word does not indicate the original block, but the division information is indicated by a number.

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

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

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

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

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

[00476] В целом, поскольку в изображении имеется различная текстурная информация, затруднительно выполнить кодирование/декодирование с использованием способа кодирования/декодирования. Например, некоторые области могут содержать области, в которых существуют более сильные краевые компоненты в определенном направлении, и некоторые области могут содержать комплексные области, в которых краевые компоненты не существуют. Для эффективного выполнения кодирования в отношении этих областей важную роль играет разделение блока.[00476] In general, since there is 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 stronger edge components exist in a certain direction, and some regions may contain complex regions in which edge components do not exist. To efficiently perform coding on these areas, block division plays an important role.

[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, quaternary tree division), it may be difficult to properly reflect the image characteristics to perform division.

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

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

[00480] Изображение a по фиг. 16 может представлять собой текстурную форму, в которой разделение на основе четверичного дерева достигает оптимальной эффективности: она может быть разделена на четыре части путем одного разделения (Div_HV) на основе четверичного дерева, и кодирование/декодирование выполняется в элементах каждого блока. В то же время, при применении разделения на основе двоичного дерева, как изображено на изображении f по фиг. 16, в отличие от четверичного дерева, может потребоваться три разделения (Div_V - дважды, Div_H - один раз).[00480] Image a of FIG. 16 may be a texture form in which the quaternary tree division achieves optimal efficiency: it can 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 applying binary tree-based partitioning as shown in image f of FIG. 16, unlike a quaternary tree, three divisions may be required (Div_V twice, Div_H once).

[00481] Изображение b по фиг. 16 таково, что текстура разделяется на верхнюю и нижнюю области блока, на изображении b по фиг. 16, если применяется разделение на основе четверичного дерева, требуется одно разделение (Div_HV), и на изображении g по фиг. 16 одно разделение Div_H также может выполняться при разделении на основе двоичного дерева. В предположении, что флаг разделения на основе четверичного дерева требует 1 бит, и флаг разделения на основе двоичного дерева требует более 2 битов, четверичное дерево можно считать эффективным в том, что касается битов флагов, но информация о кодировании/декодировании (например, информация для выражения текстурной информации (информация для выражения текстуры (остаточный сигнал, коэффициент кодирования, информация, указывающая присутствие или отсутствие коэффициента кодирования)), информация о предсказании <например, информация, связанная с внутренним предсказанием, и информация, связанная с предсказанием, осуществляемым между изображениями>, информация о преобразовании <например, информация о категории преобразования, информация о разделении преобразования и т.д.>) генерируется в элементах каждого блока. В этом случае эффективность разделения на основе четверичного дерева невысока по сравнению с разделением на основе двоичного дерева, поскольку текстурная информация представляет собой пример разделения аналогичных областей и генерирования соответствующей информации заново.[00481] Image b of FIG. 16 is such that the texture is divided into the upper and lower block regions, in image b of FIG. 16, if a quaternary tree-based partition is applied, one partition (Div_HV) is required, and in image g of FIG. 16, one Div_H split can also be performed in binary tree based splitting. Assuming that the quaternary tree split flag requires 1 bit and the binary tree split flag requires more than 2 bits, the quaternary tree can be considered efficient in terms of flag bits, but encoding/decoding information (e.g., information for expressing texture information (information for expressing texture (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> ,transformation information <such as transformation category information, transformation division information, etc.>) is generated in the elements of each block. In this case, the efficiency of quaternary tree-based partitioning is low compared to binary tree-based partitioning, since texture information is an example of dividing similar regions and generating the corresponding information anew.

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

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

[00484] Со ссылкой на изображение b на фиг. 16 изображены блоки (в данном примере - левый блок и верхний блок), смежные с нижним правым блоком (текущим блоком). Видно, что левый блок представляет собой блок, имеющий характеристики, аналогичные текущему блоку, а верхний блок представляет собой блок, имеющий характеристики, отличные от текущего блока. И хотя блок имеет свойства, аналогичные некоторым блокам (в данном примере - левому блоку), возможен случай, в котором блок был сегментирован исходя из свойств разделения на основе четверичного дерева.[00484] With reference to image b in FIG. 16 shows 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. Although the block has properties similar to some blocks (in this example, the left block), there is a possible case in which the block was segmented based on the properties of partitioning based on a quaternary tree.

[00485] В этом случае, поскольку текущий блок имеет характеристики, аналогичные левому блоку, может генерироваться аналогичная информация о кодировании/декодировании. В случае режима внутреннего предсказания (например, МРМ, т.е. информации, предсказывающей режим текущего блока, исходя из смежных блоков с целью сокращения количества битов режима предсказания текущего блока), появляется режим предсказания информации о движении (например, режим пропуска, режим слияния, информация для сокращения битов режима (например, состязательный режим)) для эффективного исключения данной ситуации, при этом информация левого блока доступна для отсылки. То есть, если информация о кодировании (например, информация о внутреннем предсказании, информация о предсказании, осуществляемом между изображениями, информация о фильтре, информация о коэффициентах и т.д.) текущего блока отнесена к одному из левого блока и верхнего блока, может быть сделана отсылка к более точной информации (в данном примере - к левому блоку).[00485] In this case, since the current block has similar characteristics to the left block, similar encoding/decoding information can be generated. In the case of intra prediction mode (for example, MPM, i.e., information predicting the mode of the current block based on adjacent blocks in order to reduce the number of bits of the prediction mode of the current block), a motion information prediction mode appears (for example, skip mode, merge mode , information to shorten the mode bits (eg, contention mode)) to effectively eliminate this situation, while the left block information 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, it may be a reference is made to more precise information (in this example, to the left block).

[00486] Со ссылкой на изображение e на фиг. 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 characteristics similar to the top block of the left block or the top block, so the encoding efficiency can be improved by referring to the 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, a 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 verified that the current block is a block having a different characteristic than the left block. It can be confirmed that the quaternary tree-based partition can be similar to a portion of contiguous blocks, while the binary tree-based partition has a high probability of obtaining different characteristics from contiguous blocks.

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

[00489] В дополнение к приведенному выше примеру, на изображении i по фиг. 16 нижний правый блок х и нижний левый блок у могут иметь следующие взаимосвязи. То есть, поскольку характеристики изображения верхних блоков аналогичны, деление определяется без выполнения разделения, и поскольку характеристики изображения нижних блоков являются разными, деление определяется после разделения на нижний левый блок и нижний правый блок.[00489] In addition to the above example, in image i of FIG. 16, the lower right block x and the lower left block y can have the following relationships. That is, since the image characteristics of the upper blocks are similar, the division is determined without performing division, and since the image characteristics of the lower blocks are different, the division is determined after dividing 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 a contiguous block having a parent block identical to the current block in contiguous blocks adjacent to the current block, it may have characteristics similar to or different from the current block because 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-based partitioning, if there is a contiguous block having a parent block identical to the current block in contiguous blocks adjacent to the current block, the adjacent block can be split horizontally or vertically according to the characteristics of the image, so it has been subjected to separation" can mean separation due to different characteristics.

[00491] (Разделение на основе четверичного дерева)[00491] (Quadary tree partitioning)

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

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

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

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

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

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

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

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

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

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

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

[00503] Как описано в приведенном выше примере, смежные блоки могут быть классифицированы на общий случай и исключительный случай. Для общего случая неизвестно, можно ли использовать информацию о кодировании соответствующего смежного блока в качестве информации о кодировании текущего блока, а для исключения определено, что информацию о кодировании соответствующего смежного блока нельзя использовать в качестве информации о кодировании текущего блока.[00503] As described in the above example, contiguous blocks can be classified into a general case and an exceptional case. For the general case, it is unknown whether the encoding information of the corresponding adjacent block can be used as the encoding information of the current block, and for an 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 before dividing the current block and adjacent blocks are the same (A).

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

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

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

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

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

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

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

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

[00514] Путем добавления одного кандидата, соответственно, в левый блок L0 и верхний блок T0 может быть сконфигурировано всего два кандидата. Если группу кандидатов нельзя сконфигурировать в каждом блоке, ее можно заменить или заполнить режимом DC, планарным режимом, вертикальным режимом, горизонтальным режимом, диагональным режимом и т.д. Если два кандидата заполнены при помощи вышеописанного процесса, оставшийся кандидат может считаться заполненным числом в различных случаях.[00514] By adding one candidate to the left block L0 and the top block T0, respectively, a total of two candidates can be configured. If a candidate group cannot be configured in each block, it can be replaced or filled 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 as the 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 populated in each block are the same, adjacent modes of the above-described 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 filled in each block are the same or different, the candidate group may be configured by adding a planar mode, a DC mode, a vertical mode, a horizontal mode, and a 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 according to adjacent blocks.

[00517] Например, если смежный блок помечен исключительным состоянием, группа кандидатов, производная от этого блока, может быть исключена. Если левый блок помечен как исключительное состояние, группа кандидатов может быть сконфигурирована верхним блоком и предварительно заданным режимом предсказания (например, режимом, полученным из блока DC, планарного блока, вертикального блока, горизонтального блока, диагонального блока, и верхнего блока, и т.д.). Приведенный выше пример может быть применен идентично/аналогично даже тогда, когда группа МРМ-кандидатов сконфигурирована более чем тремя МРМ-кандидатами.[00517] For example, if a contiguous block is marked with an exceptional condition, a candidate group derived from that block may be excluded. If the left block is marked as an exceptional state, the candidate group can be configured by a top block and a predefined prediction mode (eg, a mode derived from a DC block, a planar block, a vertical block, a horizontal block, a diagonal block, and a 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 (chroma 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 groups of candidates (ie, encoding/decoding is performed directly, without the use of MRM).

[00519] Во-первых, цветовой режим наделяется высшим приоритетом (в данном примере - индекс 0; «для 0» присваивается 1 бит), тогда как другие режимы (в данном примере - планарный, вертикальный, горизонтальный и DC) наделяются низким приоритетом (в данном примере - соответственно, индексами 1-4, присваивается 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 (in this example, planar, vertical, horizontal, and DC) are given low priority ( in this example, respectively, with indices 1-4, 3 bits are assigned with the values “100”, “101”, “110”, “111”).

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

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

[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-split state), it may be called a general case, and if it is configured as a plurality of blocks ( i.e. the state of separation of more than two blocks), it can be called 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 many 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 a corresponding block is marked as an exception according to the assumption example above, the prediction mode derived from that 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 based on some assumptions, but without limitation, and the same or similar applications may be used for the various embodiments of the present invention described above.

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

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

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

[00528] Например, предполагается, что блок кодирования (2N×2N) может быть получен с использованием древовидного разделения (в данном примере - на основе четверичного дерева), и блок предсказания получается с использованием типизированного разделения (типами кандидатов, поддерживаемыми в данном примере, являются 2N×2N, 2N×N, N×2N и N×N). В этом случае, если блок кодирования (в данном примере предполагаемый как порождающий блок) разделяется на множество блоков предсказания (в данном примере предполагаемых как подблоки), настройка вышеописанного исключительного состояния или т.п. также может применяться между блоками предсказания.[00528] For example, it is assumed that a (2N×2N) encoding block can be obtained using a tree partition (in this example, based on a quaternary tree), and a prediction block is obtained using a typed partition (the candidate types supported in this example are are 2N×2N, 2N×N, N×2N and N×N). In this case, if an encoding 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 used 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 an encoding block (thick solid line), the lower block has a different characteristic from the upper block and does not belong to the encoding information of the upper block or has a low priority.

[00530] На фиг. 17 изображен пример разделения блока согласно варианту осуществления настоящего изобретения. Подробнее, изображен пример, в котором базовый блок кодирования (максимальный блок кодирования, 8N×8N) получает блок кодирования (диагональный блок, 2N×2N) с использованием разделения на основе четверичного дерева, и полученный блок кодирования разделяется на по меньшей мере один блок предсказания (2N×2N, 2N×N, N×2N и N×N) при помощи типизированного разделения.[00530] In FIG. 17 illustrates an example of block division according to an embodiment of the present invention. In detail, an example is shown in which a basic encoding block (maximum encoding block, 8N×8N) obtains a coding block (diagonal block, 2N×2N) using a quaternary tree-based partition, and the resulting encoding 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 a group of candidate intra prediction modes for the case of obtaining rectangular blocks (2N×N and N×2N) will be described below.

[00532] На фиг. 18 изображены различные примеры групп режимов-кандидатов внутреннего предсказания в отношении настройки блоков, генерирующих информацию о предсказании (блоками предсказания в данном примере являются блоки 2N×N).[00532] In FIG. 18 illustrates various examples of candidate intra prediction mode groups with respect to the setting of 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 (in this example, left, top, top left, top right, and bottom left) and are set to group of 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 can be configured in the order L3-T3-B0-R0-TL, and two candidates can be configured in a preset mode (eg, planar and DC). In the above configuration, if the maximum number (in this example - 6) is not filled, the prediction mode can be enabled (for example, k_mode-2, k_mode-2, k_mode+1, k_mode+2, etc., if k_mode is available), obtained from the prediction modes included in the candidate group, a predefined mode (eg vertical, horizontal or diagonal, etc.), etc.

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

[00536] Со ссылкой на изображение a по фиг. 18, как и при настройке группы кандидатов в приведенном выше примере, текущий блок (2N×N, PU0) может конфигурировать группу кандидатов в порядке l1-t3-l2-tr-t1 (так как другое содержимое повторяется, оно опущено). В данном примере смежный блок текущего блока может представлять собой блок, который был закодирован/декодирован (блок кодирования, т.е. блок предсказания в других блоках кодирования).[00536] With reference to image a of FIG. 18, as with configuring 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 (since other contents are repeated, they are omitted). In this example, an adjacent block of the current block may represent a block that has been encoded/decoded (an encoding block, ie a prediction block in other encoding blocks).

[00537] В отличие от вышесказанного, если положение текущего блока соответствует PU1, может быть задана по меньшей мере одна группа режимов-кандидатов внутреннего предсказания. В целом блок, смежный с текущим блоком, с большей вероятностью аналогичен характеристикам текущего блока, и поэтому является более преимущественным для конфигурирования группы кандидатов из соответствующего блока (1). С другой стороны, может потребоваться конфигурирование группы кандидатов для параллельной обработки кодирования/декодирования (2).[00537] In contrast to the above, if the position of the current block corresponds to PU1, at least one candidate intra prediction mode group may be specified. In general, a block adjacent to the current block is more likely to have similar characteristics to the current block, and is therefore more advantageous for configuring the group of candidates 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 (k может быть получено из c7 или tr и т.д.), и в случае настройки конфигурации группы кандидатов, как в случае (2), например, на изображении c по фиг. 18, группы кандидатов могут быть сконфигурированы в порядке l3-bl-k-l1 (k может быть получено из tr и т.д.). Разница между двумя этими примерами заключается в том, включена ли группа режимов-кандидатов внутреннего предсказания для верхнего блока. То есть в первом случае режим внутреннего предсказания верхнего блока включен в группу кандидатов с целью повышения эффективности кодирования/декодирования режима внутреннего предсказания, и в последнем случае режим внутреннего предсказания верхнего блока, на который нельзя сослаться, исключается из группы кандидатов для параллельной обработки или т.п., так как еще не было определено, завершено ли кодирование/декодирование.[00538] If the current block is PU1, when setting up a candidate group building as in case (1), for example, 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 image c of Fig. 18, candidate groups can be configured in the order l3-bl-k-l1 (k can be obtained from tr, etc.). The difference between these two examples is whether the candidate intra prediction mode group for the top block is enabled. That is, in the first case, the upper block intra prediction mode is included in the candidate group to improve the encoding/decoding efficiency of the intra prediction mode, and in the latter case, the upper block intra prediction mode that cannot be referenced is excluded from the candidate group for parallel processing or the like. etc., since it has not yet been determined whether encoding/decoding is complete.

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

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

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

[00542] Со ссылкой на изображение a по фиг. 19, текущий блок (N×2N, PU0) может конфигурировать одного кандидата в порядке l3-l2-l1-l0, одного кандидата в порядке t1-t0 и двух кандидатов в порядке bl-t2-tl таким же образом, как при настройках групп кандидатов в приведенных выше примерах. В данном примере смежный блок текущего блока может представлять собой блок, который был закодирован/декодирован (блок кодирования; т.е. блок предсказания в других блоках кодирования).[00542] With reference to image a of FIG. 19, the current block (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 way as group settings candidates in the examples above. In this example, an adjacent block of the current block may represent a block that has been encoded/decoded (encoding block; ie, a prediction block in other encoding blocks).

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

[00544] Если текущим блоком является PU1, также может быть сконфигурирован один кандидат в порядке c13-c9-c5-c1, один кандидат - в порядке t3-t2 и два кандидата - в порядке k-tr-t1 (k может быть получен из bl или c13 и т.д.) при настройке конфигурации группы кандидатов, как в (1), например, на изображении b по фиг. 19, и также может быть сконфигурирован один кандидат в порядке t3-t2 и две группы кандидатов - в порядке k-tr-t1 (k может быть получен из bl и т.д.) при настройке конфигурации группы кандидатов, как в (2), например, на изображении c по фиг. 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 setting up the candidate group configuration as in (1), for example, in image b of Fig. 19, and also one candidate can be configured in the order t3-t2 and two candidate groups in the order k-tr-t1 (k can be obtained from bl, etc.) when setting the candidate group configuration as in (2) , for example, in image c of FIG. 19. The difference between these two examples is whether the candidate intra prediction mode group for the top block is enabled. That is, in the first case, the left block intra prediction mode is included in the candidate group to improve the encoding/decoding efficiency of the intra prediction mode, and in the latter case, the left block intra prediction mode that cannot be referenced is excluded from the candidate group for parallel processing or the like. etc., since it has not yet been determined whether encoding/decoding is complete.

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

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

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

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

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

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

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

[00552] В этом случае ниже будет описана настройка группы кандидатов предсказания информации о движении для случая получения прямоугольного блока (A×B, A≠B).[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] In FIG. 21 illustrates various examples of candidate intra prediction mode groups for tuning blocks generating prediction information (in this example, a 2N×N encoding block).

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

[00555] В этом случае группа А содержит кандидатов, классифицируемых по определенным правилам (например, составлена из равноудаленных режимов в направленном режиме), которые не включены в режимы из групп МРМ-кандидатов, или может содержать кандидатов, которые не включены в конечную группу МРМ-кандидатов в соответствии с приоритетом группы МРМ-кандидатов, и т д. Группа B может быть составлена из кандидатов, не включенных в группу А, в группе МРМ-кандидатов и группе режимов-кандидатов, не являющихся MPM.[00555] In this case, group A contains candidates classified according to certain rules (for example, composed of equidistant modes in a 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 MPM candidate group, etc. Group B may be composed of candidates not included in group A, the MPM candidate group and the non-MPM candidate mode group.

[00556] Со ссылкой на изображение a по фиг. 21, текущий блок (CU0 или PU0, в котором размер предполагается равным 2N×N, и соотношение горизонтального/вертикального размеров равно 2:1) может конфигурировать шесть кандидатов как группу кандидатов в порядке l1-t3-планарный-DC-l2-tr-tl-l1*-t3*-l2*-tr*-tl*-вертикальный-горизонтальный-диагональный режим. В приведенном выше примере «*» представляет режим, полученный из режима предсказания каждого блока (например, режим с добавлением +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*-tl*-vertical-horizontal-diagonal mode. In the example above, "*" represents the mode derived from the prediction mode of each block (for example, the mode with +1, -1, etc. added).

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

[00558] В данном примере, в случае когда применяется настройка (2), представленная на фиг. 18, как изображено на изображении b по фиг. 21, группа кандидатов исключается из группы режимов-кандидатов предсказания верхнего блока в соответствии с порядком l3-планарный-DC-bl-k-l1-c7-l3*-bl*-k*-l1*-вертикальный-горизонтальный-диагональный-c7*, или приоритет снижается, и, таким образом, она может быть включена в группу A.[00558] In this example, in the case where the 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 l3-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 the block is rectangular, the block is divided into encoding elements and immediately set as a prediction block without further division. Therefore, as shown in FIG. 18, the candidate group configuration setting may not be applicable to this example (eg, setting (2)).

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

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

[00562] Описание будет выполнено на основе следующих предположений. Если данный пример (цветоразностная компонента) содержит пять режимов внутреннего предсказания (в данном примере - режим DC, планарный режим, вертикальный режим, горизонтальный режим и режим копирования цвета), кодирование/декодирование выполняется путем конфигурирования режимов предсказания, которым адаптивно присваиваются приоритеты, как групп кандидатов.[00562] The description will be made based on the following assumptions. If a given example (chroma 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 contiguous blocks (in this example, left, top, top left, top right and bottom left).

[00564] Со ссылкой на фиг. 13, кандидат первого класса может быть определен в левом блоке L3, верхнем блоке T3, верхнем левом блоке TL, верхнем правом блоке R0 и нижнем левом блоке B0. В этом случае режим, имеющий значение, наиболее часто встречающееся в режимах предсказания блока, может быть определен как кандидат первого класса. Если наиболее часто встречающиеся значения имеет множество режимов, придается предварительно заданный приоритет (например, режим копирования цвета-планарный-вертикальный-горизонтальный-DC).[00564] With reference to FIG. 13, a first-class candidate may be defined 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 found in block prediction modes can be defined as the first class candidate. If the most frequently occurring values have multiple modes, the preset priority is given (for example, copy mode color-planar-vertical-horizontal-DC).

[00565] Данный пример можно считать аналогичным настройке МРМ-кандидатов (в данном примере первый бит определяется как равный 0 или 1; если первый бит равен 1, необходимо добавить 2 бита; первый бит может выполнять обходное кодирование или традиционное кодирование в соответствии с настройками кодирования/декодирования, а остальные биты могут выполнять обходное кодирование) в отношении получения режима (режим представляет собой режим, оцениваемый как режим предсказания текущего блока) из смежных блоков и, таким образом, определения приоритета (то есть определения количества присвоенных битов; например, в случае первого класса он равен «0»; в случае классов от второго до четвертого они равны «100», «101», «110» и «111») и в отношении предсказания режима предсказания.[00565] This example can be considered similar to setting up 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 encoding or traditional encoding according to the encoding settings /decoding, and the remaining bits can perform bypass encoding) with respect to obtaining the mode (the mode is the mode evaluated as the prediction mode of the current block) from adjacent blocks and thus determining the priority (that is, determining the number of bits assigned; for example, in the case of the first class it is equal to "0"; in the case of classes from the second to the fourth they are equal to "100", "101", "110" and "111") and in relation to the prediction of the prediction mode.

[00566] Со ссылкой на изображение a по фиг. 22, текущий блок (CU0 или PU0, в котором размер предполагается равным N×2N, и соотношение горизонтального/вертикального размеров равно 1:2) может определять кандидатов первого класса в блоках l3, t1, t1, t2 и b1.[00566] With reference to image a of 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) can determine first-class candidates in blocks l3, t1, t1, t2 and b1.

[00567] С другой стороны, со ссылкой на изображение b по фиг. 22, текущий блок (CU1 или PU1, в котором размер равен N×2N) может определять кандидата первого класса в блоках c13, t3, t1, tr и k.[00567] On the other hand, with reference to image b of FIG. 22, the current block (CU1 or PU1 in which the size is N×2N) can 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 block CU1 can 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 copy 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, the block is divided into encoding elements and corresponds to the case of immediate setting 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] Однако в случае k на фиг. 22, так как имеется положение, в котором кодирование/декодирование не завершено, оно может быть получено из смежного блока, в котором завершено кодирование/декодирование.[00570] However, in case k in FIG. 22, since there is a position in which encoding/decoding is not completed, it can be obtained from an adjacent block in which encoding/decoding is completed.

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

[00572] В вариантах осуществления, представленных на фиг. 21 и 22, предполагается, что блоки M×N (M≠N), которые могут быть разделены при помощи разделения на основе двоичного дерева, появляются последовательно.[00572] In the embodiments shown in FIGS. 21 and 22, it is assumed that M×N (M≠N) blocks that can be divided by 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 candidate group by determining the relationship between the current block and an adjacent block, etc.). That is, in FIG. 21 and 21 contiguous blocks before division of CU0 and CU1 are identical to each other, and CU0 and CU1 can be obtained by horizontal division or vertical division by binary tree-based division.

[00574] Кроме того, в вариантах осуществления, представленных на фиг. 18 и 19, предполагается, что после разделения блока кодирования в блоке кодирования имеется множество прямоугольных блоков предсказания.[00574] Additionally, in the embodiments shown in FIGS. 18 and 19, it is assumed that after the coding block is divided, there are a plurality of rectangular prediction blocks in the 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 to use the information of PU0, and in FIG. 14-16, PU0 information is not used because the characteristics of PU1 are different from those of PU0.

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

[00577] Случай настройки группы режимов-кандидатов предсказания описан в приведенном выше примере. Кроме того, он может быть задан для ограничения использования опорных пикселей с целью предсказания текущего блока из смежных блоков, помеченных исключительными состояниями.[00577] The case of setting a group of candidate prediction modes is described in the above example. In addition, it can be specified to restrict the use of reference pixels for the purpose of predicting the current block from adjacent blocks marked with exceptional 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, in case 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 can be generated using only the first reference pixel.

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

[00580] В настоящем документе будут описаны различные случаи в отношении настроек группы режимов-кандидатов внутреннего предсказания.[00580] Various cases will be described herein with respect to the settings of a candidate intra prediction mode 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 them, and other intra prediction modes can be specified. This example assumes that there are six candidates included in the MRM candidate pool. However, it is not limited to this, and the MPM candidate group can 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 relates to the order in which MRM candidates are included in the group, but can be considered as an element for determining binarization, entropy encoding/decoding settings, etc. for each candidate belonging to the group of MRM candidates. The following example will be described by focusing on the luminance component, however the same or similar or modified applications can also be made for the chroma component.

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

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

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

[00585] В приведенном выше примере, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, режимы кандидатов имеют приоритеты левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок, и режимы предсказания левого блока (L3 на фиг. 12) последовательно включаются в группу кандидатов, в то же время, если соответствующие модули не существуют, в группу кандидатов как следующий приоритет включается режим предсказания верхнего блока (T3 на фиг. 13). Таким образом, режим предсказания включается в группу кандидатов в некотором порядке, и, если режим предсказания соответствующего блока недоступен или перекрывается с включенным режимом, порядок переходит к следующем блоку.[00585] In the above example, if spatially adjacent block prediction modes are added to a candidate group, the candidate modes have the priorities left block-upper block-lower left block-upper right block-upper left block, and the 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 prediction mode of the corresponding block is not available or overlaps with the included mode, the order moves to the next block.

[00586] В качестве другого примера, если режимы предсказания пространственно смежных блоков добавляются в группу кандидатов, группа кандидатов может быть сконфигурирована в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок. В этом случае режим предсказания левого блока в первую очередь учитывает режим предсказания блока, расположенного в L3, но если там имеется недоступный или перекрывающийся режим, режимы-кандидаты предсказания левого блока заполняются в порядке следующих подблоков левого блока L2, L1 и L0. Подобным образом, такие же или аналогичные настройки применимы к верхнему блоку (T3-T2-T1-T0), нижнему левому блоку (B0-B1-B2-B3), верхнему правому блоку (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-upper block-lower left block-upper right block-upper left block. In this case, the left block prediction mode first considers the prediction mode of the block located in L3, but if there is an unavailable or overlapping mode there, the candidate left block prediction modes are filled in the order of the next subblocks of the left block L2, L1 and L0. Likewise, 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 the order L3-L2-L1-L0, the next sequential block may be executed.

[00587] В следующих примерах описаны случаи адаптивных конфигураций группы кандидатов. Адаптивная конфигурация группы кандидатов может быть определена в соответствии с состоянием текущего блока (например, размером и формой блока), состоянием смежного блока (например, размером и формой блока, режимом предсказания и т.д.) или взаимосвязью между текущим блоком и смежным блоком.[00587] The following examples describe cases of adaptive candidate group configurations. The adaptive configuration of the candidate group may be determined according to the state of the current block (eg, block size and shape), the state of the 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), an adaptive priority for configuring a group of candidate intra prediction modes (in this example, a group of MPM candidates) may be supported. The priority can be set according to the frequency. That is, prediction modes that occur more frequently may have high priority, while prediction modes that occur less frequently may have 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, и режимом a, появляющимся однократно, является режим 14, в данном примере (в предположении, что режимом a, появляющимся в предыдущем последовательном блоке в порядке левый блок-верхний блок-нижний левый блок-верхний правый блок-верхний левый блок, является режим 6) в качестве первого кандидата и второго кандидата включаются режим 6 и режим 31.[00590] A preset priority for the case of the same frequency can be supported. For example, assuming that the modes appearing twice in the left block, top block, bottom left block, top right block, and top left block, respectively (assuming that one prediction mode is obtained for each block) are mode 6 and mode 31, and the mode a appearing once is mode 14, in this example (assuming that the mode a appearing in the previous sequential block in the order left block-upper block-lower left block-upper right block-upper left block is mode 6 ) mode 6 and mode 31 are included as the first candidate and second candidate.

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

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

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

[00594] Кроме того, в соответствии с частотой может быть определен не только приоритет в отношении конфигурации группы кандидатов, но на основе частоты также могут быть определены настройки преобразования в двоичную форму и энтропийного кодирования/декодирования для каждого кандидата, принадлежащего к группе МРМ-кандидатов. В качестве примера, на основе частоты может быть определено преобразование в двоичную форму МРМ-кандидатов, имеющих m частот. Альтернативно в соответствии с частотой может быть адаптивно определена контекстная информация о кандидатах. То есть в данном примере может использоваться контекстная информация, задающая вероятность выбора режима как высокую. То есть, когда m равняется 1-4 (в данном примере ненаправленный режим включен в 2 из всего 6 кандидатов, и, таким образом, максимальное значение частоты равно 4), контекстная информация может быть задана по-разному.[00594] In addition, not only the priority with respect to the configuration of the candidate group can be determined according to the frequency, 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, the binarization of MRM candidates having m frequencies can be determined based on frequency. Alternatively, contextual information about the candidates can be adaptively determined according to the frequency. That is, in this example, contextual information can be used that sets the probability of choosing a mode as high. That is, when m is 1-4 (in this example, the omnidirectional mode is included in 2 of the total 6 candidates, and thus the maximum frequency value is 4), the context information can be specified in different ways.

[00595] Если 0 в 0 и 1 двоичного индекса (индекс Bin; порядок битов, когда более одного бита сконфигурировано в соответствии с преобразованием в двоичную форму; например, если некоторый MPM-кандидат сконфигурирован как «010», числами от первого двоичного числа до третьего двоичного числа могут являться 0, 1 и 0) представляет собой двоичное число, указывающее, что кандидат выбран как MPM (двоичное число используется для определения того, является ли МРМ конечным, или для распознавания конечного МРМ необходимо подтвердить дополнительное двоичное число; то есть в приведенном выше «010», если первое двоичное число равно 0, необходимо подтвердить второе двоичное число и третье двоичное число, и может быть подтверждено, является ли режим конечным МРМ; если имеется одно двоичное число, немедленно подтверждается, является ли МРМ конечным, в соответствии со значениями 0 и 1 двоичного числа), и 1 представляет собой двоичное число, указывающее, что кандидат не выбран как МРМ, применяется контекстная информация с высокой вероятностью появления 0 (то есть при выполнении двоичной арифметики вероятность появления 0 может быть приравнена к 90%, вероятность появления 1 может быть приравнена к 10%, и предполагается, что базовый случай таков, что вероятности появления 0 и 1 составляют 60% и 40%), так что может быть применено CABAC.[00595] If 0 to 0 and 1 of binary index (Bin index; bit order when more than one bit is configured according to binary conversion; for example, if some MPM candidate is configured as "010", 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 final, or whether an additional binary number must be confirmed to recognize the final MPM; that is, in the above "010", if the first binary number is 0, the second binary number and the third binary number need to be confirmed, and whether the mode is MRM finite can be confirmed; if there is one binary number, it is immediately confirmed whether the MRM is finite, according to with the values 0 and 1 of a binary number), and 1 represents a binary number indicating that the candidate is not selected as an MRM, contextual 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 set to 10%, and the base case is assumed to be such that the probabilities of occurrence of 0 and 1 are 60% and 40%), so that CABAC can be applied.

[00596] В качестве примера (4), может поддерживаться адаптивный приоритет для конфигурирования группы режимов-кандидатов внутреннего предсказания (в данном примере - группы МРМ-кандидатов). Например, приоритет может быть задан в соответствии с направленностью режимов предсказания пространственно смежных блоков.[00596] As an example (4), an adaptive priority for configuring a group of candidate intra prediction modes (in this example, a group of MPM candidates) may be supported. 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 directional categories are: the mode group in the direction of the upper right corner (2-17 in Fig. 9), the horizontal mode group (18 in Fig. 9), the group of modes in the direction of the lower right corner (19-49 in FIG. 9), a vertical mode group (50 in FIG. 9), a lower left corner direction mode group (51-66 in FIG. 9), and an omnidirectional mode group (planar mode or DC mode). Alternatively, they can be divided into a group of horizontally directed modes (modes 2-34 in Fig. 9), a group of vertically directed 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 upper left block-planar DC block-lower left block-upper right block-upper left block, then the candidate group may be configured in the above order. However, once candidate groups are configured, priorities for binarization and entropy encoding/decoding settings for each candidate can be determined based on category. As an example, binarization with fewer bits assigned may be performed for categories in a candidate MPM group containing a large number of candidates. Alternatively, contextual information may be adaptively determined according to the category. That is, the context information may be determined according to the number of modes included in each category (eg, 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 according to the size and shape of the current block. For example, the priority may be determined according to the block size, and the priority may be determined according to the block shape.

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

[00601] Альтернативно, если блок является квадратным, он может быть включен в группу кандидатов в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, если блок является прямоугольным (удлиненным по горизонтали), он может быть включен в группу кандидатов в порядке верхний блок-верхний правый блок-верхний левый блок-планарный блок-блок DC-левый блок-нижний левый блок, и, если блок является прямоугольным (удлиненным по вертикали), он может быть включен в группу кандидатов в порядке левый блок-нижний левый блок-верхний левый блок-планарный блок-блок DC-верхний правый блок. Данный пример можно понимать как случай, в котором блоки, смежные с более длинными блоками, имеют высший порядок.[00601] Alternatively, if the block is square, it may be included in the candidate group in the order left block-upper block-planar block-DC block-lower left block-upper right block-upper left block if the block is rectangular (elongated by horizontal), it can be included in a candidate group in the order top block-top right block-top left block-planar block-DC block-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-lower left block-upper left block-planar block-DC block-upper right block. This example can be understood as a 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] Со ссылкой на изображение a на фиг. 23 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - подблока левого блока).[00603] Referring to image a in FIG. 23 shows an example of generating a prediction block in accordance with the prediction mode of an adjacent block (in this example, a sub-block of the left block).

[00604] Если режимом предсказания (использованным, для простоты описания, только со ссылкой на направленное содержимое) левого блока (в данном примере - верхнего подблока левого блока) является направленный режим, существующий среди режимов 51-66 на фиг. 9 (режим с наклоном вправо в вертикальном режиме), и, если генерируется блок предсказания левого блока, то ссылка соответствует диагональной части (части TL или T) на фигуре. Правая область левого блока может по существу представлять собой область, имеющую высокую корреляцию с левой областью левого блока, однако, поскольку кодирование/декодирование к настоящему моменту не выполнено, блок предсказания может генерироваться при помощи опорных пикселей нижней области Т, где кодирование/декодирование было завершено.[00604] If the prediction mode (used, for ease of description, only with reference to the directed content) of the left block (in this example, the upper sub-block of the left block) is a directed mode existing among modes 51-66 in FIG. 9 (right slant mode in vertical mode), and if a left block prediction block is generated, then the reference corresponds to the diagonal portion (TL or T portion) 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 yet been completed, a prediction block may be generated using reference pixels of the lower region T where encoding/decoding has been completed .

[00605] Даже если предсказание выполняется из части нижней области блока Т, как описано выше, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что некоторые области 2400 текущего блока также имеют такую же или на аналогичную направленность (или края и т.д.), как вышеуказанный режим предсказания.[00605] Even if prediction is performed from a portion of the lower region of block T as described above, the final prediction mode is defined as a mode existing among modes 51-66, and this means that some regions 2400 of the current block also have the same or similar directionality (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 could mean that modes 51-66 are more likely to be selected.

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

[00608] То есть это может означать, что вероятность выбора режима предсказания верхнего блока как режима предсказания текущего блока является более высокой. Альтернативно это может означать, что более высокой является вероятность выбора режимов 2-17.[00608] That is, this 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, it could 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 by the prediction modes of adjacent blocks, the priority can be determined adaptively.

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

[00611] Альтернативно для случая a на фиг. 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-up block-planar block-DC block-lower left block-upper right block-lower left block may occur, and for case b in FIG. 23 it can change in the order of top block-(top-1) block-(top+1) block-left block-planar block-DC block-bottom left block-top right-bottom left block.

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

[00613] В случае если режимом предсказания левого блока является режим, имеющий направленность, существующую среди режимов 51-66 на фиг. 9, относящиеся к нему пиксели для генерирования блока предсказания левого блока соответствуют диагональным частям TL и T на фигуре. Правая область левого блока может представлять собой область, имеющую высокую корреляцию с левой областью левого блока, однако, поскольку кодирование/декодирование к настоящему моменту не выполнено, блок предсказания может генерироваться при помощи опорных пикселей нижней области блока Т, где кодирование/декодирование было завершено.[00613] In the case where the prediction mode of the left block is a mode having a directionality existing among modes 51 to 66 in FIG. 9, its related pixels for generating a 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 completed, a prediction block may be generated using reference pixels of the lower region of the T block where encoding/decoding has been completed.

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

[00616] Со ссылкой на изображение b на фиг. 24, когда соответствующее описание выводится из приведенного выше примера, когда режимы предсказания верхнего блока существуют в режимах 2-17 на фиг. 9, это может означать, что некоторые области текущего блока также имеют такую же направленность, как соответствующие режимы предсказания.[00616] Referring to image b in FIG. 24, when the corresponding description is derived from the above example when the upper block prediction modes exist in modes 2 to 17 in FIG. 9, this may mean that some regions of the current block also have the same directionality 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, it could 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 by the prediction modes of adjacent blocks, the priority can be determined adaptively.

[00619] Например, если базовая группа кандидатов сконфигурирована с приоритетом в порядке левый блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок, приоритет не изменяется для случая a на фиг. 24 и может изменяться в порядке верхний блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-верхний левый блок для случая b на фиг. 23. В этом случае, как и в случае a на фиг. 24, приоритет является таким же, как ранее, но взамен могут адаптивно определяться настройки преобразования в двоичную форму и энтропийного кодирования/декодирования для режимов-кандидатов предсказания левого блока в группе МРМ-кандидатов. В качестве примера, может быть определено преобразование в двоичную форму (с присвоением более коротких битов) режимов-кандидатов предсказания для левого блока. Альтернативно может быть адаптивно определена контекстная информация. То есть в данном примере может использоваться контекстная информация, задающая вероятность выбора кандидата как высокую.[00619] For example, if the candidate base group is configured with a priority order of left block-upper block-planar block DC-lower left block-upper right block-upper left block, the priority does not change for case a in FIG. 24 and may change in the order of 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, the binarization and entropy encoding/decoding settings for left block prediction candidate modes in the MPM candidate group can be adaptively determined. As an example, a binarization (assigning shorter bits) of the candidate prediction modes for the left block may be specified. Alternatively, contextual information may be adaptively determined. That is, in this example, contextual information can be used that sets the probability of selecting a candidate as high.

[00620] Если 0 в 0 и 1 некоторого двоичного индекса представляет собой двоичное число, указывающее, что кандидат выбран как МРМ (в случае определения, является ли он конечным МРМ, с помощью одного двоичного числа или подтверждения дополнительного двоичного числа с целью распознавания конечного МРМ), и 1 представляет собой двоичное число, указывающее, что кандидат не выбран как МРМ, CABAC может быть применено путем применения контекстной информации о том, что вероятность появления 0 является высокой.[00620] If the 0 in the 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 a single binary number or confirming an additional binary number for the purpose of recognizing the final MPM ), and 1 represents 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] Альтернативно для случая a на фиг. 24 может иметь место порядок левый блок-(левый+1) блок-(левый-1) блок-(левый+2) блок-(левый-2) блок-верхний блок-планарный блок-блок DC-нижний левый блок-верхний правый блок-нижний левый блок, а для случая b на фиг. 24 он может изменяться в порядке верхний блок-(верхний-1) блок-(верхний+1) блок-(верхний-2) блок-(верхний+2) блок-левый блок-планарный блок-блок DC-нижний левый блок-верхний правый-нижний левый блок.[00621] Alternatively, for case a in FIG. 24 the order 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 the right block is the lower 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] Со ссылкой на изображение a на фиг. 25 изображен пример генерирования блока предсказания в соответствии с режимом предсказания смежного блока (в данном примере - левого блока).[00622] Referring to image a in FIG. 25 shows an example of generating a prediction block in accordance with the prediction mode of an adjacent block (in this example, a 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 modes 51 to 66 in FIG. 9. The left block and the 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, T и TR на фигуре. Даже если предсказание выполняется из нижней области блока Т и блока TR, как описано в приведенном выше примере, конечный режим предсказания определяется как режим, существующий среди режимов 51-66, и это означает, что вся область текущего блока также имеет такую же или аналогичную направленность, как вышеуказанный режим предсказания.[00624] The pixels referred to in generating the prediction block of the (left+lower-left) blocks correspond to the diagonal portions TL, T and TR in the figure. Even if prediction is performed from the bottom region of block T and block TR as described in the above example, the final prediction mode is defined as the mode existing among modes 51 to 66, and this means that the entire region of the current block also has the same or similar directionality , like the above prediction mode.

[00625] То есть это может означать, что вероятность выбора режима предсказания левого блока или нижнего левого блока (в данном примере режимы предсказания этих двух блоков являются одинаковыми) как режима предсказания текущего блока является (очень) высокой. Альтернативно это может означать, что высокой является вероятность выбора режимов 51-66 (в данном примере режимы предсказания двух блоков различны).[00625] That is, it 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, it could 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 (top + top right) block prediction modes exist among modes 2 to 17 in FIG. 9, this may mean that the entire area of the current block also has the same directionality as the corresponding 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, it could 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 by the prediction modes of adjacent blocks, the priority can be determined adaptively.

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

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

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

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

[00633] Для подтверждения вышеописанного содержимого необходимо подтвердить, сконфигурирован ли блок, расположенный в предварительно определенном направлении (левый, верхний, верхний левый, верхний правый и нижний левый), как единый (т.е. неразделенный) блок. Поэтому, если блок сконфигурирован как единый блок, то выполняется случай с режимом предсказания этого блока, а если он сконфигурирован как блок разделения, то для выполнения этого случая подтверждаются часть или все из режимов предсказания каждого блока. Однако сложность данного случая может являться значительно повышенной.[00633] To confirm the above-described contents, 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 (ie, non-divided) block. Therefore, if a block is configured as a single block, then the prediction mode case of that block is executed, and if it is configured as a split block, then some or all of the prediction modes of each block are confirmed to execute that case. However, the complexity of this case may be significantly increased.

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

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

[00636] В приведенном выше примере предполагается случай левого блока, однако другие направления применимы аналогично. В дополнение к левому блоку, для подтверждения режима предсказания нижнего левого блока возможно подтвердить режим предсказания, принадлежащий к координатам нижнего левого блока, например, (a-1, b+N).[00636] The above example assumes the left block case, but other directions apply similarly. In addition to the left block, 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 the 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] To summarize, if a mode that is determined to have a high correlation with the current block is confirmed, that mode may be given high priority in the candidate group. Alternatively, high priority within the candidate group may be given to prediction modes derived from a given mode (eg, adjacent prediction modes such as +1 or -1). That is, a given mode may prioritize all or part of a prediction mode or predefined prediction modes (DC mode, planar mode, horizontal mode, vertical mode, diagonal mode, etc.) of other spatially adjacent blocks.

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

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

[00641] На изображении a по фиг. 26 изображен порядок кодирования в соответствии с блоком разделения.[00641] In 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 partitioning based on a quaternary tree, encoding is performed in the order of upper left block (0)-upper right block (1)-lower left block (2)-lower right block (3). If quaternary tree-based partitioning (depth 1) is further performed in sub-blocks, 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 block divided at depth 1, the order is top left block (0-0)-top right block (0-1)-bottom left block (0-2)-bottom right block (0-3) at depth 2 For a bottom right block divided at depth 1, the order is 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 x-y-z order represented by depth information.

[00643] При выполнении разделения на основе двоичного дерева кодирование выполняется в порядке левый блок (0)-правый блок (1), или верхний блок (0)-нижний блок (1) - в случае горизонтального разделения. Если в подблоках дополнительно выполняется разделение на основе двоичного дерева (глубина 1), кодирование выполняется в приведенном выше порядке в каждом подблоке (глубина 2), и кодирование выполняется перед информацией о глубине.[00643] When performing partitioning based on a binary tree, 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 binary tree-based partitioning (depth 1) is further performed in sub-blocks, encoding is performed in the above order in each sub-block (depth 2), and encoding is performed before the depth information.

[00644] На изображении a по фиг. 26, в случае когда блок 3 является таким же, как на изображении a на фиг. 25, и блок 16 является таким же, как на изображении a на фиг. 23, блок 20 соответствует такому же случаю, как на изображении a на фиг. 24.[00644] In image a of FIG. 26, in the case where the block 3 is the same as in image a in FIG. 25, and the 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 block without division 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 sub-blocks have a prediction mode (one mode) in a particular direction.

[00647] Блок 20 представляет собой случай, в котором левый блок сконфигурирован как один блок и имеет режим предсказания (один режим) в конкретном направлении, или левый блок сконфигурирован как множество подблоков после разделения, и все подблоки имеют режимы предсказания (более одного режима) в конкретном направлении.[00647] Block 20 represents a case in which the left block is configured as one block and has a prediction mode (one mode) in a particular 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 the relationship between the current block and the adjacent block is depicted by 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 tested, but various other cases are possible, and the configuration of the candidate intra prediction mode group can be set based on the specific case.

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

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

[00652] В данном примере предполагается, что в группу А кандидатов включены 16 кандидатов, и в группу B кандидатов включены 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 configuring the candidate group A configuration, various methods may be used, and a prediction mode not included according to the priority of the MPM candidate group may be included in the candidate group A.

[00654] Альтернативно, группа А кандидатов может быть сконфигурирована в соответствии с предварительно заданной категорией независимо от приведенного выше примера. Например, на фиг. 9 в группе кандидатов могут быть сконфигурированы режимы предсказания с некоторыми интервалами. То есть в группу А могут быть включены блоки 2, 6, 10, 14, 18 и т.д. на фиг. 8. В данном случае, для группы B, в группу B могут быть включены блоки 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, the candidate group can be configured with prediction modes at certain intervals. That is, group A can include blocks 2, 6, 10, 14, 18, etc. 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, modes included in the group of MRM candidates are excluded from this setting.

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

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

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

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

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

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

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

[00662] Как значение предсказания х пикселей текущего блока может быть использовано значение пикселя, генерируемое путем применения взвешенного среднего к а из ref_1 и b из ref_2.[00662] As the prediction value of 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 layers of reference pixels sometimes results in better prediction results. That is, this means that when generating prediction values for the pixels of the current block, multiple pixels can lead to more accurate prediction results.

[00664] Однако re1_1 и ref_2 могут быть применены в случае, когда текущий блок имеет высокую корреляцию с краевым направлением или т.п., и в некоторых случаях использование множества слоев опорных пикселей может приводить к худшим результатам предсказания. Например, если текущий блок имеет высокую корреляцию в вертикальном направлении, и если верхний блок имеет высокую корреляцию в диагональном направлении, использование множества слоев опорных пикселей не может привести к достижению хорошего эффекта.[00664] However, re1_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 worse prediction results. For example, if the current block has high correlation in the vertical direction, and if the upper block has 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 define whether an existing reference pixel layer should be used or multiple reference pixel layers should be used.

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

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

[00668] На фиг. 28 изображен пример генерирования подблоков в текущем блоке с использованием множества слоев опорных пикселей. Текущий блок представляет собой блок 4M×4N, подблоком является 4M×N, и выполняется прямое предсказание (сверху-> вниз или слева-> направо в качестве точки отсчета, обратное предсказание - снизу-> вверх, справа-> вниз), тогда как режимом предсказания, использующим опорные пиксели, направлениями предсказания которых являются верхний левый блок, верхний блок и верхний правый блок, является k (№66 на фиг. 9).[00668] In FIG. 28 shows an example of generating sub-blocks in the current block using multiple layers of reference pixels. 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, reverse prediction is bottom->up, right->down), whereas the prediction mode using reference pixels whose prediction directions are the top left block, the top block and the top right block is k (No. 66 in FIG. 9).

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

[00670] В целом безусловное использование слоев опорных пикселей не всегда приводит к правильному результату, если множество слоев опорных пикселей используется на основе блока кодирования. Однако в приведенном выше примере используемый для кодирования предыдущий подблок целевого подблока имеет такое же направление, как целевой подблок, что, таким образом, приводит к лучшему результату. Поэтому для определения в явном виде выполнения или выбора одного из слоев опорных пикселей к подблокам в текущем блоке может быть в явном виде применено множество настроек слоев опорных пикселей. Альтернативно, для генерирования значения предсказания целевого подблока к первым k подблокам целевого подблока может быть в неявном виде применено множество слоев опорных пикселей.[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 based on a coding block. However, in the above example, the previous subblock of the target subblock used for encoding has the same direction as the target subblock, thus leading to a better result. Therefore, to explicitly determine the execution or selection of one of the reference pixel layers, a plurality of reference pixel layer settings can be explicitly applied to subblocks in the current block. Alternatively, multiple reference pixel layers may be implicitly applied to the first k subblocks of the target subblock to generate a target subblock prediction value.

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

[00672] Например, предполагается, что в текущем блоке поддерживается четыре горизонтально разделенных подблока. Тогда первый подблок может выполнять предсказание и кодирование с использованием ближайшего опорного пикселя текущего блока, а второй подблок может выполнять предсказание и кодирование с использованием ближайшего опорного пикселя текущего блока и данных первого подблока.[00672] For example, it is assumed that the current block supports four horizontally divided subblocks. 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 data from the first and second subblocks, and the fourth subblock may perform prediction and encoding using data from the second and third subblocks.

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

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

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

[00677] Ранее было описано, что опорные пиксели для внутреннего предсказания можно выделить во множество концепций. Вместо использования множества слоев опорных пикселей, блок предсказания может быть сгенерирован или скорректирован с использованием первого опорного пикселя и второго опорного пикселя в соответствии с режимом предсказания.[00677] It has been previously described that reference pixels for intra prediction can be divided into a variety of concepts. Instead of using multiple layers of reference pixels, a prediction block may be generated or adjusted using the first reference pixel and the second reference pixel in accordance with 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 in which the current block is divided into many sub-blocks. That is, compared with 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 multiple subblocks, the first reference pixel may be the top block. That is, in the present invention, the position of the first reference pixel can be changed in the 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 sub-blocks and converted. The reason is that using a second reference pixel may result in low efficiency when arranging nearby pixels that include previously completed encoding.

[00680] То есть выполнение кодирования путем разделения текущего блока (блока преобразования) на подблоки требует подтверждения. Поэтому в настоящем изобретении блок предсказания может генерироваться или корректироваться с использованием первого опорного пикселя и второго опорного пикселя в соответствии с режимом предсказания, если кодирование выполняется путем предсказания, преобразования и т.д. при исходном размере блока без разделения. Если кодирование выполняется после разделения, генерирование или коррекция блока предсказания с использованием второго опорного пикселя запрещены.[00680] That is, performing encoding by dividing the current block (transform block) into subblocks requires confirmation. Therefore, in the present invention, a prediction block can be generated or adjusted using the first reference pixel and the second reference pixel in accordance with the prediction mode if coding is performed by prediction, transformation, etc. at the original block size without division. If encoding is performed after division, generation or correction of 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 subblock division/decoding settings, a corresponding process can be performed by adjusting the position of the first reference pixel.

[00682] На фиг. 29 представлена принципиальная схема для разъяснения конфигурации опорных пикселей для внутреннего предсказания. Размер и форма (M×N) текущего блока для выполнения предсказания могут быть получены из секции разделения блока и описаны на основе следующих предположений: для выполнения внутреннего предсказания поддерживается диапазон 4×4 - 256×256. Обычно внутреннее предсказание может выполняться в элементах блока предсказания, однако внутреннее предсказание может выполняться в элементах блоков кодирования и блоков преобразования в соответствии с настройками секции разделения блока. После подтверждения информации о блоке секция конфигурации опорных пикселей может конфигурировать опорный пиксель, используемый для предсказания текущего блока. В этом случае обработка опорного пикселя может выполняться временным запоминающим устройством (например, массивом <Array>, главным массивом или вспомогательным массивом и т.д.), опорный пиксель может генерироваться и удаляться во время каждого процесса внутреннего предсказания блока, и размер временного запоминающего устройства может определяться в соответствии с конфигурацией опорного пикселя.[00682] In FIG. 29 is a circuit 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: for performing intra prediction, a range of 4×4 - 256×256 is supported. Typically, intra prediction may be performed on prediction block elements, however, intra prediction may be performed on encoding block elements and transform block elements according to the settings of the block division section. After confirming the block information, the reference pixel configuration section may configure a reference pixel used for predicting the current block. In this case, the reference pixel processing may be performed by a temporary storage device (such as an <Array>, a main array or a auxiliary array, etc.), a reference pixel may be generated and deleted during each block intra prediction process, and the size of the temporary storage device can be determined according to the configuration of the reference pixel.

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

[00684] Альтернативно для предсказания текущего блока могут использоваться блоки (например, имеющие соответствующие координаты согласно той же координате или компонентному композиционному соотношению в каждом цветовом пространстве), соответствующие текущему блоку в других цветовых пространствах (например, если текущий блок принадлежит к Cr, другие цветовые пространства соответствуют Y или Cb). Кроме того, для простоты описания описание выполнено в предположении, что один блок сконфигурирован в предварительно заданном положении (левый, верхний, верхний левый, верхний правый и нижний левый), но в соответствующем положении может существовать по меньшей мере один блок. То есть в предварительно заданном положении может существовать множество подблоков, полученных путем разделения соответствующего блока.[00684] Alternatively, blocks (e.g., having corresponding coordinates according to the same coordinate or component compositional relationship 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) may 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 can exist in a corresponding position. That is, a plurality of sub-blocks obtained by dividing a corresponding block may exist at a predetermined position.

[00685] Коротко говоря, смежная область текущего блока может представлять собой положение опорного пикселя для внутреннего предсказания текущего блока, и положением опорного пикселя в соответствии с режимом предсказания можно дополнительно считать область, соответствующую текущему блоку в другом цветовом пространстве. В дополнение к приведенным выше примерам, может быть определено положение опорного пикселя, заданное в соответствии с режимом предсказания, способом и т.д. Например, если блок предсказания генерируется таким способом, как совпадение блоков, положением опорного пикселя можно считать область, в которой кодирование/декодирование было завершено перед текущим блоком текущего изображения, или область, включенную в диапазон поиска в области, где завершено кодирование/декодирование (например, включая левую сторону, или верхнюю сторону, или верхнюю левую сторону и верхнюю правую сторону текущего блока).[00685] Briefly, the adjacent region of the current block may be a reference pixel position for intra prediction of the current block, and the reference pixel position according to the prediction mode may be further considered to be a region corresponding to the current block in another color space. In addition to the above examples, a position of a reference pixel set according to a prediction mode, method, etc. can be determined. For example, if a prediction block is generated in a manner such as block matching, the position of the reference pixel may be considered to be the region in which encoding/decoding was completed before the current block of the current image, or the region included in the search range in the region where encoding/decoding was completed (for example , 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_T, Ref_TL, Ref_TR и Ref_BL на фиг. 7).[00686] As depicted in FIG. 29, a reference pixel for predicting the current block (M×N) can be configured by adjacent pixels of the left block, the top block, the top left block, the bottom right block and the bottom left block (Ref_L, Ref_T, Ref_TL, Ref_TR and Ref_BL in FIG. 7).

[00687] В этом случае смежные пиксели могут быть классифицированы посредством по меньшей мере одного слоя опорных пикселей: ближайшим пикселем является ref_0 (разность значений пикселей равна 1, от p(-1, -1) до p(2M-1, -1), от p(-1, 0) до p(-1, 2N-1)), следующим смежным пикселем (разность значений пикселей равна 2, от p(-2, -2) до p(2M, -2), от p(-2, -1) до p(-2, 2N)) может являться ref_1, и следующим смежным пикселем (разность значений пикселей равна 3, от p(-3, -3) до p(2M+1, -3), от p(-3, -2) до p(-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_T, Ref_TR, Ref_L и Ref_BL используются как опорные пиксели и используются для блока предсказания, но настоящее изобретение этим не ограничено. Это означает, что в наборе опорных пикселей для предсказания текущего блока смежные блоки могут быть одинаковыми или разными.[00687] In this case, adjacent pixels can be classified by at least one layer of reference pixels: the nearest pixel is ref_0 (pixel value difference equal to 1, 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 ), from p(-3, -2) to p(-3, 2N+1)) may be ref_2, etc. In more detail, ref_k represents a set of pixel values in which the difference in 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 basic description) regarding the use of the reference pixel set ref_k herein 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 the prediction unit, 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 (от p(-1, -1) до p(2M-1, -1)) в Ref_TL, Ref_T и Ref_TR, использован ref_1 (от p(-2, 0) до p(-2, N-1)) в Ref_L и использован ref_2 (от p(-3, N) до p(-3, 2N+1)) в Ref_BL.[00688] For example, ref_0 (p(-1, -1) to p(2M-1, -1)) in Ref_TL, Ref_T and Ref_TR can also be used, ref_1 (p(-2, 0) to p(-2, N-1)) in Ref_L and used ref_2 (from 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_T и т.д.).[00689] Additionally, one set of reference pixels refers to the set of reference pixels Ref_TL, Ref_T, Ref_TB, Ref_L and Ref_BL (i.e., derived from the adjacent block used for intra prediction of the current block), but in the following example, the set of reference pixels 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 is described under the assumption that there are no more than three sets of reference pixels, however, it is not limited to this, and more sets of reference pixels (k equal to 3 or more) can be used. In this case, the supported reference pixel set (or the maximum number of sets, called candidate reference pixel group in the following examples) can be determined according to encoding/decoding settings (eg, 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 related reference pixel configuration information described below may 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 a plurality of reference pixel sets, etc.), but the present invention is not limited to this.

[00692] Обычно как опорный пиксель может быть сконфигурирован ближайший пиксель смежного блока (в данном примере - слой ref_0 опорных пикселей), однако в соответствии с настройками кодирования/декодирования как опорные пиксели могут быть сконфигурированы и другие пиксели. Если используются другие слои опорных пикселей или по меньшей мере один слой опорных пикселей, точность предсказания может быть повышена, за счет чего повышается эффективность кодирования. В этом случае могут иметься различные настройки, связанные с настройкой слоя опорных пикселей.[00692] Typically, the nearest pixel of an adjacent block (in this example, reference pixel layer ref_0) may be configured as a reference pixel, but other pixels may be configured as reference pixels according to the encoding/decoding settings. If other reference pixel layers or at least one reference pixel layer are used, prediction accuracy can be improved, thereby improving coding efficiency. In this case, there may be different settings related to the setting of 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 set of reference pixels used for intra prediction may be implicitly determined, or information associated with the set of reference pixels used may be explicitly generated. In detail, at least one predefined set of pixels may be configured as reference pixels, or at least one set of reference pixels determined using the reference pixel set selection information may be configured as reference pixels. Using 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 reference pixel sets - a value derived 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 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 weighting the sum of pixels in a first set of reference pixels (ref_0 in this example) and pixels in a second set of reference pixels (ref_1 in this example). In this case, according to the prediction mode (eg, the directional prediction mode), the pixels to which the weighted sum is applied in each reference pixel layer may be not only integer element pixels, but also decimal element pixels. Alternatively, weighted values (eg, 7:1, 3:1, 2:1, 1:1, etc.) may be respectively applied to the prediction block obtained by using the 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 reference pixel configuration information generated explicitly, 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. elements. d.

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

[00698] Если информация о конфигурации означает, что адаптивная конфигурация опорных пикселей разрешена (в данном примере - adaptive_intra_ref_sample_flag=1), связанная информация о конфигурации опорных пикселей (например, информация о выборе набора опорных пикселей и т.д., в данном примере - intra_ref_idx) может появляться в элементах кадра, среза, плитки, блока и т.д.[00698] If the configuration information means that adaptive reference pixel configuration is enabled (in this example, adaptive_intra_ref_sample_flag=1), the associated reference pixel configuration information (for example, 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 adaptive configuration of the reference pixels is not enabled, or the configuration is not an adaptive configuration of the reference pixels, the reference pixel can be configured according to a predetermined setting. In general, an example of this may be, but is 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 a prediction pixel value is generated by performing summation of weighted values or the like with respect to ref_0 and ref_1, etc.; that is, the implicit case).

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

[00701] В приведенном выше примере описание выполнено на основе иерархической структуры, начиная от элемента верхнего слоя, но этим не ограничено. Кроме того, в некоторых случаях связанная информация может быть определена в неявном виде. Например, как описано выше, в некоторых случаях связанная информация может появляться в соответствии с настройками кодирования/декодирования, в некоторых случаях связанная информация определяется в неявном виде, и в некоторых случаях может иметь место комбинированный случай.[00701] In the above example, the description is based on a hierarchical structure starting from the top layer element, but is not limited to this. In addition, in some cases, related information may be defined implicitly. For example, as described above, in some cases, related information may appear in accordance with 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 cases of reference pixel configurations are described using the above examples, which can be combined with various encoding/decoding information, etc. to define intra prediction settings. In this case, the encoding/decoding information contains the image type (I/P/B), color component, current block shape and size, prediction mode (prediction mode type (directional or omnidirectional)), prediction mode direction (vertical, horizontal, diagonal 1, diagonal 2, etc.) etc., and the intra prediction settings (in this example, the reference pixel configuration settings) can be determined according to the encoding/decoding information of the adjacent block and a combination of the encoding/decoding information current block and adjacent block.

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

[00704] На изображении a на фиг. 30 представлен случай, в котором набор опорных пикселей конфигурируется как опорный пиксель, и последующий процесс внутреннего предсказания (генерирование опорных пикселей, фильтрация опорных пикселей, интерполяция опорных пикселей, генерирование блока предсказания, фильтрация при последующей обработке и т.д.; некоторые процессы внутреннего предсказания могут быть сконфигурированы адаптивно в соответствии с конфигурацией набора опорных пикселей) может быть выполнен после конфигурирования ref_0 как опорного пикселя. Например, информация о наборе опорных пикселей не генерируется для одного набора опорных пикселей, и может быть выполнен процесс внутреннего предсказания в соответствии с ненаправленным режимом.[00704] In image a of FIG. 30 shows a case in which a set of reference pixels is configured as a reference pixel, and a subsequent intra prediction process (reference pixel generation, reference pixel filtering, reference pixel interpolation, prediction block generation, post-processing filtering, etc.; some intra prediction processes can be configured adaptively according to the configuration of a set of reference pixels) can 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 in accordance with the undirected mode.

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

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

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

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

[00709] На изображении a на фиг. 31 изображен случай, в котором группой опорных пикселей-кандидатов является один набор опорных пикселей, когда размер блока равен 64×64 или более. На изображении b на фиг. 31 изображен случай, в котором группами опорных пикселей-кандидатов являются два набора опорных пикселей (что означает не более двух наборов опорных пикселей для опорных пикселей; то есть понятно, что возможны оба случая, которые представлены на изображениях b и c по фиг. 30; такой же случай представлен ниже), когда размер блока больше 16×16 и меньше 64×64. На изображении с на фиг. 31 изображен случай, в котором группами опорных пикселей-кандидатов являются три набора опорных пикселей (что означает не более трех наборов опорных пикселей для опорных пикселей), когда размер блока меньше 16×16. В настоящем примере, так как текущий блок имеет больший размер, размер смежного блока с большей вероятностью является меньшим, что может являться результатом разделения по причине других характеристик изображения. Поэтому, во избежание выполнения предсказания от пикселей на большом расстоянии от значения пикселя текущего блока, предполагается, что, так как блок имеет больший размер, количество кандидатов набора опорных пикселей уменьшается, но также можно предположить противоположный случай. Настоящее изобретение этим не ограничено. Могут быть осуществлены различные примеры изменений.[00709] In image a of 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. In image b of 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 of FIG. 30; the same case is presented below) when the block size is greater than 16x16 and less than 64x64. In image c of FIG. 31 shows a case in which the candidate reference pixel groups are three sets of reference pixels (meaning at most three sets of reference pixels for the reference pixels) when the block size is less than 16×16. In the present example, since the current block is larger, the size of the adjacent block is more likely to be smaller, which may result from partitioning due to other image characteristics. Therefore, to avoid making predictions from pixels at a large distance from the pixel value of the current block, it is assumed that since the block is larger, the number of reference pixel set candidates is reduced, 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] In FIG. 32 is a schematic diagram regarding the configuration of reference pixels.

[00711] На фиг. 32 изображен случай, в котором, когда текущий блок является прямоугольным (в данном примере - удлиненным горизонтально), группами опорных пикселей-кандидатов являются множество наборов опорных пикселей на более длинной стороне, и группой опорных пикселей-кандидатов является один набор опорных пикселей на более короткой стороне. В данном примере предполагается, что на более короткой стороне сконфигурирован один набор опорных пикселей, однако понятно, что имеется меньшее количество конфигураций, чем на более длинной стороне, и может также иметься большое количество конфигураций в противоположном случае. Данный пример предназначен для предотвращения, но без ограничения, случая, в котором, когда блок является прямоугольным, опорный пиксель с малой длиной часто находится дальше от текущего блока, вследствие чего снижается точность предсказания.[00711] In FIG. 32 depicts 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 the longer side, and the candidate reference pixel group is one reference pixel set on the shorter side. side. In this example, it is assumed that one set of reference pixels is configured on the shorter side, but 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 short-length reference pixel is often further away from the current block, thereby reducing prediction accuracy.

[00712] Например, в случае направленного режима, предсказываемого с использованием опорных пикселей на верхней и правой верхней сторонах блока, предсказание может быть выполнено с использованием множества наборов опорных пикселей (возможны оба случая, которые представлены на изображениях b и c по фиг. 30), и в случае направленного режима, предсказываемого с использованием опорных пикселей левой и нижней левой сторон блока, предсказание может быть выполнено с использованием единственного набора опорных пикселей. То есть может иметь место случай, в котором набор опорных пикселей определяется адаптивно в соответствии со смежными блоками в одном блоке.[00712] For example, in the case of a directional mode predicted using reference pixels on the top and top right sides of a block, the 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 in accordance with adjacent blocks in one block.

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

[00714] Несмотря на то что на различных примерах изображен случай, в котором в качестве опорных пикселей сконфигурировано множество наборов опорных пикселей, он ими не ограничен. Могут иметь место различные преобразованные примеры, которые могут быть скомбинированы с другими, дополнительными конфигурациями.[00714] Although various examples show a case in which multiple sets of reference pixels are configured as reference pixels, it is not limited to them. Various converted examples may occur and may 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, etc. and may have all or part of the above configurations.

[00716] Секция конфигурации опорных пикселей выполнена с возможностью подтверждения доступности опорных пикселей с целью классификации доступных опорных пикселей и недоступных опорных пикселей. Например, если блок в предварительно заданном положении (или кандидатный блок опорного пикселя) является доступным, то соответствующий блок может быть использован как опорный пиксель, а если он недоступен, этот блок нельзя использовать как опорный пиксель.[00716] The reference pixel configuration section is configured to confirm the availability of reference pixels for the purpose of classifying available reference pixels and unavailable reference pixels. For example, if a block at a predetermined position (or a reference pixel candidate block) 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 defined as unreachable if one of the conditions is satisfied that the reference pixel is outside the frame boundary, it does not belong to the same division block as the current block (for example, slice, tile, etc.), encoding /decoding is not complete and usage is limited according to encoding/decoding. That is, if none of the above conditions are satisfied, it is determined that the reference pixel is available.

[00718] Кроме того, использование опорных пикселей может быть ограничено настройками кодирования/декодирования. Например, использование опорных пикселей может быть ограничено в соответствии с выполнением ограниченного внутреннего предсказания (например, constrained_intra_pred_flag). Ограниченное внутреннее предсказание может выполняться тогда, когда устойчивое к ошибкам кодирование/декодирование необходимо выполнить в отношении внешних факторов, таких как среда связи, если предпринимается попытка запретить использование блоков, восстановленных путем отсылки к другим изображениям в качестве опорных пикселей.[00718] Additionally, 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 reconstructed by referring to other images as reference pixels.

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

[00720] Если кандидатный блок опорного пикселя можно использовать, пиксель в предварительно заданном положении блока (в данном примере предполагается, что пиксель является смежным с текущим блоком) может быть включен в запоминающее устройство для опорных пикселей текущего блока.[00720] If a reference pixel candidate 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) can be included in the reference pixel storage of the current block.

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

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

[00723] В секции фильтрации опорных пикселей обычно используется фильтр нижних частот (такой как 3-отводный фильтр и 5-отводный фильтр, например, [1, 2, 1]/4 и [2, 3, 6, 3, 2]/16) для выполнения сглаживания как основной цели, но могут использоваться другие типы фильтров (такие как фильтр верхних частот) в соответствии с назначением фильтров (например, увеличение четкости и т.д.). В настоящем описании подчеркивается, что фильтрация выполняется с целью сглаживания для уменьшения ухудшения качества в процессе кодирования/декодирования.[00723] The reference pixel filtering section typically uses a low pass filter (such as a 3-tap filter and a 5-tap filter, e.g. [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 high-pass filter) can be used according to the purpose of the filters (for example, increasing clarity, etc.). The present description emphasizes that filtering is performed for the purpose of smoothing to reduce quality degradation during the encoding/decoding process.

[00724] Выполнение фильтрации опорных пикселей можно определить в соответствии с настройками кодирования/декодирования. То есть фильтрация может применяться или может не применяться к опорным пикселям. Однако такая единообразная операция фильтрации может иметь тот недостаток, что могут быть не отражены некоторые характеристики изображения, и может являться преимущественным улучшение выполнения кодирования путем выполнения фильтрации на основе такой информации, как информация о кодировании/декодировании, отражающая некоторые характеристики изображения.[00724] The execution of reference pixel filtering can be determined in accordance with 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 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 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 in accordance with the encoding/decoding information of adjacent blocks, the combination of encoding/decoding information of the current block and adjacent blocks, etc. In addition, determination (eg, determining whether the reference pixel area is a flat area or a discontinuous area, etc.) can be performed in accordance with the distribution characteristics of the reference pixels (eg, dispersion, standard deviation, etc. of the reference pixel area pixels). Thus, if the image characteristic information can be confirmed, the application of reference pixel filtering can be specified in advance.

[00726] Альтернативно фильтрация опорных пикселей может быть задана в явном виде. Например, может генерироваться информация о том, применять ли фильтрацию. В этом случае информация о выборе фильтра не генерируется, если имеется один фильтр, или может генерироваться, если имеется множество групп фильтров-кандидатов.[00726] Alternatively, filtering of reference pixels can be specified explicitly. 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 described both implicit and explicit settings for filtering reference pixels, there may also be combined cases, e.g., in some cases the use of settings is explicitly specified, and in other cases the use of settings in an implicit form. In this case, the expression “implicit settings” means that information about the reference pixel filter (eg, whether to apply filtering and filter category information) can be obtained at the decoder.

[00728] Секция интерполяции опорных пикселей выполнена с возможностью генерирования опорных пикселей в десятичном элементе путем линейной интерполяции опорных пикселей. Несмотря на то что в настоящем описании процесс описан как часть секции конфигурации опорных пикселей, его можно понимать, как компонент, выполненный с возможностью включения в секцию генерирования блока предсказания и исполнения перед генерированием блока предсказания.[00728] The reference pixel interpolation section is configured to generate reference pixels in a decimal element by linearly interpolating the reference pixels. Although the process is described herein as part of the reference pixel configuration section, it can be understood as a component configured to be 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 preceding reference pixel filtering section, they may be configured to be combined into one component. It may also be a configuration in which distortion is generated in a 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>, omnidirectional modes, color modes, color copy modes, and etc.; that is, in modes where decimal interpolation is not required when generating a prediction block), 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] The interpolation accuracy (for example, pixel elements 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 directionality prediction mode). For example, a prediction mode that forms an angle of 45 degrees does not require an interpolation process, but a prediction mode that forms an angle of 22.5 degrees or 67.5 degrees requires interpolation in 1/2 pixel elements. As described above, according to the prediction mode, at least one interpolation precision and a maximum interpolation precision can be determined.

[00732] Для интерполяции опорных пикселей, может быть использован предварительно заданный фильтр (например, 2-отводный линейный интерполяционный фильтр, то есть в любых случаях используется только этот интерполяционный фильтр), и может использоваться одна из множества групп интерполяционных фильтров-кандидатов (например, 4-отводный кубический фильтр, 4-отводный гауссов фильтр, 6-отводный фильтр Винера и 8-отводный фильтр Калмана; то есть определено, что используется интерполяционный фильтр, применяемый в соответствии с настройками кодирования/декодирования). В этом случае интерполяционный фильтр может быть выделен по отличиям в количестве отводов (т.е. по количеству пикселей, к которым применяется фильтрация), коэффициентам фильтра и т.д.[00732] To interpolate the reference pixels, a predefined filter may be used (e.g., a 2-tap linear interpolation filter, i.e., only that interpolation filter is used in all cases), and one of a variety of candidate interpolation filter groups may be used (e.g., 4-tap cubic 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, etc.

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

[00734] Если используется одна из множества групп секций фильтров-кандидатов, информация о выборе фильтра может генерироваться в явном виде или определяться в неявном виде и может определяться в соответствии с настройками кодирования/декодирования (например, точностью интерполяции, размером и формой блока, режимом предсказания и т.д.). В этом случае элемент, генерируемый в явном виде, соответствует видео, последовательности, кадру, срезу, плитке, блоку и т.д.[00734] If one of multiple groups of candidate filter sections is used, filter selection information may be generated explicitly 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 element that is explicitly generated corresponds to a video, sequence, frame, slice, tile, block, etc.

[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 can be used in methods (directional mode) such as extrapolation in accordance with the prediction mode, and can be used in methods (non-directional mode) such as interpolation or averaging (DC) or copying.

[00736] Кроме того, блок предсказания может генерироваться путем копирования опорных пикселей. При копировании опорных пикселей более одного пикселя предсказания может генерироваться путем копирования одного опорного пикселя, или более одного пикселя предсказания может генерироваться путем копирования более чем одного опорного пикселя, и количество скопированных опорных пикселей меньше или равно количеству скопированных пикселей предсказания.[00736] In addition, a prediction block may be generated by copying reference pixels. When copying 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 a prediction block generally consists of one prediction block obtained by a prediction block generation process, the following example may be included: a final prediction block is obtained by obtaining a plurality of prediction blocks and applying the prediction blocks to the plurality of prediction blocks. weighted summation or the like. Here, 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 an optimal mode selection process in a plurality of candidate prediction mode groups. 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 distortion 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 the subtraction section and the addition section.

[00739] Секция кодирования режима предсказания выполнена с возможностью кодирования режима предсказания, выбранного при помощи секции определения режима предсказания. В группе режимов-кандидатов предсказания может кодироваться информация об индексах, соответствующая режиму предсказания, или режим предсказания может быть предсказан для кодирования связанной с ним информации. То есть первый случай представляет способ прямого кодирования режима предсказания без выполнения предсказания, и последний случай представляет способ предсказания режима предсказания так, что кодируется информация о предсказании режима кодирования и информация, полученная на основе информации о предсказании. Кроме того, первый пример представляет собой пример, который может применяться к цветоразностной компоненте, и последний пример представляет собой пример, который может быть применен к компоненте яркости. Они этим не ограничены и также могут применяться в других случаях.[00739] The prediction mode encoding section is configured to encode the prediction mode selected by the prediction mode determining section. In a group of candidate prediction modes, index information corresponding to a prediction mode may be encoded, or a prediction mode may be predicted to encode information associated therewith. That is, the first case represents a method of directly encoding a prediction mode without performing prediction, and the last case represents a method of predicting a prediction mode such that prediction information of the encoding mode and information obtained based on the prediction information are encoded. Moreover, the first example is an example that can be applied to a chroma 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] В случае выполнения предсказания и кодирования в отношении режима предсказания, значение предсказания (или информация о предсказании) режима предсказания может называться МРМ. В этом случае как MPM может быть сконфигурирован предварительно заданный режим предсказания (например, режим DC, планарный режим, вертикальный режим, горизонтальный режим, диагональный режим и т.д.) или режим предсказания пространственно смежного блока (например, левого блока, верхнего блока, верхнего левого блока, верхнего правого блока, нижнего левого блока и т.д.). В данном примере диагональный режим может представлять режим диагонально вверх вправо, диагонально вниз вправо и диагонально вниз влево, которые могут соответствовать режиму 9, режиму 34 и режиму 66 на фиг. 9.[00740] In the case of performing prediction and encoding with respect to a prediction mode, the prediction value (or prediction information) of the prediction mode may be referred to as MPM. In this case, a preset prediction mode (e.g., DC mode, planar mode, vertical mode, horizontal mode, diagonal mode, etc.) or a 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 a diagonally up-right, diagonally down-right, and diagonally down-left mode, which may correspond to mode 9, mode 34, and mode 66 in FIG. 9.

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

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

[00743] Режим предсказания для конфигурирования группы МРМ-кандидатов может иметь приоритет. Порядок режимов предсказания, включенных в группу МРМ-кандидатов, может определяться в соответствии с приоритетом, и конфигурация группы МРМ-кандидатов может быть завершена, если количество групп МРМ-кандидатов заполнено в соответствии с приоритетом. В этом случае приоритет может быть определен в порядке: режим предсказания пространственно смежного блока, предварительно заданный режим предсказания и режим, производный от режима предсказания, первоначально включенного в группу МРМ-кандидатов, однако возможны и другие модификации.[00743] The prediction mode for configuring a group of MPM candidates may have priority. The order of prediction modes included in the MPM candidate group can 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 the priority. In this case, the priority can be determined in the order of: prediction mode of a spatially adjacent block, a predefined 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, block prediction modes may be included in a candidate group in the order left-upper-lower-left-upper-right-upper-left block, etc. In the predefined 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 etc. to the included mode is included in the candidate group Alternatively, the prediction modes can be included in a candidate group with priority left-upper-DC-planar-lower-left-upper-right-upper-left-left+1-left-1-upper+1, etc.

[00745] Если кодирование режима предсказания текущего блока выполнятся с использованием МРМ, может генерироваться информация о том, совпадает ли режим предсказания с МРМ (например, most_probable_mode_flag).[00745] If 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.

[00746] Если режим предсказания совпадает с MPM, (например, most_probable_mode_flag=1), в соответствии с конфигурацией МРМ может дополнительно генерироваться информация об индексах MPM (например, mpm_idx). Например, если MPM выполнен как один режим предсказания, дополнительная информация об индексах MPM не генерируется, а если MPM выполняется как множество режимов предсказания, в группе MPM-кандидатов может генерироваться информация об индексах, соответствующая режиму предсказания текущего блока.[00746] If the prediction mode matches 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, but if the MPM is executed as a plurality of prediction modes, index information corresponding to the prediction mode of the current block may be generated in a group of candidate MPMs.

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

[00748] Если группа режимов-кандидатов, не являющихся MPM, состоит из множества групп, может генерироваться информация о том, к какой группе принадлежит режим предсказания текущего блока. Например, режим, не являющийся MPM, состоит из групп А и B, если режим предсказания текущего блока совпадает с режимом предсказания из группы А (например, non_mpm_A_flag=1), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в группе А кандидатов, и, если совпадение отсутствует (например, non_mpm_A_flag=0), информация об индексах, соответствующая режиму предсказания текущего блока, может генерироваться в остальных группах режимов-кандидатов предсказания (или группе B кандидатов). Как и в приведенном выше примере, режим, не являющийся MPM, может быть сконфигурирован как по меньшей мере одна группа (или набор) режимов-кандидатов предсказания, и конфигурация режимов, не являющихся MPM, может быть определена в соответствии с группой режимов-кандидатов предсказания. Например, если имеется не более 35 групп режимов-кандидатов предсказания, может иметься один режим, не являющийся MPM, а в других случаях имеется два или более режимов, не являющихся MPM.[00748] If the non-MPM candidate mode group consists of multiple groups, information about which group the prediction mode of the current block belongs to can be generated. For example, a 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 can 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 candidate prediction mode groups (or candidate group B). As in the above example, the non-MPM mode may be configured as at least one candidate prediction mode group (or set), and the configuration of the non-MPM modes may be determined in accordance with the candidate prediction mode group . For example, if there are no more than 35 candidate prediction mode groups, 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 other than the MPM candidate group having the highest probability of matching 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 a directionality from a predetermined interval may be included in group A.

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

[00751] Если кодирование режима предсказания (или декодирование режима предсказания) текущего блока выполняется с использованием MPM, таблица преобразования в двоичную форму, применяемая к каждой группе режимов-кандидатов предсказания (например, к группе MPM-кандидатов, группе режимов-кандидатов, не являющихся MPM, и т.д.), может генерироваться отдельно, и способ преобразования в двоичную форму, применяемый к каждой группе кандидатов, также может применяться отдельно.[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 mode group, non-candidate mode group MPM, etc.) can be generated separately, and the binarization method applied to each candidate group can also be applied separately.

[00752] В приведенном выше примере такие термины, как «группа МРМ-кандидатов» и «группа режимов-кандидатов, не являющихся MPM», являются лишь некоторыми терминами, используемыми в настоящем изобретении, и оно ими не ограничено. В частности, эти термины представляют информацию о категории, к которой принадлежит режим предсказания после деления режимов предсказания в текущем фрейме на множество категорий, и информацию о режиме в пределах категории. В качестве других выражений, они также могут быть использованы для таких терминов, как «главная группа МРМ-кандидатов» и «вспомогательная группа МРМ-кандидатов».[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 are not limited to them. Specifically, these terms represent information about the category to which a prediction mode belongs after dividing the prediction modes in the current frame into a plurality of categories, and information about a mode within a category. As other expressions, they may also be used for terms such as "major MPM candidate group" and "minor MPM candidate group".

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

[00754] Если в качестве группы опорных пикселей-кандидатов сконфигурировано более одного набора опорных пикселей, ниже можно выделить случай, в котором используется один набор опорных пикселей, и случай, в котором используется более двух наборов опорных пикселей.[00754] If more than one set of reference pixels is configured as a candidate reference pixel group, a case in which one set of reference pixels is used and a case in which more than two sets of reference pixels 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 multiple sets of reference pixels are specified as candidate groups, one set of reference pixels (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] A prediction block P may be generated using ref* obtained using a set of ref reference pixels and a prediction preprocessing procedure such as reference pixel generation, reference pixel filtering, and reference pixel interpolation.

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

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

[00761] Например, при использовании набора ref_2 опорных пикселей на фиг. 29, если в качестве опорных пикселей могут быть использованы положения Ref_TL и Ref_TR, а положение Ref_T нельзя использовать как опорный пиксель, пиксели в положениях от P(0, -3) до P(n-1, -3) Ref_T могут быть сгенерированы посредством смежных пикселей в положениях от P(-1, -3) до P(n, -3) из доступных опорных пикселей и сконфигурированы как опорные пиксели.[00761] For example, when using reference pixel set ref_2 in FIG. 29, if the positions Ref_TL and Ref_TR can be used as reference pixels, and the position Ref_T 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) from the available reference pixels and 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 can be performed before generating the prediction block.

[00763] В случае секции фильтрации опорных пикселей, фильтрация может применяться в смежных пикселях с центром на целевом пикселе, и обычно чем больше количество пикселей, которые применяются к фильтру, тем более точный эффект фильтрации (например, сглаживания, увеличения четкости и т.д.) может быть достигнут.[00763] In the case of the reference pixel filtering section, filtering can be applied on adjacent pixels centered on the target pixel, and generally, the larger the number of pixels that are applied to the filter, the more precise the filtering effect (eg, 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 the pixels to be interpolated, and the larger the number of pixels that are applied to the filter, the more accurate the 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 at each stage, in case of adverse effects when applying filtering at another stage, the desired effect may also appear.

[00766] Например, в процессе интерполяции опорных пикселей целевые десятичные пиксели интерполяции могут применять фильтрацию в смежных целочисленных пикселях, если в данном примере предполагается, что на предыдущем этапе применяется фильтрация опорных пикселей (т.е. применяется к пикселям целочисленных элементов), ошибка квантования каждого целочисленного пикселя может быть уменьшена при помощи фильтрации опорных пикселей, или также возможно создать случай, в котором ошибка квантования, напротив, дополнительно включается в интерполированный пиксель за счет использования этого пикселя в процессе интерполяции опорных пикселей.[00766] For example, during the reference pixel interpolation process, the interpolation target decimal pixels may apply filtering at adjacent integer pixels if this example assumes that the previous step applies reference pixel filtering (i.e., applied to integer element pixels), 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 is instead further incorporated into the interpolated pixel by using that pixel in the reference pixel interpolation process.

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

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

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

[00770] (m - исходный пиксель, m* - фильтрованный пиксель, m' - пиксель до фильтрации, 1' и n' - смежные пиксели до выполнения фильтрации, v - коэффициент фильтра, и k1 - ошибка квантования)[00770] (m is the original pixel, m* is the filtered pixel, m' is the pixel before filtering, 1' and n' are adjacent pixels before filtering, v is the filter coefficient, and k1 is the 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' are adjacent pixels <filtering not performed>, w is the filter coefficient, and k2 is the quantization error)

[00775] (S3. Сглаживание Ref + процесс интерполяции)[00775] (S3. Ref smoothing + 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 source 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 an adjacent pixel of an 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 containing the quantization error to obtain interpolated pixels (i.e., assuming no filtering is applied to reduce the quantization error, the 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 the low-pass filtering section may also occur.

[00781] С другой стороны, в случае S3, где процессы выполняются последовательно, необходимо учитывать, может ли сохраняться эффект, который требуется получить в процессах. То есть это связано с тем, что выполнение фильтрации (выполнение только одного или двух фильтров и т.д.), тип фильтра (использование улучшенного фильтра или немного улучшенного фильтра; то есть даже если в процессе генерируется удовлетворительный эффект, этот эффект не достигается в других процессах или, наоборот, получается неудовлетворительный эффект), добавление отвода фильтра и т.д. не обязательно гарантируют удовлетворительный эффект фильтрации.[00781] On the other hand, in the case of S3, where the processes are executed 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 implementation of filtering (performing only one or two filters, etc.), the type of filter (using an improved filter or a slightly improved filter; that is, even if the process generates a satisfactory effect, this effect is not achieved in other processes or, conversely, an unsatisfactory effect is obtained), adding a filter outlet, etc. do not necessarily guarantee a satisfactory filtration 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 sets of reference pixels (more than two of ref_1, ref_2 and ref_3 in FIG. 29) are selected for intra prediction when multiple sets of reference pixels 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> Как изображено на изображении a по фиг. 33, первый блок предсказания может генерироваться посредством набора ref_A опорных пикселей. То есть блок РА предсказания может генерироваться с использованием ref_A*, полученного с использованием ref_A и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей. Кроме того, блок PB предсказания может генерироваться с использованием ref_B*, полученного при помощи процедуры предварительной обработки предсказания в отношении ref_B.[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 a prediction preprocessing procedure such as reference pixel generation, reference pixel filtering, and reference pixel interpolation. In addition, a prediction block PB may be generated using ref_B* obtained by a prediction preprocessing procedure for ref_B.

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

[00787] Например, к пикселям в ref_А применяется 3-отводная фильтрация нижних частот при помощи секции фильтрации опорных пикселей, и к пикселям в ref_А' (т.е. пикселям после фильтрации опорных пикселей) применяется 4-отводная кубическая фильтрация посредством опорных пикселей. Кроме того, к пикселям, расположенным в ref_В, применяется 5-отводная фильтрация нижних частот, и к пикселям, расположенным в ref_В' (т.е. пикселям после фильтрации опорных пикселей), может применяться 6-отводная линейная интерполяционная фильтрация.[00787] For example, 3-tap low-pass filtering is applied to the pixels in ref_A by the reference pixel filtering section, and 4-tap cubic filtering is applied to the pixels in ref_A' (ie, the pixels after the reference pixels are 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 (e.g., applying a high weighting value, such as 3:1, to the prediction block , adjacent to the current block), etc.

[00789] <2> Как изображено на изображении b по фиг. 33, блок предсказания может генерироваться посредством наборов ref_A и ref_B опорных пикселей. В этом случае блок Р предсказания может генерироваться с использованием ref_A*, полученного с использованием ref_A и ref_В и при помощи такой процедуры предварительной обработки предсказания, как генерирование опорных пикселей, фильтрация опорных пикселей и интерполяция опорных пикселей.[00789] <2> As shown in image b of FIG. 33, a prediction block may be generated by 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_А', может применяться 4-отводная кубическая фильтрация при помощи секции интерполяции опорных пикселей. Кроме того, к пикселям, расположенным в ref_В, может применяться 5-отводная фильтрация нижних частот, а к пикселям, расположенным в ref_В', может применяться 2-отводная линейная интерполяционная фильтрация.[00790] For example, 3-tap low-pass filtering may be applied to pixels located at ref_A using a reference pixel filtering section, and 4-tap cubic filtering may be applied to pixels located at ref_A' using a reference pixel interpolation section. In addition, 5-tap low-pass filtering may be applied to pixels located at ref_B, and 2-tap linear interpolation filtering may be applied to pixels located at ref_B'.

[00791] Кроме того, блок предсказания может генерироваться после получения ref* с использованием ref_A* и ref_B*, полученных в вышеописанном процессе. То есть после получения значений пикселей, соответствующих направленности режима внутреннего предсказания, в каждом наборе опорных пикселей (например, pa в ref_A* и pb в ref_B*) в соответствии с режимом предсказания, может быть применено взвешенное среднее (например, pa×A+pb×B) для генерирования блока предсказания.[00791] In addition, a prediction block may be generated after receiving ref* using ref_A* and ref_B* obtained in the above process. That is, after obtaining the pixel values corresponding to the directionality 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) can be applied ×B) to generate a prediction block.

[00792] Для генерирования блока предсказания при помощи способов <1> и <2> (<1> представляет собой способ применения взвешенного среднего между блоками предсказания после генерирования этих блоков предсказания в каждом наборе опорных пикселей, <2> представляет собой способ применения взвешенного среднего между пикселями в процессе генерирования блока предсказания; то есть получаются одинаковые или аналогичные результаты, но процесс может отличаться) может использоваться более двух наборов пикселей.[00792] To generate a prediction block using methods <1> and <2> (<1> is a method of applying a weighted average between prediction blocks after generating those 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 procedure for predicting pre-processing when using more than two sets of reference pixels is described below.

[00794] Например, при использовании наборов ref_1 и ref_2 опорных пикселей на фиг. 29, если в качестве опорных пикселей могут быть использованы положения Ref_TL и Ref_TR, а положение Ref_T нельзя использовать как опорные пиксели, пиксели от P(0, -1) до P(n-1, -1) в положении Ref_T генерируются в ref_1 посредством смежных пикселей в P(-1, -1) и P(n, -1) из доступных опорных пикселей набора ref_1 опорных пикселей, и пиксели от P(0, -2) до P(n-1, -2) в положении Ref_T могут генерироваться в ref_2 посредством смежных пикселей в P(-1, -2) и P(n, -2) из доступных опорных пикселей набора ref_2 опорных пикселей.[00794] For example, when using reference pixel sets ref_1 and ref_2 in FIG. 29, if the positions Ref_TL and Ref_TR can be used as reference pixels, and the position Ref_T cannot be used as reference pixels, pixels P(0, -1) to P(n-1, -1) at the position Ref_T are generated in ref_1 by adjacent pixels at P(-1, -1) and P(n, -1) from the available reference pixels of the reference pixel set ref_1, and pixels 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, a prediction block may be generated using the available pixels in ref_1 and ref_2 at the positions of the unavailable pixels 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 positions of the unavailable pixels in ref_2.

[00796] В случае секции фильтрации опорных пикселей, фильтрация может применяться к смежным пикселям с центром на целевом пикселе, и в случае секции интерполяции опорных пикселей фильтрация может применяться к смежным пикселям с центром на пикселе, подлежащем интерполяции.[00796] In the case of a reference pixel filtering section, filtering may be applied to adjacent pixels centered on a target pixel, and in the case of a reference pixel interpolation section, filtering may be applied to adjacent pixels centered on a 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, undesirable effects are generated when filtering is applied.

[00798] Следуя процедуре в (1), дальнейшее описание выполнено в предположении <1> в (2).[00798] Following the procedure in (1), the following description is made under assumption <1> in (2).

[00799] (S4. Процесс внутреннего предсказания)[00799] (S4. Intra prediction process)

[00800 P=v0xP1+v1+P2[00800 P=v0xP1+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 consider the part relating to obtaining prediction blocks using the values that are obtained by the S3 process in each set of reference pixels and applying 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 addressed by (1) and (2), the method may be a solution in which one of a plurality of candidate groups is explicitly selected (e.g., as a candidate group associated with reference pixel filtering, one of the following is selected: <no filtering, or 3-tap filtering, or 5-tap filtering>, as the candidate group associated with reference pixel interpolation, one of <4-tap filtering or 6-tap filtering> is selected, and The optimal way to define it 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 through the following embodiments.

[00804] (3) Процедура предварительной обработки предсказания при использовании одного набора опорных пикселей[00804] (3) Prediction pre-processing procedure when using one set of reference pixels

[00805] Как изображено на изображении a по фиг. 34, для предсказанного опорного пикселя может потребоваться временное запоминающее устройство, которое может содержать главный массив или вспомогательный массив. В данном примере предполагается, что опорные пиксели задаются главным массивом, как изображено на фигуре.[00805] As shown in image a of FIG. 34, the predicted reference pixel may require a temporary storage device, which may contain a main array or a auxiliary array. This example assumes that the reference pixels are defined by the main array, as shown in the figure.

[00806] Как изображено на изображении a по фиг. 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, reference pixels may be passed through a reference pixel filtering section after configuring or generating reference pixels, for example, by a reference pixel generation section. The reference pixels obtained by the reference pixel filtering section are represented as ref'. Then, reference pixels obtained by performing a reference pixel interpolation process with respect to ref' are represented as ref*, and a prediction block can be generated using ref*.

[00807] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции в отношении ref' (изображение b на фиг. 12).[00807] *An integer element pixel consists of ref', a 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* (an integer element pixel from 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 By using these processes, a reference pixel with less high precision can be obtained by interpolating decimal element pixels due to repeated filtering. Therefore, the reference pixel filtering process and the reference pixel interpolation process need to be performed separately.

[00809] Например, фильтрация опорных пикселей может быть опущена, и может выполняться только интерполяция опорных пикселей. В этом случае пикселем целочисленного элемента, используемым для предсказания, может являться существующий смежный пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, полученный путем применения интерполяции к существующим смежным пикселям целочисленных элементов.[00809] For example, reference pixel filtering may be omitted and only reference pixel interpolation 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 (изображение c на фиг. 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 may be used as the reference pixel instead of ref'. In this case, the integer element pixel used for prediction may be a pixel to which reference pixel filtering has not been applied, and the decimal element pixel may be a pixel to which interpolation is applied by using existing adjacent pixels as pixels before reference pixel filtering is performed.

[00812] *Пиксель целочисленного элемента состоит из ref', пиксель десятичного элемента состоит из ref*, полученного путем выполнения интерполяции с использованием ref (изображение d на фиг. 34).[00812] *An integer element pixel consists of ref', a 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 using images b-d in FIG. 34. In images c and d in FIG. 34 shows examples of configuring a reference pixel by applying at most 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 case <2> in (2) of the previous example, two sets of reference pixels are used to generate the prediction block.

[00816] После конфигурирования ref_A, при помощи секции фильтрации опорных пикселей может быть получен ref_A', и после выполнения процесса интерполяции опорных пикселей в отношении ref_A' может быть получен ref_A*. Кроме того, в случае ref_B, ref_B* может быть получен посредством ref_B', и для генерирования блока предсказания используются ref_A* и ref_B* (т.е. ref* на изображении b по фиг. 34). В этом случае блок предсказания может генерироваться с использованием пикселей целочисленных элементов или пикселей десятичных элементов в ref_A* и ref_B* в соответствии с режимом предсказания.[00816] After configuring ref_A, using the reference pixel filtering section, ref_A' can be obtained, and after performing the reference pixel interpolation process with respect to ref_A', ref_A* can be obtained. Moreover, in the case of ref_B, ref_B* can be obtained by ref_B', and ref_A* and ref_B* are used to generate a prediction block (ie, ref* in image b of FIG. 34). 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 when an integer element pixel obtained by these processes is applied to the decimal element pixel interpolation due to repeated filtering, a reference pixel with less high precision. In addition, since pixels located in more than two sets of reference pixels may further be filtered by weighted summation or the like, it is possible to perform filtering on the pixels too many times for the 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 directionality of the prediction mode (eg, 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 pixels of decimal elements (eg, directional mode, etc.). This can be confirmed by images b-d in Figs. 35.

[00819] В приведенном выше случае, как изображено на изображении b по фиг. 34, в предположении, что применение фильтрации к единственному набору опорных пикселей рассматривается как случай, в котором применяется средневзвешенное значение с другими наборами опорных пикселей, количество фильтраций, применяемых на изображении b на фиг. 35, может составлять 2, количество фильтраций, применяемых на изображении c на фиг. 35, может составлять 3, и количество фильтраций, применяемых на изображении d на фиг. 35, может составлять 4.[00819] In the above case, as shown in image b of FIG. 34, under the assumption that applying filtering to a single set of reference pixels is considered as a case in which a weighted average is applied with other sets of reference pixels, the number of filterings applied in image b in FIG. 35 may be 2, the number of filters applied in image c of FIG. 35 may be 3, and the number of filters applied in image d in FIG. 35, can be 4.

[00820] Для приведенного выше случая может быть применен следующий пример.[00820] For the above case, the following example can be applied.

[00821] Например, в каждом наборе опорных пикселей фильтрация опорных пикселей может быть опущена, и может выполняться только процесс интерполяции опорных пикселей. В этом случае целочисленным элементом, используемым для предсказания, может являться существующий смежный пиксель, к которому не применялась фильтрация опорных пикселей, и пикселем десятичного элемента может являться пиксель, полученный путем применения интерполяции к существующим смежным пикселям целочисленных элементов.[00821] For example, in each set of reference pixels, 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 filtering reference pixels, applying filtering to pixels similar to the target pixel can more effectively reduce the quantization error. In this example, the prediction is performed using more than two sets of reference pixels, which means that the directionality of the current block also exists at the boundary of the block that includes the reference pixel (that is, more than two sets of reference pixels adjacent to the current block). Therefore, as before, filtering is performed using only the nearest pixel regardless of the directionality of the current block's 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, если средневзвешенное значение применяется только к пикселям целочисленных элементов, могут использоваться пиксели, к которым применена фильтрация опорных пикселей, и, как изображено на изображении c по фиг. 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 applied only to the pixels of integer elements, pixels to which reference pixel filtering has been applied may be used, and as shown in 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] Using the above examples, the prediction pre-processing procedure is depicted for a case in which one set of reference pixels is used and for 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 which it is assumed that adverse effects occur due to repeated use of the filter, it cannot determine only one characteristic of the image, and other variations may exist.

[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 in accordance with 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 counterexample may also be modified or applied.

[00828] В качестве примера, в некоторых режимах (например, вертикальном, горизонтальном, диагональном режимах с углами 45 градусов, 135 градусов и т.д.) случая (3) может выполняться 5-отводная фильтрация нижних частот. В этом примере, поскольку процесс интерполяции в десятичных элементах не требуется, для уменьшения ошибки квантования может выполняться точная фильтрация (в предположении, что в данном примере фильтрация является более точной при большем количестве отводов).[00828] As an example, in some modes (eg, vertical, horizontal, 45-degree, 135-degree diagonal modes, etc.) of case (3), 5-tap low-pass filtering can be performed. In this example, since the decimal interpolation process is not required, fine filtering can be performed to reduce the quantization error (assuming that filtering is more accurate with more taps in this example).

[00829] Альтернативно, в некоторых режимах (например, направленном режиме и т.д.) в (3) может выполняться 3-отводная фильтрация нижних частот и 6-отводная гауссова интерполяционная фильтрация. В данном примере требуется процесс интерполяции десятичных элементов, и простая фильтрация может выполняться путем применения фильтрации к пикселям целочисленных элементов (например, в предположении, что в следующих случаях фильтрация является более простой, то есть типы фильтров отличаются, количество пикселей, к которым применяется фильтр, уменьшается, и количество отводов является небольшим) для уменьшения ошибок квантования множества фильтраций (в данном примере фильтрация опорных пикселей применяется к пикселям целочисленных элементов, и фильтрация применяется тогда, когда эти пиксели используются для интерполяции пикселей десятичных элементов). То есть может иметь место случай, как b на фиг. 34 (хотя и описанный как существующий случай при описании изображения b на фиг. 12, в данном примере описано, что случай b может быть применен вместо случаев c и d на фиг. 34).[00829] Alternatively, in some modes (eg, directional mode, etc.) 3-tap low-pass filtering and 6-tap Gaussian interpolation filtering may be performed in (3). In this example, the process of interpolation of decimal elements is required, and simple filtering can be done by applying filtering to the pixels of integer elements (for example, assuming that in the following cases, the filtering is simpler, 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 the quantization errors of multiple filterings (in this example, filtering of reference pixels is applied to pixels of integer elements, and filtering is applied when these pixels are used to interpolate pixels of decimal elements). That is, a case like b in FIG. 34 (although described as an existing case in the description of 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 (eg, 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 interpolating, may include pre-low-pass filtering pixels (i.e., integer element pixels) as input pixels. Moreover, in the case of a block that is smaller than a predetermined size, the same reference pixel filtering and reference pixel interpolation processes are performed as the same as the above process, but the pixels used in the interpolation may include low-pass filtered pixels 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 may be performed on each set of reference pixels (i.e., using a more precise 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 interpolation is not required, filtering can be performed to reduce the quantization error. Alternatively, 5-tap low-pass filtering may be performed on a set of reference pixels adjacent to the current block, and 3-tap low-pass filtering may be performed on the next adjacent set of reference pixels. In this example, fine filtering can be performed on a set of reference pixels (this example assumes that weighted values are added to pixels near the current block). The reference pixel set assigns higher weights to more than two sets of reference pixels. Alternatively, 5-tap low-pass filtering is performed on a set of reference pixels adjacent to the current block, and no low-pass filtering is performed on the next adjacent set of reference pixels. It is clear that in this example, by centering on pixels from 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 (ie, if the prior art case is one-dimensional filtering, in this example it is clear that two-dimensional filtering is taking place).

[00832] Кроме того, в некоторых режимах (например, направленном режиме и т.д.) в (4) 3-отводная фильтрация нижних частот выполняется в отношении каждого набора опорных пикселей, 8-отводная кубическая интерполяционная фильтрация выполняется в отношении набора опорных пикселей, смежного с текущим блоком, и 2-отводная линейная интерполяционная фильтрация может выполняться в отношении следующего смежного набора опорных пикселей. Альтернативно, вместо выполнения фильтрации нижних частот в отношении каждого набора опорных пикселей 6-отводная гауссова интерполяционная фильтрация выполняется в отношении набора опорных пикселей, смежного с текущим блоком, и 4-отводная гауссова интерполяционная фильтрация может выполняться в отношении следующего смежного набора опорных пикселей. Альтернативно 5-отводная фильтрация нижних частот может выполняться в отношении набора опорных пикселей, смежного с текущим блоком, 3-отводная фильтрация нижних частот может выполняться в отношении следующего смежного набора опорных пикселей, и 4-отводная кубическая интерполяционная фильтрация может выполняться в отношении каждого набора опорных пикселей. Альтернативно 3-отводная фильтрация нижних частот выполняется в отношении набора А опорных пикселей, смежного с текущим блоком, фильтрация нижних частот не выполняется в отношении следующего смежного набора B опорных пикселей, 8-отводная гауссова интерполяционная фильтрация выполняется в отношении набора А опорных пикселей, смежного с текущим блоком, и 4-отводная кубическая интерполяционная фильтрация выполняется в отношении следующего смежного набора B опорных пикселей.[00832] In addition, in some modes (eg, directional mode, etc.) in (4), 3-tap low-pass filtering is performed on each set of reference pixels, 8-tap cubic interpolation filtering is performed on the set of reference pixels adjacent to the current block, and 2-tap linear interpolation filtering can be performed on the next adjacent set of reference pixels. Alternatively, instead of performing low pass filtering on each set of reference pixels, 6-tap Gaussian interpolation filtering is performed on a set of reference pixels adjacent to the current block, and 4-tap Gaussian interpolation filtering may be performed on the next adjacent set of reference pixels. Alternatively, 5-tap low-pass filtering may be performed on a set of reference pixels adjacent to the current block, 3-tap low-pass filtering may be performed on the next adjacent set of reference pixels, and 4-tap cubic interpolation filtering may be performed on each set of reference pixels. pixels. Alternatively, 3-tap low-pass filtering is performed on 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 reference pixel set A adjacent to 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 (eg, 64×64), 4-tap cubic interpolation filtering can be performed without performing low-pass filtering on each set of reference pixels. Additionally, in a block that is smaller than a predefined size and larger than a predefined or larger size (for example, 16x16 - 64x64), 3-tap low-pass filtering as well as 4-tap Gaussian interpolation filtering are performed on each set of reference pixels, but when the weighted averaging pixels consist only of a set of integer element pixels, the low-pass filtered pixels are used, and when the weighted averaging pixels consist of a combination of integer elements and decimal elements, the integer element pixels may use the pre-low pass filtering pixels. In addition, in a block that is smaller than a predefined size (16x16), 5-tap low-pass filtering and 6-tap cubic interpolation filtering are performed on each set of reference pixels, and the pixels are weighted for averaging, regardless of whether they are integer elements or decimal elements, can use low-pass filtered pixels.

[00834] Согласно приведенному выше примеру, изображены различные случаи, в которых используется один набор опорных пикселей, и используется более двух наборов опорных пикселей, и т.д.[00834] According to the above example, various cases are depicted in which one set of reference pixels is used, and more than two sets of reference pixels are used, etc.

[00835] В отношении процедуры предварительной обработки предсказания может выполняться обработка в явном виде. То есть возможно сгенерировать один вид информации о выборе в отношении использования одного набора опорных пикселей или использования большего количества опорных пикселей, также возможно генерировать другой вид информации о выборе в отношении того, что для настроек фильтрации опорных пикселей фильтрация не выполняется, или фильтрация выполняется с использованием фильтра А или фильтра B, и возможно сгенерировать еще один вид информации о выборе в отношении использования фильтра А или фильтра B для настроек интерполяции опорных пикселей.[00835] Regarding the prediction pre-processing procedure, processing may be performed explicitly. That is, it is possible to generate one kind of selection information regarding the use of one set of reference pixels or the use of more reference pixels, and it is also possible to generate another kind of selection information regarding the fact that for the filtering settings of the reference pixels, no filtering is performed, or filtering is performed using filter A or filter B, and it is possible to generate yet 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, reference pixel filtering settings, and reference pixel interpolation settings described above can be determined implicitly 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 or reference pixel interpolation setting or other setting is performed on a plurality of reference pixel sets.

[00837] Альтернативно в отношении процедуры предварительной обработки предсказания может выполняться смешанная обработка. То есть в некоторых случаях может выполняться обработка в неявном виде, и в других случаях может выполняться обработка в явном виде. В этом случае в соответствии с информацией о кодировании может быть определена ссылка на смешанную обработку. То есть обработка в неявном виде или обработка в явном виде может быть определена в соответствии с комбинацией по меньшей мере одного или более из определенного размера или формы блока или режима предсказания.[00837] Alternatively, mixed processing may be performed on the prediction pre-processing procedure. That is, in some cases implicit processing may be performed, and in other cases explicit processing may be performed. In this case, according to the encoding information, a reference to mixed processing can be determined. That is, the implicit processing or the explicit processing may be determined in accordance with a combination of at least one or more of a certain 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 encoding information (e.g., prediction preprocessing, etc., which was described above as having an adaptive configuration only in prediction preprocessing, but which also has an adaptive configuration in other processes intra prediction <a group of candidate intra prediction modes is configured in the following contents, that is, determined from encoding information such as the number of intra prediction modes and the prediction direction>).

[00839] Указанное содержимое скомпоновано следующим образом.[00839] The specified contents are arranged as follows.

[00840] (Кодер)[00840] (Encoder)

[00841] <1> Подтверждаются размер и форма текущего блока[00841] <1> Confirms the size and shape of the current block

[00842] - Настройка группы режимов-кандидатов внутреннего предсказания (т.е. определение количества режимов, углов и т.д., которое может быть опущено, если имеется одна группа кандидатов)[00842] - Setting up an intra prediction candidate mode group (i.e., defining the number of modes, angles, etc. that 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 up a set of reference pixels (i.e. using one or more than two sets)

[00845] - Настройка фильтрации опорных пикселей (если имеется более двух наборов опорных пикселей, настройка фильтрации может быть определена в каждом наборе опорных пикселей)[00845] - Reference pixel filtering setting (if there are more than two reference pixel sets, the filtering setting can be defined in each reference pixel set)

[00846] - Настройка интерполяции опорных пикселей (аналогично, если имеется более двух наборов опорных пикселей, настройки интерполяции могут быть определены в каждом наборе)[00846] - Setting reference pixel interpolation (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] (Decode)

[00849] <1> Подтверждаются размер и форма текущего блока (на предыдущем этапе информация о блоке анализируется секцией разделения блока, и связанная информация подтверждается)[00849] <1> The size and shape of the current block are confirmed (in the previous step, the block information is analyzed by the block separating section, and the related information is confirmed)

[00850] - Настройка группы режимов-кандидатов внутреннего предсказания (информация о режиме предсказания анализируется и восстанавливается в соответствии с группой кандидатов)[00850] - Intra prediction candidate mode group setting (prediction mode information is analyzed and restored according to the candidate group)

[00851] <2> Подтверждаются размер, форма и режим предсказания текущего блока[00851] <2> Confirms the size, shape and prediction mode of the current block

[00852] - Настройка опорных пикселей[00852] - Setting reference pixels

[00853] - Настройка фильтрации опорных пикселей[00853] - Setting filtering of reference pixels

[00854] - Настройка интерполяции опорных пикселей[00854] - Setting the interpolation of reference pixels

[00855] <3> Декодирование информации, связанной с внутренним предсказанием (режима предсказания и другой, необязательной информации; можно считать, что на данном этапе выполняется анализ этой информации).[00855] <3> Decoding information related to intra prediction (prediction mode and other optional information; this information can be considered to be analyzed at this stage).

[00856] В кодере группа режимов-кандидатов внутреннего предсказания может подтверждаться в соответствии с состоянием текущего блока. То есть определяется, какая группа кандидатов используется, и определенная группа кандидатов содержит конкретное количество режимов и конкретные конфигурации режимов. Подтверждение является тривиальным, если все условия групп режимов-кандидатов внутреннего предсказания являются одинаковыми, но подтверждение требуется, если используется более двух групп режимов-кандидатов внутреннего предсказания. То есть то, какая группа кандидатов используется, можно узнать в соответствии с состоянием текущего блока, или то, какая группа кандидатов используется, можно узнать в явном виде при помощи информации.[00856] In the encoder, a group of candidate intra prediction modes may be confirmed according to 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. Acknowledgment is trivial if all conditions of the candidate intra prediction mode groups are the same, but confirmation is required if more than two candidate intra prediction mode groups are used. That is, which candidate group is used can be learned according to the state of the current block, or which candidate group is used can be learned explicitly using the information.

[00857] Номера режимов предсказания и т.п. присваиваются в соответствии с указанным процессом, но если группы режимов-кандидатов предсказания отличаются, направления или углы и т.п. каждого режима предсказания отличаются в соответствии с группами кандидатов, и поэтому может потребоваться процесс унификации групп кандидатов. То есть № 50 при использовании режима предсказания на фиг.9 может представлять собой вертикальный режим, однако № 50 в другой группе режимов-кандидатов предсказания не обязательно является вертикальным режимом, поэтому требуется подтверждение.[00857] Prediction mode numbers, etc. are assigned according to the specified process, but if the candidate prediction mode groups are different, directions or angles, etc. Each prediction mode differs according to the candidate groups, and therefore a process of unifying the candidate groups may be required. That is, No. 50 in the prediction mode of FIG. 9 may be a vertical mode, but No. 50 in another group of candidate prediction modes is not necessarily a vertical mode, so confirmation is required.

[00858] Поэтому в настоящем документе описано, что операции, настройки и т.д. изменяются в зависимости от типа режима предсказания.[00858] Therefore, it is described herein 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 statement “if (intramode==Vertical)” is used to determine the execution of intra prediction processing (e.g., reference pixel interpolation, reference pixel filtering, etc.), if “intramode” is No. 50, and a candidate prediction mode group is used, it can be directly specified to perform intra prediction processing, but since it is necessary to know the type of mode in the candidate intra prediction mode group (directed mode or non-directed mode; if it is a directed mode, it is determined whether it belongs to to vertical or horizontal mode, and if it is not a directional mode, it is determined whether there is a directional mode to generate a prediction block using only integer pixels, etc.), it can be entered into a conditional clause after confirming the direction of the above mode in the group candidate prediction modes. That is, if (intramode<x>==Vertical), it should be changed to such a process that mode x is vertical in the group of intra prediction mode candidates of mode x.

[00860] Кроме того, для подтверждения настроек внутреннего предсказания необходимо подтвердить состояние текущего блока. В этом случае состояние текущего блока может быть определено в соответствии с по меньшей мере одним или более из размера, формы, режима предсказания и т.д. текущего блока. Набор опорных пикселей, фильтрация опорных пикселей, интерполяция опорных пикселей и т.д. задаются в соответствии с состоянием текущего блока. То есть может быть определено количество наборов опорных пикселей, то, какой набор опорных пикселей использовать, применять ли фильтрацию опорных пикселей, и какой использовать фильтр. Если связанная информация определяется в явном виде, может генерироваться флаг. Если связанная информация определена в неявном виде, она может быть определена в соответствии с информацией о кодировании (вышеописанное состояние текущего блока или тип <I/P/B> текущего изображения, текущее изображение <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, etc. current block. Reference pixel set, reference pixel filtering, reference pixel interpolation, etc. are set in accordance with 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 defined implicitly, it can be determined according to the encoding information (the above-described state of the current block or the type <I/P/B> of the current image, the current image <Y/Cb/Cr>, etc., which may influence the internal prediction settings).

[00861] Несмотря на то что настоящее изобретение было описано с сосредоточением на наборе опорных пикселей, фильтрации опорных пикселей и интерполяции опорных пикселей, также могут быть включены другие настройки, связанные с внутренним предсказанием. Например, в процессе предсказания, как и ранее, в соответствии с информацией о кодировании также может быть определено, что блок предсказания генерируется с использованием (экстраполированных, усредненных и интерполированных) опорных пикселей в соответствии с режимом предсказания, или для генерирования блока предсказания и т.д. используются другие опорные пиксели, отличные от опорных пикселей, использованных в соответствии с существующей направленностью (например, с целью коррекции соответствующих пикселей предсказания в соответствии с положением пикселя предсказания поправочное значение генерируется путем дополнительного использования других опорных пикселей, а затем добавляется к существующему значению предсказания и т.д.), и т.д. В этом случае, если связанная информация определяется в явном виде, она также может быть известна посредством связанной информации об использованном способе предсказания, иначе, в случае неявного определения связанной информации, то, какой способ предсказания использовать, может быть определено посредством состояния текущего блока или т.п.[00861] Although the present invention has been described with a focus on reference pixel set, reference pixel filtering, and reference pixel interpolation, other settings related to intra prediction 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 in accordance with the prediction mode, or to generate a prediction block, etc. d. different reference pixels are used than the reference pixels used in accordance with the existing directionality (for example, in order to correct the corresponding prediction pixels according to the position of the prediction pixel, a 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 defined explicitly, it can also be known by the related information about the prediction method used, otherwise, in the case of implicitly defining the related information, which prediction method to use can be determined by the state of the current block or the like. .P.

[00862] В декодере связанное с ним описание может быть получено в обратном порядке относительно содержимого кодера. В случае явной части, связанная информация подвергается анализу. В случае неявной части, связанная информация определяется в соответствии с информацией о кодировании и т.д.[00862] At the decoder, the associated description may be obtained in reverse order of the contents of the encoder. In the case of an explicit part, the associated information is analyzed. In the case of an 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 can be determined taking into account the setting change contents 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 (70)

1. Способ внутреннего предсказания, применяемый к устройству декодирования и включающий:1. An intra prediction method applied to a decoding device, including: получение режима внутреннего предсказания текущего блока;obtaining the intra prediction mode of the current block; определение линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; иdetermining a pixel line for intra prediction of the current block among the plurality of pixel lines; And выполнение внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей,performing intra prediction of the current block based on the intra prediction mode and the determined pixel line, при этом получение включаетreceiving includes получение режима внутреннего предсказания на основе предварительно определенного режима по умолчанию или группы наиболее вероятных режимов (MPM)-кандидатов;obtaining an intra prediction mode based on a predetermined default mode or a group of most probable modes (MPM) candidates; при этом способ дополнительно включает:the method additionally includes: конфигурирование режимов, полученных из режима, включенного в группу МРМ-кандидатов, как группы МРМ-кандидатов; иconfiguring the modes obtained from the mode included in the MPM candidate group as a MPM candidate group; And определение порядка режимов предсказания, включенных в группу МРМ-кандидатов, на основе приоритета, при этом приоритет определяют согласно порядку предварительно заданных режимов предсказания и режимов, полученных из режимов предсказания, первоначально включенных в группу МРМ-кандидатов.determining an order of prediction modes included in the MPM candidate group based on priority, wherein the priority is determined according to the order of preset prediction modes and modes derived from prediction modes initially included in the MPM candidate group. 2. Способ внутреннего предсказания по п. 1, отличающийся тем, что 2. The internal prediction method according to claim 1, characterized in that полученные режимы представлены как режимы, которые имеют разность a интервалов между режимами от включенного режима, причем a представляет собой ненулевое целое число.the resulting modes are represented as modes that have a difference a between mode intervals from the on mode, where a is a non-zero integer. 3. Способ внутреннего предсказания по п. 1, отличающийся тем, что3. The internal prediction method according to claim 1, characterized in that предварительно заданные режимы предсказания включены в группу МРМ-кандидатов в порядке прямого текущего (DC) режима, плоского режима, вертикального режима и горизонтального режима.predefined prediction modes are included in the group of MRM candidates in the order of direct current (DC) mode, flat mode, vertical mode and horizontal mode. 4. Способ внутреннего предсказания по п. 1, отличающийся тем, что4. The internal prediction method according to claim 1, characterized in that линия пикселей представляет собой линию опорных пикселей и линию пикселей определяют на основании размера и формы текущего блока.the pixel line is a line of reference pixels, and the pixel line is determined based on the size and shape of the current block. 5. Способ внутреннего предсказания по п. 1, отличающийся тем, что дополнительно включает5. The internal prediction method according to claim 1, characterized in that it additionally includes выполнение фильтрации в отношении первого опорного пикселя определенной линии пикселей.performing filtering on the first reference pixel of the specified line of pixels. 6. Способ внутреннего предсказания по п. 5, отличающийся тем, что6. The internal prediction method according to claim 5, characterized in that фильтрацию выполняют выборочно на основании первого флага, указывающего, фильтруется ли первый опорный пиксель для внутреннего предсказания.filtering is performed selectively based on a first flag indicating whether the first reference pixel is filtered for intra prediction. 7. Способ внутреннего предсказания по п. 6, отличающийся тем, что7. The internal prediction method according to claim 6, characterized in that первый флаг получают из устройства декодирования на основании параметра кодирования текущего блока иthe first flag is obtained from the decoding device based on the encoding parameter of the current block, and параметр кодирования включает по меньшей мере одно из размера блока, типа компонента цвета, режима внутреннего предсказания или того, применяется ли внутреннее предсказание в элементах подблоков.the encoding parameter includes at least one of a block size, a color component type, an intra prediction mode, or whether intra prediction is applied to subblock elements. 8. Способ внутреннего предсказания по любому из пп. 1–7, отличающийся тем, что8. The internal prediction method according to any one of claims. 1–7, characterized in that внутреннее предсказание выполняют в элементах подблоков текущего блока иinternal prediction is performed on the subblock elements of the current block and подблоки определяют на основании по меньшей мере одного из флага, указывающего, следует ли выполнять разделение, информации о направлении разделения или информации о количестве разделений.the subblocks are determined based on at least one of a flag indicating whether division should be performed, information about the direction of division, or information about the number of divisions. 9. Способ внутреннего предсказания, применяемый к устройству кодирования и включающий:9. An intra prediction method applied to an encoding device, including: получение режима внутреннего предсказания текущего блока;obtaining the intra prediction mode of the current block; определение линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; иdetermining a pixel line for intra prediction of the current block among the plurality of pixel lines; And выполнение внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей,performing intra prediction of the current block based on the intra prediction mode and the determined pixel line, при этом получение включаетreceiving includes получение режима внутреннего предсказания на основе предварительно определенного режима по умолчанию или группы наиболее вероятных режимов (MPM)-кандидатов;obtaining an intra prediction mode based on a predetermined default mode or a group of most probable modes (MPM) candidates; при этом способ дополнительно включает:the method additionally includes: конфигурирование режимов, полученных из режима, включенного в группу МРМ-кандидатов, как группы МРМ-кандидатов; иconfiguring the modes obtained from the mode included in the MPM candidate group as a MPM candidate group; And определение порядка режимов предсказания, включенных в группу МРМ-кандидатов, на основе приоритета, при этом приоритет определяют согласно порядку предварительно заданных режимов предсказания и режимов, полученных из режимов предсказания, первоначально включенных в группу МРМ-кандидатов.determining an order of prediction modes included in the MPM candidate group based on priority, wherein the priority is determined according to the order of preset prediction modes and modes derived from prediction modes initially included in the MPM candidate group. 10. Способ внутреннего предсказания по п. 9, отличающийся тем, что 10. The internal prediction method according to claim 9, characterized in that полученные режимы представлены как режимы, которые имеют разность a интервалов между режимами от включенного режима, причем a представляет собой ненулевое целое число.the resulting modes are represented as modes that have a difference a between mode intervals from the on mode, where a is a non-zero integer. 11. Способ внутреннего предсказания по п. 9, отличающийся тем, что11. The internal prediction method according to claim 9, characterized in that предварительно заданные режимы предсказания включены в группу МРМ-кандидатов в порядке прямого текущего (DC) режима, плоского режима, вертикального режима и горизонтального режима.predefined prediction modes are included in the group of MRM candidates in the order of direct current (DC) mode, flat mode, vertical mode and horizontal mode. 12. Способ внутреннего предсказания по п. 9, отличающийся тем, что12. The internal prediction method according to claim 9, characterized in that линия пикселей представляет собой линию опорных пикселей и линию пикселей определяют на основании размера и формы текущего блока.the pixel line is a line of reference pixels, and the pixel line is determined based on the size and shape of the current block. 13. Способ внутреннего предсказания по п. 9, отличающийся тем, что дополнительно включает13. The internal prediction method according to claim 9, characterized in that it additionally includes выполнение фильтрации в отношении первого опорного пикселя определенной линии пикселей.performing filtering on the first reference pixel of the specified line of pixels. 14. Способ внутреннего предсказания по п. 13, отличающийся тем, что14. The internal prediction method according to claim 13, characterized in that фильтрацию выполняют выборочно на основании первого флага, указывающего, фильтруется ли первый опорный пиксель для внутреннего предсказания.filtering is performed selectively based on a first flag indicating whether the first reference pixel is filtered for intra prediction. 15. Способ внутреннего предсказания по п. 14, отличающийся тем, что дополнительно включает15. The internal prediction method according to claim 14, characterized in that it additionally includes кодирование первого флага на основании параметра кодирования текущего блока и включение в битовый поток, иencoding the first flag based on the encoding parameter of the current block and including it in the bitstream, and параметр кодирования включает по меньшей мере одно из размера блока, типа компонента цвета, режима внутреннего предсказания или того, применяется ли внутреннее предсказание в элементах подблоков.the encoding parameter includes at least one of a block size, a color component type, an intra prediction mode, or whether intra prediction is applied to subblock elements. 16. Способ внутреннего предсказания по любому из пп. 9–15, отличающийся тем, что16. The internal prediction method according to any one of claims. 9–15, characterized in that внутреннее предсказание выполняют в элементах подблоков текущего блока иinternal prediction is performed on the subblock elements of the current block and подблоки определяют на основании по меньшей мере одного из флага, указывающего, следует ли выполнять разделение, информации о направлении разделения или информации о количестве разделений.the subblocks are determined based on at least one of a flag indicating whether division should be performed, information about the direction of division, or information about the number of divisions. 17. Устройство декодирования, содержащее: 17. A decoding device comprising: секцию декодирования режима предсказания, выполненную с возможностью получения режима внутреннего предсказания текущего блока;a prediction mode decoding section configured to obtain an intra prediction mode of the current block; секцию конфигурирования опорных пикселей, выполненную с возможностью определения линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; иa reference pixel configuring section configured to determine a pixel line for intra prediction of the current block among the plurality of pixel lines; And секцию генерирования блока предсказания, выполненную с возможностью выполнения внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей, a prediction block generating section configured to perform intra prediction of the current block based on the intra prediction mode and the determined pixel line, при этом секция декодирования режима предсказания дополнительно выполнена с возможностью получения режима внутреннего предсказания на основе предварительно определенного режима по умолчанию или группы наиболее вероятных режимов (MPM)-кандидатов; иwherein the prediction mode decoding section is further configured to obtain an intra prediction mode based on a predetermined default mode or a group of candidate MPMs; And при этом секция декодирования режима предсказания дополнительно выполнена с возможностью:wherein the prediction mode decoding section is additionally configured to: конфигурирования режимов, полученных из режима, включенного в группу МРМ-кандидатов, как группы МРМ-кандидатов; иconfiguring modes derived from a mode included in the MPM candidate group as a MPM candidate group; And определения порядка режимов предсказания, включенных в группу МРМ-кандидатов, на основе приоритета, при этом приоритет определяют согласно порядку предварительно заданных режимов предсказания и режимов, полученных из режимов предсказания, первоначально включенных в группу МРМ-кандидатов.determining an order of prediction modes included in the MPM candidate group based on priority, wherein the priority is determined according to the order of the preset prediction modes and modes derived from the prediction modes initially included in the MPM candidate group. 18. Устройство кодирования, содержащее: 18. An encoding device containing: секцию определения режима предсказания, выполненную с возможностью получения режима внутреннего предсказания текущего блока;a prediction mode determining section configured to obtain an intra prediction mode of the current block; секцию конфигурирования опорных пикселей, выполненную с возможностью определения линии пикселей для внутреннего предсказания текущего блока среди множества линий пикселей; иa reference pixel configuring section configured to determine a pixel line for intra prediction of the current block among the plurality of pixel lines; And секцию генерирования блока предсказания, выполненную с возможностью выполнения внутреннего предсказания текущего блока на основании режима внутреннего предсказания и определенной линии пикселей, a prediction block generating section configured to perform intra prediction of the current block based on the intra prediction mode and the determined pixel line, при этом секция определения режима предсказания дополнительно выполнена с возможностью получения режима внутреннего предсказания на основе предварительно определенного режима по умолчанию или группы наиболее вероятных режимов (MPM)-кандидатов; иwherein the prediction mode determining section is further configured to obtain an intra prediction mode based on a predetermined default mode or a group of candidate MPMs; And при этом секция определения режима предсказания дополнительно выполнена с возможностью:wherein the section for determining the prediction mode is additionally configured to: конфигурирования режимов, полученных из режима, включенного в группу МРМ-кандидатов, как группы МРМ-кандидатов; иconfiguring modes derived from a mode included in the MPM candidate group as a MPM candidate group; And определения порядка режимов предсказания, включенных в группу МРМ-кандидатов, на основе приоритета, при этом приоритет определяют согласно порядку предварительно заданных режимов предсказания и режимов, полученных из режимов предсказания, первоначально включенных в группу МРМ-кандидатов.determining an order of prediction modes included in the MPM candidate group based on priority, wherein the priority is determined according to the order of the preset prediction modes and modes derived from the prediction modes initially included in the MPM candidate group. 19. Вычислительное устройство, содержащее запоминающее устройство и программу, при этом19. A computing device comprising a storage device and a program, wherein запоминающее устройство выполнено с возможностью хранения программы, исполняемой процессором; иthe storage device is configured to store a program executed by the processor; And процессор выполнен с возможностью реализации при исполнении программы способа внутреннего предсказания по любому из пп. 1–8 или способа внутреннего предсказания по любому из пп. 9–16. the processor is configured to implement, when executing the program, the internal prediction method according to any one of claims. 1–8 or the internal prediction method according to any one of paragraphs. 9–16. 20. Компьютерный носитель данных, на котором хранится программа, которая при ее исполнении реализует способ внутреннего предсказания по любому из пп. 1–8 или способ внутреннего предсказания по любому из пп. 9–16.20. A computer storage medium on which a program is stored, which, when executed, implements the internal prediction method according to any one of claims. 1–8 or the internal prediction method according to any one of paragraphs. 9–16.
RU2023111169A 2018-06-25 2019-06-25 Method and device for intraframe prediction RU2817117C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2018-0072558 2018-06-25
KR0-2018-0076783 2018-07-02
KR10-2018-0076783 2018-07-02

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021101193A Division RU2795549C2 (en) 2018-06-25 2019-06-25 Method and device for intra-frame prediction

Publications (2)

Publication Number Publication Date
RU2023111169A RU2023111169A (en) 2023-05-04
RU2817117C2 true RU2817117C2 (en) 2024-04-10

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WO 2018016823 A1 - 2018-01-25. WO 2017190288 A1 - 2017-11-09. Y-W CHEN еt al, Description of SDR, HDR and 360 video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 10th Meeting: San Diego, 10-20 Apr. 2018. US 2013259128 A1 - 2013-10-03. US 2015098506 A1 - 2015-04-09. RU 2601445 C2 - 2016-11-10. RU 2601843 C2 - 2016-11-10. ZHANG XIMIN еt al, Intra mode coding in HEVC standard, IEEE 2012 Visual Communications and Image Processing (VCIP), San Diego, 2012. 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. *

Similar Documents

Publication Publication Date Title
US11936908B2 (en) Intra-frame prediction method and device
KR102394226B1 (en) Method for encoding/decoing video using intra prediction and apparatus for the same
CA3095769C (en) Method and apparatus for encoding/decoding image
KR20190123288A (en) In-loop filtering method based on adaptive pixel classification criteria
CN112335249A (en) Method and apparatus for encoding/decoding image
CN111602400A (en) Intra prediction encoding/decoding method and apparatus for chrominance component
RU2817117C2 (en) Method and device for intraframe 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
JP7453236B2 (en) Image encoding/decoding method and device
RU2795549C2 (en) Method and device for intra-frame prediction