RU2801265C1 - Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting a bit stream - Google Patents

Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting a bit stream Download PDF

Info

Publication number
RU2801265C1
RU2801265C1 RU2022111591A RU2022111591A RU2801265C1 RU 2801265 C1 RU2801265 C1 RU 2801265C1 RU 2022111591 A RU2022111591 A RU 2022111591A RU 2022111591 A RU2022111591 A RU 2022111591A RU 2801265 C1 RU2801265 C1 RU 2801265C1
Authority
RU
Russia
Prior art keywords
boundary
current
subframe
block
filtering
Prior art date
Application number
RU2022111591A
Other languages
Russian (ru)
Inventor
Хён Мун ЧАН
Сеетхал ПАЛУРИ
Хендри ХЕНДРИ
Джун Хак НАМ
Original Assignee
ЭлДжи ЭЛЕКТРОНИКС ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЭлДжи ЭЛЕКТРОНИКС ИНК. filed Critical ЭлДжи ЭЛЕКТРОНИКС ИНК.
Application granted granted Critical
Publication of RU2801265C1 publication Critical patent/RU2801265C1/en

Links

Images

Abstract

FIELD: image encoding.
SUBSTANCE: invention is related to image encoding/decoding method and equipment for performing in-loop filtering based on a subframe structure. The image decoding method implemented by the image decoding equipment comprises decoding the first flag indicating whether or not in-loop filtering can be performed across a subframe boundary from a bitstream, and performing in-loop filtering at a current block boundary based on the first flag. Based on the boundary of the current block coinciding with the boundary of the current subframe including the current block, in-loop filtering on the boundary of the current block is performed only when in-loop filtering is available for both the boundary of the current subframe and the boundary of an adjacent subframe adjacent to the current subframe.
EFFECT: increasing the efficiency of image encoding/decoding.
14 cl, 46 dwg, 2 tbl

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

[1] Настоящее раскрытие сущности относится к способу и оборудованию кодирования/декодирования изображений для выполнения внутриконтурной фильтрации на основе структуры субкадра и к способу передачи потока битов, а более конкретно, к способу и оборудованию кодирования/декодирования изображений для выполнения внутриконтурной фильтрации через границу субкадра и к способу передачи потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.[1] The present disclosure relates to an image encoding/decoding method and equipment for performing in-loop filtering based on a subframe structure and a bitstream transmission method, and more specifically, an image encoding/decoding method and equipment for performing in-loop filtering across a subframe boundary and to a method for transmitting a bitstream generated by the image encoding method/equipment of the present disclosure.

Уровень техникиState of the art

[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.[2] Recently, the demand for high-quality high definition images, such as high definition (HD) images and ultra high definition (UHD) images, has been growing in various fields of technology. As the resolution and quality of image data increases, the amount of information or bits to be transmitted increases relatively compared to existing image data. An increase in the amount of information or bits to be transmitted results in an increase in transmission costs and storage costs.

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

Сущность изобретенияThe essence of the invention

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

[4] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.[4] The purpose of the present disclosure is to provide an image encoding/decoding method and equipment with improved encoding/decoding efficiency.

[5] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений для выполнения внутриконтурной фильтрации через границу текущего блока.[5] Another object of the present disclosure is to provide an image encoding/decoding method and equipment for performing in-loop filtering across a current block boundary.

[6] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений для выполнения внутриконтурной фильтрации на основе структуры субкадра.[6] Another object of the present disclosure is to provide an image encoding/decoding method and equipment for performing in-loop filtering based on a subframe structure.

[7] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений для выполнения внутриконтурной фильтрации с учетом смежного субкадра, смежного с границей текущего блока.[7] Another object of the present disclosure is to provide an image encoding/decoding method and equipment for performing in-loop filtering considering an adjacent subframe adjacent to a current block boundary.

[8] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[8] Another purpose of the present disclosure is to provide a method for transmitting a bit stream generated by an image encoding method or equipment according to the present disclosure.

[9] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[9] Another purpose of the present disclosure is to provide a recording medium storing a bit stream generated by an image encoding method or equipment according to the present disclosure.

[10] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[10] Another purpose of the present disclosure is to provide a recording medium storing a bitstream received, decoded, and used to reconstruct an image by image decoding equipment according to the present disclosure.

[11] Технические проблемы, разрешаемые посредством настоящего раскрытия сущности, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[11] The technical problems solved by the present disclosure are not limited to the above technical problems, and other technical problems that are not described herein should become apparent to those skilled in the art from the description below.

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

[12] Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений согласно аспекту настоящего раскрытия сущности, может содержать декодирование первого флага, указывающего то, может или нет внутриконтурная фильтрация выполняться через границу субкадра, из потока битов и выполнение внутриконтурной фильтрации на границе текущего блока, на основе первого флага. На основе границы текущего блока, представляющей собой границу текущего субкадра, включающего в себя текущий блок, внутриконтурная фильтрация на границе текущего блока может не выполняться, на основе первого флага для текущего субкадра, указывающего то, что внутриконтурная фильтрация не может выполняться через границу текущего субкадра, или первого флага для смежного субкадра, смежного с границей текущего блока, указывающего то, что внутриконтурная фильтрация не может выполняться через границу смежного субкадра.[12] An image decoding method performed by image decoding equipment according to an aspect of the present disclosure may comprise decoding a first flag indicating whether or not in-loop filtering can be performed across a subframe boundary, from a bitstream, and performing in-loop filtering at a current block boundary, on the basis of the first flag. Based on the boundary of the current block, which is the boundary of the current subframe including the current block, in-loop filtering at the boundary of the current block may not be performed, based on the first flag for the current subframe indicating that in-loop filtering cannot be performed across the boundary of the current subframe, or a first flag for an adjacent subframe adjacent to the current block boundary, indicating that in-loop filtering cannot be performed across the boundary of the adjacent subframe.

[13] Оборудование декодирования изображений согласно аспекту настоящего раскрытия сущности может содержать запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может декодировать первый флаг, указывающий то, может или нет внутриконтурная фильтрация выполняться через границу субкадра, из потока битов, и выполнять внутриконтурную фильтрацию на границе текущего блока, на основе первого флага. На основе границы текущего блока, представляющей собой границу текущего субкадра, включающего в себя текущий блок, внутриконтурная фильтрация на границе текущего блока может не выполняться, на основе первого флага для текущего субкадра, указывающего то, что внутриконтурная фильтрация не может выполняться через границу текущего субкадра, или первого флага для смежного субкадра, смежного с границей текущего блока, указывающего то, что внутриконтурная фильтрация не может выполняться через границу смежного субкадра.[13] The image decoding equipment according to an aspect of the present disclosure may comprise a memory and at least one processor. At least one processor can decode a first flag indicating whether or not in-loop filtering can be performed across a sub-frame boundary from the bit stream, and perform in-loop filtering at a current block boundary based on the first flag. Based on the boundary of the current block, which is the boundary of the current subframe including the current block, in-loop filtering at the boundary of the current block may not be performed, based on the first flag for the current subframe indicating that in-loop filtering cannot be performed across the boundary of the current subframe, or a first flag for an adjacent subframe adjacent to the current block boundary, indicating that in-loop filtering cannot be performed across the boundary of the adjacent subframe.

[14] Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений согласно аспекту настоящего раскрытия сущности, может содержать определение того, может или нет внутриконтурная фильтрация выполняться через границу субкадра, и выполнение внутриконтурной фильтрации на границе текущего блока на основе результата определения. На основе границы текущего блока, представляющей собой границу текущего субкадра, включающего в себя текущий блок, внутриконтурная фильтрация на границе текущего блока может не выполняться, на основе первого флага для текущего субкадра, указывающего то, что внутриконтурная фильтрация не может выполняться через границу текущего субкадра, или первого флага для смежного субкадра, смежного с границей текущего блока, указывающего то, что внутриконтурная фильтрация не может выполняться через границу смежного субкадра.[14] The image encoding method performed by the image encoding equipment according to an aspect of the present disclosure may comprise determining whether or not in-loop filtering can be performed across a subframe boundary, and performing in-loop filtering at a current block boundary based on the result of the determination. Based on the boundary of the current block, which is the boundary of the current subframe including the current block, in-loop filtering at the boundary of the current block may not be performed, based on the first flag for the current subframe indicating that in-loop filtering cannot be performed across the boundary of the current subframe, or a first flag for an adjacent subframe adjacent to the current block boundary, indicating that in-loop filtering cannot be performed across the boundary of the adjacent subframe.

[15] Помимо этого, способ передачи согласно другому аспекту настоящего раскрытия сущности может передавать поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[15] In addition, the transmission method according to another aspect of the present disclosure may transmit a bit stream generated by the image encoding equipment or the image encoding method of the present disclosure.

[16] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего раскрытия сущности может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[16] In addition, a computer-readable recording medium according to another aspect of the present disclosure may store a bitstream generated by the image encoding equipment or the image encoding method of the present disclosure.

[17] Признаки, кратко обобщенные выше относительно настоящего раскрытия сущности, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего раскрытия сущности и не ограничивают объем настоящего раскрытия сущности.[17] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.

Преимущества изобретенияBenefits of the Invention

[18] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.[18] According to the present disclosure, it is possible to provide an image encoding/decoding method and equipment with improved encoding/decoding efficiency.

[19] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений для выполнения улучшенной внутриконтурной фильтрации.[19] In addition, according to the present disclosure, an image encoding/decoding method and equipment for performing improved in-loop filtering can be provided.

[20] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений для выполнения внутриконтурной фильтрации на основе структуры субкадра.[20] In addition, according to the present disclosure, an image encoding/decoding method and equipment for performing in-loop filtering based on a subframe structure can be provided.

[21] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений для выполнения внутриконтурной фильтрации с учетом смежного субкадра, смежного с границей текущего блока.[21] In addition, according to the present disclosure, it is possible to provide an image encoding/decoding method and equipment for performing in-loop filtering considering an adjacent subframe adjacent to a current block boundary.

[22] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[22] In addition, according to the present disclosure, it is possible to provide a method for transmitting a bit stream generated by the image encoding method or equipment according to the present disclosure.

[23] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[23] In addition, according to the present disclosure, it is possible to provide a recording medium storing a bit stream generated by the image encoding method or equipment according to the present disclosure.

[24] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[24] In addition, according to the present disclosure, it is possible to provide a recording medium storing a bitstream received, decoded, and used to reconstruct an image by the image decoding equipment according to the present disclosure.

[25] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из подробного описания.[25] Those skilled in the art should appreciate that the benefits that can be achieved through the present disclosure are not limited to those specifically described above, and other benefits of the present disclosure should be more clearly understood from the detailed description.

Краткое описание чертежейBrief description of the drawings

[26] Фиг. 1 является видом, схематично показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.[26] FIG. 1 is a view schematically showing a video coding system to which an embodiment of the present disclosure is applicable.

[27] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[27] FIG. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.

[28] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[28] FIG. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.

[29] Фиг. 4 является видом, показывающим структуру сегментации изображения согласно варианту осуществления.[29] FIG. 4 is a view showing an image segmentation structure according to the embodiment.

[30] Фиг. 5a-5c являются видами, иллюстрирующими примеры сегментации кадра.[30] FIG. 5a-5c are views illustrating examples of frame segmentation.

[31] Фиг. 6 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре.[31] FIG. 6 is a view showing an embodiment of a block segmentation type according to the multi-type tree structure.

[32] Фиг. 7 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.[32] FIG. 7 is a view showing a signaling mechanism of blocking information in a quadtree with a nested multi-type tree structure according to the present disclosure.

[33] Фиг. 8 является видом, показывающим пример, в котором CTU сегментируется на несколько CU посредством применения многотипного дерева после применения дерева квадрантов.[33] FIG. 8 is a view showing an example in which a CTU is segmented into multiple CUs by applying a multi-type tree after applying the quadtree.

[34] Фиг. 9 показывает избыточные шаблоны разбиения, которые могут возникать при разбиении на двоичное дерево и разбиении на троичное дерево.[34] FIG. 9 shows redundant splitting patterns that can occur in binary tree splitting and ternary tree splitting.

[35] Фиг. 10 является видом, иллюстрирующим примеры, в которых CU-разбиение ограничивается.[35] FIG. 10 is a view illustrating examples in which CU partition is limited.

[36] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.[36] FIG. 11 is a flowchart illustrating a video/image coding method based on inter-prediction.

[37] Фиг. 12 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.[37] FIG. 12 is a view illustrating the configuration of the inter prediction unit 180 according to the present disclosure.

[38] Фиг. 13 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.[38] FIG. 13 is a flowchart illustrating a video/image decoding method based on inter-prediction.

[39] Фиг. 14 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.[39] FIG. 14 is a view illustrating the configuration of the inter prediction unit 260 according to the present disclosure.

[40] Фиг. 15 является видом, иллюстрирующим синтаксис для передачи в служебных сигналах синтаксического элемента для субкадров в SPS.[40] FIG. 15 is a view illustrating a syntax for signaling a syntax element for subframes in an SPS.

[41] Фиг. 16 является видом, иллюстрирующим пример алгоритма для извлечения предварительно определенной переменной, такой как SubPicTop.[41] FIG. 16 is a view illustrating an example of an algorithm for extracting a predetermined variable such as SubPicTop.

[42] Фиг. 17 является видом, иллюстрирующим способ кодирования изображения с использованием субкадра посредством оборудования кодирования изображений согласно варианту осуществления настоящего раскрытия сущности.[42] FIG. 17 is a view illustrating an image encoding method using a subframe by image encoding equipment according to an embodiment of the present disclosure.

[43] Фиг. 18 является видом, иллюстрирующим способ декодирования изображения с использованием субкадра посредством оборудования декодирования изображений согласно варианту осуществления.[43] FIG. 18 is a view illustrating a method for decoding an image using a subframe by the image decoding equipment according to the embodiment.

[44] Фиг. 19 является видом, иллюстрирующим способ применения фильтра удаления блочности.[44] FIG. 19 is a view illustrating a method for applying a deblocking filter.

[45] Фиг. 20 является видом, иллюстрирующим восстановленную выборку, к которой применяется фильтр удаления блочности.[45] FIG. 20 is a view illustrating a reconstructed sample to which a deblocking filter is applied.

[46] Фиг. 21 и 22 являются видами, иллюстрирующими примеры уменьшения области, трактуемой в качестве кадра в субкадре.[46] FIG. 21 and 22 are views illustrating examples of reducing an area treated as a frame in a subframe.

[47] Фиг. 23 и 24 являются видами, иллюстрирующими примеры, в которых возникает ошибка декодирования субкадра.[47] FIG. 23 and 24 are views illustrating examples in which a subframe decoding error occurs.

[48] Фиг. 25 является видом, иллюстрирующим SPS-cинтаксис для передачи в служебных сигналах синтаксического элемента для субкадров согласно варианту осуществления настоящего раскрытия сущности.[48] FIG. 25 is a view illustrating the SPS syntax for signaling a syntax element for subframes according to an embodiment of the present disclosure.

[49] Фиг. 26 является видом, иллюстрирующим пример процесса фильтрации выборок сигналов яркости на основе SPS-cинтаксиса по фиг. 25.[49] FIG. 26 is a view illustrating an example of the luminance sample filtering process based on the SPS syntax of FIG. 25.

[50] Фиг. 27 является видом, иллюстрирующим другой пример процесса фильтрации выборок сигналов яркости на основе SPS-cинтаксиса по фиг. 25.[50] FIG. 27 is a view illustrating another example of the luminance sample filtering process based on the SPS syntax of FIG. 25.

[51] Фиг. 28 является видом, иллюстрирующим пример процесса фильтрации выборок сигналов цветности на основе SPS-cинтаксиса по фиг. 25.[51] FIG. 28 is a view illustrating an example of a chrominance sample filtering process based on the SPS syntax of FIG. 25.

[52] Фиг. 29 является блок-схемой последовательности операций, иллюстрирующей способ фильтрации на основе структуры субкадра согласно варианту осуществления настоящего раскрытия сущности.[52] FIG. 29 is a flowchart illustrating a filtering method based on a subframe structure according to an embodiment of the present disclosure.

[53] Фиг. 30 является видом, иллюстрирующим процесс поперечной фильтрации согласно варианту осуществления настоящего раскрытия сущности.[53] FIG. 30 is a view illustrating a cross-filtering process according to an embodiment of the present disclosure.

[54] Фиг. 31 и 32 являются видами, иллюстрирующими процесс поперечной фильтрации для выборок сигналов яркости согласно варианту осуществления настоящего раскрытия сущности.[54] FIG. 31 and 32 are views illustrating a cross-filtering process for luminance samples according to an embodiment of the present disclosure.

[55] Фиг. 33 является видом, иллюстрирующим процесс поперечной фильтрации для выборок сигналов цветности согласно варианту осуществления настоящего раскрытия сущности.[55] FIG. 33 is a view illustrating a cross-filtering process for chrominance samples according to an embodiment of the present disclosure.

[56] Фиг. 34 является блок-схемой последовательности операций, иллюстрирующей способ фильтрации на основе структуры субкадра согласно варианту осуществления настоящего раскрытия сущности.[56] FIG. 34 is a flowchart illustrating a filtering method based on a subframe structure according to an embodiment of the present disclosure.

[57] Фиг. 35 является видом, иллюстрирующим процесс поперечной фильтрации согласно варианту осуществления настоящего раскрытия сущности.[57] FIG. 35 is a view illustrating a cross-filtering process according to an embodiment of the present disclosure.

[58] Фиг. 36 и 37 являются видами, иллюстрирующими процесс поперечной фильтрации для выборок сигналов яркости согласно варианту осуществления настоящего раскрытия сущности.[58] FIG. 36 and 37 are views illustrating a cross-filtering process for luminance samples according to an embodiment of the present disclosure.

[59] Фиг. 38 является видом, иллюстрирующим процесс поперечной фильтрации для выборок сигналов цветности согласно варианту осуществления настоящего раскрытия сущности.[59] FIG. 38 is a view illustrating a cross-filtering process for chrominance samples according to an embodiment of the present disclosure.

[60] Фиг. 39 является видом, иллюстрирующим процесс поперечной фильтрации согласно варианту осуществления настоящего раскрытия сущности.[60] FIG. 39 is a view illustrating a cross-filtering process according to an embodiment of the present disclosure.

[61] Фиг. 40 является блок-схемой последовательности операций, иллюстрирующей способ фильтрации на основе структуры субкадра согласно варианту осуществления настоящего раскрытия сущности.[61] FIG. 40 is a flowchart illustrating a filtering method based on a subframe structure according to an embodiment of the present disclosure.

[62] Фиг. 41 и 42 являются видами, иллюстрирующими процесс поперечной фильтрации для выборок сигналов яркости согласно варианту осуществления настоящего раскрытия сущности.[62] FIG. 41 and 42 are views illustrating a cross-filtering process for luminance samples according to an embodiment of the present disclosure.

[63] Фиг. 43 является видом, иллюстрирующим процесс поперечной фильтрации для выборок сигналов цветности согласно варианту осуществления настоящего раскрытия сущности.[63] FIG. 43 is a view illustrating a cross-filtering process for chrominance samples according to an embodiment of the present disclosure.

[64] Фиг. 44 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[64] FIG. 44 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.

Оптимальный режим осуществления изобретенияOptimal Mode for Carrying Out the Invention

[65] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они могут легко реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.[65] Hereinafter, embodiments of the present disclosure are described in detail with reference to the accompanying drawings so that they can be easily implemented by those skilled in the art. However, the present disclosure may be implemented in all manner of forms and is not limited to the embodiments described herein.

[66] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.[66] In describing the present disclosure, if it is determined that a detailed description of an associated known function or construct would unduly ambiguize the scope of the present disclosure, the detailed description thereof is omitted. In the drawings, parts not related to the description of the present disclosure are omitted and like reference numbers are attached to like parts.

[67] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.[67] In the present disclosure, when a component is "connected", "coupled", or "linked" to another component, this may include not only a direct connection-based relationship, but also an indirect connection-based relationship in which an intermediate component is present. In addition, when a component "includes" or "has" other components, it means that other components may be included in addition to, rather than excluding, other components, unless otherwise noted.

[68] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.[68] In the present disclosure, the terms "first", "second", etc. may be used only for the purpose of distinguishing one component from other components and do not limit the order or importance of components unless otherwise noted. Accordingly, within the scope of this disclosure, the first component in one embodiment may be referred to as the "second component" in another embodiment, and similarly, the second component in one embodiment may be referred to as the "first component" in another embodiment.

[69] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.[69] In the present disclosure, components that are different from each other are intended to clearly describe each feature and do not mean that the components are necessarily separated. Thus, multiple components may be integrated and implemented in a single hardware or software module, or a single component may be distributed and implemented in multiple hardware or software modules. Therefore, even if not stated otherwise, such embodiments in which components are integrated or a component is distributed are also included within the scope of this disclosure.

[70] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.[70] In the present disclosure, the components described in various embodiments do not necessarily mean essential components, and some components may be optional components. Accordingly, an embodiment consisting of a subset of the components described in the embodiment is also included within the scope of the present disclosure. In addition, embodiments including other components, in addition to the components described in various embodiments, are included within the scope of the present disclosure.

[71] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.[71] The present disclosure relates to image encoding and decoding, and the terms used in the present disclosure may have a general meaning widely used in the technical field to which the present disclosure belongs, if not defined for the first time in the present disclosure.

[72] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).[72] In the present disclosure, "frame" generally means a unit representing one image in a particular time period, and a slice/tile is a coding unit constituting a frame, and one frame may be composed of one or more slices/ tiles. In addition, a slice/tile may include one or more coding tree units (CTUs).

[73] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.[73] In the present disclosure, "pixel" or "pel" can mean the smallest unit constituting one frame (or image). In addition, "sample" can be used as a term corresponding to a pixel. A sample can generally represent a pixel or a pixel value, and can represent only a pixel/pixel value of the luma component, or only a pixel/pixel value of the chroma component.

[74] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.[74] In the present disclosure, a "unit" may represent a basic unit of image processing. The unit may include at least one of a specific area of the frame and information associated with the area. The unit can be used interchangeably with terms such as "array of samples", "block" or "zone" in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows.

[75] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".[75] In the present disclosure, "current block" may mean one of "current coding block", "current coding unit", "target coding block", "target decoding block", or "target processing block". When prediction is performed, "current block" may mean "current prediction block" or "target prediction block". When transformation (inverse transformation)/quantization (dequantization) is performed, "current block" may mean "current transformation block" or "transformation target block". When filtering is performed, "current block" may mean "filtering target block".

[76] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать блок, включающий в себя как блок компонентов сигналов яркости, так и блок компонентов сигналов цветности либо "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. Блок компонентов сигналов цветности текущего блока может выражаться посредством включения явного описания блока компонентов сигналов яркости, такого как "блок сигналов яркости" или "текущий блок сигналов яркости". Помимо этого, блок компонентов сигналов цветности текущего блока может явно выражаться посредством включения явного описания блока компонентов сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".[76] In addition, in the present disclosure, "current block" may mean a block including both a luma component block and a chrominance signal component block, or a "current block luminance signal block", unless explicitly specified in as a block of color signals. The chrominance component block of the current block may be expressed by including an explicit description of the luma component block, such as "luminance signal block" or "current luminance signal block". In addition, the chrominance component block of the current block may be explicitly expressed by including an explicit description of the chrominance component block such as "chroma block" or "current chrominance block".

[77] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".[77] In the present disclosure, the terms "/" and "," are to be interpreted as indicating "and/or". For example, the expression "A/B" and "A, B" can mean "A and/or B". Additionally, "A/B/C" and "A/B/C" may mean "at least one of A, B and/or C".

[78] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".[78] In the present disclosure, the term "or" is to be interpreted as indicating "and/or". For example, the expression "A or B" may contain 1) only "A", 2) only "B", and/or 3) "both A and B". In other words, in the present disclosure, the term "or" is to be interpreted as indicating "in addition or alternatively".

[79] Общее представление системы кодирования видео [79] Overview of the Video Coding System

[80] Фиг. 1 является видом, показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.[80] FIG. 1 is a view showing a video coding system to which an embodiment of the present disclosure is applicable.

[81] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.[81] The video encoding system according to the embodiment may include encoding equipment 10 and decoding equipment 20. The encoding equipment 10 may deliver the encoded information or video and/or image data to the decoding equipment 20 in the form of a file or streaming via a digital storage medium or a network.

[82] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[82] The encoding equipment 10 according to the embodiment may include a video source generator 11, an encoding unit 12, and a transmitter 13. The decoding equipment 20 according to the embodiment may include a receiver 21, a decoding unit 22, and a rendering unit 23. The encoding module 12 may be referred to as a "video/image coding module", and the decoding module 22 may be referred to as a "video/image decoding module". The transmitter 13 may be included in the encoding module 12. The receiver 21 may be included in the module 22 decoding. The rendering module 23 may include a display, and the display may be configured as a separate device or an external component.

[83] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[83] The video source generator 11 can acquire video/image through a process of capturing, synthesizing, or generating video/image. The video source generator 11 may include a video/image capture device and/or a video/image generator. The video/image capture device may include, for example, one or more cameras, video/image archives including previously captured videos/images, and the like. The video/image generating apparatus may include, for example, computers, tablet computers, and smartphones, and may (electronically) generate video/images. For example, the virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process may be replaced by a linked data generation process.

[84] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.[84] The encoding unit 12 may encode the input video/image. The coding unit 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency. The encoding unit 12 may output encoded data (encoded video/image information) in the form of a bit stream.

[85] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.[85] The transmitter 13 may transmit the encoded information or video/image data output in the form of a bit stream to the receiver 21 of the decoding equipment 20 via a digital storage medium or a network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. The transmitter 13 may include an element for generating a media file via a predetermined file format and may include an element for transmission via a broadcast/communications network. The receiver 21 can extract/receive a bit stream from a storage medium or a network and transmit the bit stream to the decoding module 22 .

[86] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.[86] The module 22 decoding can decode the video/image by performing a sequence of procedures such as dequantization, inverse transformation and prediction, corresponding to the operation of the module 12 encoding.

[87] Модуль 23 рендеринга может выполнять рендеринг декодированного видео/изображения. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[87] The rendering unit 23 may render the decoded video/image. The rendered video/image can be displayed through the display.

[88] Общее представление оборудования кодирования изображений [88] Overview of Image Coding Equipment

[89] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[89] FIG. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.

[90] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.[90] As shown in FIG. 2, the image encoding equipment 100 may include an image segmentation unit 110, a subtractor 115, a transform 120, a quantizer 130, a dequantizer 140, an inverse transform 150, an adder 155, a filter 160, a memory 170, an inter prediction unit 180, an intra prediction unit 185. and an entropy encoder 190. The inter prediction module 180 and the intra prediction module 185 may be collectively referred to as a "prediction module". Transformer 120, quantizer 130, dequantizer 140, and inverse transform 150 may be included in the residual processor. The residual processor may further include a subtractor 115.

[91] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.[91] All or at least a portion of the plurality of components configuring the image encoding hardware 100 may be configured by a single hardware component (eg, encoder or processor) in some embodiments. In addition, the storage device 170 may include a decoded frame buffer (DPB) and may be configured by a digital storage medium.

[92] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[92] The image segmentation unit 110 may segment an input image (either a frame or a movie frame) input to the image encoding equipment 100 into more than one processing unit. For example, a processing unit may be referred to as a "coding unit (CU)". A coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or a largest coding unit (LCU) according to a quadtree, binary tree, and ternary tree (QT/BT/TT) structure. For example, one coding unit may be segmented into multiple deeper coding units based on a quadtree structure, a binary tree structure, and/or a ternary structure. To segment a coding unit, a quadtree structure may be applied first, and subsequently a binary tree structure and/or a ternary structure may be applied. The encoding procedure according to the present disclosure may be performed based on a final encoding unit that is no longer segmented. The largest coding unit may be used as the final coding unit, or the larger depth coding unit obtained by segmenting the largest coding unit may be used as the final coding unit. Here, the encoding procedure may include a prediction, transformation, and restoration procedure, which is described below. As another example, the encoding procedure processing unit may be a prediction unit (PU) or a transformation unit (TU). The prediction unit and the transformation unit may be split or segmented from the final coding unit. The prediction unit may be a selective prediction unit, and the transform unit may be a unit for extracting a transform coefficient and/or a unit for extracting a residual signal from a transform coefficient.

[93] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.[93] The prediction unit (inter prediction unit 180 or intra prediction unit 185) can perform prediction on a block to be processed (current block) and generate a prediction block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied based on the current block or CU. The prediction module may generate various information related to the prediction of the current block and pass the generated information to the entropy encoder 190. The prediction information may be encoded in the entropy encoder 190 and output in the form of a bit stream.

[94] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[94] The intra prediction module 185 may predict the current block by referring to the samples in the current frame. The samples for a reference may be located in the surroundings of the current block, or may be spaced apart according to an intra prediction mode and/or an intra prediction technique. The intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is just an example, more or less directional prediction modes may be used depending on the setting. The intra prediction unit 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the adjacent block.

[95] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.[95] The inter prediction unit 180 may derive a predicted block for the current block based on a reference block (reference sample array) indicated by a motion vector for the reference frame. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the adjacent block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter prediction, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighbor block may be the same or different. The temporary neighbor block may be referred to as a "collocated reference block", "collocated CU (colCU)", or the like. A reference frame including a temporal adjacent block may be referred to as a "collocated frame (colPic)". For example, inter prediction module 180 may configure a list of motion information candidates based on adjacent blocks and generate information indicating which candidate is used to derive the motion vector and/or the reference frame index of the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 180 may use the neighboring block motion information as the current block motion information. In the case of the skip mode, unlike the combine mode, the residual signal may not be transmitted. In the case of a motion vector prediction (MVP) mode, the motion vector of an adjacent block may be used as a motion vector predictor, and the motion vector of the current block may be signaled by encoding a motion vector difference and an indicator for the motion vector predictor. The motion vector difference may mean the difference between the motion vector of the current block and the motion vector predictor.

[96] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[96] The prediction module may generate a prediction signal based on various prediction methods and prediction technologies described below. For example, the prediction module may not only apply intra prediction or inter prediction, but also apply both intra prediction and inter prediction at the same time to predict the current block. A prediction method that simultaneously applies both intra prediction and inter prediction to predict the current block may be referred to as "combined inter and intra prediction (CIIP)". In addition, the prediction module may perform intra-block copy (IBC) to predict the current block. In-block copying can be used for image/video encoding of game content and the like, such as on-screen content coding (SCC). IBC is a method for predicting the current frame using a previously reconstructed reference block in the current frame at a location separated from the current block by a predetermined distance. When IBC is applied, the location of the reference block in the current frame may be encoded as a vector (block vector) corresponding to a predetermined distance. IBC essentially performs prediction in the current frame, but may be performed similar to inter-prediction in that the reference block is retrieved within the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in the present disclosure.

[97] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.[97] The predictive signal generated by the prediction module may be used to generate a recovered signal or generate a residual signal. The subtractor 115 may generate a residual signal (residual block or residual sample array) by subtracting the prediction signal (predicted block or predictive sample array) output from the predictor from the input image signal (original block or original sample array). The generated residual signal may be transmitted to transducer 120.

[98] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[98] Converter 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technology may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loeve Transform (KLT), Graph Based Transform (GBT), or Conditionally Nonlinear Transform (CNT). ). Here, GBT means a transformation obtained from a graph when relationship information between pixels is represented by a graph. CNT means the transformation obtained based on the predictive signal generated using all previously reconstructed pixels. In addition, the transformation process may be applied to square pixel blocks having the same size, or may be applied to blocks having a variable size rather than square.

[99] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.[99] The quantizer 130 may quantize the transform coefficients and pass them to the entropy encoder 190. The entropy encoder 190 may encode the quantized signal (information regarding the quantized transform coefficients) and output a bit stream. The information regarding the quantized transform coefficients may be referred to as "residual information". The quantizer 130 may repackage the quantized transform coefficients in block form into one-dimensional vector form based on the scan order of the coefficients, and generate information about the quantized transform coefficients based on the quantized transform coefficients in one-dimensional vector form.

[100] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.[100] The entropy encoder 190 may implement various coding techniques such as exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like, for example. Entropy encoder 190 may encode information needed for video/image reconstruction other than quantized transform coefficients (eg, syntax element values, etc.) together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in units of network abstraction layers (NALs) in the form of a bitstream. The video/image information may further include information regarding various parameter sets such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general restriction information. The signaling information, the signaling information and/or the syntax elements described in the present disclosure may be encoded via the encoding procedure described above and included in the bit stream.

[101] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.[101] The bit stream may be transmitted over a network or may be stored on a digital storage medium. The network may include a broadcast network and/or a communications network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. A transmitter (not shown) transmitting a signal output from the entropy encoder 190 and/or a storage module (not shown) storing the signal may be included as an internal/external member of the encoding equipment 100, and alternatively, a transmitter may be included in the entropy encoder 190 .

[102] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.[102] The quantized transform coefficients output from quantizer 130 may be used to generate a residual signal. For example, the residual signal (residual block or residual samples) may be recovered by applying dequantization and inverse transform to the quantized transform coefficients via dequantizer 140 and inverse transform 150.

[103] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[103] The adder 155 adds the recovered residual signal with the predictive signal output from the inter prediction unit 180 or the intra prediction unit 185 so as to generate a recovered signal (frame recovered, block recovered, recovered sample array). If there is no remainder for a block to be processed, such as in a case in which the skip mode is applied, the predicted block may be used as the reconstructed block. The adder 155 may be referred to as a "recovery module" or "recovered block generator". The generated recovered signal may be used to intra-predict the next block to be processed in the current frame, and may be used to inter-predict the next frame through filtering as described below.

[104] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.[104] The filter 160 can improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, filter 160 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and store the modified reconstructed frame in memory 170, namely the DPB of memory 170. Various filtering methods may include, for example, filtering to deblock , filtering based on a sampled adaptive bias, an adaptive loop filter, a bilateral filter, and the like. The filter 160 may generate various filtering-related information and pass the generated information to the entropy encoder 190 as described below in the description of each filtering method. Filtering related information may be encoded by entropy encoder 190 and output in the form of a bitstream.

[105] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.[105] The modified reconstructed frame transmitted to the memory 170 may be used as a reference frame in the inter prediction module 180. When inter prediction is applied via the image encoding equipment 100, prediction mismatch between the image encoding equipment 100 and the image decoding equipment can be eliminated, and encoding efficiency can be improved.

[106] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.[106] The DPB of the memory 170 may store the modified reconstructed frame for use as a reference frame in the inter prediction module 180. The memory 170 may store block motion information from which motion information in the current frame is extracted (or encoded) and/or motion information of blocks in the frame that have already been recovered. The stored motion information may be transmitted to the inter-prediction unit 180 and used as spatial neighbor block motion information or temporal neighbor block motion information. The memory 170 may store the recovered samples of the recovered blocks in the current frame and may pass the recovered samples to the intra prediction module 185 .

[107] Общее представление оборудования декодирования изображений [107] Overview of image decoding equipment

[108] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[108] FIG. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.

[109] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.[109] As shown in FIG. 3, the image decoding equipment 200 may include an entropy decoder 210, a dequantizer 220, an inverse transform 230, an adder 235, a filter 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265. The inter prediction module 260 and the intra prediction module 265 may be collectively referred to as a "prediction module". Dequantizer 220 and inverse converter 230 may be included in the residual processor.

[110] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.[110] All or at least a portion of the plurality of components configuring the image decoding equipment 200 may be configured by a hardware component (eg, decoder or processor) according to the embodiment. In addition, the storage device 250 may include a decoded frame buffer (DPB) or may be configured by a digital storage medium.

[111] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.[111] The image decoding equipment 200, which receives a bitstream including video/image information, can restore an image by performing a process corresponding to the process performed by the image encoding equipment 100 of FIG. 2. For example, the image decoding equipment 200 may perform decoding using the processing unit used in the image encoding equipment. Thus, the decoding processing unit, for example, may be an encoding unit. The coding unit may be obtained by segmenting the coding tree unit or the largest coding unit. The reconstructed image signal decoded and output by the decoding equipment 200 can be reproduced by the playback equipment.

[112] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.[112] The image decoding equipment 200 may receive a signal output from the image encoding equipment of FIG. 2 in the form of a bitstream. The received signal may be decoded via entropy decoder 210. For example, entropy decoder 210 may parse the bit stream to extract information (eg, video/image information) needed for image recovery (or frame recovery). The video/image information may further include information regarding various parameter sets such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general restriction information. The image decoding equipment may further decode the frame based on the parameter set information and/or general constraint information. Signaling/receiving information and/or syntax elements described in the present disclosure may be decoded by a decoding procedure and obtained from a bitstream. For example, entropy decoder 210 decodes information in the bitstream based on an encoding method such as Exponential Golomb, CAVLC, or CABAC encoding, and output syntax element values required for image reconstruction, and quantized transform coefficient values for the remainder. More specifically, the CABAC entropy decoding method may receive a bin corresponding to each syntax element in the bit stream, determine a context model using decoding target syntax element information, neighboring block decoding information, and decoding target block, or symbol/bin information decoded at the previous stage, and perform arithmetic decoding for the permission element by predicting the occurrence probability of the permission element according to the determined context model, and generating a symbol corresponding to the value of each syntax element. In this case, the CABAC entropy decoding method can update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after the context model is determined. Prediction related information from the information decoded by the entropy decoder 210 may be provided to a prediction unit (inter prediction unit 260 and intra prediction unit 265) and a residual value for which entropy decoding is performed in the entropy decoder 210, i. quantized transform coefficients and related parameter information may be input to the dequantizer 220. In addition, information regarding filtering from the information decoded by the entropy decoder 210 may be provided to the filter 240. Meanwhile, a receiver (not shown) for receiving a signal output from the equipment image encoding equipment may be further configured as an internal/external element of the image decoding equipment 200, or the receiver may be a component of the entropy decoder 210.

[113] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.[113] Meanwhile, the image decoding equipment according to the present disclosure may be referred to as "video/image/frame decoding equipment". The image decoding equipment can be classified into an information decoder (video/image/frame information decoder) and a sampling decoder (video/image/frame samples decoder). The information decoder may include an entropy decoder 210. The selective decoder may include at least one of a dequantizer 220, an inverse transform 230, an adder 235, a filter 240, a memory 250, an inter prediction module 260, or an intra prediction module 265.

[114] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[114] The dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 220 may recompose the quantized transform coefficients in the form of a two-dimensional block. In this case, the re-arranging may be performed based on the scan order of the coefficients performed in the image encoding equipment. The dequantizer 220 may perform dequantization on the quantized transform coefficients by using a quantization parameter (eg, quantization step size information) and obtain the transform coefficients.

[115] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[115] The inverse transform 230 may inversely transform the transform coefficients to obtain a residual signal (residual block, array of residual samples).

