RU2812029C2 - Method and device for image encoding/decoding based on mixed type nal unit and method for transmitting bit stream - Google Patents

Method and device for image encoding/decoding based on mixed type nal unit and method for transmitting bit stream Download PDF

Info

Publication number
RU2812029C2
RU2812029C2 RU2023128067A RU2023128067A RU2812029C2 RU 2812029 C2 RU2812029 C2 RU 2812029C2 RU 2023128067 A RU2023128067 A RU 2023128067A RU 2023128067 A RU2023128067 A RU 2023128067A RU 2812029 C2 RU2812029 C2 RU 2812029C2
Authority
RU
Russia
Prior art keywords
frame
nal unit
unit type
slices
current frame
Prior art date
Application number
RU2023128067A
Other languages
Russian (ru)
Other versions
RU2023128067A (en
Inventor
Хендри ХЕНДРИ
Original Assignee
ЭлДжи ЭЛЕКТРОНИКС ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЭлДжи ЭЛЕКТРОНИКС ИНК. filed Critical ЭлДжи ЭЛЕКТРОНИКС ИНК.
Publication of RU2023128067A publication Critical patent/RU2023128067A/en
Application granted granted Critical
Publication of RU2812029C2 publication Critical patent/RU2812029C2/en

Links

Images

Abstract

FIELD: image encoding.
SUBSTANCE: network abstraction layer (NAL) unit type information of the video coding layer (VCL) of the current frame and first flag information indicating whether or not a subframe included in the current frame is treated as one frame are obtained from the bitstream. The NAL unit type of each of the plurality of slices included in the current frame is determined based on the received NAL unit VCL type information. The plurality of slices are decoded based on the determined NAL unit type and the first flag information. Here, the current frame consists of two or more subframes based on at least some of a plurality of slices having different types of NAL units. Here, the first flag information has a predetermined value indicating that each of the two or more subframes is treated as one frame based on at least some of a plurality of slices having different types of NAL units.
EFFECT: improved efficiency of image encoding.
14 cl, 17 dwg

Description

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

[1] Настоящее изобретение относится к способу и оборудованию кодирования/декодирования изображений, а более конкретно, к способу и оборудованию кодирования и декодирования изображений на основе смешанного типа NAL-единицы и к носителю записи для сохранения потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.[1] The present invention relates to an image encoding/decoding method and equipment, and more specifically, to an image encoding and decoding method and equipment based on a mixed NAL unit type, and to a recording medium for storing a bitstream generated by the image encoding method/equipment true revelation of the essence.

Уровень техники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 increasing in various fields of technology. As the resolution and quality of image data increases, the amount of transmitted information or bits increases relatively compared to existing image data. Increasing the amount of information or bits transmitted results in increased transmission costs and storage costs.

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

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

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

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

[5] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений на основе смешанного типа NAL-единицы.[5] Another object of the present invention is to provide an image encoding/decoding method and equipment based on a mixed NAL unit type.

[6] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений на основе двух или более субкадров, имеющих различные типы NAL-единиц.[6] Another object of the present invention is to provide a method and equipment for encoding/decoding images based on two or more subframes having different types of NAL units.

[7] Другая цель настоящего изобретения заключается в том, чтобы предоставлять энергонезависимый декодерочитаемый носитель хранения данных для сохранения потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[7] Another object of the present invention is to provide a non-volatile decoder-readable storage medium for storing a bitstream generated by an image encoding method or equipment according to the present disclosure.

[8] Другая цель настоящего изобретения заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[8] Another object of the present invention 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.

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

[10] Технические проблемы, разрешаемые посредством настоящего изобретения, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[10] The technical problems solved by the present invention 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 following description.

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

[11] Способ декодирования изображений согласно одному аспекту настоящего изобретения содержит получение, из потока битов, информации типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информации первого флага, указывающей то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра, определение типа NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы и декодирование множества срезов на основе определенного типа NAL-единицы и информации первого флага. Текущий кадр может содержать два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и информация первого флага может иметь предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.[11] An image decoding method according to one aspect of the present invention comprises obtaining, from the bit stream, network abstraction layer (NAL) unit type information of a video coding layer (VCL) of the current frame and first flag information indicating whether or not a subframe included into the current frame, as a single frame, determining a NAL unit type of each of the plurality of slices included in the current frame based on the obtained NAL unit VCL type information, and decoding the plurality of slices based on the determined NAL unit type and the first flag information. The current frame may contain two or more subframes based on at least some of a plurality of slices having different types of NAL units, and the first flag information may have a predetermined value indicating that each of the two or more subframes is treated as one frame based on at least some of a plurality of slices having different types of NAL units.

[12] Оборудование декодирования изображений согласно другому аспекту настоящего изобретения содержит запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может получать, из потока битов, информацию типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра, определять тип NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы, и декодировать множество срезов на основе определенного типа NAL-единицы и информации первого флага. Текущий кадр может содержать два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и информация первого флага может иметь предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.[12] Image decoding equipment according to another aspect of the present invention includes a storage device and at least one processor. The at least one processor may obtain, from the bit stream, network abstraction layer (NAL) unit type information of the video coding layer (VCL) of the current frame and first flag information indicating whether or not a subframe included in the current frame is treated in as one frame, determine the NAL unit type of each of the plurality of slices included in the current frame based on the received NAL unit VCL type information, and decode the plurality of slices based on the determined NAL unit type and the first flag information. The current frame may contain two or more subframes based on at least some of a plurality of slices having different types of NAL units, and the first flag information may have a predetermined value indicating that each of the two or more subframes is treated as one frame based on at least some of a plurality of slices having different types of NAL units.

[13] Способ кодирования изображений согласно другому аспекту настоящего изобретения содержит сегментацию текущего кадра на один или более субкадров, определение типа единицы слоя абстрагирования от сети (NAL) каждого из множества срезов, включенных в один или более субкадров, и кодирование множества срезов на основе определенного типа NAL-единицы. Текущий кадр может сегментироваться на два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и каждый из двух или более субкадров может трактоваться в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.[13] An image encoding method according to another aspect of the present invention comprises segmenting a current frame into one or more subframes, determining a network abstraction layer (NAL) unit type of each of a plurality of slices included in the one or more subframes, and encoding the plurality of slices based on the determined NAL unit type. The current frame may be segmented into two or more subframes based on at least some of a plurality of slices having different types of NAL units, and each of the two or more subframes may be treated as a single frame based on at least some of multiple slices having different types of NAL units.

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

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

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

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

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

[18] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений на основе смешанного типа NAL-единицы.[18] In addition, according to the present disclosure, it is possible to provide an image encoding/decoding method and equipment based on a mixed NAL unit type.

[19] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений на основе двух или более субкадров, имеющих различные смешанные типы NAL-единиц.[19] In addition, according to the present disclosure, it is possible to provide a method and equipment for encoding/decoding images based on two or more subframes having different mixed types of NAL units.

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

[21] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[21] 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.

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

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

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

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

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

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

[27] Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей процедуру декодирования изображений, к которой является применимым вариант осуществления настоящего изобретения.[27] FIG. 4 is a flowchart illustrating an image decoding procedure to which an embodiment of the present invention is applicable.

[28] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей процедуру кодирования изображений, к которой является применимым вариант осуществления настоящего изобретения.[28] FIG. 5 is a flowchart illustrating an image encoding procedure to which an embodiment of the present invention is applicable.

[29] Фиг. 6 является видом, иллюстрирующим пример многослойной структуры для кодированного изображения/видео.[29] FIG. 6 is a view illustrating an example of a multi-layer structure for a coded image/video.

[30] Фиг. 7 является видом, иллюстрирующим набор параметров кадра (PPS) согласно варианту осуществления настоящего изобретения.[30] FIG. 7 is a view illustrating a frame parameter set (PPS) according to an embodiment of the present invention.

[31] Фиг. 8 является видом, иллюстрирующим заголовок среза согласно варианту осуществления настоящего изобретения.[31] FIG. 8 is a view illustrating a slice header according to an embodiment of the present invention.

[32] Фиг. 9 является видом, иллюстрирующим пример субкадра.[32] FIG. 9 is a view illustrating an example of a subframe.

[33] Фиг. 10 является видом, иллюстрирующим пример кадра, имеющего смешанный тип NAL-единицы.[33] FIG. 10 is a view illustrating an example of a frame having a mixed NAL unit type.

[34] Фиг. 11 является видом, иллюстрирующим пример набора параметров кадра (PPS) согласно варианту осуществления настоящего изобретения.[34] FIG. 11 is a view illustrating an example of a frame parameter set (PPS) according to an embodiment of the present invention.

[35] Фиг. 12 является видом, иллюстрирующим пример набора параметров последовательности (SPS) согласно варианту осуществления настоящего изобретения.[35] FIG. 12 is a view illustrating an example of a sequence parameter set (SPS) according to an embodiment of the present invention.

[36] Фиг. 13 является видом, иллюстрирующим порядок декодирования и порядок вывода для каждого типа кадра.[36] FIG. 13 is a view illustrating a decoding order and an output order for each frame type.

[37] Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей способ определения типа NAL-единицы текущего кадра согласно варианту осуществления настоящего изобретения.[37] FIG. 14 is a flowchart illustrating a method for determining the NAL unit type of a current frame according to an embodiment of the present invention.

[38] Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего изобретения.[38] FIG. 15 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.

[39] Фиг. 16 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего изобретения.[39] FIG. 16 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

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

Оптимальный режим осуществления изобретенияOptimal mode for carrying out the invention

[41] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи, так что они могут легко реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.[41] Embodiments of the present invention are described in detail hereinafter 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 a variety of forms and is not limited to the embodiments described herein.

[42] При описании настоящего изобретения, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего изобретения, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего изобретения, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.[42] In describing the present invention, if it is determined that a detailed description of a related known function or structure would lead to unnecessary ambiguity in the scope of the present invention, its detailed description is omitted. In the drawings, parts not related to the description of the present invention are omitted, and like reference numbers are added to like parts.

[43] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.[43] 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 additionally included, not the exclusion of other components, unless otherwise noted.

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

[45] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего изобретения.[45] 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 separate. 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 the present invention.

[46] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего изобретения. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего изобретения.[46] In the present disclosure, the components described in the 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 invention. In addition, embodiments including other components in addition to the components described in the various embodiments are included within the scope of the present invention.

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

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

[49] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.[49] In the present disclosure, "pixel" or "pixel" 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 may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component or only a pixel/pixel value of a chroma component.

[50] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.[50] In the present disclosure, a "unit" may represent a basic unit of image processing. The unit may include at least one of a specific frame area and information associated with the area. The unit may be used interchangeably with terms such as "sample array", "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.

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

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

[53] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" могут означать "по меньшей мере, одно из A, B и/или C".[53] In the present disclosure, the terms “/” and “,” are to be interpreted to indicate “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".

[54] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".[54] In the present disclosure, the term “or” should be interpreted to indicate “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.”

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

[56] Фиг. 1 является видом, схематично иллюстрирующим систему кодирования видео согласно настоящему раскрытию сущности.[56] FIG. 1 is a view schematically illustrating a video encoding system according to the present disclosure.

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

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

[59] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[59] The video source generator 11 may obtain video/image through a video/image capturing, synthesizing, or shaping process. The video source generator 11 may include a video/image capture device and/or a video/image generation device. The video/image capturing device may include, for example, one or more cameras, video/image archives including previously captured video/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, a virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process can be replaced by the associated data generation process.

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

[61] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.[61] The transmitter 13 may transmit encoded information or video/image data output in the form of a bitstream 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 multimedia file through a predefined file format and may include an element for transmission through a broadcast/communications network. The receiver 21 may retrieve/receive a bit stream from the storage medium or network and transmit the bit stream to the decoding unit 22.

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

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

[64] Общее представление оборудования кодирования изображений [64] General introduction to image encoding equipment

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

[66] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.[66] As shown in FIG. 2, the image encoding equipment 100 may include an image segmentation unit 110, a subtractor 115, a converter 120, a quantizer 130, a dequantizer 140, an inverse converter 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”. Converter 120, quantizer 130, dequantizer 140, and inverse converter 150 may be included in the residual processor. The residual processor may further include a subtractor 115.

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

[68] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[68] The image segmentation module 110 may segment an input image (either a frame or a movie frame) input to the image encoding equipment 100 into one more processing unit. For example, the processing unit may be called a "coding unit (CU)". A coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or 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 coding units of greater depth based on a quadtree structure, a binary tree structure, and/or a ternary structure. To segment a coding unit, a quadtree structure may first be applied, and subsequently a binary tree structure and/or a ternary structure may be applied. The encoding procedure of 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 a coding unit of greater depth 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 reconstruction procedure, which is described below. As another example, the processing unit of the encoding procedure 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 encoding unit. The prediction unit may be a sample prediction unit, and the transformation unit may be a unit for extracting a transformation coefficient and/or a unit for extracting a residual signal from the transformation coefficient.

[69] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.[69] The prediction module (inter-prediction module 180 or intra-prediction module 185) may perform prediction regarding a block to be processed (the current block) and generate a predicted 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 prediction of the current block and transmit the generated information to the entropy encoder 190. Information regarding the prediction may be encoded in the entropy encoder 190 and output in the form of a bit stream.

[70] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[70] The intra prediction module 185 may predict the current block by reference to the samples in the current frame. Samples for reference may be located in the surroundings of the current block or may be spaced apart according to an intra-prediction mode and/or intra-prediction technology. The intra prediction modes may include a plurality of non-directional modes and a plurality of directed modes. The omnidirectional mode may include, for example, DC mode and 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 merely an example; more or less directional prediction modes may be used depending on the setting. The intra prediction module 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the adjacent block.

[71] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.[71] The inter-prediction unit 180 may extract a predicted block for the current block based on a reference block (an array of reference samples) 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 a neighboring 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, the neighbor block may include a spatial neighbor block present in the current frame and a temporal neighbor block present in the reference frame. The reference frame including the reference block and the reference frame including the temporary adjacent block may be identical or different. A temporary neighbor block may be referred to as a "co-located reference block", "co-located CU (colCU)", or the like. A reference frame including a temporary adjacent block may be referred to as a "co-located frame (colPic)". For example, the inter-prediction module 180 may configure a list of motion information candidates based on neighboring blocks and generate information indicating which candidate is used to retrieve the motion vector and/or reference frame index of the current block. Mutual prediction can be performed based on different prediction modes. For example, in the case of the skip mode and the merge mode, the inter-prediction unit 180 may use the motion information of a neighboring block as the motion information of the current block. In the case of the skip mode, unlike the combining mode, the residual signal may not be transmitted. In the case of the motion vector prediction (MVP) mode, the motion vector of an adjacent block can be used as a motion vector predictor, and the motion vector of the current block can be signaled by encoding the 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.

[72] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[72] The prediction module can 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 simultaneously apply both intra-prediction and inter-prediction to predict the current block. A prediction method that simultaneously uses both intra prediction and inter prediction to predict the current block may be called "combined inter and intra prediction (CIIP)". In addition, the prediction module can perform intra-block copying (IBC) to predict the current block. In-block copying can be used to encode game image/video content and the like, such as screen content encoding (SCC). IBC is a method of predicting the current frame using a previously reconstructed reference block in the current frame at a location spaced from the current block by a predetermined distance. When IBC is applied, the location of the reference block in the current frame can be encoded as a vector (block vector) corresponding to a predetermined distance. IBC essentially performs prediction within the current frame, but can be performed similarly 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.

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

[74] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[74] Converter 120 can generate conversion coefficients by applying conversion technology to the residual signal. For example, the transform technology may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeve transform (KLT), a graph-based transform (GBT), or a conditionally nonlinear transform (CNT). ). Here, GBT means a graph-derived transformation when the relationship information between pixels is represented by the graph. CNT means the transformation obtained from the prediction signal generated using all the previously reconstructed pixels. In addition, the conversion process can be applied to square pixel blocks that are identical in size, or can be applied to blocks that are variable in size rather than square.

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

[76] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.[76] Entropy encoder 190 may implement various encoding techniques, such as, for example, exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like. Entropy encoder 190 may encode information needed to reconstruct video/images 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 network abstraction layer (NAL) units in the form of a bit stream. 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, transmission information, and/or syntax elements described in the present disclosure may be encoded through the encoding procedure described above and included in the bit stream.

[77] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.[77] The bitstream 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 the signal output from the entropy encoder 190 and/or a storage module (not shown) storing the signal may be included as an internal/external element of the encoding equipment 100, and alternatively, the transmitter may be included in the entropy encoder 190 .

[78] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.[78] The quantized transform coefficients output from quantizer 130 can be used to generate a residual signal. For example, a 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 transformer 150.

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

[80] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.[80] Filter 160 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, filter 160 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame and store the modified reconstructed frame in storage device 170, namely, a DPB of storage device 170. Various filtering techniques may include, for example, deblocking filtering. , filtering based on sampled adaptive offset, adaptive loop filter, bilateral filter, etc. The filter 160 may generate various filtering-related information and transmit the generated information to the entropy encoder 190, as described below in the description of each filtering method. Information associated with filtering may be encoded by entropy encoder 190 and output in the form of a bitstream.

[81] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.[81] The modified reconstructed frame transferred to the storage device 170 can be used as a reference frame in the inter-prediction module 180. When mutual prediction is applied through 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.

[82] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.[82] The DPB of the storage device 170 may store the modified reconstructed frame for use as a reference frame in the inter-prediction module 180 . The storage device 170 may store block motion information from which motion information in the current frame is retrieved (or encoded) and/or motion information of blocks in a frame that have already been reconstructed. 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. Memory 170 may store reconstructed samples of reconstructed blocks in the current frame and may transmit reconstructed samples to intra prediction module 185.

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

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

[85] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.[85] As shown in FIG. 3, the image decoding equipment 200 may include an entropy decoder 210, a dequantizer 220, an inverse converter 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”. A dequantizer 220 and an inverse converter 230 may be included in the residual processor.

[86] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.[86] 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, a decoder or processor) according to an embodiment. In addition, storage device 250 may include a decoded frame buffer (DPB) or may be configured with a digital storage medium.

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

[88] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.[88] The image decoding equipment 200 may receive a signal output from the image encoding equipment of FIG. 2 in the form of a bit stream. The received signal may be decoded through entropy decoder 210. For example, entropy decoder 210 may parse the bitstream to extract information (eg, video/image information) needed to reconstruct images (or reconstruct frames). 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 information regarding the parameter set and/or general constraint information. The signaling/receiving information and/or syntax elements described in the present disclosure may be decoded by a decoding procedure and obtained from the bitstream. For example, entropy decoder 210 decodes information in a bitstream based on an encoding method, such as exponential Golomb, CAVLC, or CABAC encoding, and the output values of the syntax elements required for image reconstruction and the quantized values of the transform coefficients for the remainder. More specifically, the entropy CABAC decoding method may take a resolution element corresponding to each syntax element in the bitstream, determine a context model using information of a target decoding syntax element, decoding information of an adjacent block and a target decoding block, or information of a symbol/resolution element decoded on a previous one. stage, and perform arithmetic decoding for the resolution element by predicting the probability of occurrence of the permission element according to the determined context model and generating a symbol corresponding to the meaning of each syntactic element. In this case, the entropy CABAC decoding method can update the context model by using the decoded symbol/grant element information for the context model of the next symbol/grant element after determining the context model. The prediction-related information from the information decoded by the entropy decoder 210 may be provided to the prediction module (inter-prediction module 260 and intra-prediction module 265), and the residual value for which entropy decoding is performed in the entropy decoder 210, i.e. quantized conversion coefficients and related parameter information may be input to the dequantizer 220. In addition, information regarding filtering from 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 device may be further configured as an internal/external element of image decoding equipment 200, or the receiver may be a component of entropy decoder 210.

[89] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 160 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.[89] 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 sample decoder (video/image/frame sample decoder). The information decoder may include an entropy decoder 210. The sample decoder may include at least one of a dequantizer 220, an inverse converter 230, an adder 235, a filter 240, a memory 250, an inter-prediction module 160, or an intra-prediction module 265.

[90] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[90] Dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. Dequantizer 220 may re-arrange the quantized transform coefficients in the form of a two-dimensional block. In this case, rearrangement may be performed based on the order of coefficient scanning performed in the image encoding equipment. 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.

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