[116] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.[116] The prediction module may perform prediction for the current block and may generate a predicted block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoder 210, and may determine a specific intra/inter prediction mode.

[117] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.[117] Identical to that described in the prediction module of the image encoding equipment 100, the prediction module can generate a prediction signal based on various prediction methods (technologies) which are described below.

[118] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.[118] The intra prediction module 265 may predict the current block by referring to the samples in the current frame. The description of the intra prediction module 185 applies equally to the intra prediction module 265 .

[119] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[119] The inter prediction unit 260 may derive a predicted block for the current block based on a reference block (reference sample array) indicated by a motion vector for the reference frame. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the adjacent block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter prediction, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. For example, inter-prediction unit 260 may configure a motion information candidate list based on neighboring blocks, and derive the current block's motion vector and/or reference frame index based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the prediction information may include information indicative of the inter prediction mode for the current block.

[120] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[120] The adder 235 may generate a reconstructed signal (recovered frame, reconstructed block, reconstructed sample array) by summing the obtained residual signal with the predictive signal (predicted block, predicted sample array) output from the prediction module (including the inter prediction module 260 and /or internal prediction module 265). If there is no remainder for the block to be processed, for example, when the skip mode is applied, the predicted block may be used as the reconstructed block. The description of adder 155 is equally applicable to adder 235. Adder 235 may be referred to as a "recovery module" or "recovered block generator". The generated recovered signal may be used to intra-predict the next block to be processed in the current frame, and may be used to inter-predict the next frame through filtering as described below.

[121] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.[121] The filter 240 can improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, filter 240 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and store the modified reconstructed frame in memory 250, namely the DPB of storage 250. Various filtering methods may include, for example, filtering to deblock , filtering based on a sampled adaptive bias, an adaptive loop filter, a bilateral filter, and the like.

[122] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.[122] The (modified) reconstructed frame stored in the DPB of the storage device 250 may be used as a reference frame in the inter prediction module 260 . The memory 250 may store block motion information from which motion information in the current frame is extracted (or decoded) and/or motion information of blocks in the frame that have already been recovered. The stored motion information may be transmitted to the inter-prediction unit 260 so that it is used as spatial neighbor block motion information or temporal neighbor block motion information. The memory 250 may store the recovered samples of the recovered blocks in the current frame and pass the recovered samples to the intra prediction module 265 .

[123] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.[123] In the present disclosure, the embodiments described in the filter 160, the inter prediction unit 180, and the intra prediction unit 185 of the image coding equipment 100 can be equally or appropriately applied to the filter 240, the inter prediction unit 260, and the intra prediction unit 265 image decoding equipment 200 .

[124] Общее представление сегментации изображений [124] General representation of image segmentation

[125] Способ кодирования видео/изображений согласно настоящему раскрытию сущности может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)-квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования в форме потока битов. Энтропийный декодер 210 оборудования декодирования может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений. CU-размер и TU-размер могут быть идентичными, или множество TU могут присутствовать в CU-зоне. Между тем, CU-размер, в общем, может представлять CB-размер компонентных (выборок) сигналов яркости. TU-размер, в общем, может представлять TB-размер компонентных (выборок) сигналов яркости. CB- или TB-размер компонентных (выборок) сигналов цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигналов яркости согласно соотношению компонентов согласно формату сигналов цветности (цветовому формату, например, 4:4:4, 4:2:2, 4:2:0 и т.д.) кадра/изображения. TU-размер может извлекаться на основе maxTbSize, указывающего доступный максимальный TB-размер. Например, когда CU-размер превышает maxTbSize, множество TU (TB) с maxTbSize могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Помимо этого, например, при применении внутреннего прогнозирования, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, одна или множество TU (или TB) могут присутствовать в одной CU-(или CB-)зоне, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.[125] The video/image coding method according to the present disclosure may be based on an image segmentation structure as follows. In particular, the prediction, residual processing ((inverse) transform, (de)-quantization, etc.), syntax element encoding, and filtering procedures described below may be performed on a CTU, CU (and/or TU, PU) basis. ) extracted based on the image segmentation structure. An image may be segmented in units of blocks, and a block segmentation procedure may be performed in the image segmentation unit 110 of the encoding equipment. The segmentation related information may be encoded by the entropy encoder 190 and transmitted to the decoding equipment in the form of a bit stream. The entropy decoder 210 of the decoding equipment may extract the segmentation structure into blocks of the current frame based on the segmentation-related information obtained from the bitstream, and based on this, may perform a series of procedures (e.g., prediction, residual processing, block/frame recovery, in-loop filtering, and etc.) for image decoding. The CU size and TU size may be identical, or multiple TUs may be present in a CU area. Meanwhile, the CU size may generally represent the CB size of the luminance component (samples). The TU size may generally represent the TB size of the component (samples) luminance signals. The CB or TB size of the chrominance component (samples) can be derived based on the CB or TB size of the luminance component (samples) according to the component ratio according to the chrominance signal format (color format, e.g. 4:4:4, 4:2 :2, 4:2:0, etc.) frame/picture. The TU size may be derived based on maxTbSize indicating the maximum TB size available. For example, when the CU size exceeds maxTbSize, a set of TUs (TB) with maxTbSize may be extracted from the CU, and transformation/inverse transformation may be performed in units of TUs (TB). In addition, for example, when applying intra prediction, the mode/type of intra prediction may be extracted in units of CU (or CB), and the procedure for extracting neighboring reference samples and generating predictive samples may be performed in units of TU (or TB). In this case, one or multiple TUs (or TBs) may be present in the same CU- (or CB-) area, and in this case, multiple TUs or (TBs) may share the same intra prediction mode/type.

[126] Помимо этого, при кодировании и декодировании изображений согласно настоящему раскрытию сущности, модуль обработки изображений может иметь иерархическую структуру. Например, один кадр может сегментироваться на одну или более плиток или групп плиток. Одна группа плиток может включать в себя одну или более плиток. Одна плитка может включать в себя одну или более CTU. CTU может сегментироваться на одну или более CU, как описано выше. Плитка может состоять из прямоугольной области, включающей в себя CTU, собранные в конкретной строке и конкретном столбце в кадре. Группа плиток может включать в себя целое число плиток согласно растровому сканированию плиток. Заголовок группы плиток может передавать в служебных сигналах информацию/параметры, применимые к соответствующей группе плиток. Когда оборудование кодирования/декодирования имеет многоядерный процессор, процедура кодирования/декодирования для плитки или группы плиток может выполняться параллельно. Здесь, группа плиток может иметь один из типов групп плиток, включающих в себя группу внутренних (I) плиток, группу прогнозирующих (P) плиток и группу бипрогнозирующих (B) плиток. Для блоков в группе I-плиток, взаимное прогнозирование может не использоваться, и только внутреннее прогнозирование может использоваться для прогнозирования. Конечно, даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Для блоков в группе P-плиток, внутреннее прогнозирование или взаимное прогнозирование может использоваться, и только унипрогнозирование может использоваться при взаимном прогнозировании. Между тем, для блоков в группе B-плиток, внутреннее прогнозирование или взаимное прогнозирование может использоваться, и вплоть до бипрогнозирования может использоваться, когда используется взаимное прогнозирование.[126] In addition, when encoding and decoding images according to the present disclosure, the image processing module may have a hierarchical structure. For example, one frame may be segmented into one or more tiles or groups of tiles. One group of tiles may include one or more tiles. One tile may include one or more CTUs. A CTU may be segmented into one or more CUs as described above. A tile may consist of a rectangular area including CTUs collected in a particular row and particular column in a frame. The tile group may include an integer number of tiles according to a raster scan of the tiles. The tile group header may signal information/parameters applicable to the corresponding tile group. When the encoding/decoding equipment has a multi-core processor, the encoding/decoding procedure for a tile or group of tiles may be performed in parallel. Here, the tile group may have one of the tile group types including an internal (I) tile group, a predictive (P) tile group, and a bi-predictive (B) tile group. For blocks in an I-tile group, inter prediction may not be used and only intra prediction may be used for prediction. Of course, even in this case, the original sample value can be encoded and signaled without prediction. For blocks in a P-tile group, intra-prediction or inter-prediction may be used, and only uni-prediction may be used in inter-prediction. Meanwhile, for blocks in the B-tile group, intra-prediction or inter-prediction may be used, and up to bi-prediction may be used when inter-prediction is used.

[127] В оборудовании кодирования, плитка/группа плиток, срез и размер максимальной и минимальной единицы кодирования могут определяться согласно характеристикам (например, разрешению) изображения и с учетом эффективности кодирования либо параллельной обработки, и информация для нее или информация, допускающая ее извлечение, может включаться в поток битов.[127] In encoding equipment, a tile/group of tiles, a slice, and a size of the maximum and minimum coding unit may be determined according to the characteristics (e.g., resolution) of the image, and considering the coding efficiency or parallel processing, and information for it or information capable of extracting it, may be included in the bitstream.

[128] В оборудовании декодирования, информация, указывающая то, срез текущего кадра, плитка/группа плиток или CTU в плитке сегментируется на множество единиц кодирования, может получаться. Когда эта информация получается (передается) только при конкретных условиях, эффективность может повышаться.[128] In the decoding equipment, information indicating whether a slice of the current frame, a tile/tile group, or a CTU in a tile is segmented into a plurality of coding units can be obtained. When this information is received (transmitted) only under specific conditions, efficiency can be improved.

[129] Заголовок среза или заголовок группы плиток (синтаксис заголовков групп плиток) может включать в себя информацию/параметры, обычно применимые к группе срезов или плиток. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к одному или более кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, обычно применимые к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметры, обычно применимые ко всему видео. В настоящем раскрытии сущности, высокоуровневый синтаксис может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса или VPS-синтаксиса.[129] A slice header or tile group header (tile group header syntax) may include information/parameters typically applicable to a slice or tile group. APS (APS Syntax) or PPS (PPS Syntax) may include information/parameters typically applicable to one or more frames. SPS (SPS Syntax) may include information/parameters generally applicable to one or more sequences. VPS (VPS Syntax) may include information/parameters generally applicable to the entire video. In the present disclosure, the high-level syntax may include at least one of APS syntax, PPS syntax, SPS syntax, or VPS syntax.

[130] Помимо этого, например, информация относительно сегментации и конструирования плитки/группы плиток может конструироваться в каскаде кодирования через высокоуровневый синтаксис и передаваться в оборудование декодирования в форме потока битов.[130] In addition, for example, information regarding segmentation and construction of a tile/group of tiles may be constructed in an encoding cascade through a high-level syntax and transmitted to the decoding equipment in the form of a bitstream.

[131] Структура сегментации [131] Segmentation Structure

[132] Кадры могут сегментироваться на последовательность единиц дерева кодирования (CTU). CTU может соответствовать блоку дерева кодирования (CTB). Альтернативно, CTU может включать в себя блок дерева кодирования выборок сигналов яркости и два блока дерева кодирования соответствующих выборок сигналов цветности. Например, для кадра, который содержит три массива выборок, CTU может включать в себя блок NxN выборок сигналов яркости и два соответствующих блока выборок сигналов цветности. Фиг. 4 показывает пример, в котором кадр сегментируется на CTU.[132] Frames may be segmented into a sequence of coding tree units (CTUs). The CTU may correspond to a coding tree block (CTB). Alternatively, the CTU may include a luminance sample coding tree block and two corresponding chrominance samples coding tree blocks. For example, for a frame that contains three arrays of samples, the CTU may include an NxN block of luma samples and two corresponding blocks of chrominance samples. Fig. 4 shows an example in which a frame is segmented into CTUs.

[133] Максимально допустимый размер CTU для кодирования и прогнозирования может отличаться от максимально допустимого размера CTU для преобразования. Например, даже когда максимальный размер блока сигналов яркости в CTU для преобразования составляет 64×64, максимальный размер блока сигналов яркости для CTU для кодирования и прогнозирования может составлять 128×128.[133] The maximum allowable CTU size for encoding and prediction may be different from the maximum allowable CTU size for transformation. For example, even when the maximum luminance block size in the transform CTU is 64×64, the maximum luminance block size in the CTU for coding and prediction may be 128×128.

[134] Помимо этого, кадр может сегментироваться на одну или более строк плиток и один или более столбцов плиток. Плитка может представлять собой последовательность CTU, покрывающих прямоугольную область в кадре.[134] In addition, the frame may be segmented into one or more rows of tiles and one or more columns of tiles. A tile may be a sequence of CTUs covering a rectangular area in a frame.

[135] Плитка может сегментироваться на один или более кирпичей, и каждый кирпич может состоять из множества CTU-строк в плитке. В настоящем раскрытии сущности, плитка, которая не сегментируется на множество кирпичей, может называться "кирпичом".[135] A tile may be segmented into one or more bricks, and each brick may consist of multiple CTU rows in a tile. In the present disclosure, a tile that is not segmented into a plurality of bricks may be referred to as a "brick".

[136] Срез может включать в себя множество плиток в кадре или множество кирпичей в плитке. Могут поддерживаться два режима разделения на срезы. Один может представлять собой режим разделения на срезы на основе растрового сканирования, и другой может представлять собой режим разделения на прямоугольные срезы.[136] A slice may include a plurality of tiles in a frame or a plurality of bricks in a tile. Two slicing modes can be supported. One may be a raster scan based slicing mode and the other may be a rectangular slicing mode.

[137] В растровом режиме разделения на срезы, срез может включать в себя множество последовательных плиток в кадре согласно порядку растрового сканирования. В настоящем раскрытии сущности, срез согласно режиму разделения на срезы на основе растрового сканирования может называться "срезом на основе растрового сканирования".[137] In a raster slicing mode, a slice may include a plurality of consecutive tiles in a frame according to a raster scan order. In the present disclosure, a slice according to a raster scan based slicing mode may be referred to as a "raster scan based slicing".

[138] В режиме разделения на прямоугольные срезы, срез может включать в себя множество кирпичей, конструирующих прямоугольную область в кадре. В настоящем раскрытии сущности, срез согласно режиму разделения на прямоугольные срезы может называться "прямоугольным срезом". Множество кирпичей, включенных в прямоугольный срез, могут существовать согласно порядку растрового сканирования кирпичей среза.[138] In the rectangular slicing mode, the slice may include a plurality of bricks constructing a rectangular area in the frame. In the present disclosure, a slice according to the rectangular slicing mode may be referred to as a "rectangular slice". The plurality of bricks included in a rectangular slice may exist according to the raster scan order of the slice bricks.

[139] Фиг. 5a-5c являются видами, иллюстрирующими примеры сегментации кадра.[139] FIG. 5a-5c are views illustrating examples of frame segmentation.

[140] Во-первых, ссылаясь на фиг. 5a, в режиме разделения на срезы на основе растрового сканирования, кадр может сегментироваться на 12 плиток и три среза на основе растрового сканирования.[140] First, referring to FIG. 5a, in a raster scan based slicing mode, a frame can be segmented into 12 tiles and three raster scan based slices.

[141] Ссылаясь на фиг. 5b, в режиме разделения на прямоугольные срезы, кадр может сегментироваться на 24 плитки (т.е. на шесть строк плиток и четыре столбца плиток) и на девять прямоугольных срезов.[141] Referring to FIG. 5b, in the rectangular slicing mode, the frame may be segmented into 24 tiles (ie, six rows of tiles and four columns of tiles) and nine rectangular slices.

[142] Ссылаясь на фиг. 5c, кадр может сегментироваться на четыре плитки (т.е. на две строки плиток и два столбца плиток), на 11 кирпичей (т.е. на один левый верхний кирпич, пять правых верхних кирпичей, два левых нижних кирпича и три правых нижних кирпича) и на четыре прямоугольных среза.[142] Referring to FIG. 5c, the frame can be segmented into four tiles (i.e. two rows of tiles and two columns of tiles), 11 bricks (i.e. one top left brick, five top right bricks, two bottom left bricks, and three bottom right bricks). bricks) and into four rectangular slices.

[143] Общее представление сегментации CTU [143] General Representation of CTU Segmentation

[144] Как описано выше, единица кодирования (CU) может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.[144] As described above, a coding unit (CU) can be obtained by recursively segmenting a coding tree unit (CTU) or a largest coding unit (LCU) according to a quadtree/binary tree/ternary tree (QT/BT/TT) structure. For example, the CTU may first be segmented into quadtree structures. Thereafter, the leaf nodes of the quadtree structure may further be segmented by a multi-type tree structure.

[145] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.[145] Quadtree segmentation means that the current CU (or CTU) is segmented equally into four. By segmenting according to the quadtree, the current CU can be segmented into four CUs having the same width and the same height. When the current CU is no longer segmented into a quadtree structure, the current CU corresponds to a leaf node of the quadtree structure. The CU corresponding to the leaf node of the quadtree structure can no longer be segmented and can be used as the final coding unit described above. Alternatively, the CU corresponding to the leaf node of the quadtree structure may further be segmented by a multi-type tree structure.

[146] Фиг. 6 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре. Сегментация согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.[146] FIG. 6 is a view showing an embodiment of a block segmentation type according to the multi-type tree structure. The segmentation according to the multi-type tree structure may include two types of partitioning according to the binary tree structure and two types of partitioning according to the ternary tree structure.

[147] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 5, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 5, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.[147] The two types of splitting according to the binary tree structure may include vertical binary splitting (SPLIT_BT_VER) and horizontal binary splitting (SPLIT_BT_HOR). Vertical binary splitting (SPLIT_BT_VER) means that the current CU is split equally in half in the vertical direction. As shown in FIG. 5, by vertical binary splitting, two CUs having a height identical to the height of the current CU and having a width that is half the width of the current CU can be formed. Horizontal binary splitting (SPLIT_BT_HOR) means that the current CU is split equally in half in the horizontal direction. As shown in FIG. 5, by horizontal binary splitting, two CUs having a height that is half the height of the current CU and having a width identical to the width of the current CU can be formed.

[148] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (SPLIT_TT_VER) и горизонтальное троичное разбиение (SPLIT_TT_HOR). В вертикальном троичном разбиении (SPLIT_TT_VER), текущая CU разбивается в вертикальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством вертикального троичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет 1/4 от ширины текущей CU, и CU, имеющая высоту, идентичную высоте текущей CU, и имеющая ширину, которая составляет половину от ширины текущей CU. В горизонтальном троичном разбиении (SPLIT_TT_HOR), текущая CU разбивается в горизонтальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширину, идентичную ширине текущей CU.[148] The two types of splitting according to the ternary tree structure may include vertical ternary splitting (SPLIT_TT_VER) and horizontal ternary splitting (SPLIT_TT_HOR). In vertical ternary splitting (SPLIT_TT_VER), the current CU is split in the vertical direction at a ratio of 1:2:1. As shown in FIG. 5, by vertical ternary partitioning, two CUs having a height identical to the height of the current CU and having a width that is 1/4 of the width of the current CU, and a CU having a height identical to the height of the current CU and having a width that is is half the width of the current CU. In horizontal ternary splitting (SPLIT_TT_HOR), the current CU is split horizontally in a ratio of 1:2:1. As shown in FIG. 5, by horizontal ternary partitioning, two CUs having a height that is 1/4 of the height of the current CU and having a width identical to the width of the current CU, and a CU having a height that is half the height of the current CU and having a width identical to the width of the current CU.

[149] Фиг. 7 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.[149] FIG. 7 is a view showing a signaling mechanism of blocking information in a quadtree with a nested multi-type tree structure according to the present disclosure.

[150] Здесь, CTU трактуется в качестве корневого узла дерева квадрантов и сегментируется в первый раз на структуру в виде дерева квадрантов. Информация (например, qt_split_flag), указывающая то, выполняется или нет разбиение на дерево квадрантов для текущей CU (CTU или узла (QT_node) дерева квадрантов), передается в служебных сигналах. Например, когда qt_split_flag имеет первое значение (например, "1"), текущая CU может сегментироваться на дерево квадрантов. Помимо этого, когда qt_split_flag имеет второе значение (например, "0"), текущая CU не сегментируется на дерево квадрантов, но становится узлом-листом (QT_leaf_node) дерева квадрантов. Каждый узел-лист дерева квадрантов затем дополнительно может сегментироваться на многотипные древовидные структуры. Таким образом, узел-лист дерева квадрантов может становиться узлом (MTT_node) многотипного дерева. В многотипной древовидной структуре, первый флаг (например, Mtt_split_cu_flag) передается в служебных сигналах, чтобы указывать то, сегментируется или нет дополнительно текущий узел. Если соответствующий узел дополнительно сегментируется (например, если первый флаг равен 1), второй флаг (например, Mtt_split_cu_vertical_flag) может передаваться в служебных сигналах, чтобы указывать направление разбиения. Например, направление разбиения может представлять собой вертикальное направление, если второй флаг равен 1, и может представлять собой горизонтальное направление, если второй флаг равен 0. Затем третий флаг (например, Mtt_split_cu_binary_flag) может передаваться в служебных сигналах, чтобы указывать то, представляет тип разбиения собой тип на основе двоичного разбиения или тип на основе троичного разбиения. Например, тип разбиения может представлять собой тип на основе двоичного разбиения, когда третий флаг равен 1, и может представлять собой тип на основе троичного разбиения, когда третий флаг равен 0. Узел многотипного дерева, полученного посредством двоичного разбиения или троичного разбиения, дополнительно может сегментироваться на многотипные древовидные структуры. Тем не менее, узел многотипного дерева может не сегментироваться на структуры в виде дерева квадрантов. Если первый флаг равен 0, соответствующий узел многотипного дерева более не разбивается, но становится узлом-листом (MTT_leaf_node) многотипного дерева. CU, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.[150] Here, the CTU is treated as the root node of the quadtree and is segmented for the first time into a quadtree structure. Information (eg, qt_split_flag) indicating whether or not quadtree splitting is performed for the current CU (CTU or quadtree node (QT_node)) is signaled. For example, when qt_split_flag has a first value (eg, "1"), the current CU may be segmented into a quadtree. In addition, when qt_split_flag has a second value (eg, "0"), the current CU is not segmented into a quadtree, but becomes a leaf node (QT_leaf_node) of the quadtree. Each leaf node of the quadtree can then be further segmented into multi-type tree structures. Thus, a leaf node of a quadtree can become a node (MTT_node) of a multitype tree. In the multi-type tree structure, the first flag (eg, Mtt_split_cu_flag) is signaled to indicate whether or not the current node is further segmented. If the corresponding node is further segmented (eg, if the first flag is 1), a second flag (eg, Mtt_split_cu_vertical_flag) may be signaled to indicate the split direction. For example, the split direction may be the vertical direction if the second flag is 1, and may be the horizontal direction if the second flag is 0. Then, a third flag (eg, Mtt_split_cu_binary_flag) may be signaled to indicate whether the split type is is a binary split type or a ternary split type. For example, the split type may be a binary split type when the third flag is 1, and may be a ternary split type when the third flag is 0. A node of a multitype tree obtained by binary split or ternary split may further be segmented into multitype tree structures. However, a multitype tree node may not be segmented into quadtree structures. If the first flag is 0, the corresponding multitype tree node is no longer broken, but becomes a leaf node (MTT_leaf_node) of the multitype tree. The CU corresponding to the leaf node of the multi-type tree may be used as the final coding unit described above.

[151] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1. В нижеприведенном описании, режим разбиения на основе многотипного дерева может называться "типом разбиения на основе мультидерева" или "типом разбиения".[151] Based on the mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag, the multi-type tree split mode (MttSplitMode) of the CU may be derived as shown in Table 1 below. In the description below, the multi-type tree split mode may be referred to as "multi-tree split type" or "partition type".

[152] Табл. 1[152] Tab. 1

MttSplitModeMttSplitMode mtt_split_cu_vertical_flagmtt_split_cu_vertical_flag mtt_split_cu_binary_flagmtt_split_cu_binary_flag SPLIT_TT_HORSPLIT_TT_HOR 00 00 SPLIT_BT_HORSPLIT_BT_HOR 00 11 SPLIT_TT_VERSPLIT_TT_VER 11 00 SPLIT_BT_VERSPLIT_BT_VER 11 11

[153] Фиг. 8 является видом, показывающим пример, в котором CTU сегментируется на несколько CU посредством применения многотипного дерева после применения дерева квадрантов. На фиг. 8, полужирные края 810 блоков представляют сегментацию на основе дерева квадрантов, и оставшиеся края 820 представляют сегментацию на основе многотипного дерева. CU может соответствовать блоку кодирования (CB). В варианте осуществления, CU может включать в себя блок кодирования выборок сигналов яркости и два блока кодирования выборок сигналов цветности, соответствующих выборкам сигналов яркости.[153] FIG. 8 is a view showing an example in which a CTU is segmented into multiple CUs by applying a multi-type tree after applying a quadtree. In FIG. 8, the bold block edges 810 represent quadtree based segmentation, and the remaining edges 820 represent multitype tree based segmentation. A CU may correspond to a coding block (CB). In an embodiment, the CU may include a luminance sample coding block and two chrominance sample coding blocks corresponding to the luminance samples.

[154] CB- или TB-размер компонентных (выборок) сигналов цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигналов яркости согласно соотношению компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.) кадра/изображения. В случае цветового формата 4:4:4, CB/TB-размер компонентов сигнала цветности может задаваться равным CB/TB-размеру компонентов сигнала яркости. В случае цветового формата 4:2:2, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной высоте CB/TB компонентов сигнала яркости. В случае цветового формата 4:2:0, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной половине высоты CB/TB компонентов сигнала яркости.[154] The CB or TB size of the chrominance component (samples) may be derived based on the CB or TB size of the luminance component (samples) according to the component ratio according to the color format (chrominance format, e.g., 4:4:4, 4:2:2, 4:2:0, etc.) frame/picture. In the case of a 4:4:4 color format, the CB/TB size of the chrominance components may be set to the CB/TB size of the luminance components. In the case of the 4:2:2 color format, the width of CB/TB of the chroma components may be set to half the width of the CB/TB of the luma components, and the height of the CB/TB of the chrominance components may be set to the height of the CB/TB of the luma components. In the case of a 4:2:0 color format, the CB/TB width of the chroma components may be set to half the width of the CB/TB luma components, and the height of the CB/TB chrominance components may be set to half the height of the CB/TB luminance components.

[155] В варианте осуществления, когда размер CTU равен 128 на основе единицы выборок сигналов яркости, размер CU может иметь размер от 128×128 до 4×4, что составляет идентичный размер с CTU. В одном варианте осуществления, в случае цветового формата 4:2:0 (или формата сигналов цветности), CB-размер сигналов цветности может иметь размер от 64×64 до 2×2.[155] In an embodiment, when the CTU size is 128 based on the luminance sample unit, the CU size may be 128x128 to 4x4, which is the same size as the CTU. In one embodiment, in the case of a 4:2:0 color format (or chrominance format), the CB-size of the chrominance signals may be 64×64 to 2×2.

[156] Между тем, в варианте осуществления, CU-размер и TU-размер могут быть идентичными. Альтернативно, может быть предусмотрено множество TU в CU-области. TU-размер, в общем, представляет размер блока преобразования (TB) компонентных (выборок) сигналов яркости.[156] Meanwhile, in the embodiment, the CU size and TU size may be identical. Alternatively, a plurality of TUs may be provided in a CU area. TU-size, in General, represents the size of the block transformation (TB) component (samples) of the luminance signals.

[157] TU-размер может извлекаться на основе наибольшего допустимого TB-размера maxTbSize, который составляет предварительно определенное значение. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Например, наибольший допустимый TB-размер сигналов яркости может составлять 64×64, и наибольший допустимый TB-размер сигналов цветности может составлять 32×32. Если ширина или высота CB, сегментированного согласно древовидной структуре, больше наибольшей ширины или высоты преобразования, CB может автоматически (или неявно) сегментироваться до тех пор, пока предел TB-размера в горизонтальном и вертикальном направлениях не удовлетворяется.[157] The TU size may be derived based on the largest allowable TB size maxTbSize, which is a predetermined value. For example, when the CU size exceeds maxTbSize, a plurality of TUs (TBs) having maxTbSizes can be extracted from the CUs, and mapping/demapping can be performed in units of TUs (TBs). For example, the largest allowable TB size of luminance signals may be 64×64, and the largest allowable TB size of chrominance signals may be 32×32. If the width or height of a CB segmented according to the tree structure is greater than the largest width or height of the transform, the CB may be automatically (or implicitly) segmented until the TB-size limit in the horizontal and vertical directions is satisfied.

[158] Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, может быть предусмотрена одна или множество TU (или TB) в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.[158] In addition, for example, when intra prediction is applied, the mode/type of intra prediction may be extracted in units of CU (or CB), and the procedure for extracting adjacent reference samples and generating predictive samples may be performed in units of TU (or TB). In this case, one or multiple TUs (or TBs) may be provided in one CU- (or CB-) area, and in this case, multiple TUs or (TBs) may share the same intra prediction mode/type.

[159] Между тем, для схемы дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, следующие параметры могут передаваться в служебных сигналах в качестве синтаксических SPS-элементов из оборудования кодирования в оборудование декодирования. Например, по меньшей мере, одно из CTU-размера, который представляет собой параметр, представляющий размер корневых узлов дерева квадрантов, MinQTSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев дерева квадрантов, MaxBtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов двоичного дерева, MaxTtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов троичного дерева, MaxMttDepth, который представляет собой параметр, представляющий максимальную разрешенную глубину иерархии разбиения на основе многотипного дерева из узла-листа дерева квадрантов, MinBtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев двоичного дерева, или MinTtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев троичного дерева, передается в служебных сигналах.[159] Meanwhile, for a nested multi-type tree quadtree-based coding tree scheme, the following parameters may be signaled as SPS syntax elements from the encoding equipment to the decoding equipment. For example, at least one of CTU-size, which is a parameter representing the size of the quadtree root nodes, MinQTSize, which is a parameter representing the minimum allowed size of quadtree leaf nodes, MaxBtSize, which is a parameter representing the maximum the allowed size of the root nodes of the binary tree, MaxTtSize, which is a parameter representing the maximum allowed size of the root nodes of the ternary tree, MaxMttDepth, which is the parameter representing the maximum allowed depth of the splitting hierarchy based on the multitype tree from the leaf node of the quadtree, MinBtSize, which is a parameter representing the minimum allowed size of leaf nodes of a binary tree, or MinTtSize, which is a parameter representing the minimum allowed size of leaf nodes of a ternary tree, is signaled.

[160] В качестве варианта осуществления использования формата сигналов цветности 4:2:0, CTU-размер может задаваться равным блокам сигналов яркости 128×128 и двум блокам сигналов цветности 64×64, соответствующим блокам сигналов яркости. В этом случае, MinOTSize может задаваться равным 16×16, MaxBtSize может задаваться равным 128×128, MaxTtSzie может задаваться равным 64×64, MinBtSize и MinTtSize могут задаваться равными 4×4, и MaxMttDepth может задаваться равным 4. Сегментация на основе дерева квадрантов может применяться к CTU, чтобы формировать узлы-листья дерева квадрантов. Узел-лист дерева квадрантов может называться "QT-узлом-листом". Узлы-листья дерева квадрантов могут иметь размер от размера 16×16 (например, MinOTSize) до размера 128×128 (например, CTU-размера). Если QT-узел-лист составляет 128×128, он дополнительно может не сегментироваться на двоичное дерево/троичное дерево. Это обусловлено тем, что в этом случае, даже при сегментации, он превышает MaxBtsize и MaxTtszie (например, 64×64). В других случаях, QT-узлы-листья дополнительно могут сегментироваться на многотипное дерево. Следовательно, QT-узел-лист представляет собой корневой узел для многотипного дерева, и QT-узел-лист может иметь значение в 0 для глубины многотипного дерева (mttDepth). Если глубина многотипного дерева достигает MaxMttdepth (например, 4), дополнительная сегментация может более не рассматриваться. Если ширина узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, то дополнительная горизонтальная сегментация может не рассматриваться. Если высота узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, дополнительная вертикальная сегментация может не рассматриваться. Когда сегментация не рассматривается, оборудование кодирования может пропускать передачу в служебных сигналах информации сегментации. В этом случае, оборудование декодирования может извлекать информацию сегментации с предварительно определенным значением.[160] As an embodiment of using the 4:2:0 chrominance format, the CTU size may be set to 128x128 luma blocks and two 64x64 chrominance blocks corresponding to the luma blocks. In this case, MinOTSize may be set to 16x16, MaxBtSize may be set to 128x128, MaxTtSzie may be set to 64x64, MinBtSize and MinTtSize may be set to 4x4, and MaxMttDepth may be set to 4. Quadtree based segmentation can be applied to CTUs to form leaf nodes of a quadtree. A leaf node of a quadtree may be referred to as a "QT leaf node". The leaf nodes of the quadtree can range in size from 16×16 (eg, MinOTSize) to 128×128 (eg, CTU-size). If the QT-node-leaf is 128x128, it may additionally not be segmented into a binary tree/ternary tree. This is due to the fact that in this case, even with segmentation, it exceeds MaxBtsize and MaxTtszie (for example, 64×64). In other cases, QT leaf nodes can additionally be segmented into a multi-type tree. Therefore, a QT leaf node is the root node for a multitype tree, and a QT leaf node can have a value of 0 for the depth of the multitype tree (mttDepth). If the depth of the multitype tree reaches MaxMttdepth (eg 4), additional segmentation may no longer be considered. If the width of a multitype tree node is equal to MinBtSize and less than or equal to 2xMinTtSize, then additional horizontal segmentation may not be considered. If the height of a multitype tree node is equal to MinBtSize and less than or equal to 2xMinTtSize, additional vertical segmentation may not be considered. When segmentation is not considered, the encoding equipment may skip signaling segmentation information. In this case, the decoding equipment can extract segmentation information with a predetermined value.

[161] Между тем, одна CTU может включать в себя блок кодирования выборок сигналов яркости (далее называемый "блоком сигналов яркости") и два блока кодирования выборок сигналов цветности, соответствующих ему (далее называемые "блоками сигналов цветности"). Вышеописанная схема на основе дерева кодирования можно одинаково или отдельно применяться к блоку сигналов яркости и к блоку сигналов цветности текущей CU. В частности, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на идентичную блочную древовидную структуру, и в этом случае, древовидная структура представляется как SINGLE_TREE. Альтернативно, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на отдельные блочные древовидные структуры, и в этом случае, древовидная структура может представляться как DUAL_TREE. Таким образом, когда CTU сегментируется на сдвоенные деревья, блочная древовидная структура для блока сигналов яркости и блочная древовидная структура для блока сигналов цветности могут отдельно присутствовать. В этом случае, блочная древовидная структура для блока сигналов яркости может называться "DUAL_TREE_LUMA", и блочная древовидная структура для компонента сигнала цветности может называться "DUAL_TREE_CHROMA". Для групп P- и B-срезов/плиток, блоки сигналов яркости и сигналов цветности в одной CTU могут быть ограничены тем, что они имеют идентичную структуру в виде дерева кодирования. Тем не менее, для групп I-срезов/плиток, блоки сигналов яркости и сигналов цветности могут иметь отдельную блочную древовидную структуру относительно друг друга. Если отдельная блочная древовидная структура применяется, CTB сигналов яркости может сегментироваться на CU на основе конкретной структуры в виде дерева кодирования, и CTB сигналов цветности может сегментироваться на CU сигнала цветности на основе другой структуры в виде дерева кодирования. Таким образом, это означает то, что CU в группе I-срезов/плиток, к которой применяется отдельная блочная древовидная структура, может включать в себя блок кодирования компонентов сигнала яркости или блоки кодирования двух компонентов сигнала цветности, и CU группы P- или B-срезов/плиток может включать в себя блоки трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).[161] Meanwhile, one CTU may include a luminance sample coding unit (hereinafter referred to as a "luminance signal unit") and two chrominance sample coding units corresponding thereto (hereinafter referred to as "chroma units"). The above-described coding tree-based scheme may be equally or separately applied to the luma block and the chrominance block of the current CU. In particular, luminance and chrominance blocks in one CTU may be segmented into an identical block tree structure, in which case, the tree structure is represented as SINGLE_TREE. Alternatively, the luma and chrominance blocks in one CTU may be segmented into separate block tree structures, in which case, the tree structure may be represented as DUAL_TREE. Thus, when the CTU is segmented into dual trees, a block tree structure for the luma block and a block tree structure for the chrominance block may be separately present. In this case, the block tree structure for the luma block may be called "DUAL_TREE_LUMA", and the block tree structure for the chrominance signal component may be called "DUAL_TREE_CHROMA". For groups of P- and B-slices/tiles, the luminance and chrominance blocks in one CTU may be restricted to have the same coding tree structure. However, for groups of I-slices/tiles, the luminance and chrominance blocks may have a separate block tree structure relative to each other. If a separate block tree structure is applied, the luminance CTB may be segmented into CUs based on a particular coding tree structure, and the chroma CTB may be segmented into chrominance CUs based on another coding tree structure. Thus, this means that a CU in an I-slice/tile group to which a separate block tree structure is applied may include a luma component coding block or two chroma component coding blocks, and a CU of a P- or B- group. slices/tiles may include blocks of three color components (luminance component and two chrominance components).

[162] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве понятия, включенного в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.[162] Although a quadtree-based coding tree structure with a nested multi-type tree is described, the structure in which the CU is segmented is not limited to this. For example, a BT framework and a TT framework can be interpreted as a concept included in a multi-segmentation tree (MPT) structure, and a CU can be interpreted as being segmented through the QT framework and the MPT framework. In an example in which a CU is segmented through a QT framework and an MPT framework, a syntax element (for example, MPT_split_type) including information on how many blocks the leaf node of the QT framework is segmented into, and a syntax element (for example, MPT_split_mode) , including information as to which of the vertical and horizontal directions the leaf-node of the QT structure is segmented, may be signaled to determine the segmentation structure.

[163] В другом примере, CU может сегментироваться способом, отличающимся от QT-структуры, BT-структуры или TT-структуры. Таким образом, в отличие от того, что CU меньшей глубины сегментируется на 1/4 от CU большей глубины согласно QT-структуре, CU меньшей глубины сегментируется на 1/2 от CU большей глубины согласно BT-структуре, или CU меньшей глубины сегментируется на 1/4 или 1/2 от CU большей глубины согласно TT-структуре, CU меньшей глубины может сегментироваться на 1/5, 1/3, 3/8, 3/5, 2/3 или 5/8 от CU большей глубины в некоторых случаях, и способ сегментации CU не ограничен этим.[163] In another example, the CU may be segmented in a manner different from the QT framework, the BT framework, or the TT framework. Thus, in contrast to the fact that a lesser CU is segmented 1/4 of a greater depth CU according to the QT structure, a lesser CU is segmented 1/2 of a greater depth CU according to the BT structure, or a lesser CU is segmented by 1 /4 or 1/2 of the deeper CU according to the TT structure, the shallower CU may be segmented into 1/5, 1/3, 3/8, 3/5, 2/3 or 5/8 of the deeper CU in some cases, and the CU segmentation method is not limited to this.

[164] Когда часть узлового блока дерева превышает нижнюю границу кадра и/или правую границу кадра для кадра, соответствующий узловой блок дерева может ограничиваться таким образом, что выборки во всех кодированных CU расположены на границах кадров. В этом случае, например, могут применяться следующие правила разбиения.[164] When a portion of the node tree block exceeds the lower frame boundary and/or the right frame boundary for a frame, the corresponding tree node block may be constrained such that the samples in all encoded CUs are located on frame boundaries. In this case, for example, the following partitioning rules may apply.

[165] Правило 1 разбиения: В качестве случая, в котором часть узлового блока дерева превышает как нижнюю границу кадра, так и правую границу кадра, когда узловой блок дерева представляет собой QT-узел, имеющий размер, больший минимального QT-размера, узловой блок дерева может разбиваться в режиме QT-разбиения, и когда узловой блок дерева имеет размер, равный или меньший минимального QT-размера, или не представляет собой QT-узел, узловой блок дерева разбивается в режиме горизонтального двоичного разбиения (SPLIT_BT_HOR-режиме).[165] Split Rule 1: As a case in which a portion of the tree node box exceeds both the lower frame boundary and the right frame boundary, when the tree node box is a QT node having a size greater than the minimum QT size, the node box The tree node can be split in QT split mode, and when the tree node block has a size equal to or less than the minimum QT size, or is not a QT node, the tree node block is split in horizontal binary split mode (SPLIT_BT_HOR mode).

[166] Правило 2 разбиения: В качестве случая, в котором правило 1 разбиения не удовлетворяется, и часть узлового блока дерева превышает нижнюю границу кадра, узловой блок дерева разбивается в режиме QT-разбиения, когда узловой блок дерева представляет собой QT-узел, имеющий размер, больший минимального QT-размера и максимального BT-размера, и узловой блок дерева разбивается в режиме горизонтального двоичного разбиения, когда узловой блок дерева представляет собой BTT-узел, имеющий размер, равный или меньший минимального QT-размера.[166] Split rule 2: As a case in which split rule 1 is not satisfied and a part of the tree node box exceeds the lower frame boundary, the tree node box is split in the QT split mode when the tree node box is a QT node having a size greater than the minimum QT size and the maximum BT size, and the tree node block is split in the horizontal binary splitting mode, when the tree node block is a BTT node having a size equal to or less than the minimum QT size.

[167] Правило 3 разбиения: В качестве случая, в котором правило 1 разбиения и правило 2 разбиения не удовлетворяются, и часть узлового блока дерева превышает правую границу кадра, узловой блок дерева разбивается в режиме QT-разбиения, когда узловой блок дерева представляет собой QT-узел, имеющий размер, больший минимального QT-размера и максимального BT-размера, и узловой блок дерева разбивается в режиме QT-разбиения или в режиме горизонтального двоичного разбиения, когда узловой блок дерева имеет размер, больший минимального QT-размера и равный или меньший максимального BT-размера. Альтернативно, когда узловой блок дерева представляет собой BTT-узел или имеет размер, равный или меньший минимального QT-размера, узловой блок дерева разбивается в режиме горизонтального двоичного разбиения.[167] Splitting Rule 3: As a case in which splitting rule 1 and splitting rule 2 are not satisfied and a part of the tree node block exceeds the right frame boundary, the tree node block is split in the QT splitting mode when the tree node block is a QT -a node having a size greater than the minimum QT size and the maximum BT size, and the tree node block is split in the QT split mode or in the horizontal binary split mode, when the tree node block has a size greater than the minimum QT size and equal to or less than maximum BT size. Alternatively, when the tree node block is a BTT node or has a size equal to or less than the minimum QT size, the tree node block is split in horizontal binary splitting mode.

[168] Как описано выше, структура блоков кодирования дерева квадрантов с многотипным деревом может предоставлять очень гибкую структуру сегментации на блоки. Вследствие типов сегментации, поддерживаемых в многотипном дереве, различные шаблоны сегментации могут потенциально приводить к идентичной структуре блоков кодирования в некоторых случаях. В оборудовании кодирования и оборудовании декодирования, посредством ограничения возникновения таких избыточных шаблонов сегментации, может уменьшаться объем данных информации сегментации.[168] As described above, a multi-type tree quadtree coding block structure can provide a very flexible block segmentation structure. Due to the segmentation types supported in a multi-type tree, different segmentation patterns can potentially result in an identical coding block structure in some cases. In the encoding equipment and the decoding equipment, by limiting the occurrence of such redundant segmentation patterns, the amount of segmentation information data can be reduced.

[169] Например, фиг. 9 показывает избыточные шаблоны разбиения, которые могут возникать при разбиении на двоичное дерево и разбиении на троичное дерево. Как показано на фиг. 9, непрерывное двоичное разбиение 910 и 920 для одного направления двухэтапных уровней имеет структуру блоков кодирования, идентичную структуре блоков кодирования для двоичного разбиения для центрального сегмента после троичного разбиения. В этом случае, разбиение на двоичное дерево для центральных блоков 930 и 940 разбиения на троичное дерево может запрещаться. этот запрет является применимым к CU всех кадров. Когда такое конкретное разбиение запрещается, передача в служебных сигналах соответствующих синтаксических элементов может модифицироваться посредством отражения этого запрещенного случая, за счет этого уменьшая число битов, передаваемых в служебных сигналах для разбиения. Например, как показано в примере, приведенном на фиг. 9, когда разбиение на двоичное дерево для центрального блока CU запрещается, синтаксический элемент mtt_split_cu_binary_flag, указывающий то, представляет разбиение собой двоичное разбиение или троичное разбиение, не передается в служебных сигналах, и его значение может извлекаться в качестве 0 посредством оборудования декодирования.[169] For example, FIG. 9 shows redundant splitting patterns that can occur in binary tree splitting and ternary tree splitting. As shown in FIG. 9, the continuous binary split 910 and 920 for one direction of the two-stage layers has a coding block structure identical to the coding block structure for the binary split for the center segment after the ternary split. In this case, binary tree splitting for the ternary tree splitting central blocks 930 and 940 may be disabled. this prohibition is applicable to the CU of all frames. When such a particular splitting is disabled, the signaling of the corresponding syntax elements can be modified to reflect this forbidden case, thereby reducing the number of bits signaled for splitting. For example, as shown in the example shown in FIG. 9, when binary tree splitting is disabled for the central CU, the syntax element mtt_split_cu_binary_flag indicating whether the split is binary split or ternary split is not signaled, and its value can be extracted as 0 by the decoding equipment.

[170] Виртуальная конвейерная единица данных [170] Virtual Conveyor Data Unit

[171] Виртуальные конвейерные единицы данных (VPDU) могут задаваться для конвейерной обработки в кадре. VPDU могут задаваться как неперекрывающиеся единицы в одном кадре. В оборудовании декодирования, последовательные VPDU могут одновременно обрабатываться посредством нескольких ступеней конвейера. В большинстве ступеней конвейера, VPDU-размер может быть примерно пропорциональным размеру буфера. Соответственно, поддержание VPDU-размера небольшим является важным при рассмотрении размера буфера с точки зрения аппаратных средств. В большинстве видов оборудования декодирования, VPDU-размер может задаваться равным максимальному размеру блока преобразования (TB). Например, VPDU-размер может составлять размер в 64×64 (64×64 выборки сигнала яркости). Помимо этого, VPDU-размер может изменяться (увеличиваться или уменьшаться) с учетом вышеописанного разбиения на троичное дерево (TT) и/или двоичное дерево (BT).[171] Virtual Pipeline Data Units (VPDUs) may be defined for pipelining within a frame. VPDUs may be defined as non-overlapping units in one frame. In decoding equipment, consecutive VPDUs may be simultaneously processed through multiple pipeline stages. In most stages of the pipeline, the VPDU size can be roughly proportional to the buffer size. Accordingly, keeping the VPDU size small is important when considering the buffer size from a hardware point of view. In most types of decoding equipment, the VPDU size may be set to the maximum transform block (TB) size. For example, the VPDU size may be 64x64 (64x64 luma samples). In addition, the VPDU size may change (increase or decrease) in view of the above-described partitioning into a ternary tree (TT) and/or a binary tree (BT).

[172] Между тем, чтобы сохранять VPDU-размер равным 64×64, по меньшей мере, одно из следующих ограничений может применяться.[172] Meanwhile, in order to keep the VPDU size equal to 64×64, at least one of the following restrictions may be applied.

[173] Ограничение 1: Разбиение на троичное дерево для CU, имеющей, по меньшей мере, одно из ширины или высоты в 128, не разрешается.[173] Constraint 1: A ternary tree split for a CU having at least one of width or height of 128 is not allowed.

[174] Ограничение 2: Разбиение на горизонтальное двоичное дерево для CU, имеющей ширину в 128 и высоту в 64 или меньше (т.е. CU 128xN с N≤64), не разрешается.[174] Constraint 2: Horizontal binary tree splitting for a CU having a width of 128 and a height of 64 or less (ie, CU 128xN with N≤64) is not allowed.

[175] Ограничение 3: Разбиение на вертикальное двоичное дерево для CU, имеющей ширину 64 или меньше или высоту 128 (т.е. CU Nx128 с N≤64), не разрешается.[175] Constraint 3: Vertical binary tree splitting for a CU having a width of 64 or less or a height of 128 (ie, a CU of Nx128 with N≤64) is not allowed.

[176] Примеры разбиения CU, теперь разрешенные в соответствии с вышеуказанными ограничениями, показаны на фиг. 10. На фиг. 10, полужирные сплошные линии обозначают разбиение блоков, и оставшиеся сплошные линии обозначают CU.[176] Examples of CU partitioning now allowed under the above restrictions are shown in FIG. 10. In FIG. 10, bold solid lines indicate block splits, and the remaining solid lines indicate CUs.

[177] Ссылаясь на фиг. 10, согласно ограничению 1, разбиение на вертикальное троичное дерево для CU 1010 128×128 не разрешается. Помимо этого, согласно ограничению 1, разбиение на горизонтальное троичное дерево для CU 1020 128×128 не разрешается. Помимо этого, согласно ограничению 3, разбиение на вертикальное двоичное дерево для CU 1030 64×128 не разрешается. Помимо этого, согласно ограничению 2, разбиение на горизонтальное двоичное дерево для CU 1040 128×64 не разрешается. Помимо этого, согласно ограничению 1, разбиение на вертикальное троичное дерево для CU 1050 64×128 не разрешается. Помимо этого, согласно ограничению 1, разбиение на горизонтальное троичное дерево для CU 1060 128×64 не разрешается. Помимо этого, согласно ограничению 1, горизонтальное троичное разбиение для CU 1070 64×128 не разрешается. Помимо этого, согласно ограничению 1, вертикальное троичное разбиение для CU 1080 128×64 не разрешается.[177] Referring to FIG. 10, according to constraint 1, vertical ternary tree splitting for CU 1010 128x128 is not allowed. In addition, according to constraint 1, splitting into a horizontal ternary tree for CU 1020 128×128 is not allowed. In addition, according to constraint 3, vertical binary tree partitioning for CU 1030 64x128 is not allowed. In addition, according to constraint 2, splitting into a horizontal binary tree for CU 1040 128x64 is not allowed. In addition, according to constraint 1, vertical ternary tree splitting for CU 1050 64×128 is not allowed. In addition, according to constraint 1, splitting into a horizontal ternary tree for CU 1060 128×64 is not allowed. In addition, according to constraint 1, horizontal ternary partitioning for CU 1070 64x128 is not allowed. In addition, according to constraint 1, vertical ternary partitioning for CU 1080 128x64 is not allowed.

[178] Между тем, в сдвоенном дереве во внутреннем кадре, различные структуры сегментации могут применяться к дереву кодирования сигналов яркости и дереву кодирования сигналов цветности. В сдвоенном дереве, может вводиться больший конвейер кодирования, и в дереве кодирования сигналов цветности, блок сигналов цветности, имеющий небольшой размер, к примеру, 2×2, 4×2 и 2×4, может разрешаться согласно диапазону QTBT-значения MinQTSizeC, MinBtSizeY и MinTTSizeY. Тем не менее, это может затруднять проектирование практического оборудования декодирования. Помимо этого, операция умножения требуется в режиме на основе кросскомпонентной линейной модели (CCLM), планарном режиме, угловом режиме и т.д. Чтобы разрешать вышеописанные проблемы, в сдвоенном дереве, блок сигналов цветности, имеющий небольшой размер, к примеру, 2×2, 4×2 и 2×4, может ограничиваться через ограничения по сегментации.[178] Meanwhile, in the dual tree in the intra frame, different segmentation structures may be applied to the luminance coding tree and the chrominance coding tree. In the dual tree, a larger coding pipeline may be introduced, and in the chrominance coding tree, a chrominance block having a small size such as 2×2, 4×2, and 2×4 may be resolved according to a range of QTBT values MinQTSizeC, MinBtSizeY and MinTTSizeY. However, this can make it difficult to design practical decoding hardware. In addition, the multiplication operation is required in cross-component linear model (CCLM) mode, planar mode, angular mode, and so on. In order to solve the above-described problems, in a dual tree, a chroma block having a small size such as 2x2, 4x2, and 2x4 may be limited through segmentation constraints.

[179] Общее представление взаимного прогнозирования [179] Interprediction General Representation

[180] В дальнейшем в этом документе описывается взаимное прогнозирование согласно настоящему раскрытию сущности.[180] Hereinafter, this document describes mutual prediction according to the present disclosure.

[181] Модуль прогнозирования оборудования кодирования изображений/оборудования декодирования изображений согласно настоящему раскрытию сущности может выполнять взаимное прогнозирование в единицах блоков, чтобы извлекать прогнозную выборку. Взаимное прогнозирование может представлять прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений, информации движения и т.д.) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (блок прогнозирования или массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра, указываемого посредством индекса опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" или "colBlock", и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)" или "colPicture". Например, список возможных вариантов информации движения может конструироваться на основе соседних блоков относительно текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, с тем чтобы извлекать вектор движения текущего блока и/или индекс опорного кадра.[181] The prediction module of the image coding equipment/image decoding equipment according to the present disclosure may perform inter-prediction in units of blocks to extract a prediction sample. Inter-prediction may represent prediction derived in a manner that depends on data elements (eg, sample values, motion information, etc.) of a frame(s) other than the current frame. When inter-prediction is applied to a current block, a predicted block (prediction block or prediction sample array) for the current block may be derived based on a reference block (reference sample array) indicated by a motion vector for a reference frame indicated by a reference frame index. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information of the current block may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the adjacent block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction type information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter prediction, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighbor block may be the same or different. The temporal neighbor block may be called a "collocated reference block", "collocated CU (colCU)", or "colBlock", and a reference frame including the temporal neighbor block may be referred to as a "collocated frame (colPic)" or "colPicture" . For example, a list of motion information candidates may be constructed based on neighboring blocks with respect to the current block, and flag or index information indicating which candidate is selected (used) may be signaled so as to derive the current block's motion vector and/ or the index of the reference frame.

[182] Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть равной информации движения выбранного соседнего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. В случае режима прогнозирования информации движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и разность векторов движения может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения. В настоящем раскрытии сущности, MVP-режим может иметь смысловое значение, идентичное смысловому значению усовершенствованного прогнозирования векторов движения (AMVP).[182] Mutual prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the motion information of the current block may be equal to the motion information of the selected neighboring block. In the case of the skip mode, the residual signal may not be transmitted, in contrast to the combine mode. In the case of a motion information prediction (MVP) mode, a motion vector of a selected neighbor block may be used as a motion vector predictor, and the motion vector difference may be signaled. In this case, the motion vector of the current block may be extracted using the sum of the motion vector predictor and the motion vector difference. In the present disclosure, the MVP mode may have a meaning identical to that of advanced motion vector prediction (AMVP).

[183] Информация движения может включать в себя L0-информацию движения и/или L1-информацию движения согласно типу взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Вектор движения в L0-направлении может называться "L0-вектором движения" или "MVL0", и вектор движения в L1-направлении может называться "L1-вектором движения" или "MVL1". Прогнозирование на основе L0-вектора движения может называться "L0-прогнозированием", прогнозирование на основе L1-вектора движения может называться "L1-прогнозированием", и прогнозирование на основе как L0-вектора движения, так и L1-вектора движения может называться "бипрогнозированием". Здесь, L0-вектор движения может указывать вектор движения, ассоциированный со списком L0 опорных кадров (L0), и L1-вектор движения может указывать вектор движения, ассоциированный со списком L1 опорных кадров (L1). Список L0 опорных кадров может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров, и список L1 опорных кадров может включать в себя кадры после текущего кадра в порядке вывода. Предыдущие кадры могут называться "прямыми (опорными) кадрами", и последующие кадры могут называться "обратными (опорными) кадрами". Список L0 опорных кадров дополнительно может включать в себя кадры после текущего кадра в порядке вывода в качестве опорных кадров. В этом случае, в списке L0 опорных кадров, предыдущие кадры могут сначала индексироваться, и последующие кадры затем могут индексироваться. Список L1 опорных кадров дополнительно может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров. В этом случае, в списке L1 опорных кадров, последующие кадры могут сначала индексироваться, и предыдущие кадры затем могут индексироваться. Здесь, порядок вывода может соответствовать порядку номеров в последовательности кадров (POC).[183] The motion information may include L0 motion information and/or L1 motion information according to the type of mutual prediction (L0 prediction, L1 prediction, bi-prediction, etc.). The motion vector in the L0 direction may be referred to as the "L0 motion vector" or "MVL0", and the motion vector in the L1 direction may be referred to as the "L1 motion vector" or "MVL1". Prediction based on the L0 motion vector may be referred to as "L0 prediction", prediction based on the L1 motion vector may be referred to as "L1 prediction", and prediction based on both the L0 motion vector and the L1 motion vector may be referred to as "biprediction". ". Here, the L0 motion vector may indicate a motion vector associated with the L0 list of reference frames (L0), and the L1 motion vector may indicate a motion vector associated with the L1 list of reference frames (L1). The reference frame list L0 may include frames before the current frame in the output order as reference frames, and the reference frame list L1 may include frames after the current frame in the output order. Previous frames may be referred to as "forward (reference) frames", and subsequent frames may be referred to as "reverse (reference) frames". The reference frame list L0 may further include frames after the current frame in output order as reference frames. In this case, in the reference frame list L0, previous frames may be indexed first, and subsequent frames may then be indexed. The reference frame list L1 may further include frames before the current frame in output order as reference frames. In this case, in the reference frame list L1, subsequent frames may be indexed first, and previous frames may then be indexed. Here, the output order may correspond to the order of the numbers in the sequence of frames (POC).

[184] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.[184] FIG. 11 is a flowchart illustrating an inter-prediction-based video/image coding method.

[185] Фиг. 12 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.[185] FIG. 12 is a view illustrating the configuration of the inter prediction unit 180 according to the present disclosure.

[186] Способ кодирования по фиг. 11 может осуществляться посредством оборудования кодирования изображений по фиг. 2. В частности, этап S1110 может выполняться посредством модуля 180 взаимного прогнозирования, и этап S1120 может выполняться посредством остаточного процессора. В частности, этап S1120 может выполняться посредством вычитателя 115. Этап S1130 может выполняться посредством энтропийного кодера 190. Информация прогнозирования этапа S1130 может извлекаться посредством модуля 180 взаимного прогнозирования, и остаточная информация этапа S1130 может извлекаться посредством остаточного процессора. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 120 оборудования кодирования изображений, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.[186] The encoding method of FIG. 11 may be performed by the image encoding equipment of FIG. 2. In particular, step S1110 may be performed by the inter-prediction unit 180, and step S1120 may be performed by the residual processor. Specifically, step S1120 may be performed by subtractor 115. Step S1130 may be performed by entropy encoder 190. Prediction information of step S1130 may be extracted by inter-prediction unit 180, and residual information of step S1130 may be extracted by residual processor. The residual information is information about the residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples. As described above, the residual samples may be extracted as transform coefficients via the image encoding equipment transform 120, and the transform coefficients may be extracted as quantized transform coefficients via the quantizer 130. Information regarding the quantized transform coefficients may be encoded by the entropy encoder 190 via a residual encoding procedure.

[187] Ссылаясь на фиг. 11 и 12 вместе, оборудование кодирования изображений может выполнять взаимное прогнозирование для текущего блока (S1110). Оборудование кодирования изображений может извлекать режим взаимного прогнозирования и информацию движения текущего блока и формировать прогнозные выборки текущего блока. Здесь, процедуры определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок могут одновременно выполняться, либо любая из них может выполняться перед другими процедурами. Например, как показано на фиг. 12, модуль 180 взаимного прогнозирования оборудования кодирования изображений может включать в себя модуль 181 определения режима прогнозирования, модуль 182 извлечения информации движения и модуль 183 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования текущего блока, модуль 182 извлечения информации движения может извлекать информацию движения текущего блока, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль 180 взаимного прогнозирования оборудования кодирования изображений может выполнять поиск блока, аналогичного текущему блоку в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности позиций между опорным блоком и текущим блоком. Оборудование кодирования изображений может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование кодирования изображений может сравнивать функции затрат на искажение в зависимости от скорости передачи (RD) для различных режимов прогнозирования и определять оптимальный режим прогнозирования текущего блока. Тем не менее, способ определения режима прогнозирования текущего блока посредством оборудования кодирования изображений не ограничен вышеприведенным примером, и могут использоваться различные способы.[187] Referring to FIG. 11 and 12 together, the image encoding equipment may perform inter prediction for the current block (S1110). The image encoding equipment can extract the inter-prediction mode and motion information of the current block, and generate prediction samples of the current block. Here, the procedures for determining the inter-prediction mode, extracting motion information, and generating prediction samples may be simultaneously executed, or any of them may be performed before other procedures. For example, as shown in FIG. 12, the mutual prediction unit 180 of the image coding equipment may include a prediction mode determination unit 181, a motion information extraction unit 182, and a prediction sample extraction unit 183. The prediction mode determining unit 181 may determine the prediction mode of the current block, the motion information extractor 182 may extract the motion information of the current block, and the prediction sample extractor 183 may extract the prediction samples of the current block. For example, the inter-prediction unit 180 of the image coding equipment may search for a block similar to the current block in a predetermined area (search area) of reference frames through motion estimation, and retrieve a reference block whose difference with respect to the current block is equal to or less than a predetermined criterion or minimum. Based on this, a reference frame index indicating a reference frame in which the reference block is located can be extracted, and a motion vector can be extracted based on a position difference between the reference block and the current block. The image encoding equipment can determine the mode applied to the current block from various prediction modes. The image encoding equipment can compare the distortion cost functions as a function of the transmission rate (RD) for various prediction modes and determine the optimal prediction mode of the current block. However, the method for determining the prediction mode of the current block by the image encoding equipment is not limited to the above example, and various methods can be used.

[188] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты объединения из соседних блоков относительно текущего блока и конструировать список возможных вариантов объединения с использованием извлеченных возможных вариантов объединения. Помимо этого, оборудование кодирования изображений может извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования изображений. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.[188] For example, when the skip mode or merge mode is applied to the current block, the image coding equipment may extract merge candidates from adjacent blocks relative to the current block and construct a merge candidate list using the extracted merge candidates. In addition, the image encoding equipment can extract a reference block whose difference relative to the current block is equal to or less than a predetermined criterion or minimum from the reference blocks indicated by the join candidates included in the join candidate list. In this case, the combining candidate associated with the extracted reference block may be selected, and combining index information indicating the selected combining candidate may be generated and signaled to the image decoding equipment. The motion information of the current block may be extracted using the motion information of the selected join candidate.

[189] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты предикторов векторов движения (MVP) из соседних блоков относительно текущего блока и конструировать список возможных MVP-вариантов с использованием извлеченных возможных MVP-вариантов. Помимо этого, оборудование кодирования изображений может использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант с вектором движения, имеющим наименьшую разность относительно вектора движения текущего блока из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация индекса, указывающая выбранный возможный MVP-вариант и информацию относительно MVD, может передаваться в служебных сигналах в оборудование декодирования изображений. Помимо этого, при применении MVP-режима, значение индекса опорного кадра может конструироваться в качестве информации индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование декодирования изображений.[189] As another example, when the MVP mode is applied to the current block, the image encoding equipment may extract motion vector predictor (MVP) candidates from adjacent blocks relative to the current block and construct a list of MVP candidates using the extracted MVP candidates. . In addition, the image encoding equipment may use the motion vector of an MVP candidate selected from among the MVP candidates included in the MVP candidate list as the MVP of the current block. In this case, for example, a motion vector indicating a reference block derived by the above-described motion estimation may be used as the motion vector of the current block, and the MVP candidate with the motion vector having the smallest difference with respect to the motion vector of the current block among the candidate MVP candidates , may represent the selected MVP candidate. A motion vector difference (MVD), which is a difference obtained by subtracting the MVP from the motion vector of the current block, can be extracted. In this case, index information indicating the selected MVP candidate and information regarding the MVD may be signaled to the picture decoding equipment. In addition, when applying the MVP mode, the index value of the key frame may be constructed as the index information of the key frame and separately signaled to the image decoding equipment.

[190] Оборудование кодирования изображений может извлекать остаточные выборки на основе прогнозных выборок (S1120). Оборудование кодирования изображений может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозных выборок. Например, остаточная выборка может извлекаться посредством вычитания соответствующей прогнозной выборки из исходной выборки.[190] The image encoding equipment may derive residual samples based on the predictive samples (S1120). The image encoding equipment can extract residual samples through a comparison between the original samples of the current block and the predictive samples. For example, the residual sample may be derived by subtracting the corresponding predictive sample from the original sample.

[191] Оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S1130). Оборудование 100 кодирования изображений может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима и т.д.) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Из информации режима прогнозирования, флаг пропуска указывает то, применяется или нет режим пропуска к текущему блоку, и флаг объединения указывает то, применяется или нет режим объединения к текущему блоку. Альтернативно, информация режима прогнозирования может указывать один из множества режимов прогнозирования, к примеру, индекс режима. Когда флаг пропуска и флаг объединения равны 0, может определяться то, что MVP-режим применяется к текущему блоку. Информация относительно информации движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Из информации выбора возможных вариантов, индекс объединения может передаваться в служебных сигналах, когда режим объединения применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных вариантов объединения, включенных в список возможных вариантов объединения. Из информации выбора возможных вариантов, MVP-флаг или MVP-индекс может передаваться в служебных сигналах, когда MVP-режим применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных MVP-вариантов в списке возможных MVP-вариантов. Помимо этого, информация относительно информации движения может включать в себя информацию относительно вышеописанной MVD и/или информацию индекса опорного кадра. Помимо этого, информация относительно информации движения может включать в себя информацию, указывающую то, следует применять L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.[191] The image encoding equipment may encode image information including prediction information and residual information (S1130). The image encoding equipment 100 may output encoded image information in the form of a bitstream. The prediction information may include prediction mode information (eg, skip flag, merge flag, or mode index, etc.) and motion information as information associated with the prediction procedure. Of the prediction mode information, the skip flag indicates whether or not the skip mode is applied to the current block, and the join flag indicates whether or not the join mode is applied to the current block. Alternatively, the prediction mode information may indicate one of a plurality of prediction modes, such as a mode index. When the skip flag and the merge flag are 0, it may be determined that the MVP mode is applied to the current block. The information on the motion information may include candidate selection information (eg, merge index, MVP flag, or MVP index), which is information for extracting a motion vector. Of the candidate selection information, the merge index may be signaled when the merge mode is applied to the current block, and may be information for selecting one of the merge candidates included in the merge candidate list. Of the candidate selection information, an MVP flag or an MVP index may be signaled when the MVP mode is applied to the current block, and may be information for selecting one of the MVP candidates in the MVP candidate list. In addition, information regarding motion information may include information regarding the above-described MVD and/or reference frame index information. In addition, the information on the motion information may include information indicating whether L0 prediction, L1 prediction, or bi-prediction should be applied. The residual information is information about the residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples.

[192] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования изображений либо может передаваться в оборудование декодирования изображений через сеть.[192] The output bitstream may be stored in a (digital) storage medium and transmitted to the image decoding equipment, or may be transmitted to the image decoding equipment via a network.

[193] Как описано выше, оборудование кодирования изображений может формировать восстановленный кадр (кадр, включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, посредством оборудования кодирования изображений, результата прогнозирования, идентичного прогнозированию, выполняемому посредством оборудования декодирования изображений, за счет этого повышая эффективность кодирования. Соответственно, оборудование кодирования изображений может сохранять восстановленный кадр (или восстановленные выборки и восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.[193] As described above, the image encoding equipment can generate a reconstructed frame (a frame including reconstructed samples and a reconstructed block) based on the reference samples and the residual samples. This serves to extract, by the image encoding equipment, a prediction result identical to that performed by the image decoding equipment, thereby improving the encoding efficiency. Accordingly, the image encoding equipment may store the reconstructed frame (or the reconstructed samples and the reconstructed block) in a memory and use it as a reference frame for inter prediction. As described above, the in-loop filtering procedure may additionally be applied to the reconstructed frame.

[194] Фиг. 13 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.[194] FIG. 13 is a flowchart illustrating a video/image decoding method based on inter-prediction.

[195] Фиг. 14 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.[195] FIG. 14 is a view illustrating the configuration of the inter prediction unit 260 according to the present disclosure.

[196] Оборудование декодирования изображений может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования изображений. Оборудование декодирования изображений может выполнять прогнозирование для текущего блока на основе принимаемой информации прогнозирования и извлекать прогнозные выборки.[196] The image decoding equipment can perform an operation corresponding to the operation performed by the image encoding equipment. The image decoding equipment may perform prediction for the current block based on the received prediction information and extract prediction samples.

[197] Способ декодирования по фиг. 13 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Этапы S1310-S1330 могут выполняться посредством модуля прогнозирования и информации прогнозирования этапа S1310, и остаточная информация этапа S1340 может получаться из потока битов посредством энтропийного декодера 210. Остаточный процессор оборудования декодирования изображений может извлекать остаточные выборки для текущего блока на основе остаточной информации (S1340). В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе деквантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, чтобы извлекать коэффициенты преобразования, и обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования, чтобы извлекать остаточные выборки для текущего блока. Этап S1350 может выполняться посредством сумматора 235 или модуля восстановления.[197] The decoding method of FIG. 13 may be performed by the image decoding equipment of FIG. 3. Steps S1310 to S1330 may be performed by the prediction unit and prediction information of step S1310, and the residual information of step S1340 may be obtained from the bitstream by the entropy decoder 210. The residual processor of the image decoding equipment may derive residual samples for the current block based on the residual information (S1340 ). In particular, the residual processor dequantizer 220 may perform dequantization on the dequantized transform coefficients derived from the residual information to extract the transform coefficients, and the residual processor inverse transform 230 may perform an inverse transform on the transform coefficients to extract the residual samples for the current block. Step S1350 may be performed by an adder 235 or a recovery module.

[198] В частности, оборудование декодирования изображений может определять режим прогнозирования текущего блока на основе принимаемой информации прогнозирования (S1310). Оборудование декодирования изображений может определять то, какой режим взаимного прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.[198] In particular, the image decoding equipment may determine the prediction mode of the current block based on the received prediction information (S1310). The image decoding equipment can determine which inter-prediction mode is applied to the current block based on the prediction mode information in the prediction information.

[199] Например, может определяться то применяется или нет режим пропуска к текущему блоку, на основе флага пропуска. Помимо этого, может определяться то, применяется режим объединения или MVP-режим к текущему блоку, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режимов взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.[199] For example, it may be determined whether or not the skip mode is applied to the current block based on the skip flag. In addition, it may be determined whether the merge mode or MVP mode is applied to the current block based on the merge flag. Alternatively, one of the various possible inter-prediction modes may be selected based on the mode index. Possible options for inter prediction modes may include skip mode, merge mode, and/or MVP mode, or may include various inter prediction modes, which are described below.

[200] Оборудование декодирования изображений может извлекать информацию движения текущего блока на основе определенного режима взаимного прогнозирования (S1320). Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных вариантов объединения, который описывается ниже, и выбирать один из возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (индекса объединения). Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения. Например, информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.[200] The image decoding equipment may extract motion information of the current block based on the determined inter-prediction mode (S1320). For example, when the skip mode or merge mode is applied to the current block, the image decoding equipment may construct a merge candidate list, which is described below, and select one of the merge candidates included in the merge candidate list. The selection may be performed based on the above-described candidate selection information (combination index). The motion information of the current block may be extracted using the motion information of the selected join candidate. For example, the motion information of the selected join candidate may be used as the motion information of the current block.

[201] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока. Помимо этого, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.[201] As another example, when the MVP mode is applied to the current block, the image decoding equipment may construct a list of MVP candidates and use the motion vector of the MVP candidate selected from among the MVP candidates included in the MVP candidate list. options, as the MVP of the current block. The selection may be performed based on the candidate selection information (MVP flag or MVP index) described above. In this case, the MVD of the current block may be derived based on the information regarding the MVD, and the motion vector of the current block may be derived based on the MVP and MVD of the current block. In addition, the index of the key frame of the current block may be derived based on the information of the index of the key frame. The frame indicated by the index of the reference frame in the reference frame list of the current block may be retrieved as the reference frame referenced for inter-prediction of the current block.

[202] Оборудование декодирования изображений может формировать прогнозные выборки текущего блока на основе информации движения текущего блока (S1330). В этом случае, опорный кадр может извлекаться на основе индекса опорного кадра текущего блока, и прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока для опорного кадра. В некоторых случаях, процедура фильтрации прогнозных выборок дополнительно может выполняться для всех или некоторых прогнозных выборок текущего блока.[202] The image decoding equipment may generate prediction samples of the current block based on motion information of the current block (S1330). In this case, the reference frame may be derived based on the reference frame index of the current block, and the prediction samples of the current block may be derived using the reference block samples indicated by the current block motion vector for the reference frame. In some cases, the prediction sample filtering procedure may additionally be performed on all or some of the prediction samples of the current block.

[203] Например, как показано на фиг. 14, модуль 260 взаимного прогнозирования оборудования декодирования изображений может включать в себя модуль 261 определения режима прогнозирования, модуль 262 извлечения информации движения и модуль 263 извлечения прогнозных выборок. В модуле 260 взаимного прогнозирования оборудования декодирования изображений, модуль 261 определения режима прогнозирования может определять режим прогнозирования текущего блока на основе принимаемой информации режима прогнозирования, модуль 262 извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра и т.д.) текущего блока на основе принимаемой информации движения, и модуль 263 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.[203] For example, as shown in FIG. 14, the mutual prediction unit 260 of the image decoding equipment may include a prediction mode determination unit 261, a motion information extraction unit 262, and a prediction sample extraction unit 263. In the image decoding equipment mutual prediction unit 260, the prediction mode determination unit 261 may determine the prediction mode of the current block based on the received prediction mode information, the motion information extraction unit 262 may extract motion information (motion vector and/or reference frame index, etc.). ) of the current block based on the received motion information, and the prediction sample extractor 263 may extract the prediction samples of the current block.

[204] Оборудование декодирования изображений может формировать остаточные выборки текущего блока на основе принимаемой остаточной информации (S1340). Оборудование декодирования изображений может формировать восстановленные выборки текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на основе этого (S1350). После этого, процедура внутриконтурной фильтрации может применяться к восстановленному кадру, как описано выше.[204] The image decoding equipment may generate residual samples of the current block based on the received residual information (S1340). The image decoding equipment may generate reconstructed samples of the current block based on the predictive samples and the residual samples, and generate a reconstructed frame based on this (S1350). Thereafter, the in-loop filtering procedure may be applied to the reconstructed frame as described above.

[205] Как описано выше, процедура взаимного прогнозирования может включать в себя этап определения режима взаимного прогнозирования, этап извлечения информации движения согласно определенному режиму прогнозирования и этап выполнения прогнозирования (формирования прогнозных выборок) на основе извлеченной информации движения. Процедура взаимного прогнозирования может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений, как описано выше.[205] As described above, the inter-prediction procedure may include a step of determining an inter-prediction mode, a step of extracting motion information according to the determined prediction mode, and a step of performing prediction (predictive sampling) based on the extracted motion information. The inter-prediction procedure may be performed by the image encoding equipment and the image decoding equipment as described above.

[206] Определение субкадра [206] Subframe definition

[207] В дальнейшем в этом документе описывается субкадр согласно настоящему раскрытию сущности.[207] Hereinafter, this document describes a subframe according to the present disclosure.

[208] Субкадр может конструировать прямоугольную зону кодированного кадра. Размер субкадра может задаваться по-разному в кадре. Для всех кадров, принадлежащих одной последовательности, размер и позиция конкретного отдельного субкадра могут одинаково задаваться. Отдельная последовательность субкадра может независимо декодироваться. Плитка и срез (и CTB) могут быть ограничены таким образом, что они не перекрывают границу субкадра. С этой целью, оборудование кодирования может выполнять кодирование таким образом, что субкадры независимо декодируются. С этой целью, семантические ограничения в потоке битов могут требоваться. Помимо этого, для всех кадров, принадлежащих одной последовательности, компоновка плиток, срезов и кирпичей в субкадре может конструироваться по-разному.[208] The subframe may construct a rectangular area of the encoded frame. The subframe size may be defined differently within a frame. For all frames belonging to the same sequence, the size and position of a particular individual subframe may be given the same. An individual subframe sequence may be independently decoded. The tile and slice (and CTB) may be constrained such that they do not overlap the subframe boundary. To this end, the encoding equipment may perform encoding such that the subframes are independently decoded. To this end, semantic restrictions in the bitstream may be required. In addition, for all frames belonging to the same sequence, the arrangement of tiles, slices, and bricks in a subframe may be constructed differently.

[209] Цель проектного решения по субкадрам [209] The purpose of the subframe design decision

[210] Проектное решение по субкадрам направлено на абстрагирование или инкапсуляцию диапазона, меньшего уровня кадра или большего уровня группы срезов или плиток. Следовательно, VCL NAL-единица поднабора набора плиток с постоянным движением (MCTS) может извлекаться из одного VVC-потока битов и перебазируется в другой VVC-поток битов без сложностей, таких как модификация на уровне VCL. Здесь, MCTS представляет собой технологию кодирования для обеспечения пространственной и временной независимости между плитками, и когда MCTS применяется, нельзя ссылаться на информацию относительно плиток, которые не включаются в MCTS, которому принадлежит текущая плитка. Когда изображение разбивается на MCTS и кодируется, независимая передача и декодирование MCTS являются возможными.[210] The subframe design aims to abstract or encapsulate a range, a subframe level, or a larger group of slices or tiles. Therefore, a Constant Motion Tile Set Subset (MCTS) NAL NAL unit can be extracted from one VVC bitstream and rebased to another VVC bitstream without complexities such as modification at the VCL level. Here, MCTS is a coding technology for ensuring spatial and temporal independence between tiles, and when MCTS is applied, information regarding tiles that are not included in the MCTS to which the current tile belongs cannot be referred to. When an image is split into MCTS and encoded, independent transmission and decoding of the MCTS is possible.