[92] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования (технологию прогнозирования).[92] Prediction module 230 may perform prediction for the current block and may generate a predicted block including prediction samples for the current block. The prediction module can 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 can determine a particular intra/inter prediction mode (prediction technology).

[93] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.[93] 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 (techniques), which are described below.

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

[95] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[95] The inter-prediction module 260 may extract a predicted block for the current block based on a reference block (an array of reference samples) 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 a neighboring 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, the neighbor block may include a spatial neighbor block present in the current frame and a temporal neighbor block present in the reference frame. For example, the inter-prediction module 260 may configure a motion information candidate list based on neighboring blocks and extract the current block's motion vector and/or reference frame index based on the received candidate selection information. The inter-prediction may be performed based on various prediction modes, and the information regarding the prediction may include information indicating the inter-prediction mode for the current block.

[96] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[96] The adder 235 can generate a reconstructed signal (recovered frame, reconstructed block, reconstructed sample array) by adding the resulting residual signal with a prediction signal (predicted block, predicted sample array) output from a prediction module (including inter-prediction module 260 and /or internal prediction module 265). If there is no remainder for a block to be processed, for example when a skip mode is applied, the predicted block can 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 a “recovered block generator.” The generated reconstructed signal can be used to internally predict the next block to be processed in the current frame, and can be used to inter-predict the next frame through filtering, as described below.

[97] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.[97] Filter 240 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, filter 240 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame and store the modified reconstructed frame in storage device 250, namely, a DPB of storage device 250. Various filtering techniques may include, for example, deblocking filtering. , filtering based on sampled adaptive offset, adaptive loop filter, bilateral filter, etc.

[98] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.[98] The (modified) reconstructed frame stored in the DPB of the storage device 250 can be used as a reference frame in the inter-prediction unit 260. Memory 250 may store block motion information from which motion information in the current frame is retrieved (or decoded) and/or motion information of blocks in a frame that have already been reconstructed. 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. Memory 250 may store reconstructed samples of reconstructed blocks in the current frame and transmit the reconstructed samples to intra prediction module 265.

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

[100] Общая процедура кодирования изображений/видео [100] General procedure for image/video encoding

[101] При кодировании изображений/видео, кадр, конфигурирующий изображение/видео, может кодироваться/декодироваться согласно порядку декодирования. Порядок кадров, соответствующий порядку вывода декодированного кадра, может задаваться по-другому по сравнению с порядком декодирования, и на основе этого, не только прямое прогнозирование, но также и обратное прогнозирование может выполняться во время взаимного прогнозирования.[101] When encoding images/videos, a frame configuring the image/video may be encoded/decoded according to the decoding order. The order of frames corresponding to the output order of the decoded frame may be set differently from the decoding order, and based on this, not only forward prediction but also backward prediction can be performed during inter prediction.

[102] Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей процедуру декодирования изображений, к которой является применимым вариант(ы) осуществления настоящего изобретения.[102] FIG. 4 is a flowchart illustrating an image decoding procedure to which the embodiment(s) of the present invention is applicable.

[103] Каждая процедура, показанная на фиг. 4, может выполняться посредством оборудования декодирования изображений по фиг. 3. Например, этап S410 может выполняться посредством энтропийного декодера 210, этап S420 может выполняться посредством модулей 265 и 260 прогнозирования, этап S430 может выполняться посредством остаточного процессора 220 и 230, этап S440 может выполняться посредством сумматора 235, и этап S450 может выполняться посредством фильтра 240. Этап S410 может включать в себя процедуру декодирования информации, описанную в настоящем раскрытии сущности, этап S420 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем раскрытии сущности, этап S430 может включать в себя процедуру остаточной обработки, описанную в настоящем раскрытии сущности, этап S440 может включать в себя процедуру восстановления блоков/кадров, описанную в настоящем раскрытии сущности, и этап S450 может включать в себя процедуру внутриконтурной фильтрации, описанную в настоящем раскрытии сущности.[103] Each procedure shown in FIG. 4 may be performed by the image decoding equipment of FIG. 3. For example, step S410 may be performed by entropy decoder 210, step S420 may be performed by prediction units 265 and 260, step S430 may be performed by residual processor 220 and 230, step S440 may be performed by adder 235, and step S450 may be performed by filter 240. Step S410 may include the information decoding procedure described in the present disclosure, step S420 may include the inter/intra prediction procedure described in the present disclosure, step S430 may include the residual processing procedure described in the present disclosure. In essence, step S440 may include the block/frame recovery procedure described in the present disclosure, and step S450 may include the in-loop filtering procedure described in the present disclosure.

[104] Ссылаясь на фиг. 4, процедура декодирования кадров может схематично включать в себя процедуру (S410) для получения информации изображений/видео (посредством декодирования) из потока битов, процедуру (S420-S440) восстановления кадров и процедуру (S450) внутриконтурной фильтрации для восстановленного кадра. Процедура восстановления кадров может выполняться на основе прогнозных выборок и остаточных выборок, полученных через взаимное/внутреннее прогнозирование (S420) и остаточную обработку (S430) (деквантование и обратное преобразование квантованного коэффициента преобразования), описанную в настоящем раскрытии сущности. Модифицированный восстановленный кадр может формироваться через процедуру внутриконтурной фильтрации для восстановленного кадра, сформированного через процедуру восстановления кадров. В этом случае, модифицированный восстановленный кадр может выводиться в качестве декодированного кадра, сохраняться в буфере декодированных кадров (DPB) запоминающего устройства 250 и использоваться в качестве опорного кадра в процедуре взаимного прогнозирования при декодировании кадра впоследствии. Процедура (S450) внутриконтурной фильтрации может опускаться. В этом случае, восстановленный кадр может выводиться в качестве декодированного кадра, сохраняться в DPB запоминающего устройства 250 и использоваться в качестве опорного кадра в процедуре взаимного прогнозирования при декодировании кадра впоследствии. Процедура (S450) внутриконтурной фильтрации может включать в себя процедуру фильтрации для удаления блочности, процедуру фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуру адаптивной контурной фильтрации (ALF) и/или процедуру билатеральной фильтрации, как описано выше, некоторые или все из которых могут опускаться. Помимо этого, одна или некоторые из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и/или процедуры билатеральной фильтрации могут последовательно применяться, либо все они могут последовательно применяться. Например, после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру, может выполняться SAO-процедура. Альтернативно, после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру, ALF-процедура может выполняться. Это может аналогично выполняться даже в оборудовании кодирования.[104] Referring to FIG. 4, the frame decoding procedure may schematically include a procedure (S410) for obtaining image/video information (by decoding) from the bit stream, a frame reconstruction procedure (S420-S440), and an in-loop filtering procedure (S450) for the reconstructed frame. The frame reconstruction procedure may be performed based on the prediction samples and residual samples obtained through inter/intra prediction (S420) and residual processing (S430) (dequantization and inverse transformation of the quantized transform coefficient) described in the present disclosure. The modified reconstructed frame may be generated through an in-loop filtering procedure for the reconstructed frame generated through the frame restoration procedure. In this case, the modified reconstructed frame may be output as a decoded frame, stored in a decoded frame buffer (DPB) of storage device 250, and used as a reference frame in an inter-prediction procedure when decoding the frame subsequently. The procedure (S450) for in-circuit filtration can be omitted. In this case, the reconstructed frame may be output as a decoded frame, stored in the DPB of the memory 250, and used as a reference frame in an inter-prediction procedure when decoding the frame subsequently. The in-loop filtering procedure (S450) may include a deblocking filtering procedure, a sampled adaptive offset (SAO) filtering procedure, an adaptive loop filtering (ALF) procedure, and/or a bilateral filtering procedure as described above, some or all of which may fall. In addition, one or some of the deblocking filtering procedure, the sampled adaptive offset (SAO) filtering procedure, the adaptive contour filtering (ALF) procedure, and/or the bilateral filtering procedure may be applied sequentially, or all of them may be applied sequentially. For example, after a deblocking filtering procedure is applied to the reconstructed frame, an SAO procedure may be performed. Alternatively, after the deblocking filtering procedure is applied to the reconstructed frame, the ALF procedure may be executed. This can be done similarly even in encoding hardware.

[105] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей процедуру кодирования изображений, к которой является применимым вариант осуществления настоящего изобретения.[105] FIG. 5 is a flowchart illustrating an image encoding procedure to which an embodiment of the present invention is applicable.

[106] Каждая процедура, показанная на фиг. 5, может выполняться посредством оборудования кодирования изображений по фиг. 2. Например, этап S510 может выполняться посредством модулей 185 и 180 прогнозирования, этап S520 может выполняться посредством остаточного процессора 115, 120 и 130, и этап S530 может выполняться в энтропийном кодере 190. Этап S510 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем раскрытии сущности, этап S520 может включать в себя процедуру остаточной обработки, описанную в настоящем раскрытии сущности, и этап S530 может включать в себя процедуру кодирования информации, описанную в настоящем раскрытии сущности.[106] Each procedure shown in FIG. 5 may be performed by the image encoding equipment of FIG. 2. For example, step S510 may be performed by prediction units 185 and 180, step S520 may be performed by residual processor 115, 120, and 130, and step S530 may be performed by entropy encoder 190. Step S510 may include an inter/intra prediction procedure, described in the present disclosure, step S520 may include the residual processing procedure described in the present disclosure, and step S530 may include the information encoding procedure described in the present disclosure.

[107] Ссылаясь на фиг. 5, процедура кодирования кадров может схематично включать в себя не только процедуру для кодирования и вывода информации для восстановления кадров (например, информации прогнозирования, остаточной информации, информации сегментации и т.д.) в форме потока битов, но также и процедуру для формирования восстановленного кадра для текущего кадра и процедуру (необязательно) для применения внутриконтурной фильтрации к восстановленному кадру. Оборудование кодирования может извлекать (модифицированные) остаточные выборки из квантованного коэффициента преобразования через деквантователь 140 и обратный преобразователь 150 и формировать восстановленный кадр на основе прогнозных выборок, которые представляют собой вывод этапа S510, и (модифицированных) остаточных выборок. Восстановленный кадр, сформированный таким образом, может быть равным восстановленному кадру, сформированному в оборудовании декодирования. Модифицированный восстановленный кадр может формироваться через процедуру внутриконтурной фильтрации для восстановленного кадра. В этом случае, модифицированный восстановленный кадр может сохраняться в буфере декодированных кадров запоминающего устройства 170 и может использоваться в качестве опорного кадра в процедуре взаимного прогнозирования при кодировании кадра впоследствии, аналогично оборудованию декодирования. Как описано выше, в некоторых случаях, часть или вся процедура внутриконтурной фильтрации может опускаться. Когда процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов, и оборудование декодирования может выполнять процедуру внутриконтурной фильтрации с использованием идентичного способа со способом в оборудовании кодирования на основе связанной с фильтрацией информации.[107] Referring to FIG. 5, the frame encoding procedure may schematically include not only a procedure for encoding and outputting information for reconstructing frames (eg, prediction information, residual information, segmentation information, etc.) in the form of a bitstream, but also a procedure for generating the reconstructed frame for the current frame and a procedure (optional) for applying in-loop filtering to the reconstructed frame. The encoding equipment may extract the (modified) residual samples from the quantized transform coefficient through the dequantizer 140 and the inverse converter 150, and generate a reconstructed frame based on the prediction samples, which are the output of step S510, and the (modified) residual samples. The reconstructed frame generated in this manner may be equal to the reconstructed frame generated in the decoding equipment. The modified reconstructed frame may be generated through an in-loop filtering procedure for the reconstructed frame. In this case, the modified reconstructed frame can be stored in the decoded frame buffer of the storage device 170 and can be used as a reference frame in the inter-prediction procedure when encoding the frame subsequently, similar to the decoding equipment. As described above, in some cases, part or all of the in-loop filtration procedure may be omitted. When the in-loop filtering procedure is performed, the (in-loop) filtering-related information (parameter) can be encoded in the entropy encoder 190 and output in the form of a bitstream, and the decoding equipment can perform the in-loop filtering procedure using an identical method to that in the encoding equipment based on the associated filtering information.

[108] Через такую процедуру внутриконтурной фильтрации, шум, возникающий во время кодирования изображений/видео, к примеру, артефакт блочности и артефакт кольцевания, может уменьшаться, и субъективное/объективное визуальное качество может повышаться. Помимо этого, посредством выполнения процедуры внутриконтурной фильтрации как в оборудовании кодирования, так и в оборудовании декодирования, оборудование кодирования и оборудование декодирования могут извлекать идентичный результат прогнозирования, надежность кодирования кадров может повышаться, и объем данных, которые должны передаваться для кодирования кадров, может уменьшаться.[108] Through such an in-loop filtering procedure, noise generated during image/video encoding, such as blocking artifact and ringing artifact, can be reduced, and subjective/objective visual quality can be improved. In addition, by performing the in-loop filtering procedure in both the encoding equipment and the decoding equipment, the encoding equipment and the decoding equipment can extract the same prediction result, the reliability of frame encoding can be improved, and the amount of data that must be transmitted for frame encoding can be reduced.

[109] Как описано выше, процедура восстановления кадров может выполняться не только в оборудовании декодирования изображений, но также и в оборудовании кодирования изображений. Восстановленный блок может формироваться на основе внутреннего прогнозирования/взаимного прогнозирования в единицах блоков, и может формироваться восстановленный кадр, включающий в себя восстановленные блоки. Когда текущий кадр/срез/группа плиток представляет собой I-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться только на основе внутреннего прогнозирования. С другой стороны, когда текущий кадр/срез/группа плиток представляет собой P- или B-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, внутреннее прогнозирование может применяться к некоторым блокам в текущем кадре/срезе/группе плиток, и взаимное прогнозирование может применяться к оставшимся блокам. Цветовой компонент кадра может включать в себя компонент сигналов яркости и компонент сигналов цветности, и способы и варианты осуществления настоящего изобретения являются применимыми к компоненту сигналов яркости и компоненту сигналов цветности, если явно не ограничено в настоящем раскрытии сущности.[109] As described above, the frame restoration procedure may be performed not only in the image decoding equipment, but also in the image encoding equipment. A reconstructed block may be generated based on intra-prediction/inter-prediction in block units, and a reconstructed frame including the reconstructed blocks may be generated. When the current frame/slice/tile group is an I-frame/slice/tile group, the blocks included in the current frame/slice/tile group can only be reconstructed based on internal prediction. On the other hand, when the current frame/slice/tile group is a P- or B-frame/slice/tile group, blocks included in the current frame/slice/tile group can be reconstructed based on intra-prediction or inter-prediction. In this case, intra-prediction can be applied to some blocks in the current frame/slice/tile group, and inter-prediction can be applied to the remaining blocks. The color component of a frame may include a luma component and a chrominance component, and the methods and embodiments of the present invention are applicable to the luma component and the chrominance component unless expressly limited in the present disclosure.

[110] Пример структуры слоев кодирования [110] Example of coding layer structure

[111] Кодированное видео/изображение настоящего изобретения может обрабатываться, например, согласно слою кодирования и структуре, которая описывается ниже.[111] The encoded video/image of the present invention can be processed, for example, according to the encoding layer and structure that is described below.

[112] Фиг. 6 является видом, иллюстрирующим многослойную структуру для кодированного изображения.[112] FIG. 6 is a view illustrating a multi-layer structure for a coded image.

[113] Кодированное изображение классифицируется на слой кодирования видео (VCL) для процесса декодирования изображений и обработки себя, нижнюю систему для передачи и сохранения кодированной информации и слой абстрагирования от сети (NAL), присутствующий между VCL и нижней системой и отвечающий за функцию сетевой адаптации.[113] The encoded image is classified into a video coding layer (VCL) for the process of decoding images and processing itself, a bottom system for transmitting and storing the encoded information, and a network abstraction layer (NAL) present between the VCL and the bottom system and responsible for the network adaptation function .

[114] В VCL, могут формироваться VCL-данные, включающие в себя сжатые данные изображений (данные срезов), либо может формироваться набор параметров, включающий в себя такую информацию, как набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемое для процесса декодирования изображения.[114] In VCL, VCL data may be generated including compressed image data (slice data), or a parameter set may be generated including information such as a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS) or additional enhancement information (SEI) message additionally required for the picture decoding process.

[115] В NAL, информация заголовка (заголовок NAL-единицы) может добавляться в первичную байтовую последовательность данных (RBSP), сформированную в VCL, чтобы формировать NAL-единицу. В этом случае, RBSP означает данные срезов, набор параметров, SEI-сообщение, сформированное в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, указываемую согласно RBSP-данным, включенным в соответствующую NAL-единицу.[115] In NAL, header information (NAL unit header) may be added to the primary byte data sequence (RBSP) generated in the VCL to form the NAL unit. In this case, RBSP means the slice data, parameter set, SEI message generated in the VCL. The NAL unit header may include NAL unit type information indicated according to the RBSP data included in the corresponding NAL unit.

[116] Как показано на фиг. 6, NAL-единица может классифицироваться на VCL NAL-единицу и не-VCL NAL-единицу согласно типу RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, включающую в себя информацию относительно изображения (данные срезов), и не-VCL NAL-единица может означать NAL-единицу, включающую в себя информацию (набор параметров или SEI-сообщение), требуемую для того, чтобы декодировать изображение.[116] As shown in FIG. 6, a NAL unit can be classified into a VCL NAL unit and a non-VCL NAL unit according to the type of RBSP generated in the VCL. A VCL NAL unit may refer to a NAL unit including information regarding an image (slice data), and a non-VCL NAL unit may refer to a NAL unit including information (a set of parameters or SEI message) required to to decode the image.

[117] VCL NAL-единица и не-VCL NAL-единица могут иметь присоединенную информацию заголовка и передаваться через сеть согласно формату данных нижней системы. Например, NAL-единица может модифицироваться в данные, имеющие предварительно определенный формат данных, такой как H.266/VVC-формат файлов, RTP (транспортный протокол реального времени) или TS (транспортный поток), и передаваться через различные сети.[117] The VCL NAL unit and the non-VCL NAL unit may have header information attached and are transmitted over the network according to the underlying system data format. For example, a NAL unit may be modified into data having a predefined data format, such as H.266/VVC file format, RTP (Real Time Transport Protocol), or TS (Transport Stream), and transmitted over various networks.

[118] Как описано выше, в NAL-единице, тип NAL-единицы может указываться согласно структуре RBSP-данных, включенной в соответствующую NAL-единицу, и информация относительно типа NAL-единицы может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, он может широко классифицироваться на тип VCL NAL-единицы и тип не-VCL NAL-единицы на основе того, включает или нет NAL-единица в себя информацию относительно изображения (данные срезов). Тип VCL NAL-единицы может классифицироваться согласно свойству и типу кадра, и тип не-VCL NAL-единицы может классифицироваться согласно типу набора параметров.[118] As described above, in a NAL unit, a NAL unit type may be indicated according to an RBSP data structure included in a corresponding NAL unit, and information regarding the NAL unit type may be stored in a NAL unit header and transmitted in signaling signals . For example, it can be broadly classified into a VCL NAL unit type and a non-VCL NAL unit type based on whether or not the NAL unit includes image information (slice data). The VCL NAL unit type can be classified according to the property and frame type, and the non-VCL NAL unit type can be classified according to the parameter set type.

[119] Ниже приводится пример типа NAL-единицы, указываемого согласно типу набора параметров/информации, включенной в тип не-VCL NAL-единицы.[119] The following is an example of a NAL unit type indicated according to the type of parameter set/information included in the non-VCL NAL unit type.

[120] - Тип NAL-единицы (NUT) DCI (информации характеристик декодирования): тип для NAL-единицы, включающей в себя DCI[120] - DCI (Decoding Characteristics Information) NAL Unit Type (NUT): Type for the NAL Unit including the DCI

[121] - NUT VPS (набора параметров видео): тип для NAL-единицы, включающей в себя VPS[121] - NUT VPS (Video Parameter Set): type for a NAL unit including a VPS

[122] - NUT SPS (набора параметров последовательности): тип для NAL-единицы, включающей в себя SPS[122] - NUT SPS (Sequence Parameter Set): type for a NAL unit including an SPS