[211] Такое проектное решение по субкадрам может иметь преимущество в изменении ориентации просмотра в зависимых от видового порта схемах потоковой передачи на 360° со смешанным разрешением.[211] Such a sub-frame design may have the advantage of changing the viewing orientation in viewport-dependent mixed-resolution 360° streaming schemes.

[212] Вариант использования субкадров [212] Subframe use case

[213] Использование субкадра требуется в зависимой от видового порта схеме потоковой передачи на 360°, предоставляющей увеличенное реальное пространственное разрешение для видового порта. Например, схема в плитках, покрывающих видовой порт, извлекаемый из ERP (равнопрямоугольного проекционного) кадра в 6K (6144×3072) или разрешения проекции кубической карты (CMP), имеющего производительность декодирования в 4K (HEVC-уровень 5.1) эквивалентную ему, включается в разделы D.6.3 и D.6.4 OMAF и используется в руководстве по стандартам отраслевого VR-форума. Известно, что такое разрешение является подходящим для наголовного дисплея с использованием квадратической HD(2560×1440)-панели отображения.[213] The use of a subframe is required in a viewport dependent 360° streaming scheme providing increased real spatial resolution for a viewport. For example, the layout in tiles covering a viewport extracted from a 6K (6144×3072) ERP (equirectangular projection) frame or cube map projection (CMP) resolution having a 4K decoding performance (HEVC layer 5.1) equivalent to it is included in sections D.6.3 and D.6.4 of the OMAF and is used in the industry VR forum standards guide. Such a resolution is known to be suitable for a head-mounted display using a square HD(2560×1440) display panel.

[214] Кодирование: Контент может кодироваться с двумя пространственными разрешениями, включающими в себя разрешение, имеющее размер граней куба в 1656×1536, и разрешение, имеющее размер граней куба в 768×768. В этом случае, во всех потоках битов, сетка плиток 6×4 может использоваться, и MCTS может кодироваться в каждой позиции плитки.[214] Encoding: The content may be encoded at two spatial resolutions, including a resolution having a cube face size of 1656×1536 and a resolution having a cube face size of 768×768. In this case, in all bitstreams, a 6×4 grid of tiles may be used and the MCTS may be encoded at each tile position.

[215] Передаваемый в потоковом режиме MCTS-выбор: 12 MCTS могут выбираться из потока битов высокого разрешения, и 12 дополнительных MCTS могут получаться из потока битов низкого разрешения. Следовательно, полусфера (180°x180°) передаваемого в потоковом режиме контента может формироваться из потока битов высокого разрешения.[215] Streamed MCTS selection: 12 MCTS may be selected from the high resolution bitstream, and 12 additional MCTS may be obtained from the low resolution bitstream. Therefore, a hemisphere (180°x180°) of the streamed content can be generated from a high resolution bit stream.

[216] Декодирование с использованием объединения MCTS и потока битов: MCTS одного момента времени принимаются, которые могут объединяться в кодированный кадр, имеющий разрешение в 1920×4608, соответствующее HEVC-уровню 5.1. В другом варианте для объединенного кадра, четыре столбца плиток имеют значение ширины в 768, два столбца плиток имеют значение ширины в 384, и три строки плиток имеют значение высоты в 768, за счет этого конструируя кадр, состоящий из выборок сигналов яркости в 3840×2304. Здесь, единицы ширины и высоты могут представлять собой единицы числа выборок сигналов яркости.[216] Decoding using combining MCTS and bitstream: MCTS of one time point are received, which can be combined into an encoded frame having a resolution of 1920×4608 corresponding to the HEVC layer 5.1. In another embodiment for the merged frame, four columns of tiles have a width value of 768, two columns of tiles have a width value of 384, and three rows of tiles have a height value of 768, thereby constructing a frame consisting of luminance samples of 3840×2304 . Here, the units of width and height may be units of the number of luma samples.

[217] Передача в служебных сигналах субкадров [217] Subframe Signaling

[218] Передача служебных сигналов субкадра может выполняться на SPS-уровне, как показано на фиг. 15.[218] Subframe signaling may be performed at the SPS layer, as shown in FIG. 15.

[219] Фиг. 15 является видом, иллюстрирующим SPS-cинтаксис для передачи в служебных сигналах синтаксического элемента для субкадров.[219] FIG. 15 is a view illustrating the SPS syntax for signaling a syntax element for subframes.

[220] Ссылаясь на фиг. 15, синтаксический элемент pic_width_max_in_luma_samples может указывать максимальную ширину каждого декодированного кадра, ссылающегося на SPS в единицах выборок сигналов яркости. Значение pic_width_max_in_luma_samples может быть больше 0 и может иметь значение в целое кратное MinCbSizeY. Здесь, MinCbSizeY может указывать минимальный размер блока кодирования компонентов сигналов яркости.[220] Referring to FIG. 15, the pic_width_max_in_luma_samples syntax element may indicate the maximum width of each decoded frame referring to the SPS in units of luma samples. The value of pic_width_max_in_luma_samples may be greater than 0 and may be an integer multiple of MinCbSizeY. Here, MinCbSizeY may indicate a minimum luminance component coding block size.

[221] Синтаксический элемент pic_height_max_in_luma_samples может указывать максимальную высоту каждого декодированного кадра, ссылающегося на SPS в единицах выборок сигналов яркости; pic_height_max_in_luma_samples может быть больше 0 и может иметь значение в целое кратное MinCbSizeY.[221] The pic_height_max_in_luma_samples syntax element may indicate the maximum height of each decoded frame referring to the SPS in units of luma samples; pic_height_max_in_luma_samples may be greater than 0 and may be an integer multiple of MinCbSizeY.

[222] Синтаксический элемент subpic_grid_col_width_minus1 может использоваться для того, чтобы указывать ширину отдельного элемента сетки идентификаторов субкадров. Например, значение, полученное посредством суммирования 1 с subpic_grid_col_width_minus1, может указывать ширину отдельного элемента сетки идентификаторов субкадров в единицах 4 выборок; subpic_grid_col_width_minus1 может иметь длину в битах в Ceil(Log2 (pic_width_max_in_luma_samples/4)).[222] The subpic_grid_col_width_minus1 syntax element may be used to indicate the width of an individual grid element of subframe identifiers. For example, the value obtained by summing 1 with subpic_grid_col_width_minus1 may indicate the width of an individual subframe ID grid element in units of 4 samples; subpic_grid_col_width_minus1 can have bit length in Ceil(Log2 (pic_width_max_in_luma_samples/4)).

[223] Следовательно, переменная NumSubPicGridCols, указывающая число столбцов в сетке субкадра, может извлекаться так, как показано в нижеприведенном уравнении 1.[223] Therefore, the NumSubPicGridCols variable indicating the number of columns in the subframe grid can be retrieved as shown in Equation 1 below.

[224] уравнение 1[224] Equation 1

NumSubPicGridCols=(pic_width_max_in_luma_samples+subpic_grid_col_width_minus1*4+3)/(subpic_grid_col_width_minus1*4+4)NumSubPicGridCols=(pic_width_max_in_luma_samples+subpic_grid_col_width_minus1*4+3)/(subpic_grid_col_width_minus1*4+4)

[225] Далее, синтаксический элемент subpic_grid_row_height_minus1 может использоваться для того, чтобы указывать высоту каждого элемента сетки идентификаторов субкадров. Например, значение, полученное посредством суммирования 1 с subpic_grid_row_height_minus1, может указывать высоту отдельного элемента сетки идентификаторов субкадров в единицах 4 выборок; subpic_grid_row_height_minus1 может иметь длину в битах в Ceil(Log2(pic_height_max_in_luma_samples/4)).[225] Further, the subpic_grid_row_height_minus1 syntax element may be used to indicate the height of each subframe identifier grid element. For example, the value obtained by summing 1 with subpic_grid_row_height_minus1 may indicate the height of an individual subframe ID grid element in units of 4 samples; subpic_grid_row_height_minus1 can have bit length in Ceil(Log2(pic_height_max_in_luma_samples/4)).

[226] Следовательно, переменная NumSubPicGridRows, указывающая число строк в сетке субкадров, может извлекаться так, как показано в нижеприведенном уравнении 2.[226] Therefore, the NumSubPicGridRows variable indicating the number of rows in the subframe grid can be retrieved as shown in Equation 2 below.

[227] уравнение 2[227] Equation 2

NumSubPicGridRows=(pic_height_max_in_luma_samples+subpic_grid_row_height_minus1*4+3)/(subpic_grid_row_height_minus1*4+4)NumSubPicGridRows=(pic_height_max_in_luma_samples+subpic_grid_row_height_minus1*4+3)/(subpic_grid_row_height_minus1*4+4)

[228] Затем, синтаксический элемент subpic_grid_idx[i][j] может указывать индекс субкадра в позиции (i, j) сетки; subpic_grid_idx[i][j] может иметь длину в битах в Ceil(Log2(max_subpics_minus1+1)).[228] Then, the subpic_grid_idx[i][j] syntax element may indicate the index of the subframe at position (i, j) of the grid; subpic_grid_idx[i][j] can have bit length in Ceil(Log2(max_subpics_minus1+1)).

[229] Переменные SubPicTop[subpic_grid_idx[i][j]], SubPicLeft[subpic_grid_idx[i][j]], SubPicWidth[subpic_grid_idx[i][j]], SubPicHeight[subpic_grid_idx[i][j]] и NumSubPic могут извлекаться с использованием алгоритма по фиг. 16.[229] The variables SubPicTop[subpic_grid_idx[i][j]], SubPicLeft[subpic_grid_idx[i][j]], SubPicWidth[subpic_grid_idx[i][j]], SubPicHeight[subpic_grid_idx[i][j]], and NumSubPic can retrieved using the algorithm of FIG. 16.

[230] Затем, синтаксический элемент subpic_treated_as_pic_flag[i] может указывать то, трактуется или нет субкадр как идентичный общему кадру в процессе декодирования. Например, первое значение (например, 0) subpic_treated_as_pic_flag[i] может указывать то, что i-ый субкадр, включенный в отдельный кодируемый кадр CVS, не трактуется в качестве кадра в процессе декодирования. Второе значение (например, 1) subpic_treated_as_pic_flag[i] может указывать то, что i-ый субкадр, включенный в отдельный кодируемый кадр CVS, трактуется в качестве кадра в процессе декодирования. Когда значение subpic_treated_as_pic_flag[i] не получается из потока битов, значение subpic_treated_as_pic_flag[i] может логически выводиться в качестве первого значения (например, 0).[230] Then, the subpic_treated_as_pic_flag[i] syntax element may indicate whether or not the subframe is treated as identical to the general frame during the decoding process. For example, the first value (eg, 0) of subpic_treated_as_pic_flag[i] may indicate that the i-th subframe included in a single CVS frame to be encoded is not treated as a frame in the decoding process. The second value (eg, 1) of subpic_treated_as_pic_flag[i] may indicate that the i-th subframe included in the individual CVS frame to be encoded is treated as a frame in the decoding process. When the value of subpic_treated_as_pic_flag[i] is not obtained from the bitstream, the value of subpic_treated_as_pic_flag[i] may be inferred as the first value (eg, 0).

[231] Синтаксический элемент loop_filter_across_subpic_enabled_flag[i] может указывать то, может или нет выполняться внутриконтурная фильтрация через границу i-ого субкадра, включенного в отдельный кодируемый кадр CVS. Например, первое значение (например, 0) loop_filter_across_subpic_enabled_flag[i] может указывать то, что внутриконтурная фильтрация не может выполняться через границу i-ого субкадра, включенного в отдельный кодируемый кадр CVS. Второе значение (например, 1) loop_filter_across_subpic_enabled_flag[i] может указывать то, что внутриконтурная фильтрация может выполняться через границу i-ого субкадра, включенного в отдельный кодируемый кадр CVS. Когда значение subpic_treated_as_pic_flag[i] не получается из потока битов, значение subpic_treated_as_pic_flag[i] может логически выводиться в качестве первого значения (например, 0).[231] The loop_filter_across_subpic_enabled_flag[i] syntax element may indicate whether or not in-loop filtering can be performed across the boundary of the i-th subframe included in a single CVS encoded frame. For example, the first value (eg, 0) of loop_filter_across_subpic_enabled_flag[i] may indicate that in-loop filtering cannot be performed across the boundary of the i-th subframe included in a single CVS encoded frame. The second value (eg, 1) of loop_filter_across_subpic_enabled_flag[i] may indicate that in-loop filtering can be performed across the boundary of the i-th subframe included in a single CVS encoded frame. When the value of subpic_treated_as_pic_flag[i] is not obtained from the bitstream, the value of subpic_treated_as_pic_flag[i] may be inferred as the first value (eg, 0).

[232] Между тем, для соответствия потока битов, следующие ограничения могут применяться. Для любых двух субкадров subpicA и subpicB, когда индекс subpicA меньше индекса subpicB, все кодированные NAL-единицы subpicA должны иметь более низкий порядок декодирования, чем все кодированные NAL-единицы subpicB. Альтернативно, после того, как декодирование выполняется, форма субкадров должна иметь идеальную левую границу и идеальную верхнюю границу, конструирующие границу кадра или границу ранее декодированного субкадра.[232] Meanwhile, in order to match the bitstream, the following restrictions may be applied. For any two subframes subpicA and subpicB, when the index of subpicA is less than the index of subpicB, all coded NAL units of subpicA shall have a lower decoding order than all coded NAL units of subpicB. Alternatively, after decoding is performed, the shape of the subframes should have a perfect left boundary and a perfect upper boundary, constructing a frame boundary or a previously decoded subframe boundary.

[233] В дальнейшем в этом документе подробно описывается способ кодирования/декодирования изображения на основе структуры субкадра со ссылкой на фиг. 17 и 18.[233] Hereinafter, an image encoding/decoding method based on a subframe structure will be described in detail with reference to FIG. 17 and 18.

[234] Фиг. 17 является видом, иллюстрирующим способ кодирования изображения с использованием субкадра посредством оборудования кодирования изображений согласно варианту осуществления настоящего раскрытия сущности.[234] FIG. 17 is a view illustrating an image encoding method using a subframe by image encoding equipment according to an embodiment of the present disclosure.

[235] Оборудование кодирования изображений может кодировать текущий кадр на основе структуры субкадра. Альтернативно, оборудование кодирования изображений может кодировать, по меньшей мере, один субкадр, конструирующий текущий кадр, и выводить (суб)поток битов, включающий в себя (кодированную) информацию, по меньшей мере, относительно одного (кодированного) субкадра.[235] The image encoding equipment may encode the current frame based on the structure of the subframe. Alternatively, the image encoding equipment may encode at least one subframe constructing the current frame and output a (sub)bitstream including (encoded) information about at least one (encoded) subframe.

[236] Ссылаясь на фиг. 17, оборудование кодирования изображений может разбивать входной кадр на множество субкадров (S1710). Помимо этого, оборудование кодирования изображений может формировать информацию относительно субкадра (S1720). Здесь, информация относительно субкадра может включать в себя информацию относительно зоны субкадра и/или информацию относительно разнесения сетки, которое должно использоваться для субкадра. Помимо этого, информация относительно субкадра может включать в себя информацию, указывающую то, может или нет каждый субкадр трактоваться в качестве кадра, и/или информацию, указывающую то, может или нет внутриконтурная фильтрация выполняться через границу каждого субкадра.[236] Referring to FIG. 17, the image encoding equipment may partition the input frame into a plurality of subframes (S1710). In addition, the image encoding equipment may generate information regarding the subframe (S1720). Here, the information regarding the subframe may include information regarding the area of the subframe and/or information regarding the grid spacing to be used for the subframe. In addition, the subframe information may include information indicating whether or not each subframe can be treated as a frame, and/or information indicating whether or not in-loop filtering can be performed across a boundary of each subframe.

[237] Оборудование кодирования изображений может кодировать, по меньшей мере, один субкадр на основе информации относительно субкадра. Например, каждый субкадр может независимо кодироваться на основе информации относительно субкадра. Помимо этого, оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию относительно субкадра, и выводить поток битов (S1730). Здесь, поток битов для субкадра может называться "субпотоком" или "субпотоком битов".[237] The image encoding equipment may encode at least one subframe based on information regarding the subframe. For example, each subframe may be independently encoded based on information regarding the subframe. In addition, the image encoding equipment can encode image information including information regarding a subframe and output a bit stream (S1730). Here, the bitstream for a subframe may be referred to as a "substream" or "subbitstream".

[238] Фиг. 18 является видом, иллюстрирующим способ декодирования изображения с использованием субкадра посредством оборудования декодирования изображений согласно варианту осуществления.[238] FIG. 18 is a view illustrating a method for decoding an image using a subframe by the image decoding equipment according to the embodiment.

[239] Оборудование декодирования изображений может декодировать, по меньшей мере, один субкадр, принадлежащий текущему кадру, с использованием (кодированной) информации, по меньшей мере, одного (кодированного) субкадра, полученного из (суб)потока битов.[239] The image decoding equipment may decode at least one subframe belonging to the current frame using (encoded) information of at least one (encoded) subframe obtained from the (sub)bitstream.

[240] Ссылаясь на фиг. 18, оборудование декодирования изображений может получать информацию относительно субкадра из потока битов (S1810). Здесь, поток битов может включать в себя субпоток или субпоток битов для субкадра. Информация относительно субкадра может конструироваться в HLS потока битов. Помимо этого, оборудование декодирования изображений может извлекать, по меньшей мере, один субкадр на основе информации относительно субкадра (S1820).[240] Referring to FIG. 18, the image decoding equipment may obtain information regarding the subframe from the bit stream (S1810). Here, the bitstream may include a substream or a subbitstream for a subframe. Information regarding the subframe may be constructed in the HLS of the bitstream. In addition, the image decoding equipment can extract at least one subframe based on information regarding the subframe (S1820).

[241] Оборудование декодирования изображений может декодировать, по меньшей мере, один субкадр на основе информации относительно субкадра (S1830). Например, когда текущий субкадр, включающий в себя текущий блок, трактуется в качестве кадра, текущий субкадр может независимо декодироваться. Помимо этого, когда внутриконтурная фильтрация может выполняться через границу текущего субкадра, внутриконтурная фильтрация (например, фильтрация для удаления блочности) может выполняться на границе текущего субкадра и границы смежного субкадра, смежного с границей. Помимо этого, когда граница текущего субкадра совпадает с границей кадра, внутриконтурная фильтрация через границу текущего субкадра может не выполняться. Оборудование декодирования изображений может декодировать субкадр на основе CABAC-способа, способа прогнозирования, способа остаточной обработки (преобразования и квантования), способа внутриконтурной фильтрации и т.д. Помимо этого, оборудование декодирования изображений может выводить, по меньшей мере, один декодированный субкадр или текущий кадр, включающий в себя, по меньшей мере, один субкадр. Декодированный субкадр может выводиться в форме набора выходных субкадров (OPS). Например, относительно изображения с обзором на 360 градусов или всенаправленного изображения, когда только часть текущего кадра подготавливается посредством рендеринга, только некоторые из всех субкадров в текущем кадре могут декодироваться, и все или некоторые декодированные субкадры могут подготавливаться посредством рендеринга согласно видовому порту пользователя.[241] The image decoding equipment may decode at least one subframe based on information regarding the subframe (S1830). For example, when the current subframe including the current block is treated as a frame, the current subframe can be independently decoded. In addition, when in-loop filtering may be performed across a boundary of the current subframe, in-loop filtering (eg, deblocking filtering) may be performed on a boundary of the current subframe and a boundary of an adjacent subframe adjacent to the boundary. In addition, when the boundary of the current subframe coincides with the boundary of the frame, in-loop filtering across the boundary of the current subframe may not be performed. The image decoding equipment can decode a subframe based on a CABAC method, a prediction method, a residual processing (transform and quantization) method, an in-loop filtering method, and so on. In addition, the image decoding equipment may output at least one decoded subframe or a current frame including at least one subframe. The decoded subframe may be output in the form of an output subframe set (OPS). For example, with respect to a 360-degree view image or an omnidirectional image, when only a part of the current frame is rendered, only some of all subframes in the current frame may be decoded, and all or some of the decoded subframes may be rendered according to the user's viewport.

[242] Общее представление фильтрации [242] Filtering General Representation

[243] В дальнейшем в этом документе описывается способ фильтрации согласно настоящему раскрытию сущности.[243] Hereinafter, this document describes a filtering method according to the present disclosure.

[244] Фильтрация может выполняться для восстановленного кадра, сформированного посредством оборудования кодирования/декодирования изображений. В результате выполнения фильтрации, может формироваться модифицированный восстановленный кадр, и оборудование декодирования изображений может определять модифицированный восстановленный кадр в качестве конечного декодированного кадра. Помимо этого, в оборудовании кодирования/декодирования изображений, модифицированный восстановленный кадр может сохраняться в буфере декодированных кадров (DPB) или в запоминающем устройстве и затем может использоваться в качестве опорного кадра при кодировании/декодировании кадра.[244] Filtering may be performed on the reconstructed frame generated by the image encoding/decoding equipment. As a result of performing the filtering, a modified reconstructed frame may be generated, and the image decoding equipment may determine the modified reconstructed frame as the final decoded frame. In addition, in the image encoding/decoding equipment, the modified reconstructed frame may be stored in a decoded frame buffer (DPB) or memory, and then may be used as a reference frame in frame encoding/decoding.

[245] В настоящем раскрытии сущности, фильтрация согласно некоторым вариантам осуществления настоящего раскрытия сущности может использоваться со смысловым значением, идентичным смысловому значению внутриконтурной фильтрации. Фильтр, используемый для фильтрации, может включать в себя, по меньшей мере, одно из фильтра удаления блочности, фильтра на основе дискретизированного адаптивного смещения (SAO), адаптивного контурного фильтра (SLF) или двустороннего фильтра. По меньшей мере, один из фильтра удаления блочности, SAO-фильтра, ALF и/или двустороннего фильтра может последовательно применяться к восстановленному кадру, за счет этого формируя модифицированный восстановленный кадр. Порядок применения фильтра может быть предварительно установлен в оборудовании кодирования/декодирования изображений. В примере, после того, как фильтр удаления блочности применяется к восстановленному кадру, SAO-фильтр может применяться. В другом примере, после того, как фильтр удаления блочности применяется к восстановленному кадру, ALF может применяться. В настоящем раскрытии сущности, фильтрация может выполняться, по меньшей мере, посредством одного из фильтра 160 по фиг. 2 и/или фильтра 240 по фиг. 3.[245] In the present disclosure, filtering according to some embodiments of the present disclosure may be used with the same meaning as in-loop filtering. The filter used for filtering may include at least one of a deblocking filter, a sampled adaptive offset (SAO) filter, an adaptive loop filter (SLF), or a two-sided filter. At least one of the deblocking filter, SAO filter, ALF, and/or two-way filter may be sequentially applied to the reconstructed frame, thereby generating a modified reconstructed frame. The filter application order may be preset in the image encoding/decoding equipment. In the example, after the deblocking filter is applied to the reconstructed frame, the SAO filter may be applied. In another example, after the deblocking filter is applied to the reconstructed frame, ALF may be applied. In the present disclosure, filtering may be performed by at least one of the filter 160 of FIG. 2 and/or filter 240 of FIG. 3.

[246] Фильтр удаления блочности может исключать искажение, сформированное на границе восстановленного кадра. Например, фильтр удаления блочности может извлекать целевую границу, которая представляет собой границу между блоками в восстановленном кадре, и задавать граничную интенсивность (BS) для целевой границы. Оборудование кодирования/декодирования изображений может выполнять фильтрацию для удаления блочности для целевой границы посредством применения фильтрации на основе заданной граничной интенсивности к целевой границе. Здесь, граничная интенсивность может определяться на основе, по меньшей мере, одного из режимов прогнозирования двух блоков, смежных с целевой границей, разности векторов движения, того, являются или нет опорные кадры идентичными, либо присутствия/отсутствия ненулевого эффективного коэффициента.[246] The deblocking filter may eliminate distortion generated at a boundary of the reconstructed frame. For example, the deblocking filter may extract a target boundary, which is a boundary between blocks in a reconstructed frame, and set a boundary intensity (BS) for the target boundary. The image encoding/decoding equipment may perform deblocking filtering for a target boundary by applying filtering based on a predetermined boundary intensity to the target boundary. Here, the boundary intensity may be determined based on at least one of the prediction modes of the two blocks adjacent to the target boundary, the motion vector difference, whether or not the reference frames are identical, or the presence/absence of a non-zero effective coefficient.

[247] В качестве другого примера, SAO-фильтр может компенсировать разность смещения между восстановленным кадром и исходным кадром в единицах выборок. SAO-фильтр может реализовываться посредством типа фильтра, такого как фильтр на основе полосового смещения или фильтр на основе смещения. Когда SAO-фильтр используется, выборки могут классифицироваться на различные категории согласно типу SAO-фильтра, и предварительно определенное значение смещения может добавляться в каждую выборку на основе категории. Информация относительно SAO-фильтра может включать в себя, по меньшей мере, одно из информации относительно того, следует или нет применять SAO-фильтр, информации типа SAO-фильтра и/или информации значений SAO-смещения. В примере, SAO-фильтр может быть ограничен применением к восстановленному кадру, к которому применяется фильтр удаления блочности.[247] As another example, the SAO filter may compensate for the offset difference between the reconstructed frame and the original frame in units of samples. The SAO filter may be implemented by a filter type such as a bandpass based filter or an offset based filter. When the SAO filter is used, the samples may be classified into different categories according to the type of SAO filter, and a predetermined bias value may be added to each sample based on the category. The information regarding the SAO filter may include at least one of information regarding whether or not to apply the SAO filter, SAO filter type information, and/or SAO offset value information. In an example, the SAO filter may be limited to being applied to a reconstructed frame to which the deblocking filter is applied.

[248] ALF может представлять собой фильтр единиц выборок для применения коэффициентов фильтрации согласно форме фильтра к восстановленному кадру. Оборудование кодирования изображений может передавать в служебных сигналах, по меньшей мере, одно из того, следует или нет применять ALF, формы ALF и/или коэффициента фильтрации, посредством сравнения восстановленного кадра с исходным кадром. Таким образом, информация относительно ALF может включать в себя, по меньшей мере, одно из информации относительно того, следует или нет применять ALF, информации формы ALF-фильтра и/или информации коэффициентов ALF-фильтрации. В примере, ALF может быть ограничен применением к восстановленному кадру, к которому применяется фильтр удаления блочности.[248] The ALF may be a unit-sample filter for applying filter coefficients according to the shape of the filter to the reconstructed frame. The image coding equipment may signal at least one of whether or not to apply the ALF, the shape of the ALF, and/or the filter factor by comparing the reconstructed frame with the original frame. Thus, the ALF information may include at least one of information regarding whether or not to apply ALF, ALF filter shape information, and/or ALF filter coefficient information. In an example, ALF may be limited to applying to a reconstructed frame to which a deblocking filter is applied.

[249] Общее представление фильтра удаления блочности [249] General Representation of the Deblocking Filter

[250] Фиг. 19 является видом, иллюстрирующим способ применения фильтра удаления блочности.[250] FIG. 19 is a view illustrating a method for applying a deblocking filter.

[251] Как описано выше, фильтр удаления блочности может применяться к восстановленному кадру. Фильтр удаления блочности может применяться к границе каждой CU (или TU), включенной в текущий блок, на основе порядка кодирования/декодирования кадра.[251] As described above, the deblocking filter may be applied to the reconstructed frame. The deblocking filter may be applied to the boundary of each CU (or TU) included in the current block based on the coding/decoding order of the frame.

[252] В некоторых вариантах осуществления, фильтр удаления блочности может сначала применяться к вертикальной границе CU и затем применяться к горизонтальной границе блока кодирования/декодирования. Альтернативно, фильтр удаления блочности может сначала применяться к горизонтальной границе CU и затем применения к вертикальной границе CU. Фильтр удаления блочности может применяться к границам всех CU, границам всех субблоков во всех CU, границам всех TU и/или границам всех субблоков во всех TU.[252] In some embodiments, the deblocking filter may first be applied to the vertical boundary of the CU and then applied to the horizontal boundary of the encoding/decoding block. Alternatively, the deblocking filter may first be applied to the horizontal border of the CU and then applied to the vertical border of the CU. The deblocking filter may be applied to all CU boundaries, all subunit boundaries in all CUs, all TU boundaries, and/or all subunit boundaries in all TUs.

[253] Ссылаясь на фиг. 19, оборудование кодирования/декодирования изображений может извлекать целевую границу, к которой должна применяться фильтрация для удаления блочности (S1910). Помимо этого, оборудование кодирования/декодирования изображений может определять граничную интенсивность целевой границы (S1920). В примере, граничная интенсивность bS может определяться согласно условию блока преобразования, смежного с целевой границей. В настоящем раскрытии сущности, граничная интенсивность также может называться "граничной интенсивностью фильтрации" или "интенсивностью фильтрации". В нижеприведенном описании, когда целевая граница представляет собой вертикальную границу, на основе целевой границы, левый блок может задаваться как P-блок, и правый блок может задаваться как Q-блок. Помимо этого, когда целевая граница представляет собой горизонтальную границу, на основе целевой границы, верхний блок может задаваться как P-блок, и нижний блок может задаваться как Q-блок. Помимо этого, выборка P-блоков может обозначаться посредством p0, и выборка Q-блоков может обозначаться посредством q0. Здесь, p и q могут представлять собой выборки, обращенные к целевой границе в P-блоке и Q-блоке. Например, p0 может представлять собой выборку левого или верхнего блока, смежного с целевой границей, и q0 может представлять собой выборку правого или нижнего блока, смежного с целевой границей.[253] Referring to FIG. 19, the image encoding/decoding equipment can extract a target boundary to which deblocking filtering is to be applied (S1910). In addition, the image encoding/decoding equipment can determine the boundary intensity of the target boundary (S1920). In an example, the boundary intensity bS may be determined according to the condition of the transform block adjacent to the target boundary. In the present disclosure, the boundary intensity may also be referred to as "edge filtering intensity" or "filtering intensity". In the description below, when the target boundary is a vertical boundary, based on the target boundary, the left block may be defined as a P-box, and the right block may be defined as a Q-box. In addition, when the target boundary is a horizontal boundary, based on the target boundary, the upper block may be defined as a P-box and the lower block may be defined as a Q-box. In addition, a sample of P-boxes may be denoted by p 0 , and a sample of Q-boxes may be denoted by q 0 . Here, p and q may represent samples facing the target boundary in the P-box and Q-box. For example, p 0 may represent a sample of the left or top block adjacent to the target boundary, and q 0 may represent a sample of the right or bottom block adjacent to the target boundary.

[254] В примере, когда дифференциальная импульсно-кодовая модуляция в квантованной остаточной области на основе блоков (BDPCM) применяется к выборке P-блоков и выборке Q-блоков, включенных в один блок сигналов яркости, граничная интенсивность для целевой границы может определяться как первое значение (например, 0).[254] In an example where BDPCM is applied to a sample of P-blocks and a sample of Q-blocks included in one block of luminance signals, the boundary intensity for the target boundary may be determined as the first value (for example, 0).

[255] В другом примере, когда выборка P-блоков и выборка Q-блоков, включенные в одну CU, внутренне прогнозируются, граничная интенсивность для целевой границы может определяться как третье значение (например, 2). В качестве другого примера, когда целевая граница представляет собой границу TU, и комбинированное взаимное и внутреннее прогнозирование (CIIP) применяется к выборке P-блоков и выборке Q-блоков, включенным в одну CU, граничная интенсивность для целевой границы может определяться как третье значение (например 2). В качестве другого примера, когда целевая граница представляет собой границу TU, и, по меньшей мере, одна из выборки P-блоков и выборки Q-блоков, включенных в одну TU, имеет уровень ненулевых коэффициентов преобразования, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1). В качестве другого примера, когда режим прогнозирования субблока CU, включающей в себя выборку P-блоков, отличается от режима прогнозирования субблока CU, включающей в себя выборку Q-блоков, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1).[255] In another example, when a P-block sample and a Q-block sample included in the same CU are intra-predicted, the boundary intensity for the target boundary may be determined as a third value (eg, 2). As another example, when the target boundary is a TU boundary and combined inter-intra prediction (CIIP) is applied to a sample of P-blocks and a sample of Q-blocks included in one CU, the boundary intensity for the target boundary may be determined as the third value ( for example 2). As another example, when the target edge is a TU edge, and at least one of the P-block sample and the Q-block sample included in one TU has a non-zero transform coefficient level, the edge intensity for the target edge may be defined as component of the second value (for example, 1). As another example, when the prediction mode of the sub-CU including P-block sampling is different from the prediction mode of the CU sub-unit including Q-block sampling, the boundary intensity for the target boundary may be determined to be a component of the second value (e.g., 1) .

[256] В другом примере, когда текущий блок представляет собой блок сигналов яркости, и, по меньшей мере, одно из следующих условий удовлетворяется, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1). Между тем, когда все вышеописанные условия не удовлетворяются, граничная интенсивность для целевой границы может определяться как составляющая первое значение (например, 0).[256] In another example, when the current block is a block of luminance signals, and at least one of the following conditions is satisfied, the boundary intensity for the target boundary may be determined as a component of the second value (eg, 1). Meanwhile, when all of the above-described conditions are not satisfied, the boundary intensity for the target boundary may be determined as a component of the first value (eg, 0).

[257] Например, когда как субблок в CU, включающей в себя выборку P-блоков, так и субблок в CU, включающей в себя выборку Q-блоков, кодируются/декодируются в IBC-режиме, и разность горизонтальных или вертикальных значений вектора движения для каждого субблока равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1).[257] For example, when both a sub-block in a CU including a P-block sample and a sub-block in a CU including a Q-block sample are encoded/decoded in IBC mode, and the difference in horizontal or vertical motion vector values for of each subblock is equal to or greater than a value of 4 units per unit per 1/4 luminance sample, the edge intensity for the target edge may be determined to be a component of the second value (eg, 1).

[258] Альтернативно, когда субблок в CU, включающей в себя выборку P-блоков, и субблок в CU, включающей в себя выборку Q-блоков, ссылаются на различные опорные кадры или имеют различные числа векторов движения, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1).[258] Alternatively, when a sub-unit in a CU including a P-block sample and a sub-unit in a CU including a Q-block sample refer to different reference frames or have different numbers of motion vectors, the boundary intensity for the target boundary may be determined as a component of the second value (for example, 1).

[259] Альтернативно, когда один вектор движения используется для того, чтобы прогнозировать субблок в CU, включающей в себя выборку P-блоков, и субблок в CU, включающей в себя выборку Q-блоков, или разность между горизонтальными значениями или вертикальными значениями вектора движения для каждого субблока равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1).[259] Alternatively, when one motion vector is used to predict a sub-block in a CU including a P-block sample and a sub-block in a CU including a Q-block sample, or the difference between horizontal values or vertical values of the motion vector for each subblock equal to or greater than 4 units per unit per 1/4 luminance sample, the edge intensity for the target edge may be determined to be a component of the second value (eg, 1).

[260] Альтернативно, когда два вектора движения и два различных опорных кадра используются для того, чтобы прогнозировать субблок в CU, включающей в себя выборку P-блоков, два вектора движения для идентичного опорного кадра используются для того, чтобы прогнозировать субблок в CU, включающей в себя выборку Q-блоков, и разность между горизонтальными значениями или вертикальными значениями векторов движения для идентичного опорного кадра равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости, граничная интенсивность для целевой границы может определяться как составляющая второе значение.[260] Alternatively, when two motion vectors and two different reference frames are used to predict a subblock in a CU including a P-block sample, two motion vectors for the same reference frame are used to predict a subblock in a CU including into the Q-block sample, and the difference between the horizontal values or the vertical values of the motion vectors for the same reference frame is equal to or greater than a value of 4 units per unit per 1/4 luma sample, the edge intensity for the target edge may be determined as a component of the second value.

[261] Альтернативно, когда два вектора движения для идентичного опорного кадра используются для того, чтобы прогнозировать субблок CU, включающей в себя выборку P-блоков, и два вектора движения для идентичного опорного кадра используются для того, чтобы прогнозировать субблок CU, включающей в себя выборку Q-блоков, граничная интенсивность для целевой границы может определяться как составляющая второе значение (например, 1), если удовлетворяются следующие первое и второе условия. Здесь, первое условие может означать случай, в котором разность абсолютного значения между горизонтальными компонентами или вертикальными компонентами равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости для векторов движения списка 0, используемых для прогнозирования каждого субблока, или разность в абсолютном значении между горизонтальными компонентами или вертикальными компонентами равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости для векторов движения списка 1, используемых для прогнозирования каждого субблока. Помимо этого, второе условие может означать случай, в котором разность в абсолютном значении между горизонтальными или вертикальными компонентами равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости для векторов движения списка 0 для прогнозирования субблока в CU, включающей в себя выборку P-блоков, и векторов движения списка 1 для прогнозирования субблока в CU, включающей в себя выборку Q-блоков, или разность в абсолютном значении между горизонтальными компонентами или вертикальными компонентами между вектором движения списка 1 для прогнозирования субблока CU, включающей в себя выборку P-блоков, и вектором движения списка 0 для прогнозирования субблока CU, включающей в себя выборку Q-блоков, равна или больше значения в 4 единицы в единице в 1/4 выборки сигналов яркости.[261] Alternatively, when two motion vectors for the same reference frame are used to predict a subunit of a CU including a sample of P-blocks, and two motion vectors for an identical reference frame are used to predict a subunit of a CU including a sample of Q-blocks, the boundary intensity for the target boundary may be determined to be a component of the second value (eg, 1) if the following first and second conditions are satisfied. Here, the first condition may mean a case in which the absolute value difference between the horizontal components or the vertical components is equal to or greater than a value of 4 units per unit per 1/4 sample luminance signals for the list 0 motion vectors used to predict each sub-block, or a difference in the absolute value between the horizontal components or the vertical components is equal to or greater than the value of 4 units per unit in 1/4 luminance samples for the list 1 motion vectors used to predict each sub-block. In addition, the second condition may mean a case in which the difference in absolute value between the horizontal or vertical components is equal to or greater than a value of 4 units per unit per 1/4 sample luma for list 0 motion vectors for subblock prediction in a CU including the list 1 motion vector for sub-block prediction in a CU including the Q-block sample, or the difference in absolute value between the horizontal components or the vertical components between the list 1 motion vector for sub-block prediction of the CU including the P sample -blocks, and a list 0 motion vector for predicting a CU subblock including a Q-block sample is equal to or greater than a value of 4 units per unit per 1/4 luminance sample.

[262] Оборудование кодирования/декодирования изображений может применять фильтр удаления блочности к целевой границе на основе граничной интенсивности, определенной на основе вышеописанного условия (S1930). Например, когда граничная интенсивность целевой границы определяется как составляющая первое значение (например, 0), оборудование кодирования/декодирования изображений может не применять фильтр удаления блочности к целевой границе. Интенсивность фильтрации (например, сильная или слабая) и/или длина фильтра для фильтра удаления блочности, применяемого к целевой границе, может определяться различными способами. Между тем, когда выборка, которая должна фильтроваться, представляет собой выборку сигналов яркости, фильтрация может выполняться с использованием короткого фильтра или длинного фильтра. Альтернативно, когда выборка, которая должна фильтроваться, представляет собой выборку сигналов цветности, фильтрация может выполняться с использованием фильтра сигналов цветности.[262] The image encoding/decoding equipment may apply the deblocking filter to the target boundary based on the boundary intensity determined based on the condition described above (S1930). For example, when the edge intensity of the target edge is determined to be a component of the first value (eg, 0), the image encoding/decoding equipment may not apply the deblocking filter to the target edge. The filtering strength (eg, strong or weak) and/or filter length for the deblocking filter applied to the target boundary may be determined in various ways. Meanwhile, when the sample to be filtered is a luminance sample, filtering may be performed using a short filter or a long filter. Alternatively, when the sample to be filtered is a chroma sample, filtering may be performed using a chroma filter.

[263] Определение выборки, которая должна фильтроваться [263] Determining the Sample to be Filtered

[264] Восстановленные выборки pi, k и qj, k, к которым применяется фильтр удаления блочности, могут указываться на вертикальной границе, как показано в нижеприведенном уравнении 3.[264] The reconstructed samples pi, k and qj, k to which the deblocking filter is applied may be indicated on the vertical boundary, as shown in Equation 3 below.

[265] уравнение 3[265] Equation 3

qj, k=recPicture[xCb+xBl+j][yCb+yBl+k]qj, k=recPicture[xCb+xBl+j][yCb+yBl+k]

pi, k=recPicture[xCb+xBl-i-1][yCb+yBl+k]pi, k=recPicture[xCb+xBl-i-1][yCb+yBl+k]

[266] Восстановленные выборки pi, k и qj, k, к которым применяется фильтрация, могут указываться на горизонтальной границе, как показано в нижеприведенном уравнении 4.[266] The recovered samples pi, k and qj, k to which the filtering is applied may be indicated on the horizontal boundary, as shown in Equation 4 below.

[267] уравнение 4[267] Equation 4

pi, k=recPicture[xCb+xBl+k][yCb+yBl-i-1]pi, k=recPicture[xCb+xBl+k][yCb+yBl-i-1]

qj, k=recPicture[xCb+xBl+k][yCb+yBl+j]qj, k=recPicture[xCb+xBl+k][yCb+yBl+j]

[268] В уравнениях 3 и 4, i имеет значение, равное или большее 0 и равное или меньшее максимальной длины фильтра (например, maxFilterLengthP) для P-блока, j имеет значение, равное или большее 0 и равное или меньшее максимальной длины фильтра (например, maxFilterLengthQ) для Q-блока, и k может иметь значение, равное или большее 0 и равное или меньшее 3. Помимо этого, xCb и yCb могут указывать позицию (xCb, yCb) левой верхней выборки текущей CU, для которой фильтрация для удаления блочности выполняется, и xBl и yBl могут указывать позицию (xBl, yBl) границы для указания P-блока и Q-блока, для которого фильтрация для удаления блочности выполняется на основе (xCb, yCb).[268] In Equations 3 and 4, i has a value equal to or greater than 0 and equal to or less than the maximum filter length (eg, maxFilterLengthP) for the P-block, j has a value equal to or greater than 0 and equal to or less than the maximum filter length ( for example, maxFilterLengthQ) for a Q-block, and k may have a value equal to or greater than 0 and equal to or less than 3. In addition, xCb and yCb may indicate the position (xCb, yCb) of the top left fetch of the current CU for which filtering to remove deblocking is performed, and xBl and yBl may indicate a boundary position (xBl, yBl) to indicate a P-box and a Q-box for which deblocking filtering is performed based on (xCb, yCb).

[269] Фиг. 20 является видом, иллюстрирующим восстановленную выборку, к которой применяется фильтр удаления блочности.[269] FIG. 20 is a view illustrating a reconstructed sample to which a deblocking filter is applied.

[270] Ссылаясь на фиг. 20, позиция левой верхней выборки текущей CU может представлять собой (xCb, yCb) (2010). Когда фильтрация для удаления блочности выполняется на вертикальной границе текущей CU, P-блок 2021 и Q-блок 2022, для которых выполняется фильтрация для удаления блочности, могут указываться с использованием первой выборочной позиции (xCb+xBl1, yCb+yBl1) (2020). Помимо этого, когда фильтрация для удаления блочности выполняется на горизонтальной границе текущей CU, P-блок 2031 и Q-блок 2031, для которых выполняется фильтрация для удаления блочности, могут указываться с использованием второй выборочной позиции (xCb+xBl2, yCb+yBl2) (2030). В каждом случае, P-блоки 2021 и 2031 могут включать в себя множество восстановленных выборок pi, k. Помимо этого, Q-блоки 2022 и 2032 могут включать в себя множество восстановленных выборок qj, k.[270] Referring to FIG. 20, the top left sample position of the current CU may be (xCb, yCb) (2010). When deblocking filtering is performed on the vertical boundary of the current CU, the P-box 2021 and Q-box 2022 on which the deblocking filtering is performed may be indicated using the first sample position (xCb+xBl1, yCb+yBl1) (2020). In addition, when deblocking filtering is performed on the horizontal boundary of the current CU, the P-box 2031 and Q-box 2031 on which deblocking filtering is performed may be indicated using the second sample position (xCb+xBl2, yCb+yBl2) ( 2030). In each case, P-boxes 2021 and 2031 may include a plurality of recovered samples pi, k. In addition, Q-blocks 2022 and 2032 may include a plurality of recovered samples qj, k.

[271] Интенсивность фильтрации [271] Filtering Strength

[272] В случае HEVC, в отличие от управления интенсивностью фильтрации фильтра удаления блочности посредством переменных β и tC, извлекаемых из среднего параметра qPL квантования, интенсивность фильтрации фильтра удаления блочности согласно вариантам осуществления настоящего раскрытия сущности может управляться посредством суммирования предварительно определенного смещения согласно уровню сигнала яркости восстановленной выборки со средним параметром qPL квантования. Здесь, уровень сигнала яркости (LL) восстановленной выборки может извлекаться так, как показано в нижеприведенном уравнении 5.[272] In the case of HEVC, in contrast to controlling the filtering strength of the deblocking filter by the variables β and tC derived from the average quantization parameter qP L , the filtering strength of the deblocking filter according to the embodiments of the present disclosure can be controlled by summing a predetermined offset according to the level the luminance signal of the reconstructed sample with an average quantization parameter qP L. Here, the luminance signal level (LL) of the reconstructed sample may be extracted as shown in Equation 5 below.

[273] уравнение 5[273] Equation 5

LL=((p0,0+p0,3+q0,0+q0,3)>>2)/(1<<bitDepth),LL=((p 0.0 +p 0.3 +q 0.0 +q 0.3 )>>2)/(1<<bitDepth),

[274] где p0,0 и p0,3 могут обозначать восстановленные выборки, смежные с целевой границей и в наибольшей степени разнесенные друг от друга в P-блоке, и q0,0 и q0,3 могут обозначать восстановленные выборки, смежные с целевой границей и в наибольшей степени разнесенные друг от друга в Q-блоке. Помимо этого, bitDepth может обозначать битовую глубину восстановленной глубины.[274] where p 0 , 0 and p 0 , 3 may denote the reconstructed samples adjacent to the target boundary and most spaced apart in the P-box, and q 0 , 0 and q 0 , 3 may denote the reconstructed samples, adjacent to the target boundary and most spaced apart in the Q-block. In addition, bitDepth may indicate the bit depth of the reconstructed depth.

[275] Предварительно определенное смещение (например, qpOffset), суммируемое со средним параметром qPL квантования, может передаваться в служебных сигналах через SPS и зависит от передаточной функции.[275] A predetermined offset (eg, qpOffset) added to the average quantization parameter qP L may be signaled via the SPS and depends on the transfer function.

[276] Для восстановленной выборки компонента сигналов яркости, билинейный фильтр (или более сильный фильтр удаления блочности) может применяться к выборкам, расположенным на любой границе относительно большого блока. Здесь, относительно большой блок может означать блок, имеющий размер в 32×32 или больше. Напротив, для восстановленной выборки компонента сигналов цветности, применяется сильный фильтр удаления блочности. Здесь, сильный фильтр удаления блочности может задаваться так, как показано в нижеприведенном уравнении 6.[276] For the reconstructed luminance component sample, a bilinear filter (or a stronger deblocking filter) may be applied to samples located on any boundary relative to the large block. Here, a relatively large block may mean a block having a size of 32x32 or more. In contrast, for the reconstructed chrominance component sample, a strong deblocking filter is applied. Here, the strong deblocking filter may be set as shown in Equation 6 below.

[277] уравнение 6[277] Equation 6

p2'=(3*p3+2*p2+p1+p0+q0+4)>>3p 2 '=(3*p 3 +2*p 2 +p 1 +p 0 +q 0 +4)>>3

p1'=(2*p3+p2+2*p1+p0+q0+q1+4)>>3p 1 '=(2*p 3 +p 2 +2*p 1 +p 0 +q 0 +q 1 +4)>>3

p0'=(p3+p2+p1+2*p0+q0+q1+q2+4)>>3,p 0 '=(p 3 +p 2 +p 1 +2*p 0 +q 0 +q 1 +q 2 +4)>>3,

[278] где p1-p3 могут обозначать восстановленные выборки в P-блоке, и q0-q2 могут обозначать восстановленные выборки в Q-блоке. Фильтрованные восстановленные выборки p0'-p2' в P-блоке могут извлекаться с использованием восстановленных выборок в P-блоке и восстановленных выборок в Q-блоке.[278] where p 1 -p 3 may denote recovered samples in a P-box, and q 0 -q 2 may denote recovered samples in a Q-box. The filtered retrieval samples p 0 '-p 2 ' in the P-box may be extracted using the retrieval samples in the P-box and the retrieval samples in the Q-box.

[279] В настоящем раскрытии сущности, сильный фильтр удаления блочности, применяемый к восстановленной выборке компонента сигналов цветности, может называться "фильтром сигналов цветности". Фильтр сигналов цветности может применяться к сетке выборок сигналов цветности 8×8 и может использоваться для горизонтальных и вертикальных границ. В примере, фильтр сигналов цветности может выбираться только тогда, когда горизонтальные и вертикальные края блока сигналов цветности равны или больше 8 единиц выборок сигналов цветности, и все следующие первое-третье условия удовлетворяются. Здесь, первое условие может означать то, что граничная интенсивность блока сигналов цветности равна граничной интенсивности относительно большого блока сигналов яркости. Например, когда граничная интенсивность блока сигналов цветности имеет второе значение (например, 1) или третье значение (например, 2), фильтр сигналов цветности может выбираться. Второе условие и третье условие могут быть равными условию определения сильного фильтра для восстановленной выборки компонента сигналов яркости, например, условию определения включения-выключения и условию определения сильного фильтра.[279] In the present disclosure, a strong deblocking filter applied to the reconstructed chrominance component sample may be referred to as a "chrominance filter". The chrominance filter may be applied to an 8×8 chroma sample grid and may be used for horizontal and vertical boundaries. In the example, the chrominance filter may be selected only when the horizontal and vertical edges of the chrominance block are equal to or greater than 8 chroma sample units and all of the following first to third conditions are satisfied. Here, the first condition may mean that the edge intensity of the chrominance block is equal to the edge intensity with respect to the large block of luminance signals. For example, when the edge intensity of the chrominance block has a second value (eg, 1) or a third value (eg, 2), a chrominance filter may be selected. The second condition and the third condition may be equal to a strong filter determination condition for the reconstructed luma component sample, for example, an on-off determination condition and a strong filter determination condition.

[280] Помимо этого, граничная интенсивность для фильтрации сигнала цветности может модифицироваться на основе атрибутов смежного блока, смежного с границей текущего блока, как показано в таблице 2.[280] In addition, the boundary intensity for filtering the chrominance signal may be modified based on the attributes of an adjacent block adjacent to the boundary of the current block, as shown in Table 2.

[281] Табл. 2[281] Tab. 2

УсловияConditions Y (сигнал яркости)Y (luminance signal) U (сигнал цветности)U (chroma signal) V (сигнал цветности)V (chrominance signal) По меньшей мере, один из смежных блоков является внутреннимAt least one of the adjacent blocks is internal 22 22 22 По меньшей мере, один из смежных блоков имеет ненулевые коэффициенты преобразованияAt least one of the adjacent blocks has non-zero transform coefficients 11 11 11 Абсолютная разность между векторами движения, которые принадлежат смежным блокам, больше или равна одной целочисленной выборке сигналов яркостиThe absolute difference between motion vectors that belong to adjacent blocks is greater than or equal to one integer luma sample 11 Нет данныхNo data Нет данныхNo data Прогнозирование движения в смежных блоках, ссылающихся на векторы, отличаетсяMotion prediction in adjacent blocks referring to vectors is different 11 Нет данныхNo data Нет данныхNo data ИноеOther 00 00 00

[282] Ссылаясь на таблицу 2, когда, по меньшей мере, один смежный блок, смежный с текущим блоком, внутренне прогнозируется, граничная интенсивность текущего блока может иметь третье значение (например, 2) для всех цветовых компонентов (например, Y, U и V). Помимо этого, когда, по меньшей мере, один смежный блок, смежный с текущим блоком, имеет ненулевые коэффициенты преобразования, граничная интенсивность текущего блока может иметь второе значение (например, 1) для всех цветовых компонентов. Помимо этого, когда абсолютное разностное значение между векторами движения смежных блоков, смежных с текущим блоком, равно или больше одной целочисленной выборки сигналов яркости, граничная интенсивность текущего блока может присутствовать только для компонента сигналов яркости и может иметь второе значение (например, 1). Помимо этого, когда прогнозирование движения ссылается на различные векторы движения в смежных блоках, смежных с текущим блоком, граничная интенсивность текущего блока может присутствовать только для компонента сигналов яркости и может иметь второе значение (например, 1). Между тем, когда все вышеописанные условия не удовлетворяются, граничная интенсивность текущего блока может иметь первое значение (например, 0) для всех цветовых компонентов.[282] Referring to Table 2, when at least one adjacent block adjacent to the current block is intra-predicted, the edge intensity of the current block may have a third value (eg, 2) for all color components (eg, Y, U, and V). In addition, when at least one adjacent block adjacent to the current block has non-zero transform coefficients, the edge intensity of the current block may have a second value (eg, 1) for all color components. In addition, when the absolute difference between the motion vectors of adjacent blocks adjacent to the current block is equal to or greater than one integer luminance sample, the edge intensity of the current block may only be present for the luminance component and may have a second value (e.g., 1). In addition, when motion prediction refers to different motion vectors in contiguous blocks adjacent to the current block, the edge intensity of the current block may only be present for the luma component and may have a second value (eg, 1). Meanwhile, when all of the above conditions are not satisfied, the edge intensity of the current block may have a first value (eg, 0) for all color components.

[283] В примере, фильтр удаления блочности может применяться на основе сетки 8×8. Например, фильтр удаления блочности может применяться к CU-границе, совмещенной в сетке 8×8 и совпадающей с границей субблока. В дальнейшем в этом документе, граница субблока может включать в себя PU-границу в TMVP-режиме на основе субблоков и/или аффинном режиме и TU-границу в SBT- и/или ISP-режиме. В SBT- и/или ISP-режиме, процесс фильтрации для удаления блочности для TU-границы может продолжаться с идентичной логикой, как и в случае HEVC. Например, когда имеются ненулевые коэффициенты на крае блока в субблоке, фильтрация для удаления блочности для TU-границы может выполняться. Помимо этого, в TMVP-режиме на основе субблоков и/или аффинном режиме, процесс фильтрации для удаления блочности для PU-границы может продолжаться с идентичной логикой, как и в случае HEVC. Например, на основе разностного значения между векторами движения смежного субблока и разностного значения между опорными кадрами, фильтрация для удаления блочности для PU-границы может выполняться.[283] In an example, a deblocking filter may be applied based on an 8×8 grid. For example, a deblocking filter may be applied to a CU boundary aligned in an 8×8 grid and coinciding with a sub-block boundary. Hereinafter, a subblock boundary may include a PU boundary in subblock-based TMVP mode and/or affine mode and a TU boundary in SBT and/or ISP mode. In SBT and/or ISP mode, the deblocking filtering process for a TU boundary may proceed with the same logic as in the case of HEVC. For example, when there are non-zero coefficients at a block edge in a sub-block, deblocking filtering for the TU boundary may be performed. In addition, in the subblock-based TMVP mode and/or the affine mode, the deblocking filtering process for the PU boundary can proceed with the same logic as in the case of HEVC. For example, based on a difference between motion vectors of an adjacent subblock and a difference between key frames, deblocking filtering for a PU boundary may be performed.

[284] Проблемы предшествующего уровня техники [284] Prior Art Problems

[285] Когда каждый субкадр трактуется в качестве кадра, каждый субкадр может независимо кодироваться/декодироваться. Здесь, независимое кодирование/декодирование может означать то, что структура разбиения блоков (например, структура в виде одиночного дерева, структура в виде сдвоенного дерева и т.д.) для субкадра, режим прогнозирования (например, внутреннее прогнозирование, взаимное прогнозирование и т.д.), порядок кодирования/декодирования и т.д. определяются безотносительно информации кодирования/декодирования различных субкадров. Например, когда каждый из первого субкадра и второго субкадра трактуется в качестве кадра, первый субкадр может кодироваться/декодироваться на основе внутреннего прогнозирования, и второй субкадр может кодироваться/декодироваться на основе взаимного прогнозирования. То, трактуется или нет каждый субкадр в качестве кадра, может передаваться в служебных сигналах с использованием subpic_treated_as_pic_flag в высокоуровневом синтаксисе (например, в SPS-cинтаксисе), как описано выше со ссылкой на фиг. 15. Например, subpic_treated_as_pic_flag для субкадра, который не трактуется в качестве кадра, может иметь первое значение (например, 0). Напротив, subpic_treated_as_pic_flag для субкадра, трактуемого в качестве кадра, может иметь второе значение (например, 1).[285] When each subframe is treated as a frame, each subframe may be independently encoded/decoded. Here, independent encoding/decoding may mean that a block partition structure (e.g., single tree structure, dual tree structure, etc.) for a subframe, a prediction mode (e.g., intra prediction, inter prediction, etc.) etc.), encoding/decoding order, etc. are determined regardless of the encoding/decoding information of the various subframes. For example, when each of the first subframe and the second subframe is treated as a frame, the first subframe may be encoded/decoded based on intra prediction and the second subframe may be encoded/decoded based on inter prediction. Whether or not each subframe is treated as a frame may be signaled using the subpic_treated_as_pic_flag in a high-level syntax (eg, SPS syntax) as described above with reference to FIG. 15. For example, subpic_treated_as_pic_flag for a subframe that is not treated as a frame may have a first value (eg, 0). In contrast, subpic_treated_as_pic_flag for a subframe being treated as a frame may have a second value (eg, 1).

[286] Между тем, для границы каждого субкадра, внутриконтурная фильтрация (например, фильтрация для удаления блочности) через границу может выполняться. В настоящем раскрытии сущности, внутриконтурная фильтрация через границу субкадра может называться "поперечной внутриконтурной фильтрацией" или "поперечной фильтрацией". Помимо этого, фильтр для поперечной фильтрации может называться "поперечным внутриконтурным фильтром" или "поперечным фильтром". То, является или нет поперечный фильтр применимым к границе каждого субкадра, может передаваться в служебных сигналах с использованием loop_fliter_across_subpic_enabled_flag в SPS, описанного выше со ссылкой на фиг. 15. Например, loop_fliter_across_subpic_enabled_flag для субкадра, к которому поперечный фильтр не является применимым, может иметь первое значение (например, 0). Напротив, loop_fliter_across_subpic_enabled_flag для субкадра, к которому поперечный фильтр является применимым, может иметь второе значение (например, 1).[286] Meanwhile, for the boundary of each subframe, in-loop filtering (eg, deblocking filtering) across the boundary may be performed. In the present disclosure, in-loop filtering across a subframe boundary may be referred to as "lateral in-loop filtering" or "transverse filtering". In addition, the filter for transverse filtration may be referred to as "transverse in-loop filter" or "transverse filter". Whether or not a cross filter is applicable to the boundary of each subframe may be signaled using the loop_fliter_across_subpic_enabled_flag in the SPS described above with reference to FIG. 15. For example, loop_fliter_across_subpic_enabled_flag for a subframe to which a cross filter is not applicable may have a first value (eg, 0). In contrast, loop_fliter_across_subpic_enabled_flag for a subframe to which a cross filter is applicable may have a second value (eg, 1).

[287] То, является или нет поперечный фильтр применимым к границе субкадра, может независимо определяться безотносительно того, трактуется или нет субкадр в качестве кадра. Помимо этого, то, является или нет поперечный фильтр применимым к границе субкадра, может независимо определяться безотносительно атрибутов смежного субкадра, смежного с границей субкадра.[287] Whether or not a transverse filter is applicable to a subframe boundary can be independently determined regardless of whether or not a subframe is treated as a frame. In addition, whether or not a cross filter is applicable to a subframe boundary can be independently determined without regard to attributes of an adjacent subframe adjacent to the subframe boundary.

[288] Даже если поперечный фильтр не является применимым к границе текущего субкадра, трактуемого в качестве кадра, поскольку поперечная фильтрация выполняется на границе смежного субкадра, смежного с границей, область, трактуемая в качестве кадра, может уменьшаться в текущем субкадре (или в совместно размещенном субкадре).[288] Even if the lateral filter is not applicable to the boundary of the current subframe treated as a frame, since the lateral filtering is performed on the boundary of an adjacent subframe adjacent to the boundary, the area treated as a frame may decrease in the current subframe (or co-located subframe).

[289] Фиг. 21 и 22 являются видами, иллюстрирующими примеры уменьшения области, трактуемой в качестве кадра в субкадре.[289] FIG. 21 and 22 are views illustrating examples of reducing an area treated as a frame in a subframe.