[123] - NUT PPS (набора параметров кадра): тип для NAL-единицы, включающей в себя PPS[123] - NUT PPS (frame parameter set): type for a NAL unit including a PPS

[124] - NUT APS (набора параметров адаптации): тип для NAL-единицы, включающей в себя APS[124] - NUT APS (Adaptation Parameter Set): type for a NAL unit including an APS

[125] - NUT PH (заголовка кадра): Тип для NAL-единицы, включающей в себя PH[125] - NUT PH (frame header): Type for NAL unit including PH

[126] Вышеописанные типы NAL-единиц могут иметь синтаксическую информацию относительно типов NAL-единиц, и синтаксическая информация может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может включать в себя nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.[126] The above-described NAL unit types may have syntax information regarding the NAL unit types, and the syntax information may be stored in a NAL unit header and transmitted in signaling signals. For example, the syntax information may include nal_unit_type, and NAL unit types may be indicated by the nal_unit_type value.

[127] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметры, обычно применимые к срезу. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к одному или более срезов либо кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, обычно применимые к одной или более последовательностей. VPS (VPS-синтаксис) может информацию/параметры, обычно применимые к нескольким слоям. DCI (DCI-синтаксис) может включать в себя информацию/параметры, связанную с характеристиками декодирования.[127] Meanwhile, as described above, one frame may include a plurality of slices, and one slice may include a slice header and slice data. In this case, one frame header may further be added to multiple slices (slice header and slice data set) in one frame. The frame header (frame header syntax) may include information/parameters typically applicable to the frame. The slice header (slice header syntax) may include information/parameters typically applicable to the slice. APS (APS Syntax) or PPS (PPS Syntax) may include information/parameters typically applicable to one or more slices or frames. SPS (SPS syntax) may include information/parameters typically applicable to one or more sequences. VPS (VPS syntax) can information/parameters typically applicable to multiple layers. DCI (DCI syntax) may include information/parameters associated with decoding characteristics.

[128] В настоящем раскрытии сущности, высокоуровневый синтаксис (HLS) может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DCI-синтаксиса, синтаксиса заголовков кадра или синтаксиса заголовков срезов. Помимо этого, в настоящем раскрытии сущности, низкоуровневый синтаксис (LLS) может включать в себя, например, синтаксис данных срезов, CTU-синтаксис, синтаксис единицы кодирования, синтаксис единицы преобразования и т.д.[128] In the present disclosure, the high-level syntax (HLS) may include at least one of APS syntax, PPS syntax, SPS syntax, VPS syntax, DCI syntax, frame header syntax, or header syntax slices. In addition, in the present disclosure, low-level syntax (LLS) may include, for example, slice data syntax, CTU syntax, coding unit syntax, transformation unit syntax, etc.

[129] В настоящем раскрытии сущности, информация изображений/видео, кодированная посредством оборудования кодирования и передаваемая в служебных сигналах в оборудование декодирования в форме потока битов, может включать в себя не только связанную с сегментацией внутри кадров информацию, информацию внутреннего/взаимного прогнозирования, остаточную информацию, информацию внутриконтурной фильтрации, но также и информацию относительно заголовка среза, информацию относительно заголовка кадра, информацию относительно APS, информацию относительно PPS, информацию относительно SPS, информацию относительно VPS и/или информацию относительно DCI. Помимо этого, информация изображений/видео дополнительно может включать в себя общую информацию ограничений и/или информацию относительно заголовка NAL-единицы.[129] In the present disclosure, image/video information encoded by the encoding equipment and signaled to the decoding equipment in the form of a bit stream may include not only intra-frame segmentation related information, intra/inter prediction information, residual information, in-loop filtering information, but also slice header information, frame header information, APS information, PPS information, SPS information, VPS information and/or DCI information. In addition, the image/video information may further include general restriction information and/or information regarding the NAL unit header.

[130] Общее представление передачи в служебных сигналах входных точек [130] General representation of transmission in the overhead signals of input points

[131] Как описано выше, VCL NAL-единица может включать в себя данные срезов в качестве RBSP (первичной байтовой последовательности данных). Данные срезов могут совмещаться в VCL NAL-единице в байтах и могут включать в себя один или более поднаборов. По меньшей мере, одна входная точка для произвольного доступа (RA) может задаваться для поднаборов, и параллельная обработка может выполняться на основе входной точки.[131] As described above, the VCL NAL unit may include slice data as an RBSP (primary byte sequence data). The slice data may be combined in a VCL NAL unit in bytes and may include one or more subsets. At least one random access (RA) entry point may be specified for subsets, and parallel processing may be performed based on the entry point.

[132] Стандарт универсального кодирования видео (VVC) (ITU-T-рекомендация H.266) поддерживает волновую параллельную обработку (WPP), которая представляет собой одну из различных технологий параллельной обработки. Множество срезов в кадре могут кодироваться/декодироваться параллельно на основе WPP.[132] The Versatile Video Coding (VVC) standard (ITU-T Recommendation H.266) supports wave parallel processing (WPP), which is one of various parallel processing technologies. Multiple slices in a frame can be encoded/decoded in parallel based on WPP.

[133] Чтобы активировать характеристики параллельной обработки, информация входных точек может передаваться в служебных сигналах. Оборудование декодирования изображений может непосредственно осуществлять доступ к начальной точке сегмента данных, включенного в NAL-единицу на основе информации входных точек. Здесь, начальная точка сегмента данных может означать начальную точку плиток в срезе или начальную точку CTU-строк в срезе.[133] To enable parallel processing characteristics, input point information may be signaled. The image decoding equipment can directly access the starting point of the data segment included in the NAL unit based on the information of the input points. Here, the starting point of a data segment can mean the starting point of tiles in a slice or the starting point of CTU rows in a slice.

[134] Информация входных точек может передаваться в служебных сигналах в высокоуровневом синтаксисе, например, в наборе параметров кадра (PPS) и/или заголовке среза.[134] Input point information may be signaled in high-level syntax, such as a frame parameter set (PPS) and/or a slice header.

[135] Фиг. 7 является видом, иллюстрирующим набор параметров кадра (PPS) согласно варианту осуществления настоящего изобретения, и фиг. 8 является видом, иллюстрирующим заголовок среза согласно варианту осуществления настоящего изобретения.[135] FIG. 7 is a view illustrating a frame parameter set (PPS) according to an embodiment of the present invention, and FIG. 8 is a view illustrating a slice header according to an embodiment of the present invention.

[136] Во-первых, ссылаясь на фиг. 7, набор параметров кадра (PPS) может включать в себя entry_point_offsets_present_flag в качестве синтаксического элемента, указывающего то, передается или нет информация входных точек в служебных сигналах.[136] First, referring to FIG. 7, the frame parameter set (PPS) may include entry_point_offsets_present_flag as a syntax element indicating whether or not entry point information is transmitted in signaling signals.

[137] entry_point_offsets_present_flag может указывать то, присутствует или нет передача в служебных сигналах информации входных точек в заголовке среза, ссылающемся на набор параметров кадра (PPS). Например, entry_point_offsets_present_flag, имеющий первое значение (например, 0), может указывать то, что передача в служебных сигналах информации входных точек для плитки или конкретных CTU-строк в плитке не присутствует в заголовке среза. Напротив, entry_point_offsets_present_flag, имеющий второе значение (например, 1), может указывать то, что передача в служебных сигналах информации входных точек для плитки или конкретных CTU-строк в плитке присутствует в заголовке среза.[137] entry_point_offsets_present_flag may indicate whether or not entry point information is signaled in a slice header referencing a frame parameter set (PPS). For example, entry_point_offsets_present_flag having a first value (eg, 0) may indicate that the signaling of entry point information for a tile or specific CTU rows in a tile is not present in the slice header. In contrast, an entry_point_offsets_present_flag having a second value (eg, 1) may indicate that the signaling of entry point information for a tile or specific CTU rows in a tile is present in the slice header.

[138] Между тем, хотя случай, в котором entry_point_offsets_present_flag включается в набор параметров кадра (PPS), проиллюстрирован на фиг. 7, это представляет собой пример, и в силу этого варианты осуществления настоящего изобретения не ограничены этим. Например, entry_point_offsets_present_flag может включаться в набор параметров последовательности (SPS).[138] Meanwhile, although the case in which entry_point_offsets_present_flag is included in the frame parameter set (PPS) is illustrated in FIG. 7 is an example, and therefore the embodiments of the present invention are not limited to this. For example, entry_point_offsets_present_flag may be included in the Sequence Parameter Set (SPS).

[139] Затем, ссылаясь на фиг. 8, заголовок среза может включать в себя offset_len_minus1 и entry_point_offset_minus1[i] в качестве синтаксических элементов для идентификации входной точки.[139] Next, referring to FIG. 8, the slice header may include offset_len_minus1 and entry_point_offset_minus1[i] as syntax elements for identifying an entry point.

[140] offset_len_minus1 может указывать значение, полученное посредством вычитания 1 из длины в битах entry_point_offset_minus1[i]. Значение offset_len_minus1 может иметь диапазон от 0 до 31. В примере, offset_len_minus1 может передаваться в служебных сигналах на основе переменной NumEntryPoints, указывающей общее число входных точек. Например, offset_len_minus1 может передаваться в служебных сигналах только тогда, когда NumEntryPoints больше 0. Помимо этого, offset_len_minus1 может передаваться в служебных сигналах на основе entry_point_offsets_present_flag, описанного выше со ссылкой на фиг. 7. Например, когда offset_len_minus1 может передаваться в служебных сигналах только тогда, когда entry_point_offsets_present_flag имеет второе значение (например, 1) (т.е. передача в служебных сигналах информации входных точек присутствует в заголовке среза).[140] offset_len_minus1 may indicate a value obtained by subtracting 1 from the length in bits of entry_point_offset_minus1[i]. The value of offset_len_minus1 can range from 0 to 31. In an example, offset_len_minus1 can be signaled based on the NumEntryPoints variable indicating the total number of entry points. For example, offset_len_minus1 may be signaled only when NumEntryPoints is greater than 0. In addition, offset_len_minus1 may be signaled based on the entry_point_offsets_present_flag described above with reference to FIG. 7. For example, when offset_len_minus1 can only be signaled when entry_point_offsets_present_flag has a second value (eg 1) (i.e. signaling entry point information is present in the slice header).

[141] entry_point_offset_minus1[i] может указывать смещение точки i-ой записи в байтах и может выражаться посредством суммирования 1 бита с offset_len_minus1. Данные срезов в NAL-единице могут включать в себя число поднаборов, идентичное значению, полученному посредством суммирования 1 с NumEntryPoints и значением индекса, указывающим то, что каждый из поднаборов может иметь диапазон от 0 до NumEntryPoints. Первый байт данных срезов в NAL-единице может представляться посредством байта 0.[141] entry_point_offset_minus1[i] may indicate the offset of the i-th entry point in bytes and may be expressed by adding 1 bit to offset_len_minus1. The slice data in the NAL unit may include a number of subsets identical to the value obtained by summing 1 with NumEntryPoints and an index value indicating that each of the subsets may have a range from 0 to NumEntryPoints. The first byte of slice data in a NAL unit may be represented by byte 0.

[142] Когда entry_point_offset_minus1[i] передается в служебных сигналах, байты предотвращения эмуляции, включенные в данные срезов в NAL-единице, могут подсчитываться в качестве части данных срезов для идентификации поднаборов. Поднабор 0, который представляет собой первый поднабор данных срезов, может иметь конфигурацию от байта 0 до entry_point_offset_minus1[0]. Аналогично, поднабор k, который представляет собой k-ый поднабор данных срезов, может иметь конфигурацию от firstByte[k] до lastByte[k]. Здесь, firstByte[k] может извлекаться так, как показано в нижеприведенном уравнении 1, lastByte[k] может извлекаться так, как показано в нижеприведенном уравнении 2.[142] When entry_point_offset_minus1[i] is signaled, emulation prevention bytes included in the slice data in the NAL unit may be counted as part of the slice data to identify subsets. Subset 0, which is the first subset of slice data, can be configured from byte 0 to entry_point_offset_minus1[0]. Likewise, subset k, which is the kth subset of slice data, can have the configuration from firstByte[k] to lastByte[k]. Here, firstByte[k] may be retrieved as shown in Equation 1 below, lastByte[k] may be retrieved as shown in Equation 2 below.

[143] уравнение 1[143] equation 1

[144] уравнение 2[144] equation 2

[145] В уравнениях 1 и 2, k может иметь диапазон от 1 до значения, полученного посредством вычитания 1 из NumEntryPoints.[145] In Equations 1 and 2, k can range from 1 to the value obtained by subtracting 1 from NumEntryPoints.

[146] Последний поднабор (т.е. NumEntryPoints-ый поднабор) данных срезов может состоять из оставшихся байтов данных срезов.[146] The last subset (ie, the NumEntryPoints subset) of the slice data may consist of the remaining bytes of the slice data.

[147] Между тем, если предварительно определенный процесс синхронизации для контекстных переменных не выполняется до декодирования CTU, включающей в себя первый CTB CTB-строки в каждой плитке (например, sps_entropy_coding_sync_enabled_flag==0), и срез включает в себя одну или более полных плиток, каждый поднабор заголовка среза может состоять из всех кодированных битов для всех CTU в идентичной плитке. В этом случае, общее число поднаборов данных срезов может быть равным общему числу плиток в срезе.[147] Meanwhile, if the predefined synchronization process for context variables is not performed before decoding the CTU that includes the first CTB of the CTB row in each tile (for example, sps_entropy_coding_sync_enabled_flag==0), and the slice includes one or more full tiles ,Each subset of the slice header may consist of all the ,encoded bits for all CTUs in an identical tile. In this case, the total number of slice data subsets may be equal to the total number of tiles in the slice.

[148] Напротив, когда предварительно определенный процесс синхронизации не выполняется, и срез включает в себя один поднабор для CTU-строк в одной плитке, NumEntryPoints может быть равным 0. В этом случае, один поднабор данных срезов может состоять из всех кодированных битов для всех CTU в срезе.[148] In contrast, when the predefined synchronization process is not performed and the slice includes one subset for CTU rows in one tile, NumEntryPoints may be 0. In this case, one subset of the slice data may consist of all encoded bits for all CTU in the slice.

[149] Напротив, когда предварительно определенный процесс синхронизации выполняется (например, sps_entropy_coding_sync_enabled_flag==1), каждый поднабор может состоять из всех кодированных битов для всех CTU одной CTU-строки в одной плитке. В этом случае, общее число поднаборов данных срезов может быть равным общему числу CTU-строк каждой плитки в срезе.[149] In contrast, when a predefined synchronization process is performed (eg sps_entropy_coding_sync_enabled_flag==1), each subset may consist of all encoded bits for all CTUs of one CTU row in one tile. In this case, the total number of slice data subsets can be equal to the total number of CTU rows of each tile in the slice.

[150] Общее представление смешанного типа NAL-единицы [150] General representation of a mixed type NAL unit

[151] В общем, один тип NAL-единицы может задаваться для одного кадра. Как описано выше, синтаксическая информация, указывающая тип NAL-единицы, может сохраняться в заголовке NAL-единицы для NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может включать в себя nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.[151] In general, one NAL unit type can be specified per frame. As described above, syntax information indicating the type of the NAL unit may be stored in a NAL unit header for the NAL unit and signaled. For example, the syntax information may include nal_unit_type, and NAL unit types may be indicated by the nal_unit_type value.

[152] Пример типов NAL-единиц, к которым является применимым вариант осуществления настоящего изобретения, показывается в нижеприведенной таблице 1.[152] An example of the types of NAL units to which an embodiment of the present invention is applicable is shown in Table 1 below.

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

nal_unit_typenal_unit_type Название nal_unit_typeName nal_unit_type Контент NAL-единицы и синтаксическая RBSP-структураNAL unit content and RBSP syntactic structure Класс типов NAL-единицNAL unit type class 00 TRAIL_NUTTRAIL_NUT Кодированный срез запаздывающего кадра
slice_layer_rbsp()
Coded Lag Frame Slice
slice_layer_rbsp()
VCLVCL
11 STSA_NUTSTSA_NUT Кодированный срез STSA-кадра
slice_layer_rbsp()
Coded slice of STSA frame
slice_layer_rbsp()
VCLVCL
22 RADL_NUTRADL_NUT Кодированный срез RADL-кадра
slice_layer_rbsp()
Coded slice of RADL frame
slice_layer_rbsp()
VCLVCL
33 RASL_NUTRASL_NUT Кодированный срез RASL-кадра
slice_layer_rbsp()
Coded slice of RASL frame
slice_layer_rbsp()
VCLVCL
4...64...6 RSV_VCL_4...RSV_VCL_6RSV_VCL_4...RSV_VCL_6 Зарезервированные типы не-IRAP VCL NAL-единицReserved types of non-IRAP VCL NAL units VCLVCL 7
8
7
8
IDR_W_RADL
IDR_N_LP
IDR_W_RADL
IDR_N_LP
Кодированный срез IDR-кадра
slice_layer_rbsp()
Coded slice of IDR frame
slice_layer_rbsp()
VCLVCL
99 CRA_NUTCRA_NUT Кодированный срез CRA-кадра
silce_layer_rbsp()
Coded slice of CRA frame
silce_layer_rbsp()
VCLVCL
1010 GDR_NUTGDR_NUT Кодированный срез GDR-кадра
slice_layer_rbsp()
Encoded slice of GDR frame
slice_layer_rbsp()
VCLVCL
11
12
eleven
12
RSV_IRAP_11
RSV_IRAP_12
RSV_IRAP_11
RSV_IRAP_12
Зарезервированные типы IRAP VCL NAL-единицReserved types of IRAP VCL NAL units VCLVCL
1313 DCI_NUTDCI_NUT Информация характеристик декодирования
decoding_capability_information_rbsp()
Decoding characteristics information
decoding_capability_information_rbsp()
не-VCLnon-VCL
1414 VPS_NUTVPS_NUT Набор параметров видео
video_parameter_set_rbsp()
Video Options Set
video_parameter_set_rbsp()
не-VCLnon-VCL
1515 SPS_NUTSPS_NUT Набор параметров последовательности
seq_parameter_set_rbsp()
Sequence Parameter Set
seq_parameter_set_rbsp()
не-VCLnon-VCL
1616 PPS_NUTPPS_NUT Набор параметров кадра
pic_parameter_set_rbsp()
Frame Parameter Set
pic_parameter_set_rbsp()
не-VCLnon-VCL
17
18
17
18
PREFIX_APS_NUT
SUFFIX_APS_NUT
PREFIX_APS_NUT
SUFFIX_APS_NUT
Набор параметров адаптации
adaptation_parameter_set_rbsp()
Set of adaptation parameters
adaptation_parameter_set_rbsp()
не-VCLnon-VCL
1919 PH_NUTPH_NUT Заголовок кадра
picture_header_rbsp()
Frame header
picture_header_rbsp()
не-VCLnon-VCL
2020 AUD_NUTAUD_NUT Разделитель AU
access_unit_delimiter_rbsp()
AU separator
access_unit_delimiter_rbsp()
не-VCLnon-VCL
2121 EOS_NUTEOS_NUT Конец последовательности
end_of_seq_rbsp()
End of sequence
end_of_seq_rbsp()
не-VCLnon-VCL
2222 EOB_NUTEOB_NUT Конец потока битов
end_of_bitstream_rbsp()
End of bitstream
end_of_bitstream_rbsp()
не-VCLnon-VCL
23
24
23
24
PREFIX_SEI_NUT
SUFFIX_SEI_NUT
PREFIX_SEI_NUT
SUFFIX_SEI_NUT
Дополнительная улучшающая информация
sei_rbsp()
Additional improving information
sei_rbsp()
не-VCLnon-VCL
2525 FD_NUTFD_NUT Заполняющие данные
filler_data_rbsp()
Filling data
filler_data_rbsp()
не-VCLnon-VCL
26
27
26
27
RSV_NVCL_26
RSV_NVCL_27
RSV_NVCL_26
RSV_NVCL_27
Зарезервированные типы не-VCL NAL-единицReserved types of non-VCL NAL units не-VCLnon-VCL
28..3128..31 UNSPEC_28...UNSPEC_31UNSPEC_28...UNSPEC_31 Неуказанные типы не-VCL NAL-единицUnspecified types of non-VCL NAL units не-VCLnon-VCL NUT: Тип NAL-единицы
STSA: Пошаговый доступ с переключением к временному подслою
RADL: Опережающий декодируемый с произвольным доступом
RASL: Опережающий пропускаемый с произвольным доступом
IDR: Мгновенное обновление при декодировании
LP: Опережающий кадр
_W_RADL: С RADL
_N_LP: не-LP, без LP
CRA: Чистый произвольный доступ
GDR: Постепенное обновление при декодировании
IRAP: Внутренняя точка произвольного доступа
NUT: NAL unit type
STSA: Step-by-step access with switching to temporary sublayer
RADL: Random Access Ahead Decodable
RASL: Random Access Skip Ahead
IDR: Instant update when decoding
LP: Leading Frame
_W_RADL: With RADL
_N_LP: non-LP, no LP
CRA: Pure Random Access
GDR: Gradual decoding update
IRAP: Indoor Random Access Point

[154] Ссылаясь на таблицу 1, тип VCL NAL-единицы может классифицироваться на типы 0-12 NAL-единиц согласно атрибуту и типу кадра. Помимо этого, тип не-VCL NAL-единицы может классифицироваться на типы 13-31 NAL-единиц согласно типу набора параметров.[154] Referring to Table 1, the VCL NAL unit type can be classified into NAL unit types 0 to 12 according to the attribute and frame type. In addition, the non-VCL NAL unit type can be classified into NAL unit types 13 to 31 according to the parameter set type.

[155] Подробные примеры типа VCL NAL-единицы заключаются в следующем.[155] Detailed examples of the VCL NAL unit type are as follows.

[156] - Тип NAL-единицы (NUT) на основе IRAP (внутренней точки произвольного доступа): тип для NAL-единицы IRAP-кадра, который задается равным диапазону от IDR_W_RADL до CRA_NUT.[156] - IRAP (Indoor Random Access Point) based NAL unit type (NUT): The type for the NAL unit of an IRAP frame, which is set to the range IDR_W_RADL to CRA_NUT.

[157] - NUT на основе IDR (мгновенного обновления при декодировании): тип для NAL-единицы IDR-кадра, который задается равным IDR_W_RADL или IDR_N_LP.[157] - IDR (Instantaneous Decoding Update) based NUT: The type for the NAL unit of an IDR frame, which is set to IDR_W_RADL or IDR_N_LP.

[158] - NUT на основе CRA (чистого произвольного доступа): тип для NAL-единицы для CRA-кадра, который задается равным CRA_NUT.[158] - CRA (Pure Random Access) based NUT: The type for the NAL unit for a CRA frame, which is set to CRA_NUT.

[159] - RADL (опережающий декодируемый с произвольным доступом) NUT: тип для NAL-единицы для RADL-кадра, который задается равным RADL_NUT.[159] - RADL (Random Access Decodable Ahead) NUT: The type for the NAL unit for a RADL frame, which is set to RADL_NUT.

[160] - RASL (опережающий пропускаемый с произвольным доступом) NUT: тип для NAL-единицы для RASL-кадра, который задается равным RASL_NUT.[160] - RASL (Random Access Skip Ahead) NUT: The type for the NAL unit for the RASL frame, which is set to RASL_NUT.

[161] - Запаздывающий NUT: тип для NAL-единицы для запаздывающего кадра, который задается равным TRAIL_NUT.[161] - Trailing NUT: The type for the NAL unit for the trailing frame, which is set to TRAIL_NUT.

[162] - NUT на основе GDR (постепенного обновления при декодировании): тип для NAL-единицы для GDR-кадра, который является GDR_NUT.[162] - GDR (Gradual Decoding Update) based NUT: Type for the NAL unit for a GDR frame, which is GDR_NUT.

[163] - NUT на основе STSA (пошагового доступа к временному подслою): тип для NAL-единицы для STSA-кадра, который задается равным STSA_NUT.[163] - STSA-based NUT: The type for the NAL unit for an STSA frame, which is set to STSA_NUT.

[164] Между тем, VVC-стандарт обеспечивает возможность одному кадру включать в себя множество срезов, имеющих различные типы NAL-единиц. Например, один кадр может включать в себя, по меньшей мере, один первый срез, имеющий первый тип NAL-единицы, и, по меньшей мере, один второй срез, имеющий второй тип NAL-единицы, отличающийся от первого типа NAL-единицы. В этом случае, тип NAL-единицы кадра может упоминаться как смешанный тип NAL-единицы. Поскольку VVC-стандарт поддерживает смешанный тип NAL-единицы, множество кадров могут проще восстанавливаться/синтезироваться в процессе синтеза контента, в процессе кодирования/декодирования и т.д.[164] Meanwhile, the VVC standard allows a single frame to include multiple slices having different types of NAL units. For example, one frame may include at least one first slice having a first NAL unit type and at least one second slice having a second NAL unit type different from the first NAL unit type. In this case, the frame NAL unit type may be referred to as a mixed NAL unit type. Since the VVC standard supports mixed NAL unit type, multiple frames can be more easily reconstructed/synthesized during content synthesis process, encoding/decoding process, etc.

[165] Тем не менее, согласно существующей схеме для смешанного типа NAL-единицы, имеется такое ограничение, что только двум типам NAL-единиц разрешается смешиваться. Помимо этого, когда один кадр имеет смешанный тип NAL-единицы, имеется такое ограничение, что одна или более VCL NAL-единиц кадра должны иметь тип NAL-единицы в диапазоне от IDR_W_RADL до CRA_NUT, и оставшиеся VCL NAL-единицы кадра должны иметь тип NAL-единицы в диапазоне от TRAIL_NUT до RSV_VCL_6. Как результат, хотя смешанный тип NAL-единицы является полезным в процедуре обработки изображений, имеется проблема в том, что смешанный тип NAL-единицы не является общеупотребительным.[165] However, according to the current scheme for a mixed NAL unit type, there is a restriction that only two types of NAL units are allowed to mix. In addition, when one frame has a mixed NAL unit type, there is a restriction that one or more VCL NAL units of the frame must be of NAL unit type in the range from IDR_W_RADL to CRA_NUT, and the remaining VCL NAL units of the frame must be of NAL type -units in the range from TRAIL_NUT to RSV_VCL_6. As a result, although the mixed NAL unit type is useful in the image processing procedure, there is a problem that the mixed NAL unit type is not commonly used.

[166] Чтобы разрешать такую проблему, согласно вариантам осуществления настоящего изобретения, двум или более типов NAL-единиц может разрешаться смешиваться, и может предоставляться больше различных смешанных типов NAL-единиц.[166] To solve such a problem, according to embodiments of the present invention, two or more types of NAL units may be allowed to be mixed, and more different mixed types of NAL units may be provided.

[167] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего изобретения.[167] Embodiments of the present invention are described in detail hereinafter.

[168] Когда один кадр включает в себя два или более срезов, и типы NAL-единиц срезов отличаются, кадр может быть ограничен таким образом, что он включает в себя два или более субкадров. Таким образом, когда один кадр имеет смешанный тип NAL-единицы, кадр может включать в себя два или более субкадров.[168] When one frame includes two or more slices, and the NAL unit types of the slices are different, the frame may be limited such that it includes two or more subframes. Thus, when one frame has a mixed NAL unit type, the frame may include two or more subframes.

[169] Субкадр может включать в себя один или более срезов и конструировать прямоугольную область в кадре. Каждый из субкадров, включенных в кадр, может иметь отличающийся размер друг от друга. С другой стороны, для всех кадров, принадлежащих одной последовательности, размеры и позиции конкретных отдельных субкадров могут задаваться равными друг другу.[169] A subframe may include one or more slices and construct a rectangular area within the frame. Each of the subframes included in the frame may have a different size from each other. On the other hand, for all frames belonging to the same sequence, the sizes and positions of specific individual subframes can be set equal to each other.

[170] Фиг. 9 является видом, иллюстрирующим пример субкадра.[170] FIG. 9 is a view illustrating an example of a subframe.

[171] Ссылаясь на фиг. 9, один кадр может сегментироваться на 18 плиток в сумме. 12 плиток из 18 плиток могут размещаться в левой стороне кадра, и каждая из 12 плиток может включать в себя один срез, включающий в себя CTU 4×4. Помимо этого, 6 плиток могут размещаться в правой стороне кадра, и каждая из 6 плиток может включать в себя два среза, включающие в себя CTU 2×2 и уложенные в вертикальном направлении. Как результат, кадр может включать в себя 24 субкадра и 24 среза, и каждый субкадр может включать в себя один срез.[171] Referring to FIG. 9, one frame can be segmented into 18 tiles in total. 12 tiles of the 18 tiles may be placed on the left side of the frame, and each of the 12 tiles may include one slice including a 4x4 CTU. In addition, 6 tiles may be placed on the right side of the frame, and each of the 6 tiles may include two slices comprising a 2x2 CTU and stacked in a vertical direction. As a result, a frame may include 24 subframes and 24 slices, and each subframe may include one slice.

[172] В одном варианте осуществления, каждый субкадр в одном кадре может трактоваться в качестве одного кадра, чтобы поддерживать смешанный тип NAL-единицы. Когда субкадр трактуется в качестве одного кадра, субкадр может независимо кодироваться/декодироваться независимо от результата кодирования/декодирования другого субкадра. Здесь, независимое кодирование/декодирование может означать то, что структура сегментации на блоки (например, структура в виде одиночного дерева, структура в виде сдвоенного дерева и т.д.), тип режима прогнозирования (например, внутреннее прогнозирование, взаимное прогнозирование и т.д.), порядок декодирования и т.д. субкадра отличаются от структуры, типа, порядка и т.д. для другого субкадра. Например, когда первый субкадр кодируется/декодируется на основе режима внутреннего прогнозирования, второй субкадр, смежный с первым субкадром и трактуемый в качестве одного кадра, может кодироваться/декодироваться на основе режима взаимного прогнозирования.[172] In one embodiment, each subframe in one frame may be treated as one frame to support a mixed NAL unit type. When a subframe is treated as one frame, the subframe can be independently encoded/decoded regardless of the encoding/decoding result of another subframe. Here, independent encoding/decoding may mean that the block segmentation structure (for example, single tree structure, dual tree structure, etc.), the type of prediction mode (for example, intra prediction, inter prediction, etc.) etc.), decoding order, etc. subframes differ in structure, type, order, etc. for another subframe. For example, when the first subframe is encoded/decoded based on the intra prediction mode, a second subframe adjacent to the first subframe and treated as one frame may be encoded/decoded based on the inter prediction mode.

[173] Когда один кадр включает в себя два или более независимых субкадров, и субкадры имеют отличающиеся типы NAL-единиц друг от друга, кадр может иметь смешанный тип NAL-единицы.[173] When one frame includes two or more independent subframes, and the subframes have different NAL unit types from each other, the frame may have a mixed NAL unit type.

[174] Фиг. 10 является видом, иллюстрирующим пример кадра, имеющего смешанный тип NAL-единицы.[174] FIG. 10 is a view illustrating an example of a frame having a mixed NAL unit type.

[175] Ссылаясь на фиг. 10, один кадр 1000 может включать в себя первый-третий субкадры 1010-1030. Каждый из первого и третьего субкадров 1010 и 1030 может включать в себя два среза. Напротив, второй субкадр 1020 может включать в себя четыре среза.[175] Referring to FIG. 10, one frame 1000 may include first to third subframes 1010-1030. Each of the first and third subframes 1010 and 1030 may include two slices. In contrast, the second subframe 1020 may include four slices.

[176] Когда каждый из первого-третьего субкадров 1010-1030 трактуется в качестве одного кадра, первый-третий субкадры 1010-1030 могут независимо кодироваться, чтобы конструировать различные потоки битов. Например, кодированные данные срезов первого субкадра 1010 могут инкапсулироваться в одну или более NAL-единиц, имеющих тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT, чтобы конструировать первый поток битов (поток 1 битов). Помимо этого, кодированные данные срезов второго субкадра 1020 могут инкапсулироваться в одну или более NAL-единиц, имеющих тип NAL-единицы, идентичный типу NAL-единицы RADL_NUT, чтобы конструировать второй поток битов (поток 2 битов). Помимо этого, кодированные данные срезов третьего субкадра 1030 могут инкапсулироваться в одну или более NAL-единиц, имеющих тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT, чтобы конструировать третий поток битов (поток 3 битов). Как результат, один кадр 1000 может иметь смешанный тип NAL-единицы, в котором смешиваются RASL_NUT и RADL_NUT.[176] When each of the first to third subframes 1010-1030 is treated as one frame, the first to third subframes 1010-1030 may be independently encoded to construct different bit streams. For example, the encoded slice data of the first subframe 1010 may be encapsulated into one or more NAL units having a NAL unit type identical to the RASL_NUT NAL unit type to construct a first bit stream (bit stream 1). In addition, the encoded slice data of the second subframe 1020 may be encapsulated into one or more NAL units having a NAL unit type identical to the RADL_NUT NAL unit type to construct a second bit stream (bit stream 2). In addition, the encoded slice data of the third subframe 1030 may be encapsulated into one or more NAL units having a NAL unit type identical to the RASL_NUT NAL unit type to construct a third bit stream (3 bit stream). As a result, one frame 1000 may have a mixed NAL unit type in which RASL_NUT and RADL_NUT are mixed.

[177] В одном варианте осуществления, все срезы, включенные в каждый субкадр в кадре, могут быть ограничены таким образом, что они имеют идентичный тип NAL-единицы. Например, оба из двух срезов, включенных в первый субкадр 1010, могут иметь тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT. Помимо этого, все четыре среза, включенные во второй субкадр 1020, могут иметь тип NAL-единицы, идентичный типу NAL-единицы RADL_NUT. Помимо этого, оба из двух срезов, включенных в третий субкадр 1030, могут иметь тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT.[177] In one embodiment, all slices included in each subframe in a frame may be constrained such that they are of the same NAL unit type. For example, both of the two slices included in the first subframe 1010 may have a NAL unit type identical to the NAL unit type RASL_NUT. In addition, all four slices included in the second subframe 1020 may have a NAL unit type identical to the NAL unit type RADL_NUT. In addition, both of the two slices included in the third subframe 1030 may have a NAL unit type identical to the NAL unit type RASL_NUT.

[178] Информация относительно субкадра может передаваться в служебных сигналах в высокоуровневом синтаксисе, например, в наборе параметров кадра (PPS) и наборе параметров последовательности (SPS). Помимо этого, информация, указывающая то, следует или нет применять смешанный тип NAL-единицы, может передаваться в служебных сигналах в высокоуровневом синтаксисе, например, в наборе параметров кадра (PPS).[178] Information regarding a subframe may be signaled in high-level syntax, such as a frame parameter set (PPS) and a sequence parameter set (SPS). In addition, information indicating whether or not to use a mixed NAL unit type may be signaled in a high-level syntax, such as a frame parameter set (PPS).

[179] Фиг. 11 является видом, иллюстрирующим пример набора параметров кадра (PPS) согласно варианту осуществления настоящего изобретения, и фиг. 12 является видом, иллюстрирующим пример набора параметров последовательности (SPS) согласно варианту осуществления настоящего изобретения.[179] FIG. 11 is a view illustrating an example of a frame parameter set (PPS) according to an embodiment of the present invention, and FIG. 12 is a view illustrating an example of a sequence parameter set (SPS) according to an embodiment of the present invention.

[180] Во-первых, ссылаясь на фиг. 11, набор параметров кадра (PPS) может включать в себя pps_mixed_nalu_types_in_pic_flag в качестве синтаксического элемента, указывающего то, следует или нет применять смешанный тип NAL-единицы.[180] First, referring to FIG. 11, the frame parameter set (PPS) may include pps_mixed_nalu_types_in_pic_flag as a syntax element indicating whether or not a mixed NAL unit type should be used.

[181] pps_mixed_nalu_types_in_pic_flag может указывать то, имеет или нет текущий кадр смешанный тип NAL-единицы. Например, pps_mixed_nalu_types_in_pic_flag, имеющий первое значение (например, 0), может указывать то, что текущий кадр не имеет смешанного типа NAL-единицы. В этом случае, текущий кадр может иметь идентичный тип NAL-единицы для всех VCL NAL-единиц, например, тип NAL-единицы, идентичный типу NAL-единицы кодированных NAL-единиц срезов. Напротив, pps_mixed_nalu_types_in_pic_flag, имеющий второе значение (например, 1), может указывать то, что текущий кадр имеет смешанный тип NAL-единицы.[181] pps_mixed_nalu_types_in_pic_flag may indicate whether or not the current frame has a mixed NAL unit type. For example, pps_mixed_nalu_types_in_pic_flag having a first value (eg, 0) may indicate that the current frame does not have a mixed NAL unit type. In this case, the current frame may have an identical NAL unit type for all VCL NAL units, for example, a NAL unit type identical to the NAL unit type of the encoded slice NAL units. Conversely, pps_mixed_nalu_types_in_pic_flag having a second value (eg, 1) may indicate that the current frame is of a mixed NAL unit type.

[182] В варианте осуществления, VCL NAL-единица текущего кадра может быть ограничена таким образом, что она не имеет тип NAL-единицы, идентичный типу NAL-единицы GDR_NUT, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1).[182] In an embodiment, the VCL NAL unit of the current frame may be constrained such that it does not have a NAL unit type identical to the GDR_NUT NAL unit type when the current frame has a mixed NAL unit type (eg, pps_mixed_nalu_types_in_pic_flag== 1).

[183] В варианте осуществления, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), если одна VCL NAL-единица текущего кадра имеет тип NAL-единицы (тип A NAL-единицы), идентичный типу NAL-единицы IDR_W_RADL, IDR_N_LP или CRA_NUT, другие VCL NAL-единицы текущего кадра могут быть ограничены таким образом, что они имеют тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL, IDR_N_LP, CRA_NUT или TRAIL_NUT.[183] In an embodiment, when the current frame has a mixed NAL unit type (eg, pps_mixed_nalu_types_in_pic_flag==1), if one VCL NAL unit of the current frame has a NAL unit type (NAL unit type A) identical to the NAL unit type units IDR_W_RADL, IDR_N_LP or CRA_NUT, other VCL NAL units of the current frame may be constrained such that they have a NAL unit type identical to the NAL unit type IDR_W_RADL, IDR_N_LP, CRA_NUT or TRAIL_NUT.

[184] Когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), каждый субкадр в текущем кадре может иметь любые из типов VCL NAL-единиц, описанных выше со ссылкой на таблицу 1. Например, когда субкадр в текущем кадре представляет собой IDR-субкадр, субкадр может иметь тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP. Альтернативно, когда субкадр в текущем кадре представляет собой запаздывающий субкадр, субкадр может иметь тип NAL-единицы, идентичный типу NAL-единицы TRAIL_NUT.[184] When the current frame has a mixed NAL unit type (for example, pps_mixed_nalu_types_in_pic_flag==1), each subframe in the current frame may have any of the VCL NAL unit types described above with reference to Table 1. For example, when the subframe in the current frame is an IDR subframe, the subframe may have a NAL unit type identical to the NAL unit type IDR_W_RADL or IDR_N_LP. Alternatively, when the subframe in the current frame is a trailing subframe, the subframe may have a NAL unit type identical to the TRAIL_NUT NAL unit type.

[185] pps_mixed_nalu_types_in_pic_flag, имеющий второе значение (например, 1), может указывать то, что кадры, ссылающиеся на набор параметров кадра (PPS), могут включать в себя срезы, имеющие различные типы NAL-единиц. Здесь, кадры могут быть инициированы из операции объединения потоков битов субкадров, в которой кодер обеспечивает согласование структуры потока битов и совмещение между параметрами исходных потоков битов. В качестве примера совмещения, когда синтаксические элементы списка опорных кадров (RPL) для среза, имеющего тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP, не присутствуют в заголовке среза (например, sps_idr_rpl_present_flag==0), и текущий кадр, включающий в себя срез, имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), текущий кадр может быть ограничен таким образом, что он не включает в себя срезы, имеющие тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP.[185] pps_mixed_nalu_types_in_pic_flag having a second value (eg, 1) may indicate that frames referencing a frame parameter set (PPS) may include slices having different types of NAL units. Here, frames may be initiated from a subframe bitstream combining operation, in which the encoder provides matching of the bitstream structure and alignment between parameters of the original bitstreams. As an example of overlap, when reference frame list (RPL) syntax elements for a slice having a NAL unit type identical to the IDR_W_RADL or IDR_N_LP NAL unit type are not present in the slice header (for example, sps_idr_rpl_present_flag==0), and the current frame, containing a slice has a mixed NAL unit type (e.g. pps_mixed_nalu_types_in_pic_flag==1), the current frame may be restricted such that it does not include slices having a NAL unit type identical to the NAL unit type IDR_W_RADL or IDR_N_LP .