[290] Во-первых, ссылаясь на фиг. 21, первый субкадр 2110 может не трактоваться в качестве кадра (например, subpic_treated_as_pic_flag[0=0). Помимо этого, поперечный фильтр может применяться к левой вертикальной границе первого субкадра 2110 (например, loop_filter_across_subpic_enabled_flag[0=1).[290] First, referring to FIG. 21, the first subframe 2110 may not be treated as a frame (eg, subpic_treated_as_pic_flag[0=0). In addition, a cross filter may be applied to the left vertical border of the first subframe 2110 (eg, loop_filter_across_subpic_enabled_flag[0=1).

[291] Напротив, второй субкадр 2120, смежный с левой вертикальной границей первого субкадра 2110, может трактоваться в качестве кадра (например, subpic_treated_as_pic_flag[1]=1). Помимо этого, поперечный фильтр не является применимым к правой вертикальной границе второго субкадра 2120 (например, loop_filter_across_subpic_enabled_flag[1]=0).[291] In contrast, the second subframe 2120 adjacent to the left vertical border of the first subframe 2110 may be treated as a frame (eg, subpic_treated_as_pic_flag[1]=1). In addition, the cross filter is not applicable to the right vertical border of the second subframe 2120 (eg, loop_filter_across_subpic_enabled_flag[1]=0).

[292] Даже если поперечный фильтр не является применимым к правой вертикальной границе второго субкадра 2120, трактуемого в качестве кадра, поскольку поперечный фильтр применяется к левой вертикальной границе смежного первого субкадра 2110, правая вертикальная граница второго субкадра 2120 может фильтроваться наряду с левой вертикальной границей первого субкадра 2120.[292] Even if the lateral filter is not applicable to the right vertical border of the second subframe 2120 treated as a frame, since the lateral filter is applied to the left vertical border of the adjacent first subframe 2110, the right vertical border of the second subframe 2120 may be filtered along with the left vertical border of the first subframe 2120.

[293] Как результат, в фильтрованной области 2130, выборочные значения могут изменяться с использованием выборочных значений первого субкадра 2110 и выборочных значений второго субкадра 2120. Следовательно, во втором субкадре 2120, область, трактуемая в качестве кадра, может уменьшаться до области, за исключением фильтрованной правой границы.[293] As a result, in the filtered region 2130, the sample values may be changed using the sample values of the first subframe 2110 and the sample values of the second subframe 2120. Therefore, in the second subframe 2120, the area treated as a frame may be reduced to an area except filtered right border.

[294] В качестве другого примера, ссылаясь на фиг. 22, четвертый субкадр Sub-picture[4]), который представляет собой текущий кадр, включающий в себя текущий блок, может трактоваться в качестве кадра (например, subpic_treated_as_pic_flag=1). Когда режим временного прогнозирования векторов движения (TMVP) на основе субблоков применяется к текущему блоку, на четвертый субкадр Sub-picture[4] в опорном кадре можно ссылаться как на совместно размещенный субкадр для текущего блока. Таким образом, четвертый субкадр Sub-picture[4] в опорном кадре может включать в себя временной опорный блок (совместно размещенный опорный блок) для текущего блока.[294] As another example, referring to FIG. 22, fourth subframe Sub-picture[4]), which is the current frame including the current block, may be treated as a frame (eg, subpic_treated_as_pic_flag=1). When the sub-block-based temporal motion vector prediction (TMVP) mode is applied to the current block, the fourth Sub-picture[4] subframe in the reference frame may be referred to as the co-located subframe for the current block. Thus, the fourth Sub-picture[4] in the reference frame may include a temporary reference block (collocated reference block) for the current block.

[295] В четвертом субкадре Sub-picture[4] в опорном кадре, предполагается, что поперечный фильтр применяется к левой вертикальной границе и верхней горизонтальной границе, и поперечный фильтр не применяется к правой вертикальной границе и нижней горизонтальной границе.[295] In the fourth Sub-picture[4] in the reference frame, it is assumed that the lateral filter is applied to the left vertical border and the upper horizontal border, and the lateral filter is not applied to the right vertical border and the lower horizontal border.

[296] Поскольку поперечный фильтр не применяется к правой вертикальной границе четвертого субкадра Sub-picture[4] в опорном кадре, но левая вертикальная граница пятого субкадра Sub-picture[5], смежного с правой вертикальной границей, поперечно фильтруется, правая вертикальная граница четвертого субкадра Sub-picture[4] в опорном кадре также может фильтроваться. Помимо этого, поскольку поперечный фильтр не применяется к нижней горизонтальной границе четвертого субкадра Sub-picture[4] в опорном кадре, но верхняя горизонтальная граница седьмого субкадра Sub-picture[7], смежного с нижней горизонтальной границей, поперечно фильтруется, нижняя горизонтальная граница четвертого субкадра Sub-picture[4] в опорном кадре также может фильтроваться. Как результат, выборочные значения фильтрованной области в четвертом субкадре Sub-picture[4] в опорном кадре могут модифицироваться с использованием выборочных значений различных субкадров Sub-picture[0]-Sub-picture[3] и Sub-picture[5]-Sub-picture[8]. Следовательно, в четвертом субкадре Sub-picture[4] в опорном кадре, область, в которой может присутствовать временной опорный блок для текущего блока, может уменьшаться до оставшейся области 2210, за исключением фильтрованной области.[296] Because the lateral filter is not applied to the right vertical border of the fourth Sub-picture[4] subframe in the reference frame, but the left vertical border of the fifth Sub-picture[5] subframe adjacent to the right vertical border is lateral filtered, the right vertical border of the fourth sub-picture[4] in the reference frame may also be filtered. In addition, since the lateral filter is not applied to the lower horizontal boundary of the fourth Sub-picture[4] in the reference frame, but the upper horizontal boundary of the seventh Sub-picture[7] adjacent to the lower horizontal boundary is lateral filtered, the lower horizontal boundary of the fourth sub-picture[4] in the reference frame may also be filtered. As a result, the sample values of the filtered area in the fourth Sub-picture[4] subframe in the reference frame can be modified using the sample values of different Sub-picture[0]-Sub-picture[3] and Sub-picture[5]-Sub- picture[8]. Therefore, in the fourth Sub-picture[4] in the reference frame, the area in which the temporary reference block for the current block may be present may be reduced to the remaining area 2210 except for the filtered area.

[297] Между тем, когда независимо кодированные субкадры декодируются, даже если поперечный фильтр не является применимым к границе текущего субкадра, поскольку поперечная фильтрация выполняется на границе смежного субкадра, смежного с границей, может возникать такая проблема, что результат кодирования и результат декодирования (т.е. ошибка декодирования) не совпадают.[297] Meanwhile, when independently encoded subframes are decoded, even if the lateral filter is not applicable to the boundary of the current subframe, since the lateral filtering is performed at the boundary of an adjacent subframe adjacent to the boundary, such a problem may occur that the encoding result and the decoding result (t .e. decoding error) do not match.

[298] Фиг. 23 и 24 являются видами, иллюстрирующими примеры, в которых возникает ошибка декодирования субкадра.[298] FIG. 23 and 24 are views illustrating examples in which a subframe decoding error occurs.

[299] Во-первых, ссылаясь на фиг. 23, каждый первый субкадр 2310 и второй субкадр 2320 могут трактоваться в качестве кадра и независимо кодироваться. В примере, первая информация, указывающая то, трактуется или нет каждый субкадр в качестве кадра, может передаваться в служебных сигналах с использованием subpic_treated_as_pic_flag, описанного выше со ссылкой на фиг. 15.[299] First, referring to FIG. 23, each first subframe 2310 and second subframe 2320 may be treated as a frame and independently encoded. In an example, the first information indicating whether or not each subframe is treated as a frame may be signaled using the subpic_treated_as_pic_flag described above with reference to FIG. 15.

[300] Внутриконтурная фильтрация через границу, т.е. поперечная фильтрация, может выполняться на границе, по меньшей мере, одного из первого субкадра 2310 и второго субкадра 2320. Например, поперечная фильтрация может не выполняться на границе первого субкадра 2310, и поперечная фильтрация может выполняться на границе второго субкадра 2320. В примере, вторая информация, указывающая то, может или нет поперечная фильтрация выполняться на границе каждого субкадра, может передаваться в служебных сигналах с использованием loop_filter_across_subpic_enabled_flag, описанного выше со ссылкой на фиг. 15.[300] In-loop filtering across the boundary, i. e. lateral filtering may be performed on a boundary of at least one of the first subframe 2310 and second subframe 2320. For example, lateral filtering may not be performed on a boundary of first subframe 2310, and lateral filtering may be performed on a boundary of second subframe 2320. information indicating whether or not cross filtering can be performed at the boundary of each subframe may be signaled using the loop_filter_across_subpic_enabled_flag described above with reference to FIG. 15.

[301] То, может или нет поперечная фильтрация выполняться на границе каждого субкадра, может определяться безотносительно того, трактуется или нет каждый субкадр в качестве кадра. Таким образом, в вышеописанном примере, значение loop_filter_across_subpic_enabled_flag может определяться безотносительно значения subpic_treated_as_pic_flag. Как результат, даже если поперечный фильтр не применяется к границе первого субкадра 2310, поскольку граница второго субкадра 2320 поперечно фильтруется, граница первого субкадра 2310 также может фильтроваться.[301] Whether or not lateral filtering can be performed at the boundary of each subframe may be determined regardless of whether or not each subframe is treated as a frame. Thus, in the above example, the value of loop_filter_across_subpic_enabled_flag can be determined regardless of the value of subpic_treated_as_pic_flag. As a result, even if a lateral filter is not applied to the boundary of the first subframe 2310, since the boundary of the second subframe 2320 is lateral filtered, the boundary of the first subframe 2310 may also be filtered.

[302] Информация относительно каждого субкадра может включать в себя первую информацию и вторую информацию. Помимо этого, информация относительно каждого независимо кодированный субкадр может передаваться в служебных сигналах через различные потоки битов. Например, информация 2341 относительно первого субкадра 2310 может передаваться в служебных сигналах через первый поток 2340 битов, и информация 2351 относительно второго субкадра 2320 может передаваться в служебных сигналах через второй поток 2350 битов.[302] Information regarding each subframe may include first information and second information. In addition, information regarding each independently encoded subframe may be signaled via different bitstreams. For example, information 2341 regarding the first subframe 2310 may be signaled via the first stream 2340 bits, and information 2351 regarding the second subframe 2320 may be signaled via the second stream 2350 bits.

[303] Между тем, на этапе декодирования, оборудование декодирования изображений может конструировать, по меньшей мере, один кадр, включающий в себя множество субкадров, посредством объединения множества потоков битов. Например, оборудование декодирования изображений может конструировать один кадр, включающий в себя первый субкадр 2310 и второй субкадр 2320, на основе информации 2341 относительно первого субкадра 2310, полученной из первого потока 2340 битов, и информации 2351 относительно второго субкадра 2320, полученной из второго потока 2350 битов. В этом случае, согласно порядку декодирования, второй субкадр может присутствовать в позиции рядом с правой вертикальной границей первого субкадра 2310.[303] Meanwhile, in the decoding step, the image decoding equipment may construct at least one frame including a plurality of subframes by combining the plurality of bit streams. For example, the image decoding equipment may construct one frame including the first subframe 2310 and the second subframe 2320 based on information 2341 regarding the first subframe 2310 obtained from the first bit stream 2340 and information 2351 regarding the second subframe 2320 obtained from the second stream 2350. bits. In this case, according to the decoding order, the second subframe may be present at a position near the right vertical border of the first subframe 2310.

[304] Затем, ссылаясь на фиг. 24, когда режим временного прогнозирования векторов движения (TMVP) на основе субблоков применяется к текущему блоку 2410, включенному в первый субкадр 2310, по меньшей мере, частичная область в совместно размещенном опорном блоке 2420 для текущего блока 2410 может включаться в фильтрованную область 2430. Как результат, на этапе кодирования, временной опорный блок 2420 для текущего блока 2410 не включает в себя фильтрованную область. Тем не менее, на этапе декодирования, временной опорный блок 2420 для текущего блока 2410 может включать в себя фильтрованную область. Следовательно, в частичной области 2411 в текущем блоке 2410, ссылающейся на фильтрованную область, может возникать ошибка декодирования, при которой результат декодирования и результат кодирования не совпадают.[304] Then, referring to FIG. 24, when the sub-block-based temporal motion vector prediction (TMVP) mode is applied to the current block 2410 included in the first subframe 2310, at least a partial area in the collocation reference block 2420 for the current block 2410 may be included in the filtered area 2430. As as a result, in the encoding step, the temporal reference block 2420 for the current block 2410 does not include the filtered region. However, in the decoding step, the temporal reference block 2420 for the current block 2410 may include the filtered region. Therefore, in the partial area 2411 in the current block 2410 referring to the filtered area, a decoding error may occur in which the decoding result and the encoding result do not match.

[305] Как описано выше, чтобы разрешать проблемы, описанные выше со ссылкой на фиг. 21-24, согласно варианту осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться на основе того, трактуется или нет текущий субкадр в качестве кадра. Помимо этого, согласно варианту осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего блока может выполняться на основе того, равна или нет граница текущего блока границе текущего субкадра. Помимо этого, согласно варианту осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться на основе того, может или нет выполняться внутриконтурная фильтрация через смежный субкадр, смежный с границей.[305] As described above, in order to solve the problems described above with reference to FIG. 21-24, according to an embodiment of the present disclosure, in-loop filtering across a current subframe boundary may be performed based on whether or not the current subframe is treated as a frame. In addition, according to an embodiment of the present disclosure, in-loop filtering across a current block boundary may be performed based on whether or not the current block boundary is equal to the current subframe boundary. In addition, according to an embodiment of the present disclosure, in-loop filtering across a boundary of the current subframe may be performed based on whether or not in-loop filtering may be performed through an adjacent subframe adjacent to the boundary.

[306] Далее подробно описываются примерные варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи.[306] The following describes exemplary embodiments of the present disclosure in detail with reference to the accompanying drawings.

[307] Вариант 1 осуществления [307] Embodiment 1

[308] Согласно варианту 1 осуществления, то, может или нет поперечная фильтрация выполняться на границе текущего субкадра, может определяться на основе того, трактуется или нет текущий субкадр в качестве кадра.[308] According to Embodiment 1, whether or not lateral filtering can be performed at the boundary of the current subframe may be determined based on whether or not the current subframe is treated as a frame.

[309] Фиг. 25 является видом, иллюстрирующим SPS-cинтаксис для передачи в служебных сигналах синтаксического элемента для субкадров согласно варианту осуществления настоящего раскрытия сущности. Описание SPS-cинтаксиса по фиг. 25, перекрывающего SPS-cинтаксис по фиг. 15, опускается или упрощается.[309] FIG. 25 is a view illustrating the SPS syntax for signaling a syntax element for subframes according to an embodiment of the present disclosure. The description of the SPS syntax of FIG. 25 overlaying the SPS syntax of FIG. 15 is omitted or simplified.

[310] Ссылаясь на фиг. 25, синтаксический элемент subpic_treated_as_pic_flag[i] может указывать то, трактуется или нет субкадр как идентичный общему кадру в процессе декодирования. Например, первое значение (например, 0) subpic_treated_as_pic_flag[i] может указывать то, что i-ый субкадр, включенный в отдельный кодируемый кадр CVS, не трактуется в качестве кадра. Второе значение (например, 1) subpic_treated_as_pic_flag[i] может указывать то, что i-ый субкадр, включенный в отдельный кодируемый кадр CVS, трактуется в качестве кадра. Когда значение subpic_treated_as_pic_flag[i] не получается из потока битов, значение subpic_treated_as_pic_flag[i] может логически выводиться в качестве первого значения (например, 0).[310] Referring to FIG. 25, the subpic_treated_as_pic_flag[i] syntax element may indicate whether or not a subframe is treated as identical to a common frame during decoding. For example, the first value (eg, 0) of subpic_treated_as_pic_flag[i] may indicate that the i-th subframe included in a single CVS encoded frame is not treated as a frame. The second value (eg, 1) of subpic_treated_as_pic_flag[i] may indicate that the i-th subframe included in a single CVS encoded frame is treated as a frame. When the value of subpic_treated_as_pic_flag[i] is not obtained from the bit stream, the value of subpic_treated_as_pic_flag[i] may be inferred as the first value (eg, 0).

[311] Синтаксический элемент loop_filter_across_subpic_enabled_flag[i] может указывать то, может или нет внутриконтурная фильтрация (например, фильтрация для удаления блочности) выполняться через границу i-ого субкадра, включенного в отдельный кодируемый кадр CVS. Например, первое значение (например, 0) loop_filter_across_subpic_enabled_flag[i] может указывать то, что внутриконтурная фильтрация не может выполняться через границу i-ого субкадра, включенного в отдельный кодируемый кадр CVS. Второе значение (например, 1) loop_filter_across_subpic_enabled_flag[i] может указывать то, что внутриконтурная фильтрация может выполняться через границу i-ого субкадра, включенного в отдельный кодируемый кадр CVS.[311] The loop_filter_across_subpic_enabled_flag[i] syntax element may indicate whether or not in-loop filtering (eg, deblocking filtering) can be performed across the boundary of the i-th subframe included in a single encoded CVS frame. For example, the first value (eg, 0) of loop_filter_across_subpic_enabled_flag[i] may indicate that in-loop filtering cannot be performed across the boundary of the i-th subframe included in a single CVS encoded frame. The second value (eg, 1) of loop_filter_across_subpic_enabled_flag[i] may indicate that in-loop filtering can be performed across the boundary of the i-th subframe included in a single CVS encoded frame.

[312] loop_filter_across_subpic_enabled_flag[i] может передаваться в служебных сигналах только тогда, когда субкадр не трактуется как идентичный общему кадру в процессе декодирования. Например, когда i-ый субкадр, включенный в отдельный кодируемый кадр CVS, не трактуется в качестве кадра в процессе декодирования (например, subpic_treated_as_pic_flag[i]=0), loop_filter_across_subpic_enabled_flag[i] может передаваться в служебных сигналах (2510).[312] loop_filter_across_subpic_enabled_flag[i] may be signaled only when the subframe is not treated as identical to the overall frame during the decoding process. For example, when the i-th subframe included in a single encoded CVS frame is not treated as a frame during decoding (eg, subpic_treated_as_pic_flag[i]=0), loop_filter_across_subpic_enabled_flag[i] may be signaled (2510).

[313] В примере, когда loop_filter_across_subpic_enabled_flag[i] не передается в служебных сигналах, значение loop_filter_across_subpic_enabled_flag[i] может определяться как составляющее первое значение (например, 0) или второе значение (например, 1) согласно следующему условию. Когда i-ый субкадр, включенный в отдельный кодируемый кадр CVS, трактуется в качестве кадра в процессе декодирования (например, subpic_treated_as_pic_flag[i]=1), значение loop_filter_across_subpic_enabled_flag[i] может определяться как составляющее первое значение (например, 0). В других случаях, значение loop_filter_across_subpic_enabled_flag[i] может определяться как составляющее второе значение (например, 1).[313] In an example where loop_filter_across_subpic_enabled_flag[i] is not signaled, the value of loop_filter_across_subpic_enabled_flag[i] may be determined to be the first value (eg, 0) or the second value (eg, 1) according to the following condition. When the i-th subframe included in a single encoded CVS frame is treated as a frame in the decoding process (eg, subpic_treated_as_pic_flag[i]=1), the value of loop_filter_across_subpic_enabled_flag[i] may be determined to be the first value (eg, 0). In other cases, the value of loop_filter_across_subpic_enabled_flag[i] may be defined as constituting a second value (eg, 1).

[314] В примере, для соответствия потока битов, когда значение subpic_treated_as_pic_flag[i] составляет второе значение (например, 1), может применяться такое ограничение, что значение loop_filter_across_subpic_enabled_flag[i] составляет первое значение (например, 0).[314] In an example, to match the bitstream when the value of subpic_treated_as_pic_flag[i] is the second value (eg, 1), a restriction may be applied such that the value of loop_filter_across_subpic_enabled_flag[i] is the first value (eg, 0).

[315] Фиг. 26 является видом, иллюстрирующим пример процесса фильтрации выборок сигналов яркости на основе SPS-cинтаксиса по фиг. 25.[315] FIG. 26 is a view illustrating an example of the luminance sample filtering process based on the SPS syntax of FIG. 25.

[316] Ссылаясь на фиг. 26, выборки сигналов яркости могут фильтроваться с использованием длинного фильтра на основе предварительно определенных ограничений при фильтрации.[316] Referring to FIG. 26, the luminance samples may be filtered using a long filter based on predetermined filtering constraints.

[317] Выборки сигналов яркости могут включать в себя выборку p0 P-блоков, расположенную слева или сверху, и выборку q0 Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация.[317] The luma samples may include a left or top p 0 P block sample and a right or bottom q 0 Q block sample based on the target boundary on which the filtering is performed.

[318] В случае выборки p0 P-блоков, когда число nDp выборок p0 P-блоков, которые должны фильтроваться, больше 0, и, по меньшей мере, одно из следующих ограничений удовлетворяется, число nDp выборок p0 P-блоков, которые должны фильтроваться, может изменяться на 0.[318] In the case of p 0 P-box samples, when the number nDp of p 0 P-box samples to be filtered is greater than 0, and at least one of the following constraints is satisfied, the number nDp of p 0 P-box samples, to be filtered may change to 0.

[319] Ограничение 1: процесс квантования, преобразования и внутриконтурной фильтрации обходится (например, cu_transquant_bypass_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку p0 P-блоков.[319] Constraint 1: The quantization, transformation, and in-loop filtering process is bypassed (eg, cu_transquant_bypass_flag==1) for the current CU including a coding block having a sample of p 0 P-blocks.

[320] Ограничение 2: палитровый режим применяется (например, pred_mode_plt_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку p0 P-блоков.[320] Constraint 2: Palette mode is applied (eg, pred_mode_plt_flag==1) for the current CU including a coding block having a sample of p 0 P-blocks.

[321] Ограничение 3: край текущей CU, включающей в себя блок кодирования, имеющий выборку p0 P-блоков, представляет собой границу субкадра, и текущая CU трактуется в качестве кадра (например, subpic_treated_as_pic_flag[SubPicIdx]==1).[321] Constraint 3: The edge of the current CU including a coding block having a sample of p 0 P-blocks is a subframe boundary, and the current CU is treated as a frame (eg, subpic_treated_as_pic_flag[SubPicIdx]==1).

[322] В случае выборки q0 Q-блоков, когда число nDq выборок q0 Q-блоков, которые должны фильтроваться, больше 0, и, по меньшей мере, одно из следующих ограничений 4 и 5 удовлетворяется, число nDq выборок q0 Q-блоков, которые должны фильтроваться, может изменяться на 0.[322] In the case of q 0 Q-box sampling, when the number nDq of q 0 Q-box samples to be filtered is greater than 0, and at least one of the following constraints 4 and 5 is satisfied, the number nDq of q 0 Q samples -blocks to be filtered can change to 0.

[323] Ограничение 4: процесс квантования, преобразования и внутриконтурной фильтрации обходится (например, cu_transquant_bypass_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку q0 Q-блоков.[323] Constraint 4: The quantization, transformation, and in-loop filtering process is bypassed (eg, cu_transquant_bypass_flag==1) for the current CU including a coding block having a sample of q 0 Q-blocks.

[324] Ограничение 5: палитровый режим применяется (например, pred_mode_plt_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку q0 Q-блоков.[324] Constraint 5: Palette mode is applied (eg, pred_mode_plt_flag==1) for the current CU including a coding block having a sample of q 0 Q-blocks.

[325] Фиг. 27 является видом, иллюстрирующим другой пример процесса фильтрации выборок сигналов яркости на основе SPS-cинтаксиса по фиг. 25.[325] FIG. 27 is a view illustrating another example of the luminance sample filtering process based on the SPS syntax of FIG. 25.

[326] Ссылаясь на фиг. 27, выборки сигналов яркости могут фильтроваться с использованием длинного фильтра на основе предварительно определенных ограничений при фильтрации.[326] Referring to FIG. 27, the luminance samples may be filtered using a long filter based on predetermined filtering constraints.

[327] Выборки сигналов яркости могут включать в себя выборку pi P-блоков, расположенную слева или сверху, и выборку qj Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Здесь, i может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthP) для P-блока. Помимо этого, j может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthQ) для Q-блока.[327] The luminance samples may include a left or top p i P block sample and a right or bottom q j Q block sample based on the target boundary on which the filtering is performed. Here, i may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthP) for the P-block. In addition, j may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthQ) for the Q-block.

[328] В случае выборки pi P-блоков, когда, по меньшей мере, одно из следующих ограничений удовлетворяется, выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[328] In the case of a sample p i P-boxes, when at least one of the following constraints is satisfied, the sample value of the filtered sample p i ' P-boxes may be replaced by the sample value of the input sample p i P-boxes.

[329] Ограничение 1: процесс квантования, преобразования и внутриконтурной фильтрации обходится (например, cu_transquant_bypass_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков.[329] Constraint 1: The quantization, transformation, and in-loop filtering process is bypassed (eg, cu_transquant_bypass_flag==1) for the current CU including a coding block having a sample of p i P-blocks.

[330] Ограничение 2: палитровый режим применяется (например, pred_mode_plt_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков.[330] Constraint 2: Palette mode is applied (eg, pred_mode_plt_flag==1) for the current CU including a coding block having a sample of p i P-blocks.

[331] Ограничение 3: край текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков, представляет собой границу субкадра, и текущая CU трактуется в качестве кадра (например, subpic_treated_as_pic_flag[SubPicIdx]==1).[331] Constraint 3: The edge of the current CU including a coding block having a sample of p i P-blocks is a subframe boundary, and the current CU is treated as a frame (eg, subpic_treated_as_pic_flag[SubPicIdx]==1).

[332] Согласно вышеописанным ограничениям при фильтрации, когда выборочное значение фильтрованной выборки pi' P-блоков заменяется выборочным значением входной выборки pi P-блоков, выборка pi P-блоков может трактоваться как не фильтрованная.[332] According to the filtering constraints described above, when the sample value of the filtered sample p i 'P-boxes is replaced by the sample value of the input sample p i P-boxes, the sample p i P-boxes can be treated as unfiltered.

[333] В случае выборки qj Q-блоков, когда, по меньшей мере, одно из следующих ограничений 4 и 5 удовлетворяется, выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[333] In the case of sampling q j Q-blocks, when at least one of the following constraints 4 and 5 is satisfied, the sample value of the filtered sample q j ' Q-boxes may be replaced by the sample value of the input sample q j Q-blocks.

[334] Ограничение 4: процесс квантования, преобразования и внутриконтурной фильтрации обходится (например, cu_transquant_bypass_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку qi Q-блоков.[334] Constraint 4: The quantization, transformation, and in-loop filtering process is bypassed (eg, cu_transquant_bypass_flag==1) for the current CU including a coding block having a sample of q i Q blocks.

[335] Ограничение 5: палитровый режим применяется (например, pred_mode_plt_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку qi Q-блоков.[335] Constraint 5: Palette mode is applied (eg, pred_mode_plt_flag==1) for the current CU including a coding block having a sample of q i Q blocks.

[336] Согласно вышеописанным ограничениям при фильтрации, когда выборочное значение фильтрованной выборки qj' Q-блоков заменяется выборочным значением входной выборки Qj Q-блоков, выборка qj Q-блоков может трактоваться как не фильтрованная.[336] According to the filtering restrictions described above, when the sample value of the filtered sample q j ' Q-boxes is replaced by the sample value of the input sample Q j Q-boxes, the q j Q-blocks sample can be treated as unfiltered.

[337] Фиг. 28 является видом, иллюстрирующим пример процесса фильтрации выборок сигналов цветности на основе SPS-cинтаксиса по фиг. 25.[337] FIG. 28 is a view illustrating an example of a chrominance sample filtering process based on the SPS syntax of FIG. 25.

[338] Ссылаясь на фиг. 28, выборки сигналов цветности могут фильтроваться с использованием сильного фильтра или слабого фильтра согласно предварительно определенным ограничениям при фильтрации. В примере, выборки сигналов цветности могут фильтроваться только тогда, когда соответствующие цветовые компоненты (например, Y, Cb, Cr) отдельно не кодируются/декодируются. Например, выборки сигналов цветности могут фильтроваться только тогда, когда значение ChromaArrayType, указывающего тип массива выборок сигналов цветности, не равно 0.[338] Referring to FIG. 28, the chrominance samples may be filtered using a strong filter or a weak filter according to predetermined filtering constraints. In an example, chrominance samples can only be filtered when the corresponding color components (eg, Y, Cb, Cr) are not separately encoded/decoded. For example, chrominance samples can only be filtered when the ChromaArrayType value indicating the type of the chrominance sample array is not equal to 0.

[339] Выборки сигналов цветности могут включать в себя выборку pi P-блоков, расположенную слева и сверху, и выборку qi Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Здесь, i может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthCbCr) для блока сигналов цветности. Выборка pi P-блоков может указываться с использованием первой выборочной позиции (xPi, yPi), и выборка qi Q-блоков может указываться с использованием второй позиции (xQi, yQi).[339] The chrominance samples may include a left and top p i P block sample and a right or bottom q i Q block sample based on the target boundary on which the filtering is performed. Here, i may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthCbCr) for the chroma block. The sample p i P-blocks may be indicated using the first sample position (xPi, yPi), and the sample q i Q-blocks may be indicated using the second position (xQi, yQi).

[340] С использованием выборочного значения и позиции выборки pi P-блоков, выборочного значения и позиции выборки qi Q-блоков и переменной tc в качестве ввода, могут выводиться выборочное значение фильтрованной выборки pi' P-блоков и выборочное значение фильтрованной выборки qi' Q-блоков.[340] Using the sample value and sample position of the p i P-boxes, the sample value and sample position of the q i Q-blocks, and the variable t c as input, the sample value of the filtered sample p i ' P-boxes and the sample value of the filtered samples of q i ' Q-blocks.

[341] В примере, когда максимальная длина фильтра (например, maxFilterLengthCbCr) для блока сигналов цветности равна 3, сильная фильтрация может выполняться для выборок сигналов цветности, как показано в нижеприведенном уравнении 7.[341] In an example where the maximum filter length (e.g., maxFilterLengthCbCr) for a chrominance block is 3, strong filtering can be performed on the chrominance samples, as shown in Equation 7 below.

[342] уравнение 7[342] Equation 7

p0'=Clip3(p0-tC, p0+tC, (p3+p2+p1+2*p0+q0+q1+q2+4)>>3)p 0 '=Clip3(p 0 -t C , p 0 +t C , (p 3 +p 2 +p 1 +2*p 0 +q 0 +q 1 +q 2 +4)>>3)

p1'=Clip3(p1-tC, p1+tC, (2*p3+p2+2*p1+p0+q0+q1+4)>>3)p 1 '=Clip3(p 1 -t C , p 1 +t C , (2*p 3 +p 2 +2*p 1 +p 0 +q 0 +q 1 +4)>>3)

p2'=Clip3(p2-tC, p2+tC, (3*p3+2*p2+p1+p0+q0+4)>>3)p 2 '=Clip3(p 2 -t C , p 2 +t C , (3*p 3 +2*p 2 +p 1 +p 0 +q 0 +4)>>3)

q0'=Clip3(q0-tC, q0+tC, (p2+p1+p0+2*q0+q1+q2+q3+4)>>3)q 0 '=Clip3(q 0 -t C , q 0 +t C , (p 2 +p 1 +p 0 +2*q 0 +q 1 +q 2 +q 3 +4)>>3)

q1'=Clip3(q1-tC, q1+tC, (p1+p0+q0+2*q1+q2+2*q3+4)>>3)q 1 '=Clip3(q 1 -t C , q 1 +t C , (p 1 +p 0 +q 0 +2*q 1 +q 2 +2*q 3 +4)>>3)

q2'=Clip3(q2-tC, q2+tC, (p0+q0+q1+2*q2+3*q3+4)>>3),q 2 '=Clip3(q 2 -t C , q 2 +t C , (p 0 +q 0 +q 1 +2*q 2 +3*q 3 +4)>>3),

[343] где Clip3(x, y, z) может означать функцию для отсечения значения параметра z для значения между значением параметра x и значением параметра y.[343] where Clip3(x, y, z) can mean a function for clipping the z parameter value for a value between the x parameter value and the y parameter value.

[344] Напротив, когда максимальная длина фильтра (например, maxFilterLengthCbCr) для блока сигналов цветности не равна 3, слабая фильтрация может выполняться для выборок сигналов цветности, как показано в нижеприведенном уравнении 8.[344] In contrast, when the maximum filter length (e.g., maxFilterLengthCbCr) for a chrominance block is not 3, weak filtering can be performed on the chrominance samples, as shown in Equation 8 below.

[345] уравнение 8[345] Equation 8

Δ=Clip3(-tC, tC, ((((q0-p0)<<2)+p1-q1+4)>>3))Δ=Clip3(-t C , t C , ((((q 0 -p 0 )<<2)+p 1 -q 1 +4)>>3))

p0'=Clip1C(p0+Δ)p 0 '=Clip1 C (p 0 +Δ)

q0'=Clip1C(q0-Δ),q 0 '=Clip1 C (q 0 -Δ),

[346] где Clip1C(x) может означать функцию для отсечения значения параметра x на основе битовой глубины блока сигналов цветности.[346] where Clip1C(x) may denote a function for clipping the value of parameter x based on the bit depth of the chroma block.

[347] Между тем, выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков, когда удовлетворяется, по меньшей мере, одно из нижеприведенных ограничений 1-3.[347] Meanwhile, the sample value of the filtered sample p i ' P-blocks may be replaced by the sample value of the input sample p i P-blocks when at least one of the following constraints 1-3 is satisfied.

[348] Ограничение 1: процесс квантования, преобразования и внутриконтурной фильтрации обходится (например, cu_transquant_bypass_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков.[348] Constraint 1: The quantization, transformation, and in-loop filtering process is bypassed (eg, cu_transquant_bypass_flag==1) for the current CU including a coding block having a sample of p i P-blocks.

[349] Ограничение 2: палитровый режим применяется (например, pred_mode_plt_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков.[349] Constraint 2: Palette mode is applied (eg, pred_mode_plt_flag==1) for the current CU including a coding block having a sample of p i P-blocks.

[350] Ограничение 3: край текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков, представляет собой границу субкадра, и текущая CU трактуется в качестве кадра (например, subpic_treated_as_pic_flag[SubPicIdx]==1).[350] Constraint 3: The edge of the current CU including a coding block having a sample of p i P-blocks is a subframe boundary, and the current CU is treated as a frame (eg, subpic_treated_as_pic_flag[SubPicIdx]==1).

[351] Согласно вышеописанным ограничениям при фильтрации, когда выборочное значение фильтрованной выборки pi' P-блоков заменяется выборочным значением входной выборки pi P-блоков, выборка pi P-блоков может трактоваться как не фильтрованная.[351] According to the filtering restrictions described above, when the sample value of the filtered sample p i 'P-boxes is replaced by the sample value of the input sample p i P-boxes, the sample p i P-boxes can be treated as unfiltered.

[352] Выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков, когда удовлетворяется, по меньшей мере, одно из нижеприведенных ограничений 4 и 5.[352] The sample value of the filtered sample q j ' Q-blocks may be replaced by the sample value of the input sample q j Q-blocks when at least one of the constraints 4 and 5 below is satisfied.

[353] Ограничение 4: процесс квантования, преобразования и внутриконтурной фильтрации обходится (например, cu_transquant_bypass_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку qi Q-блоков.[353] Constraint 4: The quantization, transformation, and in-loop filtering process is bypassed (eg, cu_transquant_bypass_flag==1) for the current CU including a coding block having a sample of q i Q blocks.

[354] Ограничение 5: палитровый режим применяется (например, pred_mode_plt_flag==1) для текущей CU, включающей в себя блок кодирования, имеющий выборку qi Q-блоков.[354] Constraint 5: Palette mode is applied (eg, pred_mode_plt_flag==1) for the current CU including a coding block having a sample of q i Q blocks.

[355] Согласно вышеописанным ограничениям при фильтрации, когда выборочное значение фильтрованной выборки qj' Q-блоков заменяется выборочным значением входной выборки Qj Q-блоков, выборка qj Q-блоков может трактоваться как не фильтрованная.[355] According to the filtering restrictions described above, when the sample value of the filtered sample q j ' of Q-blocks is replaced by the sample value of the input sample Q j of Q-blocks, the sample of q j Q-blocks can be treated as unfiltered.

[356] В дальнейшем в этом документе подробно описывается способ фильтрации согласно варианту 1 осуществления настоящего раскрытия сущности.[356] Hereinafter, the filtering method according to Embodiment 1 of the present disclosure is described in detail.

[357] Фиг. 29 является блок-схемой последовательности операций, иллюстрирующей способ фильтрации на основе структуры субкадра согласно варианту осуществления настоящего раскрытия сущности. Способ фильтрации по фиг. 29 может осуществляться посредством оборудования кодирования изображений по фиг. 2. Например, этапы S2910-S2940 могут выполняться посредством фильтра 160 оборудования 100 кодирования изображений. Альтернативно, способ фильтрации по фиг. 29 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Например, этапы S2910-S2940 могут выполняться посредством фильтра 240 оборудования 200 декодирования изображений.[357] FIG. 29 is a flowchart illustrating a filtering method based on a subframe structure according to an embodiment of the present disclosure. The filtering method according to Fig. 29 may be performed by the image encoding equipment of FIG. 2. For example, steps S2910-S2940 may be performed by the filter 160 of the image encoding equipment 100 . Alternatively, the filtering method of FIG. 29 may be performed by the image decoding equipment of FIG. 3. For example, steps S2910-S2940 may be performed by the filter 240 of the image decoding equipment 200 .

[358] На этапе кодирования, способ фильтрации по фиг. 29 может осуществляться через границу текущего кадра, включающего в себя восстановленный текущий блок. Альтернативно, на этапе декодирования, способ фильтрации по фиг. 29 может осуществляться через границу текущего кадра, включающего в себя декодированный текущий блок. В дальнейшем в этом документе, внутриконтурная фильтрация через границу субкадра называется "поперечной фильтрацией".[358] In the encoding step, the filtering method of FIG. 29 may be performed across the boundary of the current frame, which includes the reconstructed current block. Alternatively, in the decoding step, the filtering method of FIG. 29 may be performed across the boundary of the current frame including the decoded current block. Hereinafter, in-loop filtering across a subframe boundary is referred to as "cross-filtering".

[359] Ссылаясь на фиг. 29, оборудование кодирования/декодирования изображений может определять то, может или нет текущий субкадр, включающий в себя текущий блок, трактоваться в качестве кадра (S2910).[359] Referring to FIG. 29, the image encoding/decoding equipment can determine whether or not the current subframe including the current block can be treated as a frame (S2910).

[360] Трактовки текущего субкадра в качестве кадра может означать то, что текущий субкадр независимо кодируется/декодируется безотносительно информации кодирования/декодирования других субкадров. Например, текущий субкадр может кодироваться с использованием режима взаимного прогнозирования, и смежный субкадр, смежный с текущим субкадром может кодироваться/декодироваться с использованием режима внутреннего прогнозирования.[360] Treating the current subframe as a frame may mean that the current subframe is independently encoded/decoded without regard to encoding/decoding information of other subframes. For example, the current subframe may be encoded using an inter prediction mode, and an adjacent subframe adjacent to the current subframe may be encoded/decoded using an intra prediction mode.

[361] На этапе кодирования, информация, указывающая то, может или нет текущий субкадр трактоваться в качестве кадра, может кодироваться с использованием subpic_treated_as_pic_flag в высокоуровневом синтаксисе (например, в синтаксисе SPS (наборов параметров последовательности)). Например, когда subpic_treated_as_pic_flag имеет первое значение (например, 0), текущий субкадр может не трактоваться в качестве кадра. Напротив, когда subpic_treated_as_pic_flag имеет второе значение (например, 1), текущий субкадр может трактоваться в качестве кадра.[361] In the encoding step, information indicating whether or not the current subframe can be treated as a frame may be encoded using subpic_treated_as_pic_flag in a high-level syntax (eg, SPS (sequence parameter set) syntax). For example, when subpic_treated_as_pic_flag has a first value (eg, 0), the current subframe may not be treated as a frame. Conversely, when subpic_treated_as_pic_flag has a second value (eg, 1), the current subframe may be treated as a frame.

[362] На этапе декодирования, то, может или нет текущий субкадр трактоваться в качестве кадра, может определяться с использованием значения subpic_treated_as_pic_flag, полученного из высокоуровневого синтаксиса. В примере, когда subpic_treated_as_pic_flag не получается, subpic_treated_as_pic_flag может логически выводиться как имеющий первое значение (например, 0).[362] In the decoding step, whether or not the current subframe can be treated as a frame may be determined using the subpic_treated_as_pic_flag value obtained from the high-level syntax. In an example where subpic_treated_as_pic_flag fails, subpic_treated_as_pic_flag may be inferred as having the first value (eg, 0).

[363] Когда текущий субкадр не трактуется в качестве кадра ("Нет" на S2910), может определяться то, может или нет поперечная фильтрация (например, фильтрация для удаления блочности) выполняться на границе текущего субкадра (S2920).[363] When the current subframe is not treated as a frame ("No" in S2910), it may be determined whether or not cross-sectional filtering (eg, deblocking filtering) can be performed at the boundary of the current subframe (S2920).

[364] На этапе кодирования, информация, указывающая то, может или нет поперечная фильтрация выполняться на границе текущего субкадра, может кодироваться с использованием loop_filter_across_subpic_enabled_flag в высокоуровневом синтаксисе (например, в синтаксисе SPS (наборов параметров последовательности)). Например, когда loop_filter_across_subpic_enabled_flag имеет первое значение (например, 0), поперечная фильтрация может не выполняться на границе текущего субкадра. Напротив, когда loop_filter_across_subpic_enabled_flag имеет второе значение (например, 1), поперечная фильтрация может выполняться на границе текущего субкадра.[364] In the encoding step, information indicating whether or not cross-sectional filtering can be performed at the boundary of the current subframe may be encoded using loop_filter_across_subpic_enabled_flag in a high-level syntax (for example, in SPS (sequence parameter sets) syntax). For example, when loop_filter_across_subpic_enabled_flag has a first value (eg, 0), cross filtering may not be performed at the boundary of the current subframe. In contrast, when loop_filter_across_subpic_enabled_flag has a second value (eg, 1), lateral filtering may be performed at the boundary of the current subframe.

[365] На этапе декодирования, то, может или нет поперечная фильтрация выполняться на границе текущего субкадра, может определяться на основе значения loop_filter_across_subpic_enabled_flag, полученного из высокоуровневого синтаксиса. В примере, когда loop_filter_across_subpic_enabled_flag не получается, значение loop_filter_across_subpic_enabled_flag может определяться на основе того, трактуется или нет текущий субкадр в качестве кадра. Например, когда текущий субкадр трактуется в качестве кадра, loop_filter_across_subpic_enabled_flag может логически выводиться как имеющий первое значение (например, 0). Напротив, когда текущий субкадр не трактуется в качестве кадра, loop_filter_across_subpic_enabled_flag может логически выводиться как имеющий второе значение (например, 1). В примере, для соответствия потока битов, когда subpic_treated_as_pic_flag имеет второе значение (например, 1), может применяться такое ограничение, что loop_filter_across_subpic_enabled_flag имеет первое значение (например, 0).[365] At the decoding stage, whether or not cross filtering can be performed at the boundary of the current subframe may be determined based on the loop_filter_across_subpic_enabled_flag value obtained from the high-level syntax. In an example, when loop_filter_across_subpic_enabled_flag fails, the value of loop_filter_across_subpic_enabled_flag may be determined based on whether or not the current subframe is treated as a frame. For example, when the current subframe is treated as a frame, loop_filter_across_subpic_enabled_flag may be inferred to have a first value (eg, 0). Conversely, when the current subframe is not treated as a frame, loop_filter_across_subpic_enabled_flag may be inferred as having a second value (eg, 1). In an example, to match the bitstream when subpic_treated_as_pic_flag has a second value (eg, 1), a restriction may be applied such that loop_filter_across_subpic_enabled_flag has a first value (eg, 0).

[366] Когда поперечная фильтрация может выполняться на границе текущего субкадра ("Да" на S2920), оборудование кодирования/декодирования изображений может определять граничную интенсивность текущего субкадра (S2930). В настоящем раскрытии сущности, граничная интенсивность может называться "граничной интенсивностью фильтрации" или "интенсивностью фильтрации".[366] When lateral filtering can be performed at the boundary of the current subframe ("Yes" in S2920), the image encoding/decoding equipment may determine the boundary intensity of the current subframe (S2930). In the present disclosure, the boundary intensity may be referred to as "edge filtering intensity" or "filtering intensity".

[367] Граничная интенсивность текущего субкадра может определяться как составляющая любое из первого значения (например, 0) - третьего значения (например, 2) согласно предварительно определенному условию, и конкретный способ определения описан выше со ссылкой на фиг. 19.[367] The boundary intensity of the current subframe may be determined as being any of a first value (eg, 0) to a third value (eg, 2) according to a predetermined condition, and a specific determination method is described above with reference to FIG. 19.

[368] Оборудование кодирования/декодирования изображений может выполнять поперечную фильтрацию на границе текущего субкадра на основе граничной интенсивности текущего субкадра (S2940). Например, поперечная фильтрация может выполняться на границе текущего субкадра только тогда, когда граничная интенсивность текущего субкадра имеет второе значение (например, 1) или третье значение (например, 2).[368] The image encoding/decoding equipment may perform lateral filtering at the border of the current subframe based on the boundary intensity of the current subframe (S2940). For example, lateral filtering may be performed at the border of the current subframe only when the edge intensity of the current subframe has a second value (eg, 1) or a third value (eg, 2).

[369] Между тем, когда поперечная фильтрация не может выполняться на границе текущего субкадра ("Нет" на S2920), процесс фильтрации по S2930 и S2940 для границы текущего субкадра может пропускаться.[369] Meanwhile, when lateral filtering cannot be performed at the boundary of the current subframe ("No" in S2920), the filtering process of S2930 and S2940 for the boundary of the current subframe may be skipped.

[370] Помимо этого, когда текущий субкадр трактуется в качестве кадра ("Да" на S2910), процессы фильтрации по S2930 и S2940 для границы текущего субкадра могут пропускаться.[370] In addition, when the current subframe is treated as a frame ("Yes" in S2910), the filtering processes in S2930 and S2940 for the boundary of the current subframe may be skipped.

[371] Как описано выше, согласно варианту 1 осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться только тогда, когда текущий субкадр не трактуется в качестве кадра. Следовательно, можно предотвращать уменьшение области, в которой текущий субкадр трактуется в качестве кадра.[371] As described above, according to Embodiment 1 of the present disclosure, in-loop filtering across the boundary of the current subframe can only be performed when the current subframe is not treated as a frame. Therefore, it is possible to prevent the reduction of the area in which the current subframe is treated as a frame.

[372] Вариант 2 осуществления [372] Embodiment 2

[373] Согласно варианту 2 осуществления, внутриконтурная фильтрация через границу текущего блока может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Например, когда левая или верхняя граница текущего блока представляет собой левую или верхнюю границу текущего субкадра, либо когда внутриконтурная фильтрация не может выполняться через границу текущего субкадра, внутриконтурная фильтрация через границу текущего блока может не выполняться. Дополнительно, поскольку внутриконтурная фильтрация через границу смежного субкадра выполняется, когда граница текущего субкадра фильтруется вместе, согласно предварительно определенному ограничению при фильтрации, число выборок, которые должны фильтроваться на границе текущего субкадра, может изменяться на 0, или выборочные значения фильтрованных выборок могут заменяться входными выборочными значениями.[373] According to Embodiment 2, in-loop filtering across the current block boundary can be performed only when a predetermined filtering constraint is not satisfied. For example, when the left or top boundary of the current block is the left or top boundary of the current subframe, or when in-loop filtering cannot be performed across the boundary of the current sub-frame, in-loop filtering through the boundary of the current block may not be performed. Additionally, since in-loop filtering across an adjacent subframe boundary is performed when a current subframe boundary is filtered together, according to a predetermined filtering constraint, the number of samples to be filtered at the current subframe boundary may change to 0, or sample values of the filtered samples may be replaced by input sample values. values.

[374] Фиг. 30 является видом, иллюстрирующим процесс поперечной фильтрации согласно варианту осуществления настоящего раскрытия сущности.[374] FIG. 30 is a view illustrating a cross-filtering process according to an embodiment of the present disclosure.

[375] Ссылаясь на фиг. 30, внутриконтурная фильтрация через границу текущего блока, например, однонаправленная фильтрация для удаления блочности, может выполняться. В примере, то, может или нет выполняться фильтрация для удаления блочности через границу текущего блока, может передаваться в служебных сигналах с использованием filterEdgeFlag. Например, первое значение (например, 0) filterEdgeFlag может указывать то, что фильтрация для удаления блочности через границу текущего блока не может выполняться. Напротив, второе значение (например, 1) filterEdgeFlag может указывать то, что фильтрация для удаления блочности через границу текущего блока может выполняться.[375] Referring to FIG. 30, in-loop filtering across the boundary of the current block, such as one-way filtering to deblock, can be performed. In the example, whether or not filtering to deblock across the current block boundary may be performed may be signaled using filterEdgeFlag. For example, the first value (eg, 0) of filterEdgeFlag may indicate that deblocking filtering across the current block boundary cannot be performed. In contrast, a second value (eg, 1) of filterEdgeFlag may indicate that deblocking filtering across the current block boundary may be performed.

[376] Значение filterEdgeFlag может извлекаться следующим образом.[376] The filterEdgeFlag value can be retrieved as follows.

[377] Когда граница текущего блока представляет собой вертикальную границу (например, edgeType==EDGE_VER), если, по меньшей мере, одно из нижеприведенных ограничений 1-5 удовлетворяется, filterEdgeFlag может иметь первое значение (например, 0).[377] When the current block boundary is a vertical boundary (eg, edgeType==EDGE_VER), if at least one of the following constraints 1-5 is satisfied, filterEdgeFlag may have a first value (eg, 0).

[378] Ограничение 1: левая граница текущего блока кодирования представляет собой левую границу текущего кадра.[378] Constraint 1: The left border of the current coding block is the left border of the current frame.

[379] Ограничение 2: левая граница текущего блока кодирования представляет собой левую границу текущего субкадра, и фильтрация для удаления блочности через границу текущего субкадра не может выполняться (например, loop_filter_across_subpic_enabled_flag==0).[379] Constraint 2: The left boundary of the current coding block is the left boundary of the current subframe, and deblocking filtering across the boundary of the current subframe cannot be performed (eg, loop_filter_across_subpic_enabled_flag==0).

[380] Ограничение 3: левая граница текущего блока кодирования представляет собой левую границу текущей плитки, и внутриконтурная фильтрация не может выполняться через границу текущей плитки (например, loop_filter_across_tiles_enabled_flag==0).[380] Constraint 3: The left border of the current coding block is the left border of the current tile, and in-loop filtering cannot be performed across the border of the current tile (eg, loop_filter_across_tiles_enabled_flag==0).

[381] Ограничение 4: левая граница текущего блока кодирования представляет собой левую границу текущего среза, и внутриконтурная фильтрация через границу текущего среза не может выполняться (например, loop_filter_across_slices_enabled_flag==0).[381] Constraint 4: The left edge of the current coding block is the left edge of the current slice, and in-loop filtering across the edge of the current slice cannot be performed (eg, loop_filter_across_slices_enabled_flag==0).

[382] Ограничение 5: левая граница текущего блока кодирования представляет собой одну из вертикальных виртуальных границ текущего кадра, и внутриконтурная фильтрация не может выполняться через виртуальные границы (например, VirtualBoundariesDisabledFlag==1).[382] Constraint 5: The left boundary of the current coding block is one of the vertical virtual boundaries of the current frame, and in-loop filtering cannot be performed across virtual boundaries (eg, VirtualBoundariesDisabledFlag==1).

[383] Когда граница текущего блока представляет собой горизонтальную границу (например, edgeType==EDGE_HOR), если, по меньшей мере, одно из ограничений 6-7 удовлетворяется, filterEdgeFlag может иметь первое значение (например, 0).[383] When the current block boundary is a horizontal boundary (eg, edgeType==EDGE_HOR), if at least one of constraints 6-7 is satisfied, filterEdgeFlag may have a first value (eg, 0).

[384] Ограничение 6: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущего кадра.[384] Constraint 6: The upper bound of the current coding block is the upper bound of the current frame.

[385] Ограничение 7: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущего субкадра, и фильтрация для удаления блочности через границу текущего блока не может выполняться (например, loop_filter_across_subpic_enabled_flag==0).[385] Constraint 7: The upper bound of the current coding block is the upper bound of the current subframe, and deblocking filtering across the boundary of the current block cannot be performed (eg, loop_filter_across_subpic_enabled_flag==0).

[386] Ограничение 8: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущей плитки, и фильтрация для удаления блочности через границу текущей плитки не может выполняться (например, loop_filter_across_tiles_enabled_flag==0).[386] Constraint 8: The upper bound of the current coding block is the upper bound of the current tile, and deblocking filtering across the boundary of the current tile cannot be performed (eg, loop_filter_across_tiles_enabled_flag==0).

[387] Ограничение 9: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущего среза, и фильтрация для удаления блочности через границу текущего среза не может выполняться (например, loop_filter_across_slices_enabled_flag=0).[387] Constraint 9: The upper bound of the current coding block is the upper bound of the current slice, and deblocking filtering across the boundary of the current slice cannot be performed (eg, loop_filter_across_slices_enabled_flag=0).

[388] Ограничение 10: верхняя граница текущего блока кодирования представляет собой одну из горизонтальных виртуальных границ текущего кадра, и внутриконтурная фильтрация через виртуальные границы не может выполняться (например, VirtualBoundariesDisabledFlag==1).[388] Constraint 10: The upper bound of the current coding block is one of the horizontal virtual bounds of the current frame, and in-loop filtering across the virtual bounds cannot be performed (eg, VirtualBoundariesDisabledFlag==1).

[389] Когда все вышеприведенные ограничения 1-10 не удовлетворяются, filterEdgeFlag может иметь второе значение (например, 1). Например, когда левая граница текущего блока кодирования представляет собой левую или правую границу текущего субкадра, и фильтрация для удаления блочности через границу текущего блока не может выполняться (например, loop_filter_across_subpic_enabled_flag[SubPicIdx]==0), filterEdgeFlag может иметь второе значение (например, 1). Помимо этого, когда верхняя граница текущего блока кодирования представляет собой верхнюю или нижнюю границу текущего субкадра, и фильтрация для удаления блочности через границу текущего блока не может выполняться, filterEdgeFlag может иметь второе значение (например, 1). Вышеописанные примеры могут рассматривать случай, в котором внутриконтурная фильтрация через границу выполняется для смежного субкадра, смежного с границей текущего блока кодирования.[389] When all of the above constraints 1-10 are not satisfied, filterEdgeFlag may have a second value (eg, 1). For example, when the left boundary of the current coding block is the left or right boundary of the current subframe, and filtering to deblock across the boundary of the current block cannot be performed (eg, loop_filter_across_subpic_enabled_flag[SubPicIdx]==0), filterEdgeFlag may have a second value (eg, 1 ). In addition, when the upper boundary of the current coding block is the upper or lower boundary of the current subframe, and deblocking filtering across the boundary of the current block cannot be performed, filterEdgeFlag may have a second value (eg, 1). The above examples may consider the case in which in-loop filtering across the boundary is performed for an adjacent subframe adjacent to the boundary of the current coding block.

[390] Между тем, текущий блок кодирования может включать в себя выборки сигналов яркости и выборки сигналов цветности. Каждая из выборок сигналов яркости и выборок сигналов цветности может включать в себя выборку p0 P-блоков, расположенную слева или сверху, и выборку q0 Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Альтернативно, каждая из выборок сигналов яркости и выборок сигналов цветности может включать в себя выборку pi P-блоков, расположенную слева или сверху, и выборку qj Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Здесь, i может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthP) для P-блока. Помимо этого, j может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthQ) для Q-блока. В дальнейшем в этом документе подробно описывается процесс выполнения поперечной фильтрации для выборок сигналов яркости и выборок сигналов цветности со ссылкой на фиг. 31-33.[390] Meanwhile, the current coding block may include luma samples and chrominance samples. Each of the luma samples and the chrominance samples may include a left or top p 0 P block sample and a right or bottom q 0 Q block sample based on the target boundary on which the filtering is performed. Alternatively, each of the luma samples and the chrominance samples may include a left or top p i P block sample and a right or bottom q j Q block sample based on the target boundary on which the filtering is performed. Here, i may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthP) for the P-block. In addition, j may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthQ) for the Q-block. Hereinafter, a process for performing cross-sectional filtering on luma samples and chrominance samples is described in detail with reference to FIG. 31-33.

[391] Фиг. 31 и 32 являются видами, иллюстрирующими процесс поперечной фильтрации для выборок сигналов яркости согласно варианту осуществления настоящего раскрытия сущности.[391] FIG. 31 and 32 are views illustrating a cross-filtering process for luminance samples according to an embodiment of the present disclosure.

[392] Во-первых, ссылаясь на фиг. 31, число выборок сигналов яркости, которые должны фильтроваться с использованием короткого фильтра, может изменяться на 0 согласно предварительно определенным ограничениям при фильтрации. Помимо этого, выборки сигналов яркости, фильтрованные с использованием короткого фильтра, могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[392] First, referring to FIG. 31, the number of luminance samples to be filtered using the short filter may change to 0 according to predetermined filtering restrictions. In addition, luma samples filtered using a short filter may be treated as unfiltered according to predetermined filtering constraints.

[393] Например, когда число nDp выборок p0 P-блоков, которые должны фильтроваться, больше 0, и палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку p0 P-блоков (например, pred_mode_plt_flag==1), число nDp выборок p0 P-блоков, которые должны фильтроваться, может изменяться на 0.[393] For example, when the number nDp of p 0 P-block samples to be filtered is greater than 0, and the palette mode is applied to the current CU including a coding block having a p 0 P-block sample (for example, pred_mode_plt_flag==1 ), the number nDp of samples p 0 of P-boxes to be filtered may change to 0.

[394] Помимо этого, когда число nDq выборок q0 Q-блоков, которые должны фильтроваться, больше 0, и палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку q0 Q-блоков, число nDq выборок q0 Q-блоков, которые должны фильтроваться, может изменяться на 0.[394] In addition, when the number nDq of samples q 0 of Q-blocks to be filtered is greater than 0, and the palette mode is applied to the current CU including a coding block having a sample of q 0 Q-blocks, the number nDq of samples q 0 Q-blocks to be filtered may change to 0.

[395] Помимо этого, когда внутриконтурная фильтрация не может выполняться через границу субкадра, включающего в себя выборку pi P-блоков (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение выборки pi' P-блоков, фильтрованной с использованием выборки qj Q-блоков, может заменяться выборочным значением входной выборки pi P-блоков.[395] In addition, when in-loop filtering cannot be performed across the boundary of a subframe including the sample pi P-blocks (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), sample sample value pi' P-blocks filtered using sample qj Q-blocks, can be replaced by the sample value of the input sample pi P-blocks.

[396] Затем, ссылаясь на фиг. 32, выборки сигналов яркости, фильтрованные с использованием длинного фильтра, могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[396] Then, referring to FIG. 32, luma samples filtered using a long filter may be treated as unfiltered according to predetermined filtering constraints.

[397] Например, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[397] For example, when palette mode is applied to a current CU including a coding block having a sample of p i P-boxes (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of p i 'P-boxes may be replaced by the sample value of the input samples of p i P-blocks.

[398] Помимо этого, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку qj Q-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[398] In addition, when the palette mode is applied to the current CU including a coding block having a sample of q j Q-blocks (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of q j ' Q-blocks may be replaced by the sample value input sample of q j Q-blocks.

[399] Помимо этого, когда внутриконтурная фильтрация через границу субкадра, включающего в себя выборку pi P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение выборки pi' P-блоков, фильтрованной с использованием выборки qj Q-блоков, может заменяться выборочным значением входной выборки pi P-блоков.[399] In addition, when in-loop filtering across the boundary of a subframe including sample pi P-blocks cannot be executed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), sample sample value pi' P-blocks filtered using sample qj Q-blocks, can be replaced by the sample value of the input sample pi P-blocks.

[400] Фиг. 33 является видом, иллюстрирующим процесс поперечной фильтрации для выборок сигналов цветности согласно варианту осуществления настоящего раскрытия сущности.[400] FIG. 33 is a view illustrating a cross-filtering process for chrominance samples according to an embodiment of the present disclosure.

[401] Ссылаясь на фиг. 33, фильтрованные выборки сигналов цветности могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[401] Referring to FIG. 33, filtered chrominance samples may be treated as unfiltered according to predetermined filtering constraints.

[402] Например, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[402] For example, when the palette mode is applied to the current CU including a coding block having a sample of p i P-boxes (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of p i 'P-boxes may be replaced by the sample value of the input samples of p i P-blocks.

[403] Помимо этого, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку qj Q-блоков, выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[403] In addition, when the palette mode is applied to the current CU including a coding block having a sample of q j Q-boxes, the sample value of the filtered sample of q j ' Q-boxes may be replaced by the sample value of the input sample of q j Q-blocks.

[404] Помимо этого, когда внутриконтурная фильтрация через границу субкадра, включающего в себя выборку pi P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение выборки pi' P-блоков, фильтрованной с использованием выборки qj Q-блоков, может заменяться выборочным значением входной выборки pi P-блоков.[404] In addition, when in-loop filtering across the boundary of a subframe including sample pi P-blocks cannot be executed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), sample sample value pi' P-blocks filtered using sample qj Q-blocks, can be replaced by the sample value of the input sample pi P-blocks.

[405] В дальнейшем в этом документе подробно описывается способ фильтрации согласно варианту 2 осуществления настоящего раскрытия сущности.[405] Hereinafter, this document describes in detail the filtering method according to embodiment 2 of the present disclosure.

[406] Фиг. 34 является блок-схемой последовательности операций, иллюстрирующей способ фильтрации на основе структуры субкадра согласно варианту осуществления настоящего раскрытия сущности. Способ фильтрации по фиг. 34 может осуществляться посредством оборудования кодирования изображений по фиг. 2. Например, этапы S3410-S3440 могут выполняться посредством фильтра 160 оборудования 100 кодирования изображений. Альтернативно, способ фильтрации по фиг. 34 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Например, этапы S3410-S3440 могут выполняться посредством фильтра 240 оборудования 200 декодирования изображений.[406] FIG. 34 is a flowchart illustrating a filtering method based on a subframe structure according to an embodiment of the present disclosure. The filtering method according to Fig. 34 may be performed by the image encoding equipment of FIG. 2. For example, steps S3410-S3440 may be performed by the filter 160 of the image encoding equipment 100 . Alternatively, the filtering method of FIG. 34 may be performed by the image decoding equipment of FIG. 3. For example, steps S3410-S3440 may be performed by the filter 240 of the image decoding equipment 200 .

[407] На этапе кодирования, способ фильтрации по фиг. 34 может осуществляться через границу текущего кадра, включающего в себя восстановленный текущий блок. Альтернативно, на этапе декодирования, способ фильтрации по фиг. 34 может осуществляться через границу текущего кадра, включающего в себя декодированный текущий блок. В дальнейшем в этом документе, внутриконтурная фильтрация через границу субкадра называется "поперечной фильтрацией".[407] In the encoding step, the filtering method of FIG. 34 may be across a current frame boundary including the reconstructed current block. Alternatively, in the decoding step, the filtering method of FIG. 34 may be across the boundary of the current frame including the decoded current block. Hereinafter, in-loop filtering across a subframe boundary is referred to as "cross-filtering".

[408] Ссылаясь на фиг. 34, оборудование кодирования/декодирования изображений может определять то, удовлетворяется или нет предварительно определенное ограничение при фильтрации для границы текущего блока (S3410). Здесь, ограничение при фильтрации может означать то, что поперечная фильтрация не может выполняться на границе текущего блока.[408] Referring to FIG. 34, the image encoding/decoding equipment can determine whether or not a predetermined filtering constraint for the current block boundary is satisfied (S3410). Here, the restriction on filtering may mean that cross-sectional filtering cannot be performed on the boundary of the current block.

[409] Конкретный пример ограничения при фильтрации описывается со ссылкой на фиг. 30-33. Например, ограничение при фильтрации может включать в себя случай, в котором левая граница текущего блока представляет собой левую границу текущего субкадра, и поперечная фильтрация не может выполняться на границе текущего субкадра (например, loop_filter_across_subpic_enabled_flag[SubPicIdx]==0). Помимо этого, ограничение при фильтрации может включать в себя случай, в котором верхняя граница текущего блока представляет собой верхнюю границу текущего субкадра, и поперечная фильтрация не может выполняться на границе текущего субкадра. Помимо этого, ограничивающее условие при фильтрации может включать в себя случай, в котором текущий блок включает в себя выборку pi P-блоков компонента сигналов яркости, расположенную слева или сверху, на основе границы текущего блока, и поперечная фильтрация не может выполняться на границе текущего субкадра. Помимо этого, ограничивающее условие при фильтрации может включать в себя случай, в котором текущий блок включает в себя выборку qi Q-блоков компонента сигналов яркости, расположенную слева или сверху, на основе границы текущего блока, и поперечная фильтрация не может выполняться на границе текущего субкадра.[409] A specific example of filtering restriction will be described with reference to FIG. 30-33. For example, the filtering constraint may include the case where the left boundary of the current block is the left boundary of the current subframe and cross-sectional filtering cannot be performed on the boundary of the current subframe (eg, loop_filter_across_subpic_enabled_flag[SubPicIdx]==0). In addition, the filtering constraint may include a case in which the upper boundary of the current block is the upper boundary of the current subframe, and cross-sectional filtering cannot be performed on the boundary of the current subframe. In addition, the filtering constraint may include a case in which the current block includes a sample of p i P luminance component blocks located to the left or top based on the boundary of the current block, and cross-sectional filtering cannot be performed on the boundary of the current subframe. In addition, the filtering constraint may include a case in which the current block includes a left or top sample of q i Q luminance component blocks based on the current block boundary, and cross-sectional filtering cannot be performed on the current block boundary. subframe.

[410] Когда ограничение при фильтрации не удовлетворяется для границы текущего блока ("Нет" на S3410), оборудование кодирования/декодирования изображений может определять граничную интенсивность текущего блока (S3420). В настоящем раскрытии сущности, граничная интенсивность может называться "граничной интенсивностью фильтрации" или "интенсивностью фильтрации".[410] When the filtering constraint is not satisfied for the boundary of the current block ("No" in S3410), the image encoding/decoding equipment may determine the boundary intensity of the current block (S3420). In the present disclosure, the boundary intensity may be referred to as "edge filtering intensity" or "filtering intensity".

[411] Граничная интенсивность текущего субкадра может определяться как составляющая любое из первого значения (например, 0) - третьего значения (например, 2) согласно предварительно определенному условию, и конкретный способ определения описан выше со ссылкой на фиг. 19.[411] The boundary intensity of the current subframe may be determined as a component of any of the first value (eg, 0) to the third value (eg, 2) according to a predetermined condition, and a specific determination method is described above with reference to FIG. 19.

[412] Оборудование кодирования/декодирования изображений может выполнять поперечную фильтрацию на границе текущего субкадра на основе граничной интенсивности текущего субкадра (S3440). Например, поперечная фильтрация может выполняться на границе текущего субкадра только тогда, когда граничная интенсивность текущего субкадра имеет второе значение (например, 1) или третье значение (например, 2).[412] The image encoding/decoding equipment may perform lateral filtering at the border of the current subframe based on the edge intensity of the current subframe (S3440). For example, lateral filtering may be performed at the border of the current subframe only when the edge intensity of the current subframe has a second value (eg, 1) or a third value (eg, 2).

[413] Между тем, когда ограничение при фильтрации удовлетворяется для границы текущего субкадра ("Нет" на S3420), процесс фильтрации по S3420 и S3430 для границы текущего субкадра может пропускаться.[413] Meanwhile, when the filtering constraint is satisfied for the boundary of the current subframe ("No" in S3420), the filtering process of S3420 and S3430 for the boundary of the current subframe may be skipped.

[414] Как описано выше, согласно варианту 2 осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Следовательно, можно предотвращать такую ошибку декодирования, что результат декодирования границы текущего блока не совпадает с результатом кодирования.[414] As described above, according to Embodiment 2 of the present disclosure, in-loop filtering across the boundary of the current subframe can only be performed when a predetermined filtering constraint is not satisfied. Therefore, it is possible to prevent a decoding error such that the decoding result of the current block boundary does not match the encoding result.

[415] Вариант 3 осуществления [415] Embodiment 3

[416] Согласно варианту 3 осуществления, внутриконтурная фильтрация через границу текущего блока может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Например, когда внутриконтурная фильтрация не может выполняться через границу текущего субкадра, включающего в себя выборку сигналов яркости или выборку сигналов цветности, расположенную слева или сверху относительно текущего блока, внутриконтурная фильтрация через границу текущего блока может не выполняться. Помимо этого, когда внутриконтурная фильтрация не может выполняться через границу текущего субкадра, включающего в себя выборку сигналов яркости или выборку сигналов цветности, расположенную справа или снизу относительно текущего блока, внутриконтурная фильтрация через границу текущего блока может не выполняться.[416] According to Embodiment 3, in-loop filtering across the current block boundary can be performed only when a predetermined filtering constraint is not satisfied. For example, when in-loop filtering cannot be performed across a boundary of the current subframe including a luma sample or a chrominance sample located to the left or top of the current block, in-loop filtering across the current block boundary may not be performed. In addition, when in-loop filtering cannot be performed across a boundary of the current subframe including a luma sample or a chrominance sample located to the right or below the current block, in-loop filtering across the current block boundary may not be performed.

[417] Фиг. 35 является видом, иллюстрирующим процесс поперечной фильтрации согласно варианту осуществления настоящего раскрытия сущности.[417] FIG. 35 is a view illustrating a cross-filtering process according to an embodiment of the present disclosure.

[418] Ссылаясь на фиг. 35, внутриконтурная фильтрация через границу текущего блока, например, однонаправленная фильтрация для удаления блочности, может выполняться. В примере, то, может или нет выполняться фильтрация для удаления блочности через границу текущего блока, может передаваться в служебных сигналах с использованием filterEdgeFlag, описанного выше со ссылкой на фиг. 30.[418] Referring to FIG. 35, in-loop filtering across the current block boundary, such as one-way deblocking filtering, can be performed. In an example, whether or not filtering to deblock across the current block boundary may be performed may be signaled using the filterEdgeFlag described above with reference to FIG. thirty.

[419] Значение filterEdgeFlag может извлекаться следующим образом.[419] The filterEdgeFlag value can be retrieved as follows.

[420] Когда граница текущего блока представляет собой вертикальную границу (например, edgeType==EDGE_VER), если, по меньшей мере, одно из следующих ограничений 1-4 удовлетворяется, filterEdgeFlag может иметь первое значение (например, 0).[420] When the current block boundary is a vertical boundary (eg, edgeType==EDGE_VER), if at least one of the following constraints 1-4 is satisfied, filterEdgeFlag may have a first value (eg, 0).

[421] Ограничение 1: левая граница текущего блока кодирования представляет собой левую границу текущего кадра.[421] Constraint 1: The left border of the current coding block is the left border of the current frame.

[422] Ограничение 2: левая граница текущего блока кодирования представляет собой левую границу текущей плитки, и внутриконтурная фильтрация через границу текущей плитки не может выполняться (например, loop_filter_across_tiles_enabled_flag==0).[422] Constraint 2: The left border of the current coding block is the left border of the current tile, and in-loop filtering across the border of the current tile cannot be performed (eg, loop_filter_across_tiles_enabled_flag==0).

[423] Ограничение 3: левая граница текущего блока кодирования представляет собой левую границу текущего среза, и внутриконтурная фильтрация через границу текущего среза не может выполняться (например, loop_filter_across_slices_enabled_flag==0).[423] Constraint 3: The left edge of the current coding block is the left edge of the current slice, and in-loop filtering across the edge of the current slice cannot be performed (eg, loop_filter_across_slices_enabled_flag==0).

[424] Ограничение 4: левая граница текущего блока кодирования представляет собой одну из вертикальных виртуальных границ текущего кадра, и внутриконтурная фильтрация через виртуальные границы не может выполняться (например, VirtualBoundariesDisabledFlag==1).[424] Constraint 4: The left border of the current coding block is one of the vertical virtual borders of the current frame, and in-loop filtering across the virtual borders cannot be performed (eg, VirtualBoundariesDisabledFlag==1).

[425] Когда граница текущего блока представляет собой горизонтальную границу (например, edgeType==EDGE_HOR), если, по меньшей мере, одно из нижеприведенных ограничений 5-8 удовлетворяется, filterEdgeFlag может иметь первое значение (например, 0).[425] When the current block boundary is a horizontal boundary (eg, edgeType==EDGE_HOR), if at least one of the constraints 5-8 below is satisfied, filterEdgeFlag may have a first value (eg, 0).

[426] Ограничение 5: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущего кадра.[426] Constraint 5: The upper bound of the current coding block is the upper bound of the current frame.

[427] Ограничение 6: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущей плитки, и внутриконтурная фильтрация через границу текущей плитки не может выполняться (например, loop_filter_across_tiles_enabled_flag==0).[427] Constraint 6: The upper bound of the current coding block is the upper bound of the current tile, and in-loop filtering across the boundary of the current tile cannot be performed (eg, loop_filter_across_tiles_enabled_flag==0).

[428] Ограничение 7: верхняя граница текущего блока кодирования представляет собой верхнюю границу текущего среза, и внутриконтурная фильтрация через границу текущего среза не может выполняться (например, loop_filter_across_slices_enabled_flag==0).[428] Constraint 7: The upper bound of the current coding block is the upper bound of the current slice, and in-loop filtering across the boundary of the current slice cannot be performed (eg, loop_filter_across_slices_enabled_flag==0).

[429] Ограничение 8: верхняя граница текущего блока кодирования представляет собой одну из горизонтальных виртуальных границ текущего кадра, и внутриконтурная фильтрация через виртуальные границы не может выполняться (например, VirtualBoundariesDisabledFlag==1).[429] Constraint 8: The upper bound of the current coding block is one of the horizontal virtual bounds of the current frame, and in-loop filtering across the virtual bounds cannot be performed (eg, VirtualBoundariesDisabledFlag==1).

[430] Когда все вышеприведенные ограничения 1-8 не удовлетворяются, filterEdgeFlag может иметь второе значение (например, 1).[430] When all of the above constraints 1-8 are not satisfied, filterEdgeFlag may have a second value (eg, 1).

[431] В процессе поперечной фильтрации по фиг. 35, в отличие от процесса поперечной фильтрации по фиг. 30, даже если фильтрация для удаления блочности через границу текущего блока не может выполняться, внутриконтурная фильтрация через границу текущего блока может выполняться. Это может осуществляться с учетом случая, в котором выполняется внутриконтурная фильтрация через границу смежного субкадра, смежного с границей текущего субкадра.[431] In the cross-filtering process of FIG. 35, in contrast to the cross-filtering process of FIG. 30, even if deblocking filtering across the current block boundary cannot be performed, in-loop filtering across the current block boundary can be performed. This may be done considering the case in which in-loop filtering is performed through an adjacent subframe boundary adjacent to the current subframe boundary.

[432] Между тем, текущий блок кодирования может включать в себя выборки сигналов яркости и выборки сигналов цветности. Каждая из выборок сигналов яркости и выборок сигналов цветности может включать в себя выборку p0 P-блоков, расположенную слева или сверху, и выборку q0 Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Альтернативно, каждая из выборок сигналов яркости и выборок сигналов цветности может включать в себя выборку pi P-блоков, расположенную слева или сверху, и выборку qj Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Здесь, i может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthP) для P-блока. Помимо этого, j может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthQ) для Q-блока. В дальнейшем в этом документе подробно описывается процесс выполнения поперечной фильтрации для выборок сигналов яркости и выборок сигналов цветности со ссылкой на фиг. 34-36.[432] Meanwhile, the current coding block may include luma samples and chrominance samples. Each of the luma samples and the chrominance samples may include a left or top p 0 P block sample and a right or bottom q 0 Q block sample based on the target boundary on which the filtering is performed. Alternatively, each of the luma samples and the chrominance samples may include a left or top p i P block sample and a right or bottom q j Q block sample based on the target boundary on which the filtering is performed. Here, i may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthP) for the P-block. In addition, j may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthQ) for the Q-block. Hereinafter, a process for performing cross-sectional filtering on luma samples and chrominance samples is described in detail with reference to FIG. 34-36.

[433] Фиг. 36 и 37 являются видами, иллюстрирующими процесс поперечной фильтрации для выборок сигналов яркости согласно варианту осуществления настоящего раскрытия сущности.[433] FIG. 36 and 37 are views illustrating a cross-filtering process for luminance samples according to an embodiment of the present disclosure.

[434] Во-первых, ссылаясь на фиг. 36, число выборок сигналов яркости, которые должны фильтроваться с использованием короткого фильтра, может изменяться на 0 согласно предварительно определенным ограничениям при фильтрации. Помимо этого, выборки сигналов яркости, фильтрованные с использованием короткого фильтра, могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[434] First, referring to FIG. 36, the number of luminance samples to be filtered using the short filter may change to 0 according to predetermined filtering restrictions. In addition, luma samples filtered using a short filter may be treated as unfiltered according to predetermined filtering constraints.

[435] Например, когда число nDp выборок p0 P-блоков, которые должны фильтроваться, больше 0, и палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку p0 P-блоков (например, pred_mode_plt_flag==1), число nDp выборок p0 P-блоков, которые должны фильтроваться, может изменяться на 0.[435] For example, when the number nDp of p 0 P-block samples to be filtered is greater than 0, and the palette mode is applied to the current CU including a coding block having a p 0 P-block sample (eg, pred_mode_plt_flag==1 ), the number nDp of samples p 0 of P-boxes to be filtered may change to 0.

[436] Помимо этого, когда число nDq выборок q0 Q-блоков, которые должны фильтроваться, больше 0, и палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку q0 Q-блоков, число nDq выборок q0 Q-блоков, которые должны фильтроваться, может изменяться на 0.[436] In addition, when the number nDq of samples q 0 of Q-blocks to be filtered is greater than 0, and the palette mode is applied to the current CU including a coding block having a sample of q 0 Q-blocks, the number nDq of samples q 0 Q-blocks to be filtered may change to 0.

[437] Помимо этого, когда внутриконтурная фильтрация через границу субкадра, включающего в себя выборку pi P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение выборки pi' P-блоков, фильтрованной с использованием выборки qj Q-блоков, может заменяться выборочным значением входной выборки pi P-блоков.[437] In addition, when in-loop filtering across the boundary of a subframe including sample pi P-blocks cannot be executed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), sample sample value pi' P-blocks filtered using sample qj Q-blocks, can be replaced by the sample value of the input sample pi P-blocks.

[438] Помимо этого, когда внутриконтурная фильтрация не может выполняться через границу субкадра, включающего в себя выборку qj Q-блоков (например, loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), выборочное значение выборки qj' Q-блоков, фильтрованной с использованием выборки pi P-блоков, может заменяться выборочным значением входной выборки qj Q-блоков.[438] In addition, when in-loop filtering cannot be performed across the boundary of a subframe including sample qj Q-blocks (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), sample sample value qj' Q-boxes filtered using sample pi P-boxes, can be replaced by the sample value of the input sample qj Q-blocks.

[439] Затем, ссылаясь на фиг. 37, выборки сигналов яркости, фильтрованные с использованием длинного фильтра, могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[439] Then, referring to FIG. 37, luma samples filtered using a long filter may be treated as unfiltered according to predetermined filtering constraints.

[440] Например, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[440] For example, when the palette mode is applied to the current CU including a coding block having a sample of p i P-boxes (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of p i 'P-boxes may be replaced by the sample value of the input samples of p i P-blocks.

[441] Помимо этого, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку qj Q-блоков, выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[441] In addition, when the palette mode is applied to the current CU including a coding block having a sample of q j Q-boxes, the sample value of the filtered sample of q j ' Q-boxes may be replaced by the sample value of the input sample of q j Q-blocks.

[442] Помимо этого, когда внутриконтурная фильтрация не может выполняться через границу субкадра, включающего в себя выборку pi P-блоков (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение выборки pi' P-блоков, фильтрованной с использованием выборки qj Q-блоков, может заменяться выборочным значением входной выборки pi P-блоков.[442] In addition, when in-loop filtering cannot be performed across the boundary of a subframe including sample pi P-blocks (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), sample sample value pi' P-blocks filtered using sample qj Q-blocks, can be replaced by the sample value of the input sample pi P-blocks.

[443] Помимо этого, когда внутриконтурная фильтрация через границу субкадра, включающего в себя выборку qj Q-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), выборочное значение выборки qj' Q-блоков, фильтрованной с использованием выборки pi P-блоков, может заменяться выборочным значением входной выборки qj Q-блоков.[443] In addition, when in-loop filtering across the boundary of a subframe including sample qj Q-blocks, cannot be executed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), sample sample value qj' Q-boxes filtered using sample pi P-boxes, can be replaced by the sample value of the input sample qj Q-blocks.

[444] Фиг. 38 является видом, иллюстрирующим процесс поперечной фильтрации для выборок сигналов цветности согласно варианту осуществления настоящего раскрытия сущности.[444] FIG. 38 is a view illustrating a cross-filtering process for chrominance samples according to an embodiment of the present disclosure.

[445] Ссылаясь на фиг. 38, фильтрованные выборки сигналов цветности могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[445] Referring to FIG. 38, filtered chrominance samples may be treated as unfiltered according to predetermined filtering constraints.

[446] Например, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[446] For example, when palette mode is applied to a current CU including a coding block having a sample of p i P-boxes (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of p i 'P-boxes may be replaced by the sample value of the input samples of p i P-blocks.

[447] Помимо этого, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку qj Q-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[447] In addition, when the palette mode is applied to the current CU including a coding block having a sample of q j Q-blocks (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of q j ' Q-blocks may be replaced by the sample value input sample of q j Q-blocks.

[448] Помимо этого, когда внутриконтурная фильтрация через границу субкадра, включающего в себя выборку pi P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение выборки pi' P-блоков, фильтрованной с использованием выборки qj Q-блоков, может заменяться выборочным значением входной выборки pi P-блоков.[448] In addition, when in-loop filtering across the boundary of a subframe including sample pi P-blocks cannot be executed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), sample sample value pi' P-blocks filtered using sample qj Q-blocks, can be replaced by the sample value of the input sample pi P-blocks.

[449] Помимо этого, когда внутриконтурная фильтрация через границу субкадра, включающего в себя выборку qj Q-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), выборочное значение выборки qj' Q-блоков, фильтрованной с использованием выборки pi P-блоков, может заменяться выборочным значением входной выборки qj Q-блоков.[449] In addition, when in-loop filtering across the boundary of a subframe including sample qj Q-blocks, cannot be executed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), sample sample value qj' Q-boxes filtered using sample pi P-boxes, can be replaced by the sample value of the input sample qj Q-blocks.

[450] Способ фильтрации согласно варианту 3 осуществления настоящего раскрытия сущности отличается от способа фильтрации по варианту 2 осуществления в ограничениях при фильтрации, и способ фильтрации, описанный выше со ссылкой на фиг. 34, является применимым без изменения. Соответственно, его описание опускается.[450] The filtering method according to Embodiment 3 of the present disclosure differs from the filtering method according to Embodiment 2 in restrictions on filtering, and the filtering method described above with reference to FIG. 34 is applicable without change. Accordingly, its description is omitted.

[451] Как описано выше, согласно варианту 3 осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Следовательно, можно предотвращать такую ошибку декодирования, что результат декодирования границы текущего блока не совпадает с результатом кодирования.[451] As described above, according to Embodiment 3 of the present disclosure, in-loop filtering across the boundary of the current subframe can only be performed when a predetermined filtering constraint is not satisfied. Therefore, it is possible to prevent a decoding error such that the decoding result of the current block boundary does not match the encoding result.

[452] Вариант 4 осуществления [452] Embodiment 4

[453] Согласно варианту 4 осуществления, внутриконтурная фильтрация через границу текущего блока может выполняться только тогда, когда внутриконтурная фильтрация через каждую границу может выполняться как на границе текущего кадра, так и на границе смежного кадра, смежного с границей текущего блока.[453] According to Embodiment 4, in-loop filtering across a current block boundary can only be performed when in-loop filtering through each boundary can be performed both on a current frame boundary and on an adjacent frame boundary adjacent to the current block boundary.

[454] Фиг. 39 является видом, иллюстрирующим процесс поперечной фильтрации согласно варианту осуществления настоящего раскрытия сущности.[454] FIG. 39 is a view illustrating a cross-filtering process according to an embodiment of the present disclosure.

[455] Ссылаясь на фиг. 39, внутриконтурная фильтрация через границу текущего блока (например, фильтрация для удаления блочности) может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Здесь, граница текущего блока может включать в себя все края субблока и все края блока преобразования.[455] Referring to FIG. 39, in-loop filtering across a current block boundary (eg, deblocking filtering) can be performed only when a predetermined filtering constraint is not satisfied. Here, the border of the current box may include all edges of the sub-box and all edges of the transform box.

[456] Ограничение 1: вышеописанные края включаются в границу кадра.[456] Constraint 1: The above-described edges are included in the frame boundary.

[457] Ограничение 2: вышеописанные края включаются в верхнюю границу текущего субкадра, и внутриконтурная фильтрация через границу смежного субкадра, смежного с верхней границей, не может выполняться (например, loop_filter_across_subpic_enabled_flag[SubPicIdxAbove]==0), где позиция правой верхней выборки текущего блока представляет собой (xCtb, yCtb), и позиция смежного субкадра может указываться с использованием первой выборочной позиции (xCtb, yCtb-1).[457] Constraint 2: The above-described edges are included in the upper boundary of the current subframe, and in-loop filtering through the boundary of an adjacent subframe adjacent to the upper boundary cannot be performed (for example, loop_filter_across_subpic_enabled_flag[SubPicIdxAbove]==0), where the position of the upper right sample of the current block is (xCtb, yCtb), and the position of an adjacent subframe may be indicated using the first sample position (xCtb, yCtb-1).

[458] Ограничение 3: вышеописанные края включаются в левую границу текущего субкадра, и внутриконтурная фильтрация через границу смежного субкадра, смежного с левой границей, не может выполняться (например, loop_filter_across_subpic_enabled_flag[SubPicIdxLeft]==0), где позиция левой верхней выборки текущего блока представляет собой (xCtb, yCtb), и позиция смежного субкадра может указываться с использованием второй выборочной позиции (xCtb-1, yCtb).[458] Constraint 3: The above-described edges are included in the left border of the current subframe, and in-loop filtering through the border of an adjacent subframe adjacent to the left border cannot be performed (for example, loop_filter_across_subpic_enabled_flag[SubPicIdxLeft]==0), where the top left sample position of the current block is (xCtb, yCtb), and the position of the adjacent subframe may be indicated using the second sample position (xCtb-1, yCtb).

[459] Ограничение 4: вышеописанные края включаются в левую или верхнюю границу текущего субкадра, и фильтрация для удаления блочности через границу текущего блока не может выполняться (например, loop_filter_across_subpic_enabled_flag[SubPicIdx]==0), где позиция текущего субкадра может указываться с использованием позиции (xCtb, yCtb) левой верхней выборки текущего блока.[459] Constraint 4: The above-described edges are included in the left or top boundary of the current subframe, and filtering to deblock across the current block boundary cannot be performed (e.g., loop_filter_across_subpic_enabled_flag[SubPicIdx]==0), where the position of the current subframe can be indicated using position (xCtb, yCtb) upper left sample of the current block.

[460] Ограничение 5: вышеописанные края включаются в виртуальные границы текущего кадра, и внутриконтурная фильтрация через виртуальные границы не может выполняться (например, VirtualBoundariesDisabledFlag==1).[460] Constraint 5: The above described edges are included in the virtual boundaries of the current frame, and in-loop filtering across the virtual boundaries cannot be performed (eg, VirtualBoundariesDisabledFlag==1).

[461] Ограничение 6: вышеописанные края включаются в границы текущей плитки, и внутриконтурная фильтрация через границы текущей плитки не может выполняться (например, loop_filter_across_tiles_enabled_flag==0).[461] Constraint 6: The edges described above are included in the boundaries of the current tile, and in-loop filtering across the boundaries of the current tile cannot be performed (eg, loop_filter_across_tiles_enabled_flag==0).

[462] Ограничение 7: вышеописанные края включаются в границы текущего среза, и внутриконтурная фильтрация через границы текущего среза не может выполняться (например, loop_filter_across_slices_enabled_flag==0).[462] Constraint 7: The edges described above are included in the boundaries of the current slice, and in-loop filtering across the boundaries of the current slice cannot be performed (eg, loop_filter_across_slices_enabled_flag==0).

[463] Ограничение 8: вышеописанные края включаются в верхнюю или нижнюю границу текущего среза, и фильтрация для удаления блочности деактивируется для текущего среза (например, slice_deblocking_filter_disabled_flag==1).[463] Constraint 8: The edges described above are included in the top or bottom of the current slice, and deblocking filtering is disabled for the current slice (eg, slice_deblocking_filter_disabled_flag==1).

[464] Ограничение 9: вышеописанные края включаются в текущий срез, и фильтрация для удаления блочности деактивируется для текущего среза (например, slice_deblocking_filter_disabled_flag==1).[464] Constraint 9: The edges described above are included in the current slice, and deblocking filtering is disabled for the current slice (eg, slice_deblocking_filter_disabled_flag==1).

[465] Ограничение 10: вышеописанные края не соответствуют границе сетки выборок сигналов яркости 4×4.[465] Constraint 10: The above-described edges do not correspond to the boundary of the 4×4 luma sample grid.

[466] Ограничение 11: вышеописанные края не соответствуют границе сетки выборок сигналов цветности 8×8.[466] Constraint 11: The above-described edges do not correspond to the boundary of the 8x8 chrominance sample grid.

[467] Ограничение 12: в качестве краев компонента сигналов яркости, дельта-импульсно-кодовая модуляция на основе блоков (BDPCM) применяется к обеим сторонам каждого края (например, intra_bdpcm_luma_flag==1), где BDPCM может означать режим кодирования, в котором квантованное остаточное выборочное значение текущей TU модифицируется с использованием квантованного остаточного выборочного значения TU, смежной с текущей TU.[467] Constraint 12: As luma component edges, block-based delta pulse code modulation (BDPCM) is applied to both sides of each edge (e.g., intra_bdpcm_luma_flag==1), where BDPCM may mean a coding mode in which the quantized the residual sample value of the current TU is modified using the quantized residual sample value of the TU adjacent to the current TU.

[468] Ограничение 13: в качестве краев компонента сигналов цветности, дельта-импульсно-кодовая модуляция на основе блоков (BDPCM) применяется к обеим сторонам каждого края (например, intra_bdpcm_chroma_flag==1).[468] Constraint 13: As chrominance component edges, block-based delta pulse code modulation (BDPCM) is applied to both sides of each edge (eg, intra_bdpcm_chroma_flag==1).

[469] Ограничение 14: края субблоков компонентов сигналов цветности не равны краям TU, ассоциированной с ними.[469] Constraint 14: The edges of the chrominance component subblocks are not equal to the edges of the TU associated with them.

[470] Между тем, процесс фильтрации выборок сигналов яркости и выборок сигналов цветности согласно варианту 2 осуществления, описанному выше со ссылкой на фиг. 31-33, является применимым к варианту 4 осуществления настоящего раскрытия сущности. Помимо этого, процесс фильтрации выборок сигналов яркости и выборок сигналов цветности согласно варианту 3 осуществления, описанному выше со ссылкой на фиг. 36-38, является применимым к варианту 4 осуществления настоящего раскрытия сущности. Например, когда режим прогнозирования текущего блока представляет собой палитровый режим, внутриконтурная фильтрация (например, фильтрация для удаления блочности) через границу текущего блока может не выполняться.[470] Meanwhile, the filtering process of luminance samples and chrominance samples according to Embodiment 2 described above with reference to FIG. 31-33 is applicable to Embodiment 4 of the present disclosure. In addition, the filtering process of luma samples and chrominance samples according to Embodiment 3 described above with reference to FIG. 36-38 is applicable to Embodiment 4 of the present disclosure. For example, when the prediction mode of the current block is palette mode, in-loop filtering (eg, deblocking filtering) across the boundary of the current block may not be performed.

[471] В дальнейшем в этом документе подробно описывается способ фильтрации согласно варианту 4 осуществления настоящего раскрытия сущности.[471] Hereinafter, the filtering method according to Embodiment 4 of the present disclosure is described in detail.

[472] Фиг. 40 является блок-схемой последовательности операций, иллюстрирующей способ фильтрации на основе структуры субкадра согласно варианту осуществления настоящего раскрытия сущности. Способ фильтрации по фиг. 40 может осуществляться посредством оборудования кодирования изображений по фиг. 2. Например, этапы S4010-S4040 могут выполняться посредством фильтра 160 оборудования 100 кодирования изображений. Альтернативно, способ фильтрации по фиг. 40 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Например, этапы S4010-S4040 могут выполняться посредством фильтра 240 оборудования 200 декодирования изображений.[472] FIG. 40 is a flowchart illustrating a filtering method based on a subframe structure according to an embodiment of the present disclosure. The filtering method according to Fig. 40 may be performed by the image encoding equipment of FIG. 2. For example, steps S4010-S4040 may be performed by the filter 160 of the image encoding equipment 100 . Alternatively, the filtering method of FIG. 40 may be performed by the image decoding equipment of FIG. 3. For example, steps S4010-S4040 may be performed by the filter 240 of the image decoding equipment 200 .

[473] На этапе кодирования, способ фильтрации по фиг. 40 может осуществляться через границу восстановленного текущего блока. Альтернативно, на этапе декодирования, способ фильтрации по фиг. 40 может осуществляться через границу декодированного текущего блока. В дальнейшем в этом документе, внутриконтурная фильтрация через границу текущего блока (или текущего кадра/субкадра/среза/плитки и т.д.) называется "поперечной фильтрацией".[473] In the encoding step, the filtering method of FIG. 40 may be across the boundary of the reconstructed current block. Alternatively, in the decoding step, the filtering method of FIG. 40 may be across a decoded current block boundary. Hereinafter in this document, in-loop filtering across the boundary of the current block (or current frame/subframe/slice/tile, etc.) is referred to as "transverse filtering".

[474] Ссылаясь на фиг. 40, оборудование кодирования/декодирования изображений может определять то, может или нет поперечная фильтрация выполняться на границе текущего субкадра, включающего в себя текущий блок (S4010).[474] Referring to FIG. 40, the image encoding/decoding equipment can determine whether or not cross filtering can be performed at the boundary of the current subframe including the current block (S4010).

[475] На этапе кодирования, информация, указывающая то, может или нет поперечная фильтрация выполняться на границе текущего субкадра, может кодироваться с использованием loop_filter_across_subpic_enabled_flag в высокоуровневом синтаксисе (например, в синтаксисе наборов параметров последовательности (SPS)). Например, когда loop_filter_across_subpic_enabled_flag имеет первое значение (например, 0), поперечная фильтрация не может выполняться на границе текущего субкадра. Напротив, когда loop_filter_across_subpic_enabled_flag имеет второе значение (например, 1), поперечная фильтрация может выполняться на границе текущего субкадра.[475] In the encoding step, information indicating whether or not cross filtering can be performed at the boundary of the current subframe may be encoded using loop_filter_across_subpic_enabled_flag in a high-level syntax (eg, sequence parameter set (SPS) syntax). For example, when loop_filter_across_subpic_enabled_flag has a first value (eg, 0), cross filtering cannot be performed at the boundary of the current subframe. In contrast, when loop_filter_across_subpic_enabled_flag has a second value (eg, 1), lateral filtering may be performed at the boundary of the current subframe.

[476] На этапе декодирования, то, может или нет поперечная фильтрация выполняться на границе текущего субкадра, может определяться на основе значения loop_filter_across_subpic_enabled_flag, полученного из высокоуровневого синтаксиса. В примере, когда loop_filter_across_subpic_enabled_flag не получается, значение loop_filter_across_subpic_enabled_flag может определяться на основе того, трактуется или нет текущий субкадр в качестве кадра. Например, когда текущий субкадр трактуется в качестве кадра, loop_filter_across_subpic_enabled_flag может логически выводиться как имеющий первое значение (например, 0). Напротив, когда текущий субкадр не трактуется в качестве кадра, loop_filter_across_subpic_enabled_flag может логически выводиться как имеющий второе значение (например, 1). В примере, для соответствия потока битов, когда subpic_treated_as_pic_flag имеет второе значение (например, 1), может применяться такое ограничение, что loop_filter_across_subpic_enabled_flag должен иметь первое значение (например, 0).[476] In the decoding step, whether or not cross filtering can be performed at the boundary of the current subframe may be determined based on the loop_filter_across_subpic_enabled_flag value obtained from the high-level syntax. In an example, when loop_filter_across_subpic_enabled_flag fails, the value of loop_filter_across_subpic_enabled_flag may be determined based on whether or not the current subframe is treated as a frame. For example, when the current subframe is treated as a frame, loop_filter_across_subpic_enabled_flag may be inferred to have a first value (eg, 0). Conversely, when the current subframe is not treated as a frame, loop_filter_across_subpic_enabled_flag may be inferred as having a second value (eg, 1). In an example, to match the bitstream when subpic_treated_as_pic_flag has a second value (eg, 1), a constraint may be applied such that loop_filter_across_subpic_enabled_flag must have a first value (eg, 0).

[477] Когда поперечная фильтрация может выполняться на границе текущего субкадра ("Да" на S4010), оборудование кодирования/декодирования изображений может определять то, может или нет поперечная фильтрация выполняться на границе смежного субкадра, смежного с границей текущего блока (S4020).[477] When lateral filtering can be performed on the boundary of the current subframe ("Yes" in S4010), the image encoding/decoding equipment can determine whether or not the lateral filtering can be performed on the boundary of an adjacent subframe adjacent to the boundary of the current block (S4020).

[478] Аналогично текущему субкадру, информация, указывающая то, может или нет поперечная фильтрация выполняться на границе смежного субкадра, может кодироваться/декодироваться с использованием loop_filter_across_subpic_enabled_flag в высокоуровневом синтаксисе (например, в синтаксисе наборов параметров последовательности (SPS)).[478] Similar to the current subframe, information indicating whether or not cross filtering can be performed on the boundary of an adjacent subframe may be encoded/decoded using loop_filter_across_subpic_enabled_flag in a high-level syntax (e.g., Sequence Parameter Set (SPS) syntax).

[479] Когда поперечная фильтрация может выполняться на границе смежного субкадра ("Да" на S4020), оборудование кодирования/декодирования изображений может определять то, что поперечная фильтрация выполняется на границе текущего блока, и определять граничную интенсивность текущего блока (S4030). В настоящем раскрытии сущности, граничная интенсивность может называться "граничной интенсивностью фильтрации" или "интенсивностью фильтрации".[479] When lateral filtering can be performed at the boundary of an adjacent subframe ("Yes" in S4020), the image encoding/decoding equipment may determine that lateral filtering is performed at the boundary of the current block and determine the boundary intensity of the current block (S4030). In the present disclosure, the boundary intensity may be referred to as "edge filtering intensity" or "filtering intensity".

[480] Граничная интенсивность текущего блока может определяться как составляющая любое из первого значения (например, 0) - третьего значения (например, 2) согласно предварительно определенному условию, и конкретный способ определения описан выше со ссылкой на фиг. 19.[480] The boundary intensity of the current block may be determined as a component of any of the first value (eg, 0) to the third value (eg, 2) according to a predetermined condition, and a specific determination method is described above with reference to FIG. 19.

[481] Между тем, в примере, даже если поперечная фильтрация может выполняться как на границе текущего субкадра, так и на границе смежного субкадра ("Да" на S4020), когда предварительно определенное ограничение при фильтрации удовлетворяется, поперечная фильтрация может не выполняться на границе текущего блока. Таким образом, когда ограничение при фильтрации удовлетворяется, процесс фильтрации по S4030 и S404 границы текущего блока может пропускаться.[481] Meanwhile, in the example, even if lateral filtering may be performed on both the boundary of the current subframe and the boundary of the adjacent subframe ("Yes" in S4020), when the predetermined filtering constraint is satisfied, the lateral filtering may not be performed on the boundary current block. Thus, when the filtering constraint is satisfied, the filtering process of S4030 and S404 of the current block boundary may be skipped.

[482] Ограничение при фильтрации может включать в себя ограничения 1-13, описанные выше со ссылкой на фиг. 39. Например, ограничение при фильтрации может включать в себя случай, в котором края (или границы) текущего блока включаются в границу кадра. Помимо этого, ограничение при фильтрации может включать в себя случай, в котором края текущего блока включаются в левую или верхнюю границу текущего субкадра. Помимо этого, ограничение при фильтрации может включать в себя случай, в котором края текущего блока включаются в виртуальные границы текущего кадра, и поперечная фильтрация не может выполняться на виртуальных границах текущего кадра (например, VirtualBoundariesDisabledFlag==1). Помимо этого, ограничение при фильтрации может включать в себя случай, в котором края текущего блока включаются в границы текущей плитки, и поперечная фильтрация не может выполняться на границах текущей плитки (например, loop_filter_across_tiles_enabled_flag==0). Помимо этого, ограничение при фильтрации может включать в себя случай, в котором края текущего блока включаются в границы текущего среза, и поперечная фильтрация не может выполняться на границах текущего среза (например, loop_filtering_across_slices_enabled_flag==0). Помимо этого, ограничение при фильтрации может содержать случай, в котором края текущего блока включаются в верхнюю или нижнюю границу текущего среза, и поперечная фильтрация (например, фильтрация для удаления блочности) деактивируется для верхней или нижней границы текущего среза (например, slice_deblocking_filter_disabled_flag==1).[482] The filtering constraint may include the constraints 1-13 described above with reference to FIG. 39. For example, a filtering constraint may include the case in which the edges (or boundaries) of the current block are included in a frame boundary. In addition, the filtering constraint may include a case in which the edges of the current block are included in the left or top boundary of the current subframe. In addition, the filtering constraint may include the case where the edges of the current block are included in the virtual boundaries of the current frame, and cross-sectional filtering cannot be performed on the virtual boundaries of the current frame (eg, VirtualBoundariesDisabledFlag==1). In addition, the filtering constraint may include the case where the edges of the current block are included in the boundaries of the current tile, and cross filtering cannot be performed on the boundaries of the current tile (eg, loop_filter_across_tiles_enabled_flag==0). In addition, the filtering constraint may include the case in which the edges of the current block are included in the boundaries of the current slice, and cross-sectional filtering cannot be performed on the boundaries of the current slice (eg, loop_filtering_across_slices_enabled_flag==0). In addition, a filtering constraint may include the case where the edges of the current block are included in the top or bottom of the current slice, and cross-sectional filtering (eg, filtering to deblock) is disabled for the top or bottom of the current slice (eg, slice_deblocking_filter_disabled_flag==1 ).

[483] Оборудование кодирования/декодирования изображений может выполнять поперечную фильтрацию на границе текущего блока, на основе граничной интенсивности текущего блока, определенной на этапе S4030 (S4040). Например, поперечная фильтрация границы текущего блока может выполняться только тогда, когда граничная интенсивность текущего блока имеет второе значение (например, 1) или третье значение (например, 2).[483] The image encoding/decoding equipment may perform lateral filtering at the boundary of the current block, based on the boundary intensity of the current block determined in step S4030 (S4040). For example, lateral filtering of the current block boundary can only be performed when the current block boundary intensity has a second value (eg, 1) or a third value (eg, 2).

[484] Напротив, когда поперечная фильтрация не может выполняться на границе текущего субкадра ("Нет" на S4010), процессы фильтрации по S4030 и S404 границы текущего блока могут пропускаться. Помимо этого, когда поперечная фильтрация не может выполняться на границе смежного субкадра, смежного с границей текущего субкадра ("Нет" на S4020), процессы фильтрации по S4030 и S4040 границы текущего блока могут пропускаться.[484] On the contrary, when cross filtering cannot be performed on the current subframe boundary ("No" in S4010), the filtering processes on S4030 and S404 of the current block boundary may be skipped. In addition, when lateral filtering cannot be performed on a boundary of an adjacent subframe adjacent to a boundary of the current subframe (No in S4020), the filtering processes of S4030 and S4040 of the current block boundary may be skipped.

[485] Между тем, хотя на фиг. 40, этап S4010 показан как выполняемый перед этапом S4020, это представляет собой пример, и варианты осуществления настоящего раскрытия сущности не ограничены этим. Например, этап S4020 может выполняться перед этапом S4010 или может выполняться одновременно с этапом S4010.[485] Meanwhile, although in FIG. 40, step S4010 is shown as being performed before step S4020, this is an example, and the embodiments of the present disclosure are not limited to this. For example, step S4020 may be performed before step S4010, or may be performed simultaneously with step S4010.

[486] Как описано выше, согласно варианту 4 осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться только тогда, когда внутриконтурная фильтрация через каждую границу может выполняться как на границе текущего кадра, так и на границе смежной границы. Следовательно, можно предотвращать такую ошибку декодирования, что результат декодирования границы текущего блока не совпадает с результатом кодирования.[486] As described above, according to Embodiment 4 of the present disclosure, in-loop filtering across the boundary of the current subframe can only be performed when in-loop filtering through each boundary can be performed on both the boundary of the current frame and the boundary of an adjacent boundary. Therefore, it is possible to prevent a decoding error such that the decoding result of the current block boundary does not match the encoding result.

[487] Вариант 5 осуществления [487] Embodiment 5

[488] Согласно варианту 5 осуществления, внутриконтурная фильтрация через границу текущего блока может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Например, когда режим прогнозирования текущего блока представляет собой палитровый режим, и внутриконтурная фильтрация не может выполняться через границу текущего субкадра, включающего в себя текущий субкадр, внутриконтурная фильтрация через границу текущего блока может не выполняться.[488] According to Embodiment 5, in-loop filtering across the current block boundary can be performed only when a predetermined filtering constraint is not satisfied. For example, when the prediction mode of the current block is the palette mode, and in-loop filtering cannot be performed through the boundary of the current subframe including the current subframe, in-loop filtering through the boundary of the current block may not be performed.

[489] Между тем, текущий блок кодирования может включать в себя выборки сигналов яркости и выборки сигналов цветности. Каждая из выборок сигналов яркости и выборок сигналов цветности может включать в себя выборку p0 P-блоков, расположенную слева или сверху, и выборку q0 Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Альтернативно, каждая из выборок сигналов яркости и выборок сигналов цветности может включать в себя выборку pi P-блоков, расположенную слева или сверху, и выборку qj Q-блоков, расположенную справа или снизу, на основе целевой границы, на которой выполняется фильтрация. Здесь, i может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthP) для P-блока. Помимо этого, j может иметь значение, равное или большее 0 и равное или меньшее значения, полученного посредством вычитания 1 из максимальной длины фильтра (например, maxFilterLengthQ) для Q-блока. В дальнейшем в этом документе подробно описывается процесс выполнения поперечной фильтрации для выборок сигналов яркости и выборок сигналов цветности со ссылкой на фиг. 41-43.[489] Meanwhile, the current coding block may include luma samples and chrominance samples. Each of the luma samples and the chrominance samples may include a left or top p 0 P block sample and a right or bottom q 0 Q block sample based on the target boundary on which the filtering is performed. Alternatively, each of the luma samples and the chrominance samples may include a left or top p i P block sample and a right or bottom q j Q block sample based on the target boundary on which the filtering is performed. Here, i may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthP) for the P-block. In addition, j may have a value equal to or greater than 0 and equal to or less than the value obtained by subtracting 1 from the maximum filter length (eg, maxFilterLengthQ) for the Q-block. Hereinafter, a process for performing cross-sectional filtering on luma samples and chrominance samples is described in detail with reference to FIG. 41-43.

[490] Фиг. 41 и 42 являются видами, иллюстрирующими процесс поперечной фильтрации для выборок сигналов яркости согласно варианту осуществления настоящего раскрытия сущности.[490] FIG. 41 and 42 are views illustrating a cross-filtering process for luminance samples according to an embodiment of the present disclosure.

[491] Во-первых, ссылаясь на фиг. 41, число выборок сигналов яркости, которые должны фильтроваться с использованием короткого фильтра, может изменяться на 0 согласно предварительно определенным ограничениям при фильтрации.[491] First, referring to FIG. 41, the number of luminance samples to be filtered using the short filter may change to 0 according to predetermined filtering restrictions.

[492] Например, когда число nDp выборок p0 P-блоков, которые должны фильтроваться, больше 0, и палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку p0 P-блоков (например, pred_mode_plt_flag==1), число nDp выборок p0 P-блоков, которые должны фильтроваться, может изменяться на 0.[492] For example, when the number nDp of p 0 P-block samples to be filtered is greater than 0, and the palette mode is applied to the current CU including a coding block having a p 0 P-block sample (for example, pred_mode_plt_flag==1 ), the number nDp of samples p 0 of P-boxes to be filtered may change to 0.

[493] Помимо этого, когда число nDq выборок q0 Q-блоков, которые должны фильтроваться, больше 0, и палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку q0 Q-блоков, число nDq выборок q0 Q-блоков, которые должны фильтроваться, может изменяться на 0.[493] In addition, when the number nDq of samples q 0 of Q-blocks to be filtered is greater than 0, and the palette mode is applied to the current CU including a coding block having a sample of q 0 Q-blocks, the number nDq of samples q 0 Q-blocks to be filtered may change to 0.

[494] Помимо этого, когда число nDp выборок p0 P-блоков, которые должны фильтроваться, больше 0, выборка p0 P-блоков и выборка q0 Q-блоков включаются в различные субкадры, и внутриконтурная фильтрация через границу субкадра, включающего в себя выборку p0 P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), число nDp выборок p0 P-блоков, которые должны фильтроваться, может изменяться на 0.[494] In addition, when the number nDp of p 0 P-block samples to be filtered is greater than 0, p 0 P-block samples and q 0 Q-block samples are included in different subframes, and in-loop filtering across the border of a subframe including p 0 P-box sampling itself cannot be performed (e.g. loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), the number nDp of p 0 P-box samples to be filtered may change to 0.

[495] Помимо этого, когда число nDq выборок q0 Q-блоков, которые должны фильтроваться, больше 0, выборка q0 Q-блоков и выборка p0 P-блоков включаются в различные субкадры, и внутриконтурная фильтрация через границу субкадра, включающего в себя выборку q0 Q-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), число nDq выборок q0 Q-блоков, которые должны фильтроваться, может изменяться на 0.[495] In addition, when the number nDq of q 0 Q block samples to be filtered is greater than 0, q 0 Q block sample and p 0 P block sample are included in different subframes, and in-loop filtering across the border of a subframe including sample q 0 Q-boxes cannot be executed (eg loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), the number nDq of q 0 Q-box samples to be filtered can change to 0.

[496] Затем, ссылаясь на фиг. 42, выборки сигналов яркости, фильтрованные с использованием длинного фильтра, могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[496] Then, referring to FIG. 42, luma samples filtered using a long filter may be treated as unfiltered according to predetermined filtering constraints.

[497] Например, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[497] For example, when palette mode is applied to a current CU including a coding block having a sample of p i P-boxes (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of p i ' P-boxes may be replaced by the sample value of the input samples of p i P-blocks.

[498] Помимо этого, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку qj Q-блоков, выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[498] In addition, when the palette mode is applied to the current CU including a coding block having a sample of q j Q-boxes, the sample value of the filtered sample of q j ' Q-boxes may be replaced by the sample value of the input sample of q j Q-blocks.

[499] Помимо этого, когда выборка pi P-блоков и выборка qj Q-блоков включаются в различные субкадры, и внутриконтурная фильтрация через границу субкадра, включающего в себя выборку pi P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[499] In addition, when p i P block sampling and q j Q block sampling are included in different subframes, and in-loop filtering across the boundary of a subframe including p i P block sampling cannot be performed (for example, loop_filter_across_subpic_enabled_flag[ subPicIdxP]==0), the sample value of the filtered sample p i ' P-boxes may be replaced by the sample value of the input sample p i P-boxes.

[500] Помимо этого, когда выборка qj Q-блоков и выборка pi P-блоков включаются в различные субкадры, и внутриконтурная фильтрация через границу субкадра, включающего в себя выборку qj Q-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[500] In addition, when fetching q j Q-blocks and fetching p i P-blocks are included in different subframes, and in-loop filtering across the boundary of a subframe including fetching qj Q-blocks cannot be performed (for example, loop_filter_across_subpic_enabled_flag[ subPicIdxQ]==0), the sample value of the filtered sample q j ' Q-boxes may be replaced by the sample value of the input sample q j Q-boxes.

[501] Фиг. 43 является видом, иллюстрирующим процесс поперечной фильтрации для выборок сигналов цветности согласно варианту осуществления настоящего раскрытия сущности.[501] FIG. 43 is a view illustrating a cross-filtering process for chrominance samples according to an embodiment of the present disclosure.

[502] Ссылаясь на фиг. 43, фильтрованные выборки сигналов цветности могут трактоваться как не фильтрованные согласно предварительно определенным ограничениям при фильтрации.[502] Referring to FIG. 43, filtered chrominance samples may be treated as unfiltered according to predetermined filtering constraints.

[503] Например, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку pi P-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[503] For example, when palette mode is applied to a current CU including a coding block having a sample of p i P-boxes (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of p i ' P-boxes may be replaced by the sample value of the input samples of p i P-blocks.

[504] Помимо этого, когда палитровый режим применяется к текущей CU, включающей в себя блок кодирования, имеющий выборку qj Q-блоков (например, pred_mode_plt_flag==1), выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[504] In addition, when the palette mode is applied to the current CU including a coding block having a sample of q j Q-blocks (eg, pred_mode_plt_flag==1), the sample value of the filtered sample of q j ' Q-blocks may be replaced by the sample value input sample of q j Q-blocks.

[505] Помимо этого, когда выборка pi P-блоков и выборка qj Q-блоков включаются в различные субкадры, и внутриконтурная фильтрация через границу, включающую в себя выборку pi P-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxP]==0), выборочное значение фильтрованной выборки pi' P-блоков может заменяться выборочным значением входной выборки pi P-блоков.[505] In addition, when p i P block sampling and q j Q block sampling are included in different subframes, and in-loop filtering across the boundary including p i P block sampling cannot be performed (for example, loop_filter_across_subpic_enabled_flag[subPicIdxP ]==0), the sample value of the filtered sample p i ' P-boxes may be replaced by the sample value of the input sample p i P-boxes.

[506] Помимо этого, когда выборка qj Q-блоков и выборка pi P-блоков включаются в различные субкадры, и внутриконтурная фильтрация через границу субкадра, включающего в себя выборку qj Q-блоков, не может выполняться (например, loop_filter_across_subpic_enabled_flag[subPicIdxQ]==0), выборочное значение фильтрованной выборки qj' Q-блоков может заменяться выборочным значением входной выборки qj Q-блоков.[506] In addition, when fetching q j Q-blocks and fetching p i P-blocks are included in different subframes, and in-loop filtering across the boundary of a subframe including fetching qj Q-blocks cannot be performed (for example, loop_filter_across_subpic_enabled_flag[ subPicIdxQ]==0), the sample value of the filtered sample q j ' Q-boxes may be replaced by the sample value of the input sample q j Q-boxes.

[507] Вариант 5 осуществления настоящего раскрытия сущности отличается от варианта 2 осуществления и варианта 3 осуществления в ограничениях при фильтрации, и способ фильтрации, описанный выше со ссылкой на фиг. 34, является применимым без изменения. Дополнительно, ограничения при фильтрации варианта 5 осуществления настоящего раскрытия сущности являются в равной степени применимыми к варианту 4 осуществления.[507] Embodiment 5 of the present disclosure differs from Embodiment 2 and Embodiment 3 in restrictions on filtering, and the filtering method described above with reference to FIG. 34 is applicable without change. Additionally, the filtering limitations of Embodiment 5 of the present disclosure are equally applicable to Embodiment 4.

[508] Как описано выше, согласно варианту 5 осуществления настоящего раскрытия сущности, внутриконтурная фильтрация через границу текущего субкадра может выполняться только тогда, когда не удовлетворяется предварительно определенное ограничение при фильтрации. Следовательно, можно предотвращать такую ошибку декодирования, что результат декодирования границы текущего блока не совпадает с результатом кодирования.[508] As described above, according to Embodiment 5 of the present disclosure, in-loop filtering across the boundary of the current subframe can only be performed when a predetermined filtering constraint is not satisfied. Therefore, it is possible to prevent a decoding error such that the decoding result of the current block boundary does not match the encoding result.

[509] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.[509] Although the exemplary methods of the present disclosure described above are presented as a sequence of operations for clarity of description, it is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order as needed. In order to implement the method according to the present disclosure, the described steps may further include other steps, may include the remaining steps except for some steps, or may include other additional steps except for some steps.

[510] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.[510] In the present disclosure, an image encoding equipment or an image decoding equipment that performs a predetermined operation (step) may perform an operation (step) of confirming a condition or situation of performing a corresponding operation (step). For example, if it is described that the predetermined operation is performed when the predetermined condition is satisfied, the image encoding equipment or the image decoding equipment may perform the predetermined operation after determining whether or not the predetermined condition is satisfied.

[511] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.[511] The various embodiments of the present disclosure are not a list of all possible combinations and are intended to describe salient aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more of them.

[512] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.[512] Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination of the above. If the present disclosure is implemented in hardware, the present disclosure may be implemented using Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGA), general processors, controllers, microcontrollers, microprocessors, etc.