[186] Между тем, когда имеется такое ограничение, что смешанный тип NAL-единицы не применяется для всех кадров в наборе выходных слоев (OLS) (например, gci_no_mixed_nalu_types_in_pic_constraint_flag==1), pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0).[186] Meanwhile, when there is a constraint such that a mixed NAL unit type does not apply to all frames in the Output Layer Set (OLS) (eg, gci_no_mixed_nalu_types_in_pic_constraint_flag==1), pps_mixed_nalu_types_in_pic_flag may have the first value (eg, 0).

[187] Помимо этого, набор параметров кадра (PPS) может включать в себя pps_no_pic_partition_flag в качестве синтаксического элемента, указывающего то, следует или нет применять сегментацию кадров.[187] In addition, the picture parameter set (PPS) may include pps_no_pic_partition_flag as a syntax element indicating whether or not frame segmentation should be applied.

[188] pps_no_pic_partition_flag может указывать то, является или нет сегментация кадров применимой к текущему кадру. Например, pps_no_pic_partition_flag, имеющий первое значение (например, 0), может указывать то, что текущий кадр не может сегментироваться. Напротив, pps_no_pic_partition_flag, имеющий второе значение (например, 1), может указывать то, что текущий кадр может сегментироваться на две или более плиток или срезов. Когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), текущий кадр может быть ограничен таким образом, что он имеет две или более плиток или срезов (например, pps_no_pic_partition_flag=1).[188] pps_no_pic_partition_flag may indicate whether or not frame segmentation is applicable to the current frame. For example, pps_no_pic_partition_flag having a first value (eg 0) may indicate that the current frame cannot be partitioned. Conversely, pps_no_pic_partition_flag having a second value (eg, 1) may indicate that the current frame may be segmented into two or more tiles or slices. When the current frame has a mixed NAL unit type (for example, pps_mixed_nalu_types_in_pic_flag==1), the current frame can be constrained such that it has two or more tiles or slices (for example, pps_no_pic_partition_flag=1).

[189] Помимо этого, набор параметров кадра (PPS) может включать в себя pps_num_subpics_minus1 в качестве синтаксического элемента, указывающего число субкадров.[189] In addition, the frame parameter set (PPS) may include pps_num_subpics_minus1 as a syntax element indicating the number of subpics.

[190] pps_num_subpics_minus1 может указывать значение, полученное посредством вычитания 1 из числа субкадров, включенных в текущий кадр. pps_num_subpics_minus1 может передаваться в служебных сигналах только тогда, когда сегментация кадров является применимой к текущему кадру (например, pps_no_pic_partition_flag==1). Когда pps_num_subpics_minus1 не передается в служебных сигналах, значение pps_num_subpics_minus1 может логически выводиться в качестве 0. Между тем, синтаксический элемент, указывающий число субкадров, может передаваться в служебных сигналах в высокоуровневом синтаксисе, отличающемся от набора параметров кадра (PPS), например, в наборе параметров последовательности (SPS).[190] pps_num_subpics_minus1 may indicate a value obtained by subtracting 1 from the number of subpics included in the current frame. pps_num_subpics_minus1 may only be signaled when frame segmentation is applicable to the current frame (eg pps_no_pic_partition_flag==1). When pps_num_subpics_minus1 is not signaled, the value of pps_num_subpics_minus1 may be logically output as 0. Meanwhile, a syntax element indicating the number of subframes may be signaled in a high-level syntax other than a frame parameter set (PPS), such as in a parameter set sequences (SPS).

[191] В варианте осуществления, когда текущий кадр включает в себя только один субкадр (например, pps_num_subpics_minus1==0), текущий кадр может быть ограничен таким образом, что он не имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==0). Таким образом, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), текущий кадр может быть ограничен таким образом, что он включает в себя два или более субкадров (например, pps_num_subpics_minus1>0).[191] In an embodiment, when the current frame includes only one subframe (for example, pps_num_subpics_minus1==0), the current frame may be limited such that it does not have a mixed NAL unit type (for example, pps_mixed_nalu_types_in_pic_flag==0) . Thus, when the current frame has a mixed NAL unit type (eg, pps_mixed_nalu_types_in_pic_flag==1), the current frame may be constrained such that it includes two or more subframes (eg, pps_num_subpics_minus1>0).

[192] Затем, ссылаясь на фиг. 12, набор параметров последовательности (SPS) может включать в себя sps_subpic_treated_as_pic_flag[i] в качестве синтаксического элемента, связанного с трактовкой субкадра во время кодирования/декодирования.[192] Next, referring to FIG. 12, the sequence parameter set (SPS) may include sps_subpic_treated_as_pic_flag[i] as a syntactic element associated with the treatment of the subframe during encoding/decoding.

[193] sps_subpic_treated_as_pic_flag[i] может указывать то, трактуется или нет каждый субкадр в текущем кадре в качестве одного кадра. Например, sps_subpic_treated_as_pic_flag[i], имеющий первое значение (например, 0), может указывать то, что i-ый субкадр в текущем кадре не трактуется в качестве одного кадра. Напротив, sps_subpic_treated_as_pic_flag[i], имеющий второе значение (например, 1), может указывать то, что i-ый субкадр в текущем кадре трактуется в качестве одного кадра в процессе кодирования/декодирования за исключением операций внутриконтурной фильтрации. Когда sps_subpic_treated_as_pic_flag[i] не передается в служебных сигналах, sps_subpic_treated_as_pic_flag[i] может логически выводиться как имеющий второе значение (например, 1).[193] sps_subpic_treated_as_pic_flag[i] may indicate whether or not each subframe in the current frame is treated as a single frame. For example, sps_subpic_treated_as_pic_flag[i] having a first value (eg, 0) may indicate that the i-th subframe in the current frame is not treated as a single frame. In contrast, sps_subpic_treated_as_pic_flag[i] having a second value (eg, 1) may indicate that the i-th subframe in the current frame is treated as a single frame during the encoding/decoding process except for in-loop filtering operations. When sps_subpic_treated_as_pic_flag[i] is not signaled, sps_subpic_treated_as_pic_flag[i] may be inferred to have a second value (eg, 1).

[194] В варианте осуществления, когда текущий кадр включает в себя два или более субкадров (например, pps_num_subpics_minus1>0), и, по меньшей мере, один из субкадров не трактуется в качестве одного кадра (например, sps_subpic_treated_as_pic_flag[i]==0), текущий кадр может быть ограничен таким образом, что он не имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag=0). Таким образом, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), все субкадры в текущем кадре могут быть ограничены таким образом, что они трактуются в качестве одного кадра (например, sps_subpic_treated_as_pic_flag[i]=1).[194] In an embodiment, when the current frame includes two or more subpics (eg, pps_num_subpics_minus1>0), and at least one of the subpics is not treated as one frame (eg, sps_subpic_treated_as_pic_flag[i]==0 ), the current frame may be constrained such that it does not have a mixed NAL unit type (eg pps_mixed_nalu_types_in_pic_flag=0). Thus, when the current frame has a mixed NAL unit type (eg, pps_mixed_nalu_types_in_pic_flag==1), all subframes in the current frame can be constrained such that they are treated as a single frame (eg, sps_subpic_treated_as_pic_flag[i]=1).

[195] В дальнейшем в этом документе подробно описывается тип NAL-единицы согласно вариантам осуществления настоящего изобретения для каждого типа кадра.[195] Hereinafter, this document describes in detail the type of NAL unit according to embodiments of the present invention for each frame type.

[196] (1) Кадр на основе IRAP (внутренних точек произвольного доступа)[196] (1) IRAP (Indoor Random Access Point) based frame

[197] IRAP-кадр представляет собой случайно доступный кадр и может иметь идентичный тип NAL-единицы, такой как IDR_W_RADL, IDR_N_LP или CRA_NUT, как описано выше со ссылкой на таблицу 1. IRAP-кадр может не ссылаться на кадр, отличный от IRAP-кадра для взаимного прогнозирования в процессе декодирования. IRAP-кадр может включать в себя кадр на основе IDR (мгновенного обновления при декодировании) и кадр на основе CRA (чистого произвольного доступа).[197] An IRAP frame is a randomly available frame and may have an identical NAL unit type, such as IDR_W_RADL, IDR_N_LP, or CRA_NUT, as described above with reference to Table 1. An IRAP frame may not refer to a non-IRAP frame. frame for inter-prediction during the decoding process. An IRAP frame may include an IDR (Instantaneous Decoding Update) based frame and a CRA (Clean Random Access) based frame.

[198] Первый кадр в потоке битов в порядке декодера может быть ограничен IRAP-кадром или кадром на основе GDR (постепенного обновления при декодировании). Для потока битов одного слоя, когда существенный набор параметров, на который следует ссылаться, доступен, хотя кадры, предшествующие IRAP-кадру в порядке декодирования, вообще не декодируются, IRAP-кадр и все не-RASL-кадры после IRAP-кадра в порядке декодирования могут корректно декодироваться.[198] The first frame in the bit stream in decoder order may be limited to an IRAP frame or a GDR (Gradual Decoding Update) frame. For a single layer bitstream, when a significant set of parameters to be referenced is available although frames preceding the IRAP frame in decoding order are not decoded at all, the IRAP frame and all non-RASL frames after the IRAP frame in decoding order can be decoded correctly.

[199] В варианте осуществления, IRAP-кадр может не иметь смешанного типа NAL-единицы. Таким образом, для IRAP-кадра, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0), и все срезы в IRAP-кадре могут иметь идентичный тип NAL-единицы в диапазоне от IDR_W_RADL до CRA_NUT. Как результат, когда первый срез, который должен декодироваться в кадре, имеет тип NAL-единицы в диапазоне от IDR_W_RADL до CRA_NUT, кадр может определяться в качестве IRAP-кадра.[199] In an embodiment, the IRAP frame may not have a mixed NAL unit type. Thus, for an IRAP frame, pps_mixed_nalu_types_in_pic_flag may have the first value (eg, 0), and all slices in an IRAP frame may have the same NAL unit type in the range IDR_W_RADL to CRA_NUT. As a result, when the first slice to be decoded in a frame has a NAL unit type in the range of IDR_W_RADL to CRA_NUT, the frame can be determined to be an IRAP frame.

[200] (2) Кадр на основе CRA (чистого произвольного доступа)[200] (2) CRA (pure random access) based frame

[201] CRA-кадр представляет собой один из IRAP-кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы CRA_NUT, как описано выше со ссылкой на таблицу 1. CRA-кадр может не ссылаться на кадр, отличный от CRA-кадра для взаимного прогнозирования в процессе декодирования.[201] A CRA frame is one of the IRAP frames and may have a NAL unit type identical to the CRA_NUT NAL unit type, as described above with reference to Table 1. A CRA frame may not refer to a frame other than a CRA frame. frame for inter-prediction during the decoding process.

[202] CRA-кадр может представлять собой первый кадр в потоке битов в порядке декодирования или кадре после первого кадра. CRA-кадр может быть ассоциирован с RADL- или RASL-кадрами.[202] The CRA frame may be the first frame in the bit stream in decoding order or the frame after the first frame. A CRA frame may be associated with RADL or RASL frames.

[203] Когда NoIncorrectPicOutputFlag имеет второе значение (например, 1) для CRA-кадра, RASL-кадры, ассоциированные с CRA-кадром, ссылаются на кадры, которые не присутствуют в потоке битов и в силу этого могут не декодироваться и, как результат, могут не выводиться посредством оборудования декодирования изображений. Здесь, NoIncorrectPicOutputFlag может указывать то, выводятся или нет кадры, предшествующие кадру на основе точек восстановления в порядке декодирования, перед кадром на основе точек восстановления. Например, NoIncorrectPicOutputFlag, имеющий первое значение (например, 0), может указывать то, что кадры, предшествующие кадру на основе точек восстановления в порядке декодирования, выводятся перед кадром на основе точек восстановления. В этом случае, CRA-кадр может не представлять собой первый кадр в потоке битов или первый кадр после NAL-единицы конца последовательности (EOS) в порядке декодирования, что может означать то, что произвольный доступ не возникает. Напротив, NoIncorrectPicOutputFlag, имеющий второе значение (например, 1), может указывать то, что кадры, предшествующие кадру на основе точек восстановления в порядке декодирования, не могут выводиться перед кадром на основе точек восстановления. В этом случае, CRA-кадр может представлять собой первый кадр в потоке битов или первый кадр после NAL-единицы конца последовательности (EOS) в порядке декодирования, что может означать то, что произвольный доступ возникает. Между тем, NoIncorrectPicOutputFlag может упоминаться как NoOutputBeforeRecoveryFlag в некоторых вариантах осуществления.[203] When NoIncorrectPicOutputFlag has a second value (eg, 1) for a CRA frame, RASL frames associated with the CRA frame refer to frames that are not present in the bitstream and may therefore not be decoded and, as a result, may not be output by image decoding equipment. Here, the NoIncorrectPicOutputFlag may indicate whether or not frames preceding the recovery point-based frame in decoding order are output before the recovery point-based frame. For example, NoIncorrectPicOutputFlag having a first value (eg, 0) may indicate that frames preceding the recovery point-based frame in decoding order are output before the recovery point-based frame. In this case, the CRA frame may not be the first frame in the bitstream or the first frame after the NAL unit of the end of sequence (EOS) in the decoding order, which may mean that random access does not occur. In contrast, NoIncorrectPicOutputFlag having a second value (eg, 1) may indicate that frames preceding the recovery point frame in decoding order may not be output before the recovery point frame. In this case, the CRA frame may be the first frame in the bit stream or the first frame after the NAL unit of the end of sequence (EOS) in the decoding order, which may indicate that random access occurs. Meanwhile, NoIncorrectPicOutputFlag may be referred to as NoOutputBeforeRecoveryFlag in some embodiments.

[204] Для всех единиц кадров (PU), идущих после текущего кадра в порядке декодирования в CLVS (кодированной видеопоследовательности слоя), список 0 опорных кадров (например, RefPicList[0]) и список 1 опорных кадров (например, RefPicList[1]) для одного среза, включенного в CRA-субкадр, принадлежащий единицам кадров (PU), могут быть ограничены таким образом, что они не включают в себя любой кадр, предшествующий кадру, включающему в себя CRA-субкадр, в порядке декодирования в пределах активной записи. Здесь, единица кадров (PU) может означать набор NAL-единиц, включающий в себя множество NAL-единиц, которые являются взаимно ассоциированными согласно предварительно определенному правилу классификации и являются непрерывными в порядке декодирования для одного кодированного кадра.[204] For all frame units (PUs) following the current frame in decoding order in CLVS (coded layer video sequence), a list of 0 reference frames (for example, RefPicList[0]) and a list of 1 reference frames (for example, RefPicList[1] ) for a single slice included in a CRA subframe belonging to frame units (PUs) may be constrained such that they do not include any frame preceding the frame including the CRA subframe in decoding order within the active recording . Here, a frame unit (PU) may mean a set of NAL units including a plurality of NAL units that are mutually associated according to a predetermined classification rule and are continuous in decoding order for one encoded frame.

[205] (3) Кадр на основе IDR (мгновенного обновления при декодировании)[205] (3) IDR (Instantaneous Decoding Refresh) based frame

[206] IDR-кадр представляет собой один из IRAP-кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP, как описано выше со ссылкой на таблицу 1. IDR-кадр может не ссылаться на кадр, отличный от IDR-кадра для взаимного прогнозирования в процессе декодирования.[206] An IDR frame is one of the IRAP frames and may have a NAL unit type identical to the IDR_W_RADL or IDR_N_LP NAL unit type, as described above with reference to Table 1. The IDR frame may not refer to a frame other than IDR frames for inter-prediction during decoding process.

[207] IDR-кадр может представлять собой первый кадр в потоке битов в порядке декодирования или может представлять собой кадр после первого кадра. Каждый IDR-кадр может представлять собой первый кадр CVS (кодированной видеопоследовательности) в порядке декодирования.[207] An IDR frame may be the first frame in the bitstream in decoding order, or may be a frame after the first frame. Each IDR frame may represent the first CVS (coded video sequence) frame in the decoding order.

[208] Когда IDR-кадр имеет тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL для каждой NAL-единицы, IDR-кадр может иметь ассоциированные RADL-кадры. Напротив, когда IDR-кадр имеет тип NAL-единицы, идентичный типу NAL-единицы IDR_N_LP для каждой NAL-единицы, IDR-кадр может иметь неассоциированные опережающие кадры. Между тем, IDR-кадр может не быть ассоциирован с RASL-кадрами.[208] When an IDR frame has a NAL unit type identical to the IDR_W_RADL NAL unit type for each NAL unit, the IDR frame may have associated RADL frames. In contrast, when the IDR frame has a NAL unit type identical to the NAL unit type IDR_N_LP for each NAL unit, the IDR frame may have unassociated leading frames. Meanwhile, the IDR frame may not be associated with RASL frames.

[209] Для всех единиц кадров (PU), идущих после текущего кадра в порядке декодирования в CLVS (кодированной видеопоследовательности слоя), список 0 опорных кадров (например, RefPicList[0]) и список 1 опорных кадров (например, RefPicList[1]) для одного среза, включенного в IDR-субкадр, принадлежащий единицам кадров (PU), могут быть ограничены таким образом, что они не включают в себя любой кадр, предшествующий кадру, включающему в себя IDR-субкадр, в порядке декодирования в пределах активной записи.[209] For all frame units (PUs) following the current frame in decoding order in CLVS (coded layer video sequence), a list of 0 reference frames (for example, RefPicList[0]) and a list of 1 reference frames (for example, RefPicList[1] ) for one slice included in an IDR subframe belonging to frame units (PUs) may be restricted such that they do not include any frame preceding the frame including the IDR subframe in decoding order within the active recording .

[210] (4) RADL (опережающий декодируемый с произвольным доступом) кадр[210] (4) RADL (Random Access Decodable Advance) frame

[211] RADL-кадр представляет собой один из опережающих кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы RADL_NUT, как описано выше со ссылкой на таблицу 1.[211] The RADL frame is one of the leading frames and may have a NAL unit type identical to the RADL_NUT NAL unit type, as described above with reference to Table 1.

[212] RADL-кадр может не использоваться в качестве опорного кадра в процессе декодирования запаздывающего кадра, имеющего идентичный ассоциированный IRAP-кадр. Когда field_seq_flag имеет первое значение (например, 0) для RADL-кадра, RADL-кадр может предшествовать всем неопережающим кадрам, имеющим идентичный ассоциированный IRAP-кадр, в порядке декодирования. Здесь, field_seq_flag может указывать то, передает CLVS (кодированная видеопоследовательность слоя) кадр, указывающий поля, или кадр, указывающий кинокадры. Например, field_seq_flag, имеющий первое значение (например, 0), может указывать то, что CLVS передает кадр, указывающий кинокадры. Напротив, field_seq_flag, имеющий второе значение (например, 1), может указывать то, что CLVS передает кадр, указывающий поля.[212] The RADL frame may not be used as a reference frame in the process of decoding a lagging frame having an identical associated IRAP frame. When field_seq_flag has the first value (eg, 0) for a RADL frame, the RADL frame may precede all non-leading frames that have an identical associated IRAP frame in decoding order. Here, field_seq_flag may indicate whether a CLVS (coded layer video sequence) transmits a frame indicating fields or a frame indicating movie frames. For example, field_seq_flag having a first value (eg, 0) may indicate that CLVS is transmitting a frame indicating movie frames. Conversely, a field_seq_flag having a second value (eg, 1) may indicate that CLVS is transmitting a frame indicating the fields.

[213] (5) RASL (опережающий пропускаемый с произвольным доступом) кадр[213] (5) RASL (random access skip forward) frame