[513] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[513] In addition, image decoding equipment and image encoding equipment to which embodiments of the present disclosure apply may be included in a multimedia broadcast transceiver, a mobile communication terminal, a home theater system video device, a digital cinema system video device, a surveillance camera, video chatting device, real-time communication device, for example, for video communication, mobile streaming device, storage media, video recording camera, video-on-demand (VoD) service delivery device, OTT video device ( video over networks), an Internet streaming service provider, a 3D video device, a video telephony system video device, a medical video device, and the like. and can be used to process video signals or data signals. For example, OTT video devices may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), and the like.

[514] Фиг. 44 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[514] FIG. 44 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.

[515] Ссылаясь на фиг. 44, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[515] Referring to FIG. 44, the content streaming system to which the embodiment(s) of the present document is applied may mainly include an encoding server, a streaming server, a web server, a media storage, a user device, and a media input device.

[516] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.[516] The encoding server compresses content input from media input devices such as a smartphone, camera, camcorder, etc. into digital data to form a bit stream, and transmits the bit stream to the stream server. As another example, when media input devices such as smartphones, cameras, camcorder recorders, etc. directly generate a bitstream, the encoding server may be omitted.

[517] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[517] The bitstream may be generated by an image encoding method or image encoding equipment to which an embodiment of the present disclosure applies, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[518] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.[518] The streaming server transmits media data to the user device based on the user's request through the web server, and the web server serves as a medium for informing the user about the service. When a user requests a desired service from a web server, the web server may deliver it to the streaming server, and the streaming server may transmit media data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server serves to manage the command/response between devices in the content streaming system.