[214] RASL-кадр представляет собой один из опережающих кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT, как описано выше со ссылкой на таблицу 1.[214] The RASL frame is one of the leading frames and may have a NAL unit type identical to the RASL_NUT NAL unit type, as described above with reference to Table 1.

[215] В примере, все RASL-кадры могут представлять собой опережающие кадры ассоциированного CRA-кадра. Когда NoIncorrectPicOutputFlag имеет второе значение (например, 1) для CRA-кадра, RASL-кадры ссылаются на кадры, которые не присутствуют в потоке битов и в силу этого могут не декодироваться и, как результат, могут не выводиться посредством оборудования декодирования изображений.[215] In an example, all RASL frames may be forward frames of an associated CRA frame. When NoIncorrectPicOutputFlag has a second value (eg, 1) for a CRA frame, RASL frames refer to frames that are not present in the bitstream and therefore may not be decoded and, as a result, may not be output by the image decoding equipment.

[216] RASL-кадр может не использоваться в качестве опорного кадра в процессе декодирования не-RASL-кадров. Тем не менее, когда RADL-кадр, принадлежащий слою, идентичному слою RASL-кадра и ассоциированный с идентичным CRA-кадром, присутствует, RASL-кадр может использоваться в качестве совместно размещенного опорного кадра для взаимного прогнозирования RADL-субкадра, включенного в RADL-кадр.[216] The RASL frame may not be used as a reference frame in the decoding process of non-RASL frames. However, when a RADL frame belonging to a layer identical to that of a RASL frame and associated with an identical CRA frame is present, the RASL frame can be used as a co-located reference frame for inter-prediction of a RADL subframe included in the RADL frame .

[217] Когда field_seq_flag имеет первое значение (например, 0) для RASL-кадра, RASL-кадр может предшествовать всем неопережающим кадрам CRA-кадра, ассоциированного с RASL-кадром в порядке декодирования.[217] When field_seq_flag has the first value (eg, 0) for a RASL frame, the RASL frame may precede all non-leading frames of the CRA frame associated with the RASL frame in decoding order.

[218] (6) Запаздывающий кадр[218] (6) Lag frame

[219] Запаздывающий кадр представляет собой не-IRAP-кадр после ассоциированного IRAP-кадра или GDR-кадра в порядке вывода и может не представлять собой STSA-кадр. Помимо этого, запаздывающий кадр может идти после ассоциированного IRAP-кадра в порядке декодирования. Таким образом, запаздывающий кадр, который идет после ассоциированным IRAP-кадром в порядке вывода, но предшествует ассоциированному IRAP-кадру в порядке декодирования, может не разрешаться.[219] A lagging frame is a non-IRAP frame after an associated IRAP frame or GDR frame in output order and may not be an STSA frame. In addition, the lagging frame may come after the associated IRAP frame in the decoding order. Thus, a lagging frame that comes after an associated IRAP frame in output order, but precedes an associated IRAP frame in decoding order, may not be resolved.

[220] (7) Кадр на основе GDR (постепенного обновления при декодировании)[220] (7) GDR (Gradual Decoding Update) based frame

[221] GDR-кадр представляет собой случайно доступный кадр и может иметь тип NAL-единицы, идентичный типу NAL-единицы GDR_NUT, как описано выше со ссылкой на таблицу 1.[221] A GDR frame is a randomly available frame and may have a NAL unit type identical to the NAL unit type GDR_NUT, as described above with reference to Table 1.

[222] (8) Кадр на основе STSA (пошагового доступа к временному подслою)[222] (8) STSA based frame

[223] STSA-кадр представляет собой случайно доступный кадр и может иметь тип NAL-единицы, идентичный типу NAL-единицы STSA_NUT, как описано выше со ссылкой на таблицу 1.[223] An STSA frame is a randomly available frame and may have a NAL unit type identical to the STSA_NUT NAL unit type, as described above with reference to Table 1.

[224] STSA-кадр может не ссылаться на кадры, имеющие TemporalId, идентичный TemporalId STSA-кадра для взаимного прогнозирования. Здесь, TemporalId может представлять собой идентификатор, указывающий временной слой, например, временной подслой в масштабируемом кодировании видео. В варианте осуществления, STSA-кадры могут быть ограничены таким образом, что они имеют TemporalId, больший 0.[224] The STSA frame may not reference frames that have a TemporalId identical to the TemporalId of the STSA frame for inter-prediction. Here, the TemporalId may be an identifier indicating a temporal layer, for example, a temporal sublayer in scalable video encoding. In an embodiment, STSA frames may be constrained such that they have a TemporalId greater than 0.

[225] Кадры, имеющие TemporalID, идентичный TemporalID STSA-кадра и идущие после STSA-кадра в порядке декодирования, могут не ссылаться на кадры, имеющие TemporalID, идентичный TemporalID STSA-кадра, и предшествующие STSA-кадру в порядке декодирования, для взаимного прогнозирования. STSA-кадр может активировать повышающее переключение из непосредственно нижнего подслоя текущего подслоя, которому принадлежит STSA-кадр, на текущий подслой.[225] Frames having a TemporalID identical to the TemporalID of an STSA frame and following the STSA frame in decoding order may not reference frames having a TemporalID identical to the TemporalID of the STSA frame and preceding the STSA frame in decoding order for inter-prediction . The STSA frame may activate up-switching from the immediately lower sublayer of the current sublayer to which the STSA frame belongs to the current sublayer.

[226] Фиг. 13 является видом, иллюстрирующим порядок декодирования и порядок вывода для каждого типа кадра.[226] FIG. 13 is a view illustrating a decoding order and an output order for each frame type.

[227] Множество кадров могут классифицироваться на I-кадр, P-кадр или B-кадр согласно способу прогнозирования. I-кадр может ссылаться на кадр, к которому является применимым только внутреннее прогнозирование, и может декодироваться без ссылки на другой кадр. I-кадр может упоминаться как внутренний кадр и может включать в себя вышеописанный IRAP-кадр. P-кадр может ссылаться на кадр, к которому являются применимыми внутреннее прогнозирование и однонаправленное взаимное прогнозирование, и может декодироваться посредством ссылки на другой кадр. B-кадр может ссылаться на кадр, к которому являются применимыми внутреннее прогнозирование и двунаправленное/однонаправленное взаимное прогнозирование, и может декодироваться с использованием одного или двух других кадров. P-кадр и B-кадр могут упоминаться как взаимный кадр и могут включать в себя вышеописанный RADL-кадр, RASL-кадр и запаздывающий кадр.[227] A plurality of frames may be classified into an I frame, a P frame, or a B frame according to a prediction method. The I frame may refer to a frame to which only intra prediction is applicable, and may be decoded without reference to another frame. The I frame may be referred to as an inner frame and may include the above-described IRAP frame. A P frame may refer to a frame to which intra prediction and unidirectional inter prediction are applicable, and may be decoded by referring to another frame. A B frame may refer to a frame to which intra prediction and bidirectional/unidirectional inter prediction are applicable, and may be decoded using one or two other frames. The P frame and B frame may be referred to as a cross frame and may include the above-described RADL frame, a RASL frame, and a lagging frame.

[228] Взаимный кадр дополнительно может классифицироваться на опережающий кадр (LP) или неопережающий кадр (NLP) согласно порядку декодирования и порядку вывода. Опережающий кадр может ссылаться на кадр, который идет после IRAP-кадром в порядке декодирования и предшествует IRAP-кадру в порядке вывода, и может включать в себя вышеописанный RADL-кадр и RASL-кадр. Неопережающий кадр может ссылаться на кадр, который идет после IRAP-кадром в порядке декодирования и порядке вывода, и может включать в себя вышеописанный запаздывающий кадр.[228] The cross frame may further be classified into a leading frame (LP) or a non-leading frame (NLP) according to the decoding order and the output order. A forward frame may refer to a frame that comes after an IRAP frame in decoding order and precedes an IRAP frame in output order, and may include the above-described RADL frame and a RASL frame. A non-leading frame may refer to a frame that comes after an IRAP frame in decoding order and output order, and may include the lagging frame described above.

[229] На фиг. 13, название каждого кадра может указывать свой тип кадра. Например, I5-кадр может представлять собой I-кадр, и B0-, B2-, B3-, B4- и B6-кадры могут представлять собой B-кадры, и P1- и P7-кадры могут представлять собой P-кадры. Помимо этого, на фиг. 13, каждая стрелка может указывать на опорное направление между кадрами. Например, B0-кадр может декодироваться посредством ссылки на P1-кадр.[229] In FIG. 13, the name of each frame may indicate its frame type. For example, an I5 frame may be an I frame, and B0, B2, B3, B4, and B6 frames may be B frames, and P1 and P7 frames may be P frames. In addition, in FIG. 13, each arrow may indicate a reference direction between frames. For example, a B0 frame may be decoded by reference to a P1 frame.

[230] Ссылаясь на фиг. 13, I5-кадр может представлять собой IRAP-кадр, например, CRA-кадр. Когда произвольный доступ для I5-кадра возникает, I5-кадр может представлять собой первый кадр в порядке декодирования.[230] Referring to FIG. 13, the I5 frame may be an IRAP frame, such as a CRA frame. When random access for an I5 frame occurs, the I5 frame may be the first frame in the decoding order.

[231] B0- и P1-кадры могут предшествовать I5-кадру в порядке декодирования и конструировать отдельную видеопоследовательность относительно I5-кадра. B2-, B3-, B4-, B6- и P7-кадры могут идти после I5-кадра в порядке декодирования и конструировать одну видеопоследовательность вместе с I5-кадром.[231] B0 and P1 frames may precede the I5 frame in decoding order and construct a separate video sequence relative to the I5 frame. B2, B3, B4, B6 and P7 frames can come after the I5 frame in decoding order and construct one video sequence together with the I5 frame.

[232] B2, B3- и B4-кадры идут после I5-кадра в порядке декодирования и предшествуют I5-кадру в порядке вывода и в силу этого могут классифицироваться на опережающий кадр. B2-кадр может декодироваться посредством ссылки на I5-кадр, предшествующий P1-кадру в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B2-кадр может не декодироваться корректно посредством ссылки на P1-кадр, который не присутствует в потоке битов. Тип кадра, такой как B2-кадр может упоминаться как RASL-кадр. Напротив, B3-кадр может декодироваться посредством ссылки на B3-кадр, предшествующий I5-кадру в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B3-кадр может корректно декодироваться посредством ссылки на предварительно декодированный I5-кадр. Помимо этого, B4 может декодироваться посредством ссылки на I5-кадр и B4-кадр, предшествующий B3-кадру в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B4-кадр может корректно декодироваться посредством ссылки на предварительно декодированный I5-кадр и B3-кадр. Тип кадра, к примеру, B3- и B4-кадры может упоминаться как RADL-кадр.[232] B2, B3 and B4 frames come after the I5 frame in decoding order and precede the I5 frame in output order and can therefore be classified as a leading frame. The B2 frame may be decoded by reference to the I5 frame preceding the P1 frame in the decoding order. Accordingly, when random access occurs from an I5 frame, the B2 frame may not be decoded correctly by reference to a P1 frame that is not present in the bit stream. A frame type such as a B2 frame may be referred to as a RASL frame. In contrast, a B3 frame may be decoded by reference to a B3 frame preceding an I5 frame in the decoding order. Accordingly, when random access occurs from an I5 frame, the B3 frame can be correctly decoded by reference to the previously decoded I5 frame. In addition, B4 may be decoded by reference to an I5 frame and a B4 frame preceding the B3 frame in the decoding order. Accordingly, when random access occurs from an I5 frame, a B4 frame can be correctly decoded by referring to a previously decoded I5 frame and a B3 frame. The frame type, for example B3 and B4 frames, may be referred to as a RADL frame.

[233] Между тем, B6- и P7-кадры идут после I5-кадра в порядке декодирования и порядке вывода и в силу этого могут классифицироваться на неопережающий кадр. B6-кадр может декодироваться посредством ссылки на I5-кадр и P7-кадр, предшествующие в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B6-кадр может корректно декодироваться посредством ссылки на предварительно декодированный I5-кадр и P7-кадр.[233] Meanwhile, B6 and P7 frames come after the I5 frame in the decoding order and output order, and therefore can be classified into a non-leading frame. A B6 frame can be decoded by reference to an I5 frame and a P7 frame preceding it in the decoding order. Accordingly, when random access occurs from an I5 frame, the B6 frame can be correctly decoded by referring to the previously decoded I5 frame and P7 frame.

[234] В одной видеопоследовательности, процесс декодирования и процесс вывода могут выполняться в различных порядках на основе типа кадра. Например, когда одна видеопоследовательность включает в себя IRAP-кадр, опережающий кадр и неопережающий кадр, процесс декодирования может выполняться в порядке IRAP-кадра, опережающего кадра и неопережающего кадра, и процесс вывода может выполняться в порядке опережающего кадра, IRAP-кадра и неопережающего кадра.[234] In a single video sequence, the decoding process and the output process may be performed in different orders based on the frame type. For example, when one video sequence includes an IRAP frame, a leading frame, and a non-leading frame, the decoding process may be performed in the order of the IRAP frame, leading frame, and non-leading frame, and the output process may be performed in the order of leading frame, IRAP frame, and non-leading frame. .

[235] Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей способ определения типа NAL-единицы текущего кадра согласно варианту осуществления настоящего изобретения.[235] FIG. 14 is a flowchart illustrating a method for determining the NAL unit type of a current frame according to an embodiment of the present invention.

[236] Ссылаясь на фиг. 14, оборудование кодирования изображений может определять то, включает или нет текущий кадр в себя два или более субкадров (S1410). Информация сегментации текущего кадра может передаваться в служебных сигналах с использованием одного или более синтаксических элементов в высокоуровневом синтаксисе. Например, через набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 7, no_pic_partition_flag, указывающий то, сегментируется или нет текущий кадр, и pps_num_subpics_minus1, указывающий число субкадров, включенных в текущий кадр, может передаваться в служебных сигналах. Когда текущий кадр включает в себя два или более субкадров, no_pic_partition_flag может иметь первое значение (например, 0), и pps_num_subpics_minus может иметь значение, большее 0.[236] Referring to FIG. 14, the image encoding equipment can determine whether or not the current frame includes two or more subframes (S1410). The segmentation information of the current frame may be signaled using one or more syntax elements in high-level syntax. For example, through the Frame Parameter Set (PPS) described above with reference to FIG. 7, no_pic_partition_flag indicating whether the current frame is segmented or not, and pps_num_subpics_minus1 indicating the number of subframes included in the current frame may be signaled. When the current frame includes two or more subframes, no_pic_partition_flag may have a first value (for example, 0), and pps_num_subpics_minus may have a value greater than 0.

[237] Когда текущий кадр не включает в себя два или более субкадров ("Нет" S1410), оборудование кодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы (S1450). Таким образом, все срезы в текущем кадре могут иметь любые из типов NAL-единиц, описанных выше со ссылкой на таблицу 1.[237] When the current frame does not include two or more subframes (None S1410), the image encoding equipment may determine that the current frame has one type of NAL unit (S1450). Thus, all slices in the current frame can have any of the types of NAL units described above with reference to Table 1.

[238] Напротив, когда текущий кадр включает в себя два или более субкадров ("Да" S1410), оборудование кодирования изображений может определять то, трактуется или нет каждый субкадр в текущем кадре в качестве одного кадра (S1420). Информация, указывающая то, трактуется или нет субкадр в качестве одного кадра, может передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе, например, через набор параметров последовательности (SPS), описанный выше со ссылкой на фиг. 12, sps_subpic_treated_as_pic_flag[i], указывающий то, трактуется или нет субкадр в качестве одного кадра, может передаваться в служебных сигналах. Когда каждый субкадр в текущем кадре трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь второе значение (например, 1).[238] In contrast, when the current frame includes two or more subframes (Yes S1410), the image encoding equipment can determine whether or not each subframe in the current frame is treated as one frame (S1420). Information indicating whether or not a subframe is treated as a single frame may be signaled using a predefined syntax element in a high-level syntax, for example, through a sequence parameter set (SPS) described above with reference to FIG. 12, sps_subpic_treated_as_pic_flag[i], indicating whether or not a subframe is treated as a single frame, may be signaled. When each subframe in the current frame is treated as one frame, sps_subpic_treated_as_pic_flag[i] may have a second value (for example, 1).

[239] Когда каждый субкадр в текущем кадре не трактуется в качестве одного кадра ("Нет" S1420), оборудование кодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы (S1450).[239] When each subframe in the current frame is not treated as one frame (No) S1420, the image encoding equipment can determine that the current frame has one type of NAL unit (S1450).

[240] Напротив, когда каждый субкадр в текущем кадре трактуется в качестве одного кадра ("Да" S1420), оборудование кодирования изображений может определять то, имеют или нет, по меньшей мере, некоторые из множества срезов в текущем кадре различные типы NAL-единиц (S1430).[240] In contrast, when each subframe in the current frame is treated as one frame (Yes S1420), the image encoding equipment can determine whether or not at least some of the plurality of slices in the current frame have different types of NAL units. (S1430).

[241] Когда, по меньшей мере, некоторые из множества срезов в текущем кадре имеют различные типы NAL-единиц ("Да" на S1430), оборудование кодирования изображений может определять то, что текущий кадр имеет смешанный тип NAL-единицы (S1440).[241] When at least some of the plurality of slices in the current frame have different NAL unit types (Yes in S1430), the image encoding equipment can determine that the current frame has a mixed NAL unit type (S1440).

[242] Напротив, когда все из множества срезов в текущем кадре имеют идентичный тип NAL-единицы ("Нет" на S1430), оборудование кодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы (S1450).[242] In contrast, when all of the plurality of slices in the current frame have the same NAL unit type (“No” in S1430), the image encoding equipment can determine that the current frame has the same NAL unit type (S1450).

[243] Когда текущий кадр имеет смешанный тип NAL-единицы, оборудование кодирования изображений может формировать субпоток битов для каждого субкадра, включенного в текущий кадр. В этом случае, множество субпотоков битов, сформированных для текущего кадра, могут составлять один поток битов.[243] When the current frame has a mixed NAL unit type, the image encoding equipment may generate a sub-bit stream for each sub-frame included in the current frame. In this case, the plurality of sub-bit streams generated for the current frame may constitute one bit stream.

[244] Информация, указывающая то, имеет или нет текущий кадр смешанный тип NAL-единицы, может передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе. Например, через вышеописанный набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 11, pps_mixed_nalu_types_in_pic_flag, указывающий то, имеет или нет текущий кадр смешанный тип NAL-единицы, может передаваться в служебных сигналах. В этом случае, оборудование декодирования изображений может определять то, имеет или нет текущий кадр смешанный тип NAL-единицы, на основе pps_mixed_nalu_types_in_pic_flag. Например, когда pps_mixed_nalu_types_in_pic_flag имеет первое значение (например, 0), оборудование декодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы. Напротив, когда pps_mixed_nalu_types_in_pic_flag имеет второе значение (например, 1), оборудование декодирования изображений может определять то, что текущий кадр имеет смешанный тип NAL-единицы.[244] Information indicating whether or not the current frame has a mixed NAL unit type may be signaled using a predefined syntax element in the high-level syntax. For example, through the above-described Frame Parameter Set (PPS) described above with reference to FIG. 11, pps_mixed_nalu_types_in_pic_flag indicating whether or not the current frame has a mixed NAL unit type may be signaled. In this case, the picture decoding equipment can determine whether or not the current frame has a mixed NAL unit type based on the pps_mixed_nalu_types_in_pic_flag. For example, when pps_mixed_nalu_types_in_pic_flag has a first value (eg, 0), the picture decoding equipment may determine that the current frame is of one NAL unit type. In contrast, when pps_mixed_nalu_types_in_pic_flag has a second value (eg, 1), the picture decoding equipment may determine that the current frame is of a mixed NAL unit type.

[245] Между тем, все срезы в каждом субкадре, включенном в текущий кадр, могут иметь идентичный тип NAL-единицы. Таким образом, каждый субкадр может иметь только один тип NAL-единицы. Кроме того, когда текущий кадр имеет смешанный тип NAL-единицы, по меньшей мере, некоторые субкадры, включенные в текущий кадр, могут иметь различные типы NAL-единиц. Например, первый субкадр, включенный в текущий кадр, может иметь первый тип NAL-единицы, и второй субкадр, включенный в текущий кадр, может иметь второй тип NAL-единицы, отличающийся от первого типа NAL-единицы.[245] Meanwhile, all slices in each subframe included in the current frame may have the same NAL unit type. Thus, each subframe can have only one type of NAL unit. In addition, when the current frame has a mixed NAL unit type, at least some subframes included in the current frame may have different NAL unit types. For example, a first subframe included in the current frame may have a first NAL unit type, and a second subframe included in the current frame may have a second NAL unit type different from the first NAL unit type.

[246] Тип каждого субкадра, включенного в текущий кадр, может определяться на основе типа NAL-единицы каждого субкадра. Например, как описано выше со ссылкой на таблицу 1, тип субкадра, имеющего тип NAL-единицы, такой как TRAIL_NUT может определяться в качестве запаздывающего субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как STSA_NUT может определяться в качестве STSA-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как GDR_NUT может определяться в качестве GDR-субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как RADL_NUT может определяться в качестве RADL-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как RASL_NUT может определяться в качестве RASL-субкадра. Помимо этого, тип субкадра, имеющего тип NAL-единицы, такой как IDR_W_RADL или IDR_N_LP может определяться в качестве IDR-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как CRA_NUT может определяться в качестве CRA-субкадра.[246] The type of each subframe included in the current frame may be determined based on the NAL unit type of each subframe. For example, as described above with reference to Table 1, a subframe type having a NAL unit type such as TRAIL_NUT may be determined as a trailing subframe. In addition, the type of a subframe having a NAL unit type such as STSA_NUT may be defined as an STSA subframe, and the type of a subframe having a NAL unit type such as GDR_NUT may be defined as a GDR subframe. In addition, the type of a subframe having a NAL unit type such as RADL_NUT may be defined as a RADL subframe, and the type of a subframe having a NAL unit type such as RASL_NUT may be defined as a RASL subframe. In addition, the type of a subframe having a NAL unit type such as IDR_W_RADL or IDR_N_LP may be defined as an IDR subframe, and the type of a subframe having a NAL unit type such as CRA_NUT may be defined as a CRA subframe.

[247] Согласно вариантам осуществления настоящего изобретения, когда текущий кадр включает в себя два или более субкадров, и каждый субкадр трактуется в качестве одного кадра, текущий кадр может иметь смешанный тип NAL-единицы. Следовательно, в различных вариантах применения или вариантах использования, эффективность кодирования/декодирования изображений дополнительно может повышаться.[247] According to embodiments of the present invention, when the current frame includes two or more subframes and each subframe is treated as one frame, the current frame may have a mixed NAL unit type. Therefore, in various applications or use cases, the efficiency of image encoding/decoding can be further improved.

[248] В дальнейшем в этом документе подробно описывается способ кодирования/декодирования изображений согласно варианту осуществления настоящего изобретения со ссылкой на фиг. 15 и фиг. 16.[248] Hereinafter, this document will describe in detail an image encoding/decoding method according to an embodiment of the present invention with reference to FIGS. 15 and fig. 16.

[249] Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего изобретения.[249] FIG. 15 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.

[250] Способ кодирования изображений по фиг. 15 может осуществляться посредством оборудования кодирования изображений по фиг. 2. Например, этап S1510 может выполняться посредством модуля 110 сегментации изображений, и этапы S1520 и S1530 могут выполняться посредством энтропийного кодера 190.[250] The image encoding method of FIG. 15 may be implemented by the image encoding equipment of FIG. 2. For example, step S1510 may be performed by the image segmentation unit 110, and steps S1520 and S1530 may be performed by the entropy encoder 190.

[251] Ссылаясь на фиг. 15, оборудование кодирования изображений может сегментировать текущий кадр на два или более субкадров (S1510).[251] Referring to FIG. 15, the image encoding equipment may segment the current frame into two or more subframes (S1510).

[252] В варианте осуществления, если текущий кадр имеет смешанный тип NAL-единицы, текущий кадр может быть ограничен таким образом, что он включает в себя два или более субкадров. Таким образом, на основе, по меньшей мере, некоторых из множества срезов, включенных в текущий кадр, имеющий различные типы NAL-единиц, текущий кадр может сегментироваться на два или более субкадров.[252] In an embodiment, if the current frame is of a mixed NAL unit type, the current frame may be limited such that it includes two or more subframes. Thus, based on at least some of the plurality of slices included in the current frame having different types of NAL units, the current frame may be segmented into two or more subframes.

[253] Информация сегментации текущего кадра может передаваться в служебных сигналах с использованием одного или более синтаксических элементов в высокоуровневом синтаксисе. Например, через набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 7, информация no_pic_partition_flag флага, указывающая то, сегментируется или нет текущий кадр, и информация pps_num_subpics_minus1 флага, указывающая число субкадров, включенных в текущий кадр, может кодироваться/передаваться в служебных сигналах. В этом случае, когда текущий кадр сегментируется на два или более субкадров, no_pic_partition_flag может иметь первое значение (например, 0), и pps_num_subpics_minus может иметь значение, большее 0.[253] The segmentation information of the current frame may be signaled using one or more syntax elements in high-level syntax. For example, through the Frame Parameter Set (PPS) described above with reference to FIG. 7, flag information no_pic_partition_flag indicating whether or not the current frame is segmented, and flag information pps_num_subpics_minus1 indicating the number of subframes included in the current frame may be encoded/transmitted in overhead signals. In this case, when the current frame is segmented into two or more subframes, no_pic_partition_flag may have the first value (for example, 0), and pps_num_subpics_minus may have a value greater than 0.

[254] В варианте осуществления, когда текущий кадр имеет смешанный тип NAL-единицы, каждый субкадр, включенный в текущий кадр, может трактоваться в качестве одного кадра. Например, текущий кадр, имеющий смешанный тип NAL-единицы, может включать в себя первый субкадр и второй субкадр, и каждый из первого субкадра и второго субкадра может независимо кодироваться/декодироваться за исключением операции внутриконтурной фильтрации.[254] In an embodiment, when the current frame has a mixed NAL unit type, each subframe included in the current frame may be treated as one frame. For example, a current frame having a mixed NAL unit type may include a first subframe and a second subframe, and each of the first subframe and the second subframe may be independently encoded/decoded except for an in-loop filtering operation.

[255] Информация относительно того, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра, может кодироваться/передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе. Например, информация sps_subpic_treated_as_pic_flag[i] флага, указывающая то, трактуется или нет i-ый субкадр, включенный в текущий кадр, в качестве одного кадра, может кодироваться/передаваться в служебных сигналах через набор параметров последовательности (SPS), описанный выше со ссылкой на фиг. 12. В этом случае, когда i-ый субкадр, включенный в текущий кадр, не трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь первое значение (например, 0). С другой стороны, когда i-ый субкадр, включенный в текущий кадр, трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь второе значение (например, 1).[255] Information regarding whether or not a subframe included in the current frame is treated as one frame may be encoded/signaled using a predefined syntax element in the high-level syntax. For example, sps_subpic_treated_as_pic_flag[i] flag information indicating whether or not the i-th subframe included in the current frame is treated as one frame may be encoded/signalled via the Sequence Parameter Set (SPS) described above with reference to fig. 12. In this case, when the i-th subframe included in the current frame is not treated as one frame, sps_subpic_treated_as_pic_flag[i] may have the first value (for example, 0). On the other hand, when the i-th subframe included in the current frame is treated as one frame, sps_subpic_treated_as_pic_flag[i] may have a second value (eg, 1).

[256] Оборудование кодирования изображений может определять тип NAL-единицы каждого из множества срезов, включенных в текущий кадр (S1520).[256] The image encoding equipment may determine the NAL unit type of each of the plurality of slices included in the current frame (S1520).

[257] В варианте осуществления, все срезы, включенные в каждый субкадр в текущем кадре, могут иметь идентичный тип NAL-единицы. Например, все срезы, включенные в первый субкадр текущего кадра, могут иметь первый тип NAL-единицы, и все срезы, включенные во второй субкадр текущего кадра, могут иметь второй тип NAL-единицы. В этом случае, когда текущий кадр имеет смешанный тип NAL-единицы, второй тип NAL-единицы может отличаться от первого типа NAL-единицы. Альтернативно, когда текущий кадр имеет один тип NAL-единицы, второй тип NAL-единицы может быть идентичным первому типу NAL-единицы.[257] In an embodiment, all slices included in each subframe in the current frame may be of the same NAL unit type. For example, all slices included in the first subframe of the current frame may have a first NAL unit type, and all slices included in the second subframe of the current frame may have a second NAL unit type. In this case, when the current frame has a mixed NAL unit type, the second NAL unit type may be different from the first NAL unit type. Alternatively, when the current frame has one NAL unit type, the second NAL unit type may be identical to the first NAL unit type.

[258] В варианте осуществления, то, имеют или нет, по меньшей мере, некоторые из множества срезов, включенных в текущий кадр, различные типы NAL-единиц (т.е. то, имеет или нет текущий кадр смешанный тип NAL-единицы), может кодироваться/передаваться в служебных сигналах с использованием синтаксического элемента. Например, информация pps_mixed_nalu_types_in_pic_flag флага, указывающая то, имеет или нет текущий кадр смешанный тип NAL-единицы, может кодироваться/передаваться в служебных сигналах через набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 11. В этом случае, когда текущий кадр имеет один тип NAL-единицы, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0). Напротив, когда текущий кадр имеет смешанный тип NAL-единицы, pps_mixed_nalu_types_in_pic_flag может иметь второе значение (например, 1).[258] In an embodiment, whether or not at least some of the plurality of slices included in the current frame have different NAL unit types (i.e., whether or not the current frame has a mixed NAL unit type) , may be encoded/signalled using a syntax element. For example, pps_mixed_nalu_types_in_pic_flag flag information indicating whether or not the current frame has a mixed NAL unit type may be encoded/signalled via the Frame Parameter Set (PPS) described above with reference to FIG. 11. In this case, when the current frame has one NAL unit type, pps_mixed_nalu_types_in_pic_flag may have the first value (for example, 0). In contrast, when the current frame has a mixed NAL unit type, pps_mixed_nalu_types_in_pic_flag may have a second value (for example, 1).

[259] В варианте осуществления, значение pps_mixed_nalu_types_in_pic_flag может определяться на основе того, является или нет смешанный тип NAL-единицы применимым ко всем кадрам в наборе выходных слоев (OLS). Например, когда смешанный тип NAL-единицы не является применимым ко всем кадрам в наборе выходных слоев (OLS), pps_mixed_nalu_types_in_pic_flag может быть ограничен таким образом, что он имеет первое значение (например, 0). Напротив, когда смешанный тип NAL-единицы является применимым ко всем кадрам в наборе выходных слоев (OLS), pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).[259] In an embodiment, the value of pps_mixed_nalu_types_in_pic_flag may be determined based on whether or not the mixed NAL unit type is applicable to all frames in the Output Layer Set (OLS). For example, when the mixed NAL unit type is not applicable to all frames in the Output Layer Set (OLS), pps_mixed_nalu_types_in_pic_flag may be constrained such that it has the first value (eg, 0). In contrast, when the mixed NAL unit type is applicable to all frames in the Output Layer Set (OLS), pps_mixed_nalu_types_in_pic_flag may have a first value (eg, 0) or a second value (eg, 1).

[260] Между тем, то, является или нет смешанный тип NAL-единицы применимым ко всем кадрам в наборе выходных слоев (OLS), может кодироваться/передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе. Например, информация gci_no_mixed_nalu_types_in_pic_constraint_flag флага, указывающая то, ограничен или нет смешанный тип NAL-единицы, может кодироваться/передаваться в служебных сигналах через general_constraints_info, включающий в себя общую информацию ограничений. В этом случае, когда смешанный тип NAL-единицы является применимым ко всем кадрам в наборе выходных слоев (OLS), gci_no_mixed_nalu_types_in_pic_constraint_flag может иметь первое значение (например, 0). Напротив, когда смешанный тип NAL-единицы не является применимым ко всем кадрам в наборе выходных слоев (OLS), gci_no_mixed_nalu_types_in_pic_constraint_flag может иметь второе значение (например, 1).[260] Meanwhile, whether or not a mixed NAL unit type is applicable to all frames in the Output Layer Set (OLS) may be encoded/signaled using a predefined syntax element in the high-level syntax. For example, flag information gci_no_mixed_nalu_types_in_pic_constraint_flag indicating whether a mixed NAL unit type is constrained or not may be encoded/signaled through general_constraints_info including general constraint information. In this case, when the mixed NAL unit type is applicable to all frames in the output layer set (OLS), gci_no_mixed_nalu_types_in_pic_constraint_flag may have the first value (eg, 0). In contrast, when the mixed NAL unit type is not applicable to all frames in the output layer set (OLS), gci_no_mixed_nalu_types_in_pic_constraint_flag may have a second value (eg, 1).

[261] В варианте осуществления, значение pps_mixed_nalu_types_in_pic_flag может определяться на основе того, включает или нет текущий кадр в себя только один субкадр. Например, когда текущий кадр включает в себя только один субкадр, pps_mixed_nalu_types_in_pic_flag может быть ограничен таким образом, что он имеет первое значение (например, 0). С другой стороны, когда текущий кадр включает в себя два или более субкадров, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).[261] In an embodiment, the value of pps_mixed_nalu_types_in_pic_flag may be determined based on whether or not the current frame includes only one subframe. For example, when the current frame includes only one subframe, pps_mixed_nalu_types_in_pic_flag may be constrained such that it has the first value (eg, 0). On the other hand, when the current frame includes two or more subframes, pps_mixed_nalu_types_in_pic_flag may have a first value (eg, 0) or a second value (eg, 1).

[262] В варианте осуществления, значение pps_mixed_nalu_types_in_pic_flag может определяться на основе того, трактуется или нет каждый из всех субкадров, включенных в текущий кадр, в качестве одного кадра. Например, когда, по меньшей мере, один из субкадров, включенных в текущий кадр, не трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может быть ограничен таким образом, что он имеет первое значение (например, 0). Напротив, когда каждый из всех субкадров, включенных в текущий кадр, трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).[262] In an embodiment, the value of pps_mixed_nalu_types_in_pic_flag may be determined based on whether or not each of all subframes included in the current frame is treated as a single frame. For example, when at least one of the subframes included in the current frame is not treated as a single frame, pps_mixed_nalu_types_in_pic_flag may be constrained to have a first value (eg, 0). In contrast, when each of all subframes included in the current frame is treated as one frame, pps_mixed_nalu_types_in_pic_flag may have a first value (eg, 0) or a second value (eg, 1).

[263] Оборудование кодирования изображений может кодировать субкадры в текущем кадре на основе типа NAL-единицы, определенного на S1520 (S1530). В это время, процесс кодирования для каждого среза может выполняться в единицах кодирования (CU) на основе предварительно определенного режима прогнозирования, как описано выше. Между тем, каждый субкадр может независимо кодироваться, чтобы конструировать различные потоки битов (субкадров). Например, первый субпоток битов, включающий в себя информацию кодирования первого субкадра, может конструироваться, и второй субпоток битов, включающий в себя информацию кодирования второго субкадра, может конструироваться.[263] The image encoding equipment may encode subframes in the current frame based on the NAL unit type determined in S1520 (S1530). At this time, the encoding process for each slice may be performed in coding units (CU) based on a predetermined prediction mode as described above. Meanwhile, each subframe can be independently encoded to construct different bitstreams (subframes). For example, a first sub-bitstream including encoding information of the first subframe may be constructed, and a second sub-bitstream including encoding information of the second subframe may be constructed.

[264] Фиг. 16 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего изобретения.[264] FIG. 16 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

[265] Способ декодирования изображений по фиг. 16 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Например, этапы S1610 и S1620 могут выполняться посредством энтропийного декодера 210, и этап S1630 может выполняться посредством деквантователя 220 в модуль 265 внутреннего прогнозирования.[265] The image decoding method of FIG. 16 may be implemented by the image decoding equipment of FIG. 3. For example, steps S1610 and S1620 may be performed by the entropy decoder 210, and step S1630 may be performed by the dequantizer 220 to the intra prediction unit 265.

[266] Ссылаясь на фиг. 16, оборудование декодирования изображений может получать, из потока битов, информацию типа VCL NAL-единицы текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра (S1610).[266] Referring to FIG. 16, the image decoding equipment can obtain, from the bitstream, VCL NAL unit type information of the current frame and first flag information indicating whether or not a subframe included in the current frame is treated as one frame (S1610).

[267] Информация типа NAL-единиц текущего кадра может включать в себя значение типа NAL-единицы для VCL NAL-единицы, включающей в себя кодированные данные изображений (например, данные срезов) текущего кадра. Значение типа NAL-единицы может получаться посредством синтаксического анализа синтаксического элемента nal_unit_type, включенного в заголовок NAL-единицы для VCL NAL-единицы.[267] The NAL unit type information of the current frame may include a NAL unit type value for a VCL NAL unit including encoded image data (eg, slice data) of the current frame. The NAL unit type value may be obtained by parsing the nal_unit_type syntax element included in the NAL unit header for the VCL NAL unit.

[268] Информация первого флага может получаться посредством синтаксического анализа высокоуровневого синтаксиса, например, sps_subpic_treated_as_pic_flag[i], включенного в набор параметров последовательности (SPS). В этом случае, когда i-ый субкадр, включенный в текущий кадр, не трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь первое значение (например, 0). С другой стороны, когда i-ый субкадр, включенный в текущий кадр, трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь второе значение (например, 1).[268] The first flag information may be obtained by parsing a high-level syntax such as sps_subpic_treated_as_pic_flag[i] included in the Sequence Parameter Set (SPS). In this case, when the i-th subframe included in the current frame is not treated as one frame, sps_subpic_treated_as_pic_flag[i] may have the first value (for example, 0). On the other hand, when the i-th subframe included in the current frame is treated as one frame, sps_subpic_treated_as_pic_flag[i] may have a second value (eg, 1).

[269] Оборудование декодирования изображений может определять тип NAL-единицы каждого из множества срезов в текущем кадре на основе информации типа VCL NAL-единицы текущего кадра (S1620).[269] The image decoding equipment can determine the NAL unit type of each of the plurality of slices in the current frame based on the VCL NAL unit type information of the current frame (S1620).

[270] В варианте осуществления, когда, по меньшей мере, некоторые из множества срезов в текущем кадре имеют различные типы NAL-единиц (т.е. когда текущий кадр имеет смешанный тип NAL-единицы), текущий кадр включает в себя два или более субкадров.[270] In an embodiment, when at least some of the plurality of slices in the current frame have different NAL unit types (i.e., when the current frame has a mixed NAL unit type), the current frame includes two or more subframes

[271] В варианте осуществления, когда, по меньшей мере, некоторые из множества срезов в текущем кадре имеют различные типы NAL-единиц, каждый из всех субкадров, включенных в текущий кадр, может трактоваться в качестве одного кадра. В этом случае, для всех субкадров, включенных в текущий кадр, информация первого флага (например, sps_subpic_treated_as_pic_flag[i]) может иметь второе значение (например, 1).[271] In an embodiment, when at least some of the plurality of slices in the current frame have different types of NAL units, each of all subframes included in the current frame may be treated as one frame. In this case, for all subframes included in the current frame, the first flag information (eg, sps_subpic_treated_as_pic_flag[i]) may have a second value (eg, 1).

[272] В варианте осуществления, все срезы, включенные в каждый субкадр в текущем кадре, могут иметь идентичный тип NAL-единицы. Например, все срезы, включенные в первый субкадр текущего кадра, могут иметь первый тип NAL-единицы, и все срезы, включенные во второй субкадр текущего кадра, могут иметь второй тип NAL-единицы. В этом случае, когда текущий кадр имеет смешанный тип NAL-единицы, второй тип NAL-единицы может отличаться от первого типа NAL-единицы. Напротив, когда текущий кадр имеет один тип NAL-единицы, второй тип NAL-единицы может быть идентичным первому типу NAL-единицы.[272] In an embodiment, all slices included in each subframe in the current frame may have the same NAL unit type. For example, all slices included in the first subframe of the current frame may have a first NAL unit type, and all slices included in the second subframe of the current frame may have a second NAL unit type. In this case, when the current frame has a mixed NAL unit type, the second NAL unit type may be different from the first NAL unit type. In contrast, when the current frame has one NAL unit type, the second NAL unit type may be identical to the first NAL unit type.