[519] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[519] The streaming server may receive content from a media store and/or an encoding server. For example, when content is received from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may keep the bitstream for a predetermined time.

[520] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.[520] Examples of the user device may include a mobile phone, smartphone, laptop computer, digital broadcast terminal, personal digital assistant (PDA), portable media player (PMP), navigation device, stylus tablet PC, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital TVs, desktop computers, digital signage system, etc.

[521] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.[521] Each server in the content streaming system may operate as a distributed server, in which case the data received from each server may be distributed.

[522] Объем раскрытия сущности включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.[522] The scope of the disclosure includes software or computer-executable instructions (e.g., an operating system, an application, a firmware, a program, etc.) to enable operations to be performed according to the methods of various embodiments in equipment or a computer, a non-volatile computer-readable medium , which has such software or commands stored and executed in hardware or a computer.

Промышленная применимостьIndustrial Applicability

[523] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.[523] Embodiments of the present disclosure may be used to encode or decode an image.

Claims (25)

1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений, при этом способ декодирования изображений содержит этапы, на которых:1. An image decoding method performed by image decoding equipment, wherein the image decoding method comprises the steps of: декодируют первый флаг, указывающий то, может или нет внутриконтурная фильтрация выполняться через границу субкадра, из потока битов; иdecoding a first flag indicating whether or not in-loop filtering can be performed across a subframe boundary from the bitstream; And выполняют внутриконтурную фильтрацию на границе текущего блока, на основе первого флага,perform in-loop filtering on the boundary of the current block, based on the first flag, при этом на основе границы текущего блока, совпадающей с границей текущего субкадра, включающего в себя текущий блок, внутриконтурная фильтрация на границе текущего блока выполняется, только когда внутриконтурная фильтрация доступна как для границы текущего субкадра, так и для границы соседнего субкадра, смежного с текущим субкадром.while based on the boundary of the current block, which coincides with the boundary of the current subframe that includes the current block, in-loop filtering on the boundary of the current block is performed only when in-loop filtering is available both for the boundary of the current subframe and for the boundary of an adjacent subframe adjacent to the current subframe . 2. Способ декодирования изображений по п. 1, в котором на основе границы текущего блока, удовлетворяющей предварительно определенному ограничению при фильтрации, внутриконтурная фильтрация на границе текущего блока не выполняется.2. The image decoding method according to claim 1, wherein, based on a current block boundary satisfying a predetermined filtering constraint, no in-loop filtering is performed on the current block boundary. 3. Способ декодирования изображений по п. 2, в котором ограничение при фильтрации содержит случай, в котором граница текущего блока представляет собой границу текущего кадра, включающего в себя текущий блок.3. The image decoding method of claim 2, wherein the filtering constraint comprises a case where the current block boundary is a current frame boundary including the current block. 4. Способ декодирования изображений по п. 2, в котором ограничение при фильтрации содержит случай, в котором граница текущего блока представляет собой виртуальные границы текущего кадра, включающего в себя текущий блок.4. The image decoding method of claim 2, wherein the filtering constraint comprises the case where the current block boundary is virtual boundaries of the current frame including the current block. 5. Способ декодирования изображений по п. 2, в котором ограничение при фильтрации содержит случай, в котором граница текущего блока представляет собой границу текущей плитки, включающей в себя текущий блок, и внутриконтурная фильтрация не может выполняться через границу текущей плитки.5. The image decoding method according to claim 2, wherein the filtering constraint comprises a case where the current block boundary is a current tile boundary including the current block, and in-loop filtering cannot be performed across the current tile boundary. 6. Способ декодирования изображений по п. 2, в котором ограничение при фильтрации содержит случай, в котором граница текущего блока представляет собой границу текущего среза, включающего в себя текущий блок, и внутриконтурная фильтрация не может выполняться через границу текущего среза.6. The image decoding method according to claim 2, wherein the filtering constraint comprises a case where the current block boundary is a current slice boundary including the current block, and in-loop filtering cannot be performed through the current slice boundary. 7. Способ декодирования изображений по п. 2, в котором ограничение при фильтрации содержит случай, в котором граница текущего блока представляет собой левую или верхнюю границу текущего среза, включающего в себя текущий блок, и внутриконтурная фильтрация деактивируется для текущего среза.7. The image decoding method of claim 2, wherein the filtering constraint comprises the case where the current block boundary is the left or upper boundary of the current slice including the current block, and in-loop filtering is deactivated for the current slice. 8. Способ декодирования изображений по п. 1, в котором внутриконтурная фильтрация содержит фильтрацию для удаления блочности.8. The image decoding method of claim 1, wherein the in-loop filtering comprises deblocking filtering. 9. Способ декодирования изображений по п. 1, в котором на основе режима прогнозирования текущего блока, представляющего собой палитровый режим, внутриконтурная фильтрация на границе текущего блока не выполняется.9. The image decoding method according to claim 1, wherein, based on the current block prediction mode being the paletted mode, no in-loop filtering is performed at the boundary of the current block. 10. Способ декодирования изображений по п. 1, в котором выполнение внутриконтурной фильтрации содержит этапы, на которых:10. The image decoding method according to claim 1, wherein performing in-loop filtering comprises the steps of: определяют граничную интенсивность относительно границы текущего блока, иdetermine the boundary intensity with respect to the current block boundary, and фильтруют границу текущего блока на основе граничной интенсивности.filter the border of the current block based on the border intensity. 11. Способ декодирования изображений по п. 10, в котором на основе граничной интенсивности, имеющей первое значение, внутриконтурная фильтрация на границе текущего блока не выполняется.11. The image decoding method of claim 10, wherein, based on the edge intensity having the first value, no in-loop filtering is performed at the boundary of the current block. 12. Способ декодирования изображений по п. 1, в котором на основе трактовки текущего субкадра в качестве кадра, первый флаг для текущего субкадра указывает то, что внутриконтурная фильтрация не может выполняться через границу текущего субкадра.12. The image decoding method of claim 1, wherein, based on treating the current subframe as a frame, the first flag for the current subframe indicates that in-loop filtering cannot be performed across a boundary of the current subframe. 13. Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений, при этом способ кодирования изображений содержит этапы, на которых:13. An image encoding method carried out by means of image encoding equipment, wherein the image encoding method comprises the steps of: определяют то, может или нет внутриконтурная фильтрация выполняться через границу субкадра; иdetermining whether or not in-loop filtering can be performed across a subframe boundary; And выполняют внутриконтурную фильтрацию на границе текущего блока на основе результата определения,perform in-loop filtering on the boundary of the current block based on the result of the determination, при этом на основе границы текущего блока, совпадающей с границей текущего субкадра, включающего в себя текущий блок, внутриконтурная фильтрация на границе текущего блока выполняется, только, когда внутриконтурная фильтрация доступна как для границы текущего субкадра, так и для границы соседнего субкадра, смежного с текущим субкадром.wherein, based on the boundary of the current block coinciding with the boundary of the current subframe including the current block, in-loop filtering on the boundary of the current block is performed only when in-loop filtering is available for both the boundary of the current subframe and the boundary of an adjacent subframe adjacent to the current one. subframe. 14. Способ передачи потока битов, в приемник оборудования декодирования изображений, сформированного посредством способа кодирования изображений, содержащий этапы, на которых:14. A method for transmitting a bit stream to a receiver of image decoding equipment generated by an image encoding method, comprising the steps of: определяют то, может или нет внутриконтурная фильтрация выполняться через границу субкадра; иdetermining whether or not in-loop filtering can be performed across a subframe boundary; And выполняют внутриконтурную фильтрацию на границе текущего блока на основе результата определения,perform in-loop filtering on the boundary of the current block based on the result of the determination, при этом на основе границы текущего блока, совпадающей с границей текущего субкадра, включающего в себя текущий блок, внутриконтурная фильтрация на границе текущего блока выполняется, только когда внутриконтурная фильтрация доступна как для границы текущего субкадра, так и для границы соседнего субкадра, смежного с текущим субкадром.while based on the boundary of the current block, which coincides with the boundary of the current subframe that includes the current block, in-loop filtering on the boundary of the current block is performed only when in-loop filtering is available both for the boundary of the current subframe and for the boundary of an adjacent subframe adjacent to the current subframe .
RU2022111591A 2019-10-07 2020-10-06 Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting a bit stream RU2801265C1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US62/911,956 2019-10-07
US62/912,605 2019-10-08
US62/960,124 2020-01-12
US62/960,685 2020-01-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023119778A Division RU2815430C2 (en) 2019-10-07 2020-10-06 Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting bit stream

Publications (1)

Publication Number Publication Date
RU2801265C1 true RU2801265C1 (en) 2023-08-04

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011139121A2 (en) * 2010-05-07 2011-11-10 한국전자통신연구원 Apparatus for encoding and decoding image by skip encoding and method for same
US20170013282A1 (en) * 2005-05-09 2017-01-12 Intel Corporation Method and apparatus for adaptively reducing artifacts in block-coded video
RU2625534C2 (en) * 2012-07-02 2017-07-14 Сан Пэтент Траст Image decoding method, image coding method, image decoding device, image coding device and image coding and decoding device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170013282A1 (en) * 2005-05-09 2017-01-12 Intel Corporation Method and apparatus for adaptively reducing artifacts in block-coded video
WO2011139121A2 (en) * 2010-05-07 2011-11-10 한국전자통신연구원 Apparatus for encoding and decoding image by skip encoding and method for same
RU2625534C2 (en) * 2012-07-02 2017-07-14 Сан Пэтент Траст Image decoding method, image coding method, image decoding device, image coding device and image coding and decoding device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
статья Hyeongmun Jang et al., "AHG17/Non-CE5: on loop filter processing for subpicture treated as a picture", JVET-P0246 16th meeting: Geneva, 7 л., опубл. 24.09.2019, [найдено 14.09.2022], найдено в Интернете по адресу: https://jvet-experts.org; разделы Abstract, Proposal. статья Zhipin Deng et al., "AHG16/Non-CE5: On deblocking at ALF virtual boundaries", JVET-P0534 16th meeting: Geneva, 7 л., опубл. 25.09.2019, [найдено 14.09.2022], найдено в Интернете по адресу: https://jvet-experts.org/; стр. 2. статья Hyeongmun Jang "AHG17/Non-CE5: on loop filter processing for subpicture treated as a picture", JVET-P0252-v1 16th meeting: Geneva, 7 л., опубл. 25.09.2019, [найдено 14.09.2022], найдено в Интернете по адресу: https://jvet-experts.org/, стр. 1-3. *

Similar Documents

Publication Publication Date Title
EP3843405A1 (en) Image coding method using history-based motion information, and device therefor
AU2020337710B2 (en) Apparatus and method for image coding based on filtering
JP2022168139A (en) Method for processing image based on inter-prediction mode and device therefor
CA3162583C (en) Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream
AU2020335843A1 (en) Apparatus and method for coding image
CN113545051A (en) Reconstruction of video data blocks using block size constraints
JP7279208B2 (en) Duplicate signaling elimination method and apparatus in video/video coding system
EP4120681A1 (en) Image encoding/decoding method and apparatus for selectively encoding size information of rectangular slice, and method for transmitting bitstream
KR102568712B1 (en) Method and apparatus for processing video signals using affine motion prediction
JP2022530286A (en) Image coding / decoding methods, devices, and methods of transmitting bitstreams with adaptive size restrictions on chroma blocks.
RU2801265C1 (en) Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting a bit stream
RU2815430C2 (en) Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting bit stream
RU2795473C1 (en) Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission
RU2809033C2 (en) Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission
CN114747223B (en) Image encoding/decoding method and apparatus for performing in-loop filtering based on sprite structure, and method for transmitting bitstream
RU2787884C1 (en) Equipment and method for image coding based on filtering
RU2810200C2 (en) Method and device for image coding based on sub-image
RU2812196C2 (en) Image coding/decoding method, equipment and method for transmitting bit stream using maximum size of colour signal block conversion
RU2820304C1 (en) Method and apparatus for encoding image based on sub-picture
RU2820296C1 (en) Filtration-based image encoding equipment and method
RU2809518C2 (en) Method and device for encoding/decoding images using filtering and method for transmitting a bit stream
RU2803147C2 (en) Method and equipment for image encoding/decoding to perform internal prediction and method for bitstream transmission
RU2806728C2 (en) Equipment and method for image coding based on filtering
RU2810123C2 (en) Method and equipment for image encoding/decoding to perform internal prediction and method for bitstream transmission
RU2785998C1 (en) Equipment and method for image encoding