[273] В варианте осуществления, то, имеют или нет, по меньшей мере, некоторые из множества срезов в текущем кадре различные типы NAL-единиц, может определяться на основе высокоуровневого синтаксиса, например, информации второго флага (например, pps_mixed_nalu_types_in_pic_flag), полученной из набора параметров кадра (PPS). Например, когда информация второго флага имеет первое значение (например, 0), все срезы в текущем кадре могут иметь идентичный тип NAL-единицы. Напротив, когда информация второго флага имеет второе значение (например, 1), по меньшей мере, некоторые из множества срезов в текущем кадре могут иметь различные типы NAL-единиц.[273] In an embodiment, whether or not at least some of the plurality of slices in the current frame have different NAL unit types can be determined based on high-level syntax, for example, second flag information (eg, pps_mixed_nalu_types_in_pic_flag) obtained from Frame Parameter Set (PPS). For example, when the second flag information has the first value (eg, 0), all slices in the current frame may have the same NAL unit type. In contrast, when the second flag information has a second value (eg, 1), at least some of the plurality of slices in the current frame may have different types of NAL units.

[274] В варианте осуществления, информация второго флага (например, pps_mixed_nalu_types_in_pic_flag) может иметь предварительно определенное значение на основе того, является или нет смешанный тип NAL-единицы применимым ко всем кадрам в наборе выходных слоев (OLS). Например, когда смешанный тип NAL-единицы не является применимым ко всем кадрам в наборе выходных слоев (OLS), информация второго флага может иметь первое значение (например, 0). В этом случае, оборудование декодирования изображений может логически выводить значение информации второго флага как составляющее первое значение (например, 0) без отдельного синтаксического анализа информации второго флага. Напротив, когда смешанный тип NAL-единицы является применимым ко всем кадрам в наборе выходных слоев (OLS), информация второго флага может иметь первое значение (например, 0) или второе значение (например, 1).[274] In an embodiment, the second flag information (eg, pps_mixed_nalu_types_in_pic_flag) may have a predetermined value based on whether or not the mixed NAL unit type is applicable to all frames in the Output Layer Set (OLS). For example, when the mixed NAL unit type is not applicable to all frames in the output layer set (OLS), the second flag information may have a first value (eg, 0). In this case, the image decoding equipment may logically output the value of the second flag information as constituting the first value (eg, 0) without separately parsing the second flag information. In contrast, when the mixed NAL unit type is applicable to all frames in the output layer set (OLS), the second flag information may have a first value (eg, 0) or a second value (eg, 1).

[275] В варианте осуществления, информация второго флага (например, pps_mixed_nalu_types_in_pic_flag) может иметь предварительно определенное значение на основе того, включает или нет текущий кадр в себя только один субкадр. Например, когда текущий кадр включает в себя только один субкадр, информация второго флага может иметь только первое значение (например, 0). В этом случае, оборудование декодирования изображений может логически выводить значение информации второго флага как составляющее первое значение (например, 0) без отдельного синтаксического анализа информации второго флага. Напротив, когда текущий кадр включает в себя два или более субкадров, информация второго флага может иметь первое значение (например, 0) или второе значение (например, 1).[275] In an embodiment, the second flag information (eg, pps_mixed_nalu_types_in_pic_flag) may have a predetermined value based on whether or not the current frame includes only one subframe. For example, when the current frame includes only one subframe, the second flag information may only have the first value (eg, 0). In this case, the image decoding equipment may logically output the value of the second flag information as constituting the first value (eg, 0) without separately parsing the second flag information. In contrast, when the current frame includes two or more subframes, the second flag information may have a first value (eg, 0) or a second value (eg, 1).

[276] В варианте осуществления, информация второго флага (например, pps_mixed_nalu_types_in_pic_flag) может иметь предварительно определенное значение на основе того, трактуется или нет каждый из всех субкадров, включенных в текущий кадр, в качестве одного кадра. Например, когда, по меньшей мере, один из субкадров, включенных в текущий кадр, не трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может иметь только первое значение (например, 0). В этом случае, оборудование декодирования изображений может логически выводить значение информации второго флага как составляющее первое значение (например, 0) без отдельного синтаксического анализа информации второго флага. Напротив, когда каждый из всех субкадров, включенных в текущий кадр, трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).[276] In an embodiment, the second flag information (eg, pps_mixed_nalu_types_in_pic_flag) may have a predetermined value based on whether or not each of all subframes included in the current frame is treated as a single frame. For example, when at least one of the subframes included in the current frame is not treated as a single frame, pps_mixed_nalu_types_in_pic_flag may have only the first value (eg, 0). In this case, the image decoding equipment may logically output the value of the second flag information as constituting the first value (eg, 0) without separately parsing the second flag information. In contrast, when each of all subframes included in the current frame is treated as one frame, pps_mixed_nalu_types_in_pic_flag may have a first value (eg, 0) or a second value (eg, 1).

[277] Между тем, тип каждого субкадра, включенного в текущий кадр, может определяться на основе типа NAL-единицы каждого субкадра. Например, как описано выше со ссылкой на таблицу 1, тип субкадра, имеющего тип NAL-единицы, такой как TRAIL_NUT может определяться в качестве запаздывающего субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как STSA_NUT может определяться в качестве STSA-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как GDR_NUT может определяться в качестве GDR-субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как RADL_NUT может определяться в качестве RADL-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как RASL_NUT может определяться в качестве RASL-субкадра. Помимо этого, тип субкадра, имеющего тип NAL-единицы, такой как IDR_W_RADL или IDR_N_LP может определяться в качестве IDR-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как CRA_NUT может определяться в качестве CRA-субкадра.[277] Meanwhile, the type of each subframe included in the current frame may be determined based on the NAL unit type of each subframe. For example, as described above with reference to Table 1, a subframe type having a NAL unit type such as TRAIL_NUT may be determined as a trailing subframe. In addition, the type of a subframe having a NAL unit type such as STSA_NUT may be defined as an STSA subframe, and the type of a subframe having a NAL unit type such as GDR_NUT may be defined as a GDR subframe. In addition, the type of a subframe having a NAL unit type such as RADL_NUT may be defined as a RADL subframe, and the type of a subframe having a NAL unit type such as RASL_NUT may be defined as a RASL subframe. In addition, the type of a subframe having a NAL unit type such as IDR_W_RADL or IDR_N_LP may be defined as an IDR subframe, and the type of a subframe having a NAL unit type such as CRA_NUT may be defined as a CRA subframe.

[278] Оборудование декодирования изображений может декодировать множество срезов в текущем кадре на основе информации первого флага, полученной на этапе S1610, и типа NAL-единицы, определенного на S1620 (S1630). В это время, процесс декодирования каждого среза может выполняться в единицах кодирования (CU) на основе предварительно определенного режима прогнозирования, как описано выше.[278] The image decoding equipment can decode a plurality of slices in the current frame based on the first flag information obtained in step S1610 and the NAL unit type determined in S1620 (S1630). At this time, the decoding process of each slice may be performed in coding units (CU) based on a predetermined prediction mode as described above.

[279] Согласно варианту осуществления настоящего изобретения, текущий кадр может иметь два или более типов NAL-единиц на основе структуры субкадра.[279] According to an embodiment of the present invention, the current frame may have two or more types of NAL units based on the subframe structure.

[280] Название синтаксического элемента, описанного в настоящем раскрытии сущности, может включать в себя информацию относительно позиции, в которой соответствующий синтаксический элемент передается в служебных сигналах. Например, синтаксический элемент, начинающийся с "sps_", может означать то, что соответствующий синтаксический элемент передается в служебных сигналах в наборе параметров последовательности (SPS). Помимо этого, синтаксический элемент, начинающийся с "pps_", "ph_", "sh_"6 может означать то, что соответствующий синтаксический элемент передается в служебных сигналах в наборе параметров кадра (PPS), заголовке кадра и заголовке среза, соответственно.[280] The name of a syntax element described in the present disclosure may include information regarding the position at which the corresponding syntax element is signaled. For example, a syntax element beginning with "sps_" may indicate that the corresponding syntax element is signaled in the Sequence Parameter Set (SPS). In addition, a syntax element starting with "pps_", "ph_", "sh_"6 may indicate that the corresponding syntax element is signaled in the frame parameter set (PPS), frame header and slice header, respectively.

[281] Хотя примерные способы настоящего изобретения, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.[281] Although the exemplary methods of the present invention 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 necessary. To implement the method of the present disclosure, the described steps may further include other steps, may include the remaining steps except some steps, or may include other additional steps except some steps.

[282] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.[282] In the present disclosure, image encoding equipment or image decoding equipment that performs a predetermined operation (step) may perform an operation (step) of confirming a condition or situation for executing the corresponding operation (step). For example, if it is described that a predetermined operation is performed when a 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.

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

[284] Различные варианты осуществления настоящего изобретения могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего изобретения посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.[284] Various embodiments of the present invention may be implemented in hardware, firmware, software, or a combination of the above. If the present invention 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 (FPGAs). FPGA), general processors, controllers, microcontrollers, microprocessors, etc.

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

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

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

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

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

[290] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.[290] 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 regarding 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 stream the 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.

[291] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[291] The streaming server may receive content from a media storage and/or 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 maintain the bit stream for a predetermined time.

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

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

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

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

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

Claims (36)

1. Оборудование декодирования для декодирования изображений, при этом оборудование декодирования содержит: 1. Decoding equipment for decoding images, wherein the decoding equipment comprises: запоминающее устройство; Memory device; по меньшей мере один процессор, при этом, по меньшей мере, один процессор выполнен с возможностью:at least one processor, wherein the at least one processor is configured to: получать, из потока битов, информацию типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра;obtain, from the bitstream, unit type information of the network abstraction layer (NAL) of the video coding layer (VCL) of the current frame and first flag information indicating whether or not a subframe included in the current frame is treated as one frame; определять тип NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы;determine the NAL unit type of each of the plurality of slices included in the current frame based on the received VCL NAL unit type information; декодировать множество срезов на основе определенного типа NAL-единицы и информации первого флага,decode multiple slices based on a specific NAL unit type and first flag information, при этом текущий кадр содержит два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, иwherein the current frame contains two or more subframes based on at least some of the plurality of slices having different types of NAL units, and при этом информация первого флага имеет предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.wherein the first flag information has a predetermined value indicating that each of the two or more subframes is treated as one frame based on at least some of a plurality of slices having different types of NAL units. 2. Оборудование декодирования по п. 1, в котором все срезы в каждом субкадре, включенном в текущий кадр, имеют идентичный тип NAL-единицы.2. The decoding equipment of claim 1, wherein all slices in each subframe included in the current frame are of the same NAL unit type. 3. Оборудование декодирования по п. 1, в котором то, имеют или нет, по меньшей мере, некоторые из множества срезов различные типы NAL-единиц, определяется на основе информации второго флага, полученной из набора параметров кадра (PPS).3. The decoding equipment of claim 1, wherein whether or not at least some of the plurality of slices have different types of NAL units is determined based on second flag information obtained from a frame parameter set (PPS). 4. Оборудование декодирования по п. 3, в котором информация второго флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе неприменимости смешанного типа NAL-единицы ко всем кадрам в наборе выходных слоев (OLS).4. The decoding equipment of claim 3, wherein the second flag information has a predetermined value indicating that all of the plurality of slices are of the same NAL unit type based on the non-applicability of a mixed NAL unit type to all frames in the set of output layers ( OLS). 5. Оборудование декодирования по п. 3, в котором информация второго флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе текущего кадра, включающего в себя только один субкадр.5. The decoding equipment of claim 3, wherein the second flag information has a predetermined value indicating that all of the plurality of slices have the same NAL unit type based on the current frame including only one subframe. 6. Оборудование декодирования по п. 3, в котором информация второго флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе, по меньшей мере, одного из субкадров, включенных в текущий кадр, не трактуемого в качестве одного кадра.6. The decoding equipment of claim 3, wherein the second flag information has a predetermined value indicating that all of the plurality of slices are of the same NAL unit type based on at least one of the subframes included in the current frame, not interpreted as one frame. 7. Оборудование декодирования по п. 1, в котором тип субкадра каждого субкадра, включенного в текущий кадр, определяется на основе типа NAL-единицы каждого субкадра.7. The decoding equipment of claim 1, wherein the subframe type of each subframe included in the current frame is determined based on the NAL unit type of each subframe. 8. Оборудование кодирования для кодирования изображений, при этом оборудование кодирования содержит:8. Encoding equipment for encoding images, wherein the encoding equipment comprises: запоминающее устройство; Memory device; по меньшей мере один процессор, при этом, по меньшей мере, один процессор выполнен с возможностью:at least one processor, wherein the at least one processor is configured to: сегментировать текущий кадр на один или более субкадров;segment the current frame into one or more subframes; определять тип единицы слоя абстрагирования от сети (NAL) каждого из множества срезов, включенных в один или более субкадров; determine a network abstraction layer (NAL) unit type of each of the plurality of slices included in the one or more subframes; кодировать множество срезов на основе определенного типа NAL-единицы,encode multiple slices based on a specific NAL unit type, при этом текущий кадр сегментируется на два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, wherein the current frame is segmented into two or more subframes based on at least some of a plurality of slices having different types of NAL units, при этом каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.wherein each of the two or more subframes is treated as one frame based on at least some of the plurality of slices having different types of NAL units. 9. Оборудование кодирования по п. 8, в котором все срезы в каждом субкадре, включенном в текущий кадр, имеют идентичный тип NAL-единицы.9. The encoding equipment of claim 8, wherein all slices in each subframe included in the current frame are of the same NAL unit type. 10. Оборудование кодирования по п. 8, в котором то, имеют или нет, по меньшей мере, некоторые из множества срезов различные типы NAL-единиц, кодируется на основе предварительно определенной информации флага, включенной в набор параметров кадра (PPS).10. The encoding equipment of claim 8, wherein whether or not at least some of the plurality of slices have different types of NAL units is encoded based on predetermined flag information included in the frame parameter set (PPS). 11. Оборудование кодирования по п. 10, в котором информация флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе неприменимости смешанного типа NAL-единицы ко всем кадрам в наборе выходных слоев (OLS).11. The encoding equipment of claim 10, wherein the flag information has a predetermined value indicating that all of the plurality of slices are of the same NAL unit type based on the non-applicability of a mixed NAL unit type to all frames in the output layer set (OLS). ). 12. Оборудование кодирования по п. 10, в котором информация флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе текущего кадра, включающего в себя только один субкадр.12. The encoding equipment of claim 10, wherein the flag information has a predetermined value indicating that all of the plurality of slices have the same NAL unit type based on the current frame including only one subframe. 13. Оборудование кодирования по п. 10, в котором информация флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе, по меньшей мере, одного из субкадров, включенных в текущий кадр, не трактуемого в качестве одного кадра.13. The encoding equipment of claim 10, wherein the flag information has a predetermined value indicating that all of the plurality of slices are of the same NAL unit type based on at least one of the subframes included in the current frame, not treated as one frame. 14. Оборудование для передачи данных для изображения, при этом оборудование содержит:14. Equipment for transmitting image data, the equipment comprising: по меньшей мере один процессор, выполненный с возможностью получать поток битов, сформированный посредством способа кодирования, выполняемого посредством оборудования кодирования для кодирования изображений; at least one processor configured to receive a bit stream generated by an encoding method performed by the encoding equipment for encoding images; передатчик, выполненный с возможностью передавать поток битов,a transmitter configured to transmit a bit stream, при этом способа кодирования содержит этапы, на которых:in this case, the encoding method contains stages in which: сегментируют текущий кадр на один или более субкадров;segmenting the current frame into one or more subframes; определяют тип единицы слоя абстрагирования от сети (NAL) каждого из множества срезов, включенных в один или более субкадров; determining a network abstraction layer (NAL) unit type of each of the plurality of slices included in the one or more subframes; кодируют множество срезов на основе определенного типа NAL-единицы,encode multiple slices based on a specific NAL unit type, при этом текущий кадр сегментируется на два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, wherein the current frame is segmented into two or more subframes based on at least some of a plurality of slices having different types of NAL units, при этом каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.wherein each of the two or more subframes is treated as one frame based on at least some of the plurality of slices having different types of NAL units.
RU2023128067A 2020-03-05 2021-03-05 Method and device for image encoding/decoding based on mixed type nal unit and method for transmitting bit stream RU2812029C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/985,333 2020-03-05

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2022125867A Division RU2806784C1 (en) 2020-03-05 2021-03-05 Method and device for image encoding/decoding based on mixed type nal unit and method for transmitting bit stream

Publications (2)

Publication Number Publication Date
RU2023128067A RU2023128067A (en) 2023-11-13
RU2812029C2 true RU2812029C2 (en) 2024-01-22

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
RU2689140C1 (en) * 2013-01-18 2019-05-24 Кэнон Кабусики Кайся Method, device and computer program for encapsulating segmented synchronized multimedia data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
RU2689140C1 (en) * 2013-01-18 2019-05-24 Кэнон Кабусики Кайся Method, device and computer program for encapsulating segmented synchronized multimedia data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross et al., "Versatile Video Coding (Draft 8)", JVET-Q2001, 17-th meeting: Brussels, pp. 482, January 2020. Hendry, "AHG9: A summary of HLS contributions on mixed NAL unit types within a coded picture", JVET-Q0773-v1, 17-th meeting: Brussels, pp. 6, January 2020. *
Hendry, "AHG17: On mixed NAL unit types within a picture", JVET-P0124-v1, 16-th meeting: Geneva, pp. 3, October 2019. *

Similar Documents

Publication Publication Date Title
US11902556B2 (en) Mixed NAL unit type-based image encoding/decoding method and device, and method for transmitting bitstream
US11695934B2 (en) Mixed NAL unit type based-video encoding/decoding method and apparatus, and method for transmitting bitstream
JP2022535025A (en) Support for spatial scalability in video encoding and decoding
US20230045490A1 (en) Image or video coding based on nal unit-associated information
TW202143722A (en) Coded video sequence start access unit in video coding
US20230188714A1 (en) Image encoding/decoding method and device for signaling aps identifier, and computer-readable recording medium in which bitstream is stored
RU2812029C2 (en) Method and device for image encoding/decoding based on mixed type nal unit and method for transmitting bit stream
RU2806784C1 (en) Method and device for image encoding/decoding based on mixed type nal unit and method for transmitting bit stream
US11973957B2 (en) Mixed NAL unit type based-video encoding/decoding method and apparatus, and method for transmitting bitstream
US11818380B2 (en) Image encoding/decoding method and device based on hybrid NAL unit type, and recording medium for storing bitstream
JP7375198B2 (en) Method and apparatus for signaling picture segmentation information
US20230143648A1 (en) Method and apparatus for encoding/decoding image, on basis of available slice type information for gdr or irap picture, and recording medium storing bitstream
RU2800596C1 (en) Slice and tile configuration for image/video encoding
US11956450B2 (en) Slice and tile configuration for image/video coding
US20230319302A1 (en) Image encoding/decoding method and apparatus for determining sublayer on basis of whether or not to make reference between layers, and method for transmitting bitstream
US20230156201A1 (en) Image encoding/decoding method and device for determining sub-layers on basis of required number of sub-layers, and bit-stream transmission method
US20230300350A1 (en) Image encoding/decoding method and apparatus for performing sub-bitstream extraction process on basis of maximum time identifier, and computer-readable recording medium storing bitstream
US20220329832A1 (en) Nal unit type-based image or video coding
US20230156227A1 (en) Signaling-based image or video coding of information related to recovery point for gdr
KR20220160043A (en) Video encoding/decoding method, apparatus and recording medium for storing a bitstream based on a hybrid NAL unit type
KR20230017236A (en) Image or video coding based on picture output related information
JP2023519723A (en) Image encoding/decoding method and apparatus for signaling PTL-related information, and computer-readable recording medium storing bitstream
JP2023519980A (en) Image encoding/decoding method and apparatus for signaling HRD parameters and computer readable recording medium storing bitstream