RU2817300C2 - Method and apparatus for encoding/decoding images for transmitting carrier chrominance signal components prediction information in service signals according to whether or not palette mode is applicable, and method for transmitting bitstream - Google Patents
Method and apparatus for encoding/decoding images for transmitting carrier chrominance signal components prediction information in service signals according to whether or not palette mode is applicable, and method for transmitting bitstream Download PDFInfo
- Publication number
- RU2817300C2 RU2817300C2 RU2023125007A RU2023125007A RU2817300C2 RU 2817300 C2 RU2817300 C2 RU 2817300C2 RU 2023125007 A RU2023125007 A RU 2023125007A RU 2023125007 A RU2023125007 A RU 2023125007A RU 2817300 C2 RU2817300 C2 RU 2817300C2
- Authority
- RU
- Russia
- Prior art keywords
- current block
- prediction
- mode
- information
- palette
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000009977 dual effect Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 abstract 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 50
- 241000023320 Luma <angiosperm> Species 0.000 description 49
- 230000011218 segmentation Effects 0.000 description 28
- 230000011664 signaling Effects 0.000 description 19
- 238000000638 solvent extraction Methods 0.000 description 19
- 238000001914 filtration Methods 0.000 description 18
- 238000005192 partition Methods 0.000 description 14
- 238000005070 sampling Methods 0.000 description 13
- 238000003491 array Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000003709 image segmentation Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
[1] Настоящее раскрытие сущности относится к способу и оборудованию кодирования/декодирования изображений, а более конкретно, к способу кодирования/декодирования изображений для передачи в служебных сигналах информации прогнозирования компонентов сигналов цветности в зависимости от того, следует или нет применять палитровый режим, и к способу передачи потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.[1] The present disclosure relates to an image encoding/decoding method and equipment, and more specifically, to a method for encoding/decoding images to carry in signaling signals the prediction information of chrominance signal components depending on whether or not to apply a palette mode, and to a method for transmitting a bitstream generated by an image encoding method/equipment of the present disclosure.
Уровень техникиState of the art
[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.[2] Recently, the demand for high-quality, high-definition images, such as high-definition (HD) images and ultra-high-definition (UHD) images, has been 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] The purpose of the present disclosure is to provide an image encoding/decoding method and equipment with improved encoding/decoding efficiency.
[5] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений для повышения эффективности кодирования/декодирования посредством передачи в служебных сигналах информации прогнозирования компонентов сигналов цветности в зависимости от того, следует или нет применять палитровый режим.[5] The purpose of the present disclosure is to provide an image encoding/decoding method and equipment for improving encoding/decoding efficiency by signaling the prediction information of chrominance signal components depending on whether or not to use a palette mode.
[6] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[6] Another object of the present disclosure is to provide a method for transmitting a bit stream generated by an image encoding method or equipment according to the present disclosure.
[7] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[7] Another object of the present disclosure is to provide a recording medium storing a bitstream generated by an image encoding method or equipment according to the present disclosure.
[8] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[8] Another object of the present disclosure is to provide a recording medium storing a bitstream received, decoded, and used to reconstruct an image by the image decoding equipment according to the present disclosure.
[9] Технические проблемы, разрешаемые посредством настоящего раскрытия сущности, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[9] The technical problems addressed by the present disclosure are not limited to the above technical problems, and other technical problems not described herein should become apparent to those skilled in the art from the following description.
Техническое решениеTechnical solution
[10] Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений согласно аспекту настоящего раскрытия сущности, может содержать определение текущего блока посредством разбиения изображения, идентификацию того, применяется или нет палитровый режим для текущего блока, на основе флага палитрового режима, полученного из потока битов, получение информации кодирования в палитровом режиме текущего блока из потока битов, на основе типа дерева текущего блока и того, применяется или нет палитровый режим для текущего блока, и получение информации прогнозирования компонентов сигналов цветности текущего блока из потока битов, на основе палитрового режима, не применяемого для текущего блока.[10] An image decoding method performed by the image decoding equipment according to an aspect of the present disclosure may comprise determining a current block by dividing the image, identifying whether or not a palette mode is applied to the current block based on a palette mode flag obtained from the bitstream, obtaining palette mode encoding information of the current block from the bit stream, based on the tree type of the current block and whether palette mode is applied or not for the current block, and obtaining prediction information of the chrominance signal components of the current block from the bit stream, based on the palette mode not applying for the current block.
[11] Помимо этого, оборудование декодирования изображений согласно аспекту настоящего раскрытия сущности может содержать запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может определять текущий блок посредством разбиения изображения, идентифицировать то, применяется или нет палитровый режим для текущего блока, на основе флага палитрового режима, полученного из потока битов, получать информацию кодирования в палитровом режиме текущего блока из потока битов, на основе типа дерева текущего блока и того, применяется или нет палитровый режим для текущего блока, и получать информацию прогнозирования компонентов сигналов цветности текущего блока из потока битов, на основе палитрового режима, не применяемого для текущего блока.[11] In addition, the image decoding equipment according to an aspect of the present disclosure may include a storage device and at least one processor. The at least one processor may determine the current block by dividing the image, identify whether or not a palette mode is applied to the current block based on a palette mode flag obtained from the bit stream, obtain palette mode encoding information of the current block from the bit stream, based on the tree type of the current block and whether or not a palette mode is applied to the current block, and obtain prediction information for chrominance signal components of the current block from the bitstream based on the palette mode not applied to the current block.
[12] Помимо этого, способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений согласно аспекту настоящего раскрытия сущности, может содержать определение текущего блока посредством разбиения изображения, определение режима прогнозирования текущего блока, кодирование флага палитрового режима, указывающего то, представляет режим прогнозирования текущего блока собой или нет палитровый режим, на основе того, представляет режим прогнозирования текущего блока собой или нет палитровый режим, кодирование информации кодирования в палитровом режиме, в которой текущий блок кодируется в палитровом режиме, на основе типа дерева текущего блока, и того, представляет режим прогнозирования текущего блока собой или нет палитровый режим, и кодирование информации прогнозирования компонентов сигналов цветности текущего блока, на основе режима прогнозирования текущего блока, не представляющего собой палитровый режим.[12] In addition, the image encoding method carried out by the image encoding equipment according to an aspect of the present disclosure may comprise determining a current block by dividing the image, determining a prediction mode of the current block, encoding a palette mode flag indicating whether the prediction mode of the current block is or not a palette mode, based on whether the current block's prediction mode represents or not a palette mode, encoding palette mode encoding information in which the current block is palette-mode encoded, based on the tree type of the current block, and whether the current block's prediction mode represents block is a palette mode or not, and encoding prediction information of chrominance signal components of the current block based on the prediction mode of the current block not being a palette mode.
[13] Помимо этого, способ передачи согласно другому аспекту настоящего раскрытия сущности может передавать поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[13] In addition, the transmission method according to another aspect of the present disclosure may transmit a bit stream generated by the image encoding equipment or the image encoding method of the present disclosure.
[14] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего раскрытия сущности может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[14] In addition, the computer-readable recording medium according to another aspect of the present disclosure can store a bit stream generated by the image encoding equipment or the image encoding method of the present disclosure.
[15] Признаки, кратко обобщенные выше относительно настоящего раскрытия сущности, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего раскрытия сущности и не ограничивают объем настоящего раскрытия сущности.[15] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.
Преимущества изобретенияAdvantages of the invention
[16] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.[16] According to the present disclosure, it is possible to provide an image encoding/decoding method and equipment with improved encoding/decoding efficiency.
[17] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений для повышения эффективности кодирования/декодирования посредством передачи в служебных сигналах информации прогнозирования компонентов сигналов цветности в зависимости от того, следует или нет применять палитровый режим.[17] In addition, according to the present disclosure, it is possible to provide an image encoding/decoding method and equipment for improving encoding/decoding efficiency by signaling the prediction information of chrominance signal components depending on whether or not to apply the palette mode.
[18] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[18] In addition, according to the present disclosure, it is possible to provide a method for transmitting a bit stream generated by an image encoding method or equipment according to the present disclosure.
[19] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[19] In addition, according to the present disclosure, it is possible to provide a recording medium storing a bitstream generated by the image encoding method or equipment according to the present disclosure.
[20] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[20] 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.
[21] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из подробного описания.[21] 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 disclosure will be more clearly understood from the detailed description.
Краткое описание чертежейBrief description of drawings
[22] Фиг. 1 является видом, схематично показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.[22] FIG. 1 is a view schematically showing a video encoding system to which an embodiment of the present disclosure is applicable.
[23] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[23] FIG. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.
[24] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[24] FIG. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.
[25] Фиг. 4 является видом, показывающим структуру сегментации изображения согласно варианту осуществления.[25] FIG. 4 is a view showing an image segmentation structure according to the embodiment.
[26] Фиг. 5 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре.[26] FIG. 5 is a view showing an embodiment of a block segmentation type according to a multi-type tree structure.
[27] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.[27] FIG. 6 is a view showing a signaling mechanism for blocking information in a quadtree with a nested multi-type tree structure according to the present disclosure.
[28] Фиг. 7 является видом, показывающим вариант осуществления, в котором CTU сегментируется на несколько CU.[28] FIG. 7 is a view showing an embodiment in which a CTU is segmented into multiple CUs.
[29] Фиг. 8 является видом, иллюстрирующим вариант осуществления избыточного шаблона разбиения.[29] FIG. 8 is a view illustrating an embodiment of a redundant split pattern.
[30] Фиг. 9 является видом, иллюстрирующим синтаксис для передачи в служебных сигналах форматов сигналов цветности согласно варианту осуществления.[30] FIG. 9 is a view illustrating syntax for signaling chrominance signal formats according to an embodiment.
[31] Фиг. 10 является видом, иллюстрирующим таблицу классификации форматов сигналов цветности согласно варианту осуществления.[31] FIG. 10 is a view illustrating a chrominance signal format classification table according to an embodiment.
[32] Фиг. 11 является видом, иллюстрирующим горизонтальное сканирование и вертикальное сканирование согласно варианту осуществления.[32] FIG. 11 is a view illustrating horizontal scanning and vertical scanning according to the embodiment.
[33] Фиг. 12-13 являются видами, иллюстрирующими синтаксис для палитрового режима согласно варианту осуществления.[33] FIG. 12-13 are views illustrating syntax for palette mode according to an embodiment.
[34] Фиг. 14-19 являются видами, иллюстрирующими синтаксис для палитрового режима согласно варианту осуществления.[34] FIG. 14-19 are views illustrating syntax for palette mode according to an embodiment.
[35] Фиг. 20 является видом, иллюстрирующим уравнение для определения PredictorPaletteEntries и CurrentPaletteEntries согласно варианту осуществления.[35] FIG. 20 is a view illustrating an equation for determining PredictorPaletteEntries and CurrentPaletteEntries according to an embodiment.
[36] Фиг. 21 является видом, иллюстрирующим синтаксис единицы кодирования согласно модифицированному варианту осуществления.[36] FIG. 21 is a view illustrating the syntax of an encoding unit according to the modified embodiment.
[37] Фиг. 22 является блок-схемой последовательности операций, иллюстрирующей способ передачи в служебных сигналах предварительно определенной информации внутреннего прогнозирования сигналов цветности согласно варианту осуществления.[37] FIG. 22 is a flowchart illustrating a method for transmitting predetermined intra-chrominance signal prediction information in signaling signals according to an embodiment.
[38] Фиг. 23 является блок-схемой последовательности операций, иллюстрирующей способ получения информации прогнозирования сигналов цветности посредством оборудования декодирования согласно варианту осуществления.[38] FIG. 23 is a flowchart illustrating a method for obtaining chrominance signal prediction information by decoding equipment according to the embodiment.
[39] Фиг. 24 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображения посредством оборудования кодирования согласно варианту осуществления.[39] FIG. 24 is a flowchart illustrating a method for encoding an image by the encoding equipment according to the embodiment.
[40] Фиг. 30 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображения посредством оборудования декодирования согласно варианту осуществления.[40] FIG. 30 is a flowchart illustrating a method for decoding an image by the decoding equipment according to the embodiment.
[41] Фиг. 26 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[41] FIG. 26 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
Оптимальный режим осуществления изобретенияOptimal mode for carrying out the invention
[42] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они легко могут реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.[42] Embodiments of the present disclosure 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.
[43] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.[43] In describing the present disclosure, if it is determined that a detailed description of a related known function or construct would cause unnecessary ambiguity to the scope of the present disclosure, the detailed description thereof is omitted. In the drawings, parts not related to the description of the present disclosure are omitted, and like reference numbers are added to like parts.
[44] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.[44] 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.
[45] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.[45] 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 disclosure, 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.
[46] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.[46] 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 disclosure.
[47] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.[47] 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 disclosure. In addition, embodiments including other components in addition to the components described in the various embodiments are included within the scope of the present disclosure.
[48] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.[48] 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.
[49] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).[49] 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).
[50] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.[50] 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 chrominance signal component.
[51] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.[51] 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.
[52] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".[52] 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".
[53] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. "Блок сигналов цветности текущего блока" может выражаться посредством включения явного описания блока сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".[53] In addition, in the present disclosure, "current block" may mean "the luma block of the current block" unless explicitly referred to as a chrominance block. The "current block chroma block" may be expressed by including an explicit description of the chroma block, such as "chroma block" or "current chroma block".
[54] В настоящем раскрытии сущности, термин "/" и "" должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".[54] 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".
[55] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".[55] 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.”
[56] Общее представление системы кодирования видео [56] Video Coding System Overview
[57] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.[57] FIG. 1 is a view showing a video encoding system according to the present disclosure.
[58] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.[58] The video encoding system according to an embodiment may include encoding equipment 10 and decoding equipment 20. The encoding equipment 10 may deliver encoded information or video and/or image data to the decoding equipment 20 in the form of a file or streaming via a digital storage medium or a network.
[59] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[59] 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.
[60] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[60] 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.
[61] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.[61] 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 bit stream.
[62] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.[62] 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.
[63] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.[63] The decoding unit 22 can decode the video/image by performing a series of procedures such as dequantization, deconversion and prediction corresponding to the operation of the encoding unit 12.
[64] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[64] The rendering unit 23 may prepare a decoded video/image by rendering. The video/image prepared by rendering can be displayed through the display.
[65] Общее представление оборудования кодирования изображений [65] General introduction to image encoding equipment
[66] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[66] FIG. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.
[67] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.[67] 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.
[68] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.[68] 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.
[69] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[69] 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.
[70] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.[70] 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 bitstream.
[71] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[71] 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.
[72] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.[72] 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.
[73] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[73] 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.
[74] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.[74] 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 may be transmitted to the converter 120.
[75] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[75] 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.
[76] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.[76] 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". Quantizer 130 may re-arrange the quantized transform coefficients in block form 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.
[77] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.[77] The 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 bitstream. The video/image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general restriction information. The signaling information, 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.
[78] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.[78] 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 .
[79] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.[79] 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 through dequantizer 140 and inverse transformer 150.
[80] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[80] 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 the 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.
[81] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.[81] 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. , sampled adaptive bias, adaptive contour 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.
[82] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.[82] 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.
[83] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.[83] 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.
[84] Общее представление оборудования декодирования изображений [84] General introduction to image decoding equipment
[85] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[85] FIG. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.
[86] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.[86] 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.
[87] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.[87] 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.
[88] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.[88] 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.
[89] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.[89] 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.
[90] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.[90] 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 260, or an intra-prediction module 265.
[91] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[91] 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.
[92] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[92] The inverse converter 230 may inversely convert the transform coefficients to obtain a residual signal (residual block, residual sample array).
[93] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.[93] The prediction module may perform prediction for the current block and may generate a predicted block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoder 210, and may determine a particular intra/inter prediction mode.
[94] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.[94] 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.
[95] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.[95] 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.
[96] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[96] 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.
[97] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[97] The adder 235 may 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.
[98] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[98] 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. , sampled adaptive bias, adaptive contour filter, bilateral filter, etc.
[99] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.[99] 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.
[100] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.[100] 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.
[101] Общее представление сегментации изображений [101] General introduction to image segmentation
[102] Способ кодирования видео/изображений согласно настоящему раскрытию сущности может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)-квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования в форме потока битов. Энтропийный декодер 210 оборудования декодирования может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений.[102] The video/image encoding method according to the present disclosure can be implemented based on an image segmentation structure as follows. In particular, the prediction, residual processing ((in)transformation, (de)-quantization, etc.), syntax element encoding and filtering procedures described below can be performed on a CTU, CU (and/or TU, PU) basis ), extracted based on the image segmentation structure. The image may be segmented in units of blocks, and the block segmentation procedure may be performed in the image segmentation unit 110 of the encoding equipment. Segmentation-related information may be encoded by entropy encoder 190 and transmitted to decoding equipment in the form of a bit stream. The entropy decoder 210 of the decoding equipment can extract the block segmentation structure of the current frame based on the segmentation-related information obtained from the bitstream, and based on this, can perform a series of procedures (for example, prediction, residual processing, block/frame reconstruction, in-loop filtering, and etc.) for decoding images.
[103] Кадры могут сегментироваться на последовательность единиц дерева кодирования (CTU). Фиг. 4 показывает пример, в котором кадр сегментируется на CTU. CTU может соответствовать блоку дерева кодирования (CTB). Альтернативно, CTU может включать в себя блок дерева кодирования выборок сигналов яркости и два блока дерева кодирования соответствующих выборок сигналов цветности. Например, для кадра, который содержит три массива выборок, CTU может включать в себя блок NxN выборок сигналов яркости и два соответствующих блока выборок сигналов цветности.[103] Frames may be segmented into a sequence of coding tree units (CTUs). Fig. 4 shows an example in which a frame is segmented into CTUs. A CTU may correspond to a coding tree block (CTB). Alternatively, the CTU may include a coding tree block for luma samples and two coding tree blocks for corresponding chroma samples. For example, for a frame that contains three sample arrays, the CTU may include a block of NxN luma samples and two corresponding blocks of chroma samples.
[104] Общее представление сегментации CTU [104] CTU segmentation overview
[105] Как описано выше, единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.[105] As described above, a coding unit can be obtained by recursively segmenting a coding tree unit (CTU) or largest coding unit (LCU) according to a quadtree/binary tree/ternary tree (QT/BT/TT) structure. For example, a CTU may first be segmented into quadtree structures. Thereafter, the leaf nodes of the quadtree structure can be further segmented by a multi-type tree structure.
[106] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.[106] Quadtree segmentation means that the current CU (or CTU) is segmented equally into four. Through segmentation according to the quadtree, the current CU can be segmented into four CUs having identical width and identical height. When the current CU is no longer segmented into a quadtree structure, the current CU corresponds to a leaf node of the quadtree structure. The CU corresponding to the leaf node of the quadtree structure can no longer be segmented and can be used as the final encoding unit described above. Alternatively, the CU corresponding to a leaf node of the quadtree structure may further be segmented by a multi-type tree structure.
[107] Фиг. 5 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре. Сегментация согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.[107] FIG. 5 is a view showing an embodiment of a block segmentation type according to a multi-type tree structure. Segmentation according to a multi-type tree structure may include two types of partitioning according to a binary tree structure and two types of partitioning according to a ternary tree structure.
[108] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 4, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 5, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.[108] Two types of partitioning according to the binary tree structure may include vertical binary partitioning (SPLIT_BT_VER) and horizontal binary partitioning (SPLIT_BT_HOR). Vertical binary splitting (SPLIT_BT_VER) means that the current CU is split equally in half in the vertical direction. As shown in FIG. 4, through vertical binary partitioning, two CUs having a height identical to the height of the current CU and having a width that is half the width of the current CU can be formed. Horizontal binary splitting (SPLIT_BT_HOR) means that the current CU is split equally in half in the horizontal direction. As shown in FIG. 5, through horizontal binary partitioning, two CUs having a height that is half the height of the current CU and having a width identical to the width of the current CU can be formed.
[109] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (SPLIT_TT_VER) и горизонтальное троичное разбиение (SPLIT_TT_HOR). В вертикальном троичном разбиении (SPLIT_TT_VER), текущая CU разбивается в вертикальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством вертикального троичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет 1/4 от ширины текущей CU, и CU, имеющая высоту, идентичную высоте текущей CU, и имеющая ширину, которая составляет половину от ширины текущей CU. В горизонтальном троичном разбиении (SPLIT_TT_HOR), текущая CU разбивается в горизонтальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширины, идентичную ширине текущей CU.[109] Two types of partitioning according to the ternary tree structure may include vertical ternary partitioning (SPLIT_TT_VER) and horizontal ternary partitioning (SPLIT_TT_HOR). In vertical ternary splitting (SPLIT_TT_VER), the current CU is split in the vertical direction in a ratio of 1:2:1. As shown in FIG. 5, through vertical ternary partitioning, two CUs having a height identical to the height of the current CU and having a width that is 1/4 of the width of the current CU, and a CU having a height identical to the height of the current CU and having a width that is half the width of the current CU. In horizontal ternary splitting (SPLIT_TT_HOR), the current CU is split horizontally in a ratio of 1:2:1. As shown in FIG. 5, through horizontal ternary partitioning, two CUs having a height that is 1/4 of the height of the current CU and having a width identical to the width of the current CU, and a CU having a height that is half the height of the current CU and having width identical to the width of the current CU.
[110] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.[110] FIG. 6 is a view showing a signaling mechanism for blocking information in a quadtree with a nested multi-type tree structure according to the present disclosure.
[111] Здесь, CTU трактуется в качестве корневого узла дерева квадрантов и сегментируется в первый раз на структуру в виде дерева квадрантов. Информация (например, qt_split_flag), указывающая то, выполняется или нет разбиение на дерево квадрантов для текущей CU (CTU или узла (QT_node) дерева квадрантов), передается в служебных сигналах. Например, когда qt_split_flag имеет первое значение (например, "1"), текущая CU может сегментироваться на дерево квадрантов. Помимо этого, когда qt_split_flag имеет второе значение (например, "0"), текущая CU не сегментируется на дерево квадрантов, но становится узлом-листом (QT_leaf_node) дерева квадрантов. Каждый узел-лист дерева квадрантов затем дополнительно может сегментироваться на многотипные древовидные структуры. Таким образом, узел-лист дерева квадрантов может становиться узлом (MTT_node) многотипного дерева. В многотипной древовидной структуре, первый флаг (например, Mtt_split_cu_flag) передается в служебных сигналах, чтобы указывать то, сегментируется или нет дополнительно текущий узел. Если соответствующий узел дополнительно сегментируется (например, если первый флаг равен 1), второй флаг (например, Mtt_split_cu_vertical_flag) может передаваться в служебных сигналах, чтобы указывать направление разбиения. Например, направление разбиения может представлять собой вертикальное направление, если второй флаг равен 1, и может представлять собой горизонтальное направление, если второй флаг равен 0. Затем третий флаг (например, Mtt_split_cu_binary_flag) может передаваться в служебных сигналах, чтобы указывать то, представляет тип разбиения собой тип на основе двоичного разбиения или тип на основе троичного разбиения. Например, тип разбиения может представлять собой тип на основе двоичного разбиения, когда третий флаг равен 1, и может представлять собой тип на основе троичного разбиения, когда третий флаг равен 0. Узел многотипного дерева, полученного посредством двоичного разбиения или троичного разбиения, дополнительно может сегментироваться на многотипные древовидные структуры. Тем не менее, узел многотипного дерева может не сегментироваться на структуры в виде дерева квадрантов. Если первый флаг равен 0, соответствующий узел многотипного дерева более не разбивается, но становится узлом-листом (MTT_leaf_node) многотипного дерева. CU, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.[111] Here, the CTU is treated as the root node of a quadtree and is segmented for the first time into a quadtree structure. Information (eg, qt_split_flag) indicating whether or not quadtree splitting is performed for the current CU (CTU or QT_node) is signaled. For example, when qt_split_flag has the first value (for example, "1"), the current CU can be segmented into a quadtree. In addition, when qt_split_flag has a second value (for example, "0"), the current CU is not split into the quadtree, but becomes a leaf node (QT_leaf_node) of the quadtree. Each quadtree leaf node can then be further segmented into multi-type tree structures. Thus, a quadtree leaf node can become a node (MTT_node) of a multi-type tree. In a multi-type tree structure, a first flag (eg, Mtt_split_cu_flag) is signaled to indicate whether or not the current node is further segmented. If the corresponding node is further split (eg, if the first flag is 1), a second flag (eg, Mtt_split_cu_vertical_flag) may be signaled to indicate the direction of the split. For example, the split direction may be a vertical direction if the second flag is 1, and may be a horizontal direction if the second flag is 0. A third flag (for example, Mtt_split_cu_binary_flag) may then be signaled to indicate what represents the split type is a binary partition type or a ternary partition type. For example, the partition type may be a binary partition-based type when the third flag is 1, and may be a ternary partition-based type when the third flag is 0. A node of a multi-type tree obtained by a binary partition or a ternary partition may further be segmented into multi-type tree structures. However, a multi-type tree node may not be segmented into quadtree structures. If the first flag is 0, the corresponding multi-type tree node is no longer split, but becomes a leaf node (MTT_leaf_node) of the multi-type tree. The CU corresponding to a leaf node of a multi-type tree can be used as the final encoding unit described above.
[112] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1. В нижеприведенном описании, режим разбиения на основе многотипного дерева может называться "типом разбиения на основе мультидерева" или "типом разбиения".[112] Based on mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag, the multi-tree split mode (MttSplitMode) of the CU can be retrieved as shown in Table 1 below. In the following description, the multi-tree split mode may be called "multi-tree split type" or "partition type".
[113][113]
[114] Фиг. 7 является видом, показывающим пример, в котором CTU сегментируется на несколько CU посредством применения многотипного дерева после применения дерева квадрантов. На фиг. 7, полужирные края 710 блоков представляют сегментацию на основе дерева квадрантов, и оставшиеся края 720 представляют сегментацию на основе многотипного дерева. CU может соответствовать блоку кодирования (CB). В варианте осуществления, CU может включать в себя блок кодирования выборок сигналов яркости и два блока кодирования выборок сигналов цветности, соответствующих выборкам сигналов яркости. CB- или TB-размер компонентных (выборок) сигнала цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигнала яркости согласно соотношению компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.) кадра/изображения. В случае цветового формата 4:4:4, CB/TB-размер компонентов сигнала цветности может задаваться равным CB/TB-размеру компонентов сигнала яркости. В случае цветового формата 4:2:2, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной высоте CB/TB компонентов сигнала яркости. В случае цветового формата 4:2:0, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной половине высоты CB/TB компонентов сигнала яркости.[114] FIG. 7 is a view showing an example in which a CTU is segmented into multiple CUs by applying a multi-type tree after applying a quadtree. In fig. 7, bold block edges 710 represent quadtree-based segmentation, and remaining block edges 720 represent multi-tree segmentation. The CU may correspond to a coding block (CB). In an embodiment, the CU may include a luma sample encoder and two chroma sample encoders corresponding to the luma samples. The CB or TB size of the chrominance signal components may be extracted based on the CB or TB size of the luminance signal components according to the component ratio according to the color format (chrominance signal format, e.g., 4:4:4, 4:2 :2, 4:2:0, etc.) frame/image. In the case of a 4:4:4 color format, the CB/TB size of the chrominance signal components may be set to be equal to the CB/TB size of the luma signal components. In the case of a 4:2:2 color format, the width of the CB/TB chrominance components may be set equal to half the width of the CB/TB chrominance components, and the height of the CB/TB chrominance components may be set to be equal to the height of the CB/TB luminance components. In the case of a 4:2:0 color format, the width of the CB/TB chrominance components may be set to half the width of the CB/TB luminance components, and the height of the CB/TB chrominance components may be set to half the height of the CB/TB luminance components.
[115] В варианте осуществления, когда размер CTU равен 128 на основе единицы выборок сигналов яркости, размер CU может иметь размер от 128×128 до 4×4, что составляет идентичный размер с CTU. В одном варианте осуществления, в случае цветового формата 4:2:0 (или формата сигналов цветности), CB-размер сигналов цветности может иметь размер от 64×64 до 2×2.[115] In the embodiment, when the CTU size is 128 based on the luminance signal unit samples, the CU size may have a size from 128x128 to 4x4, which is the same size as the CTU. In one embodiment, in the case of a 4:2:0 color format (or chroma signal format), the CB size of the chroma signals may be from 64x64 to 2x2.
[116] Между тем, в варианте осуществления, CU-размер и TU-размер могут быть идентичными. Альтернативно, может быть предусмотрено множество TU в CU-области. TU-размер, в общем, представляет размер блока преобразования (TB) компонентных (выборок) сигналов яркости.[116] Meanwhile, in an embodiment, the CU size and the TU size may be identical. Alternatively, a plurality of TUs may be provided in the CU area. The TU size generally represents the size of the transform unit (TB) of component (sampled) luminance signals.
[117] TU-размер может извлекаться на основе наибольшего допустимого TB-размера maxTbSize, который составляет предварительно определенное значение. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Например, наибольший допустимый TB-размер сигналов яркости может составлять 64×64, и наибольший допустимый TB-размер сигналов цветности может составлять 32×32. Если ширина или высота CB, сегментированного согласно древовидной структуре, больше наибольшей ширины или высоты преобразования, CB может автоматически (или неявно) сегментироваться до тех пор, пока предел TB-размера в горизонтальном и вертикальном направлениях не удовлетворяется.[117] The TU size may be derived based on the largest valid TB size maxTbSize, which is a predetermined value. For example, when the CU size exceeds maxTbSize, a plurality of TUs (TB) having maxTbSize may be retrieved from the CU, and conversion/reconversion may be performed in TU units (TB). For example, the largest allowable TB size for luma signals may be 64×64, and the largest allowable TB size for chrominance signals may be 32×32. If the width or height of a CB segmented according to the tree structure is greater than the largest width or height of the transform, the CB may be automatically (or implicitly) segmented until the TB size limit in the horizontal and vertical directions is satisfied.
[118] Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, может быть предусмотрена одна или множество TU (или TB) в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.[118] In addition, for example, when intra prediction is applied, the intra prediction mode/type may be retrieved in CU (or CB) units, and the procedure for retrieving neighboring reference samples and generating prediction samples can be performed in TU (or TB) units. In this case, one or a plurality of TUs (or TBs) may be provided in one CU (or CB) area, and, in this case, the plurality of TUs or TBs may share the same intra prediction mode/type.
[119] Между тем, для схемы дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, следующие параметры могут передаваться в служебных сигналах в качестве синтаксических SPS-элементов из оборудования кодирования в оборудование декодирования. Например, по меньшей мере, одно из CTU-размера, который представляет собой параметр, представляющий размер корневых узлов дерева квадрантов, MinQTSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев дерева квадрантов, MaxBtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов двоичного дерева, MaxTtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов троичного дерева, MaxMttDepth, который представляет собой параметр, представляющий максимальную разрешенную глубину иерархии разбиения на основе многотипного дерева из узла-листа дерева квадрантов, MinBtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев двоичного дерева, или MinTtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев троичного дерева, передается в служебных сигналах.[119] Meanwhile, for a quadtree-based encoding scheme with a nested multi-type tree, the following parameters may be signaled as SPS syntax elements from the encoding equipment to the decoding equipment. For example, at least one of CTU-size, which is a parameter representing the size of the quadtree root nodes, MinQTSize, which is a parameter representing the minimum allowed size of the quadtree leaf nodes, MaxBtSize, which is a parameter representing the maximum the allowed size of the root nodes of a binary tree, MaxTtSize, which is a parameter representing the maximum allowed size of the root nodes of a ternary tree, MaxMttDepth, which is a parameter representing the maximum allowed depth of a multi-tree based partition hierarchy from a quadtree leaf node, MinBtSize, which is a parameter representing the minimum allowed size of binary tree leaf nodes, or MinTtSize, which is a parameter representing the minimum allowed size of ternary tree leaf nodes, is signaled.
[120] В качестве варианта осуществления использования формата сигнала цветности 4:2:0, CTU-размер может задаваться равным блокам сигналов яркости 128×128 и двум блокам сигналов цветности 64×64, соответствующим блокам сигналов яркости. В этом случае, MinOTSize может задаваться равным 16×16, MaxBtSize может задаваться равным 128×128, MaxTtSzie может задаваться равным 64×64, MinBtSize и MinTtSize могут задаваться равными 4×4, и MaxMttDepth может задаваться равным 4. Сегментация на основе дерева квадрантов может применяться к CTU, чтобы формировать узлы-листья дерева квадрантов. Узел-лист дерева квадрантов может называться "QT-узлом-листом". Узлы-листья дерева квадрантов могут иметь размер от размера 16×16 (например, MinOTSize) до размера 128×128 (например, CTU-размера). Если QT-узел-лист составляет 128×128, он может дополнительно не сегментироваться на двоичное дерево/троичное дерево. Это обусловлено тем, что в этом случае, даже при сегментации, он превышает MaxBtsize и MaxTtszie (например, 64×64). В других случаях, QT-узлы-листья дополнительно могут сегментироваться на многотипное дерево. Следовательно, QT-узел-лист представляет собой корневой узел для многотипного дерева, и QT-узел-лист может иметь значение в 0 для глубины многотипного дерева (mttDepth). Если глубина многотипного дерева достигает MaxMttdepth (например, 4), дополнительная сегментация может более не рассматриваться. Если ширина узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, то дополнительная горизонтальная сегментация может не рассматриваться. Если высота узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, дополнительная вертикальная сегментация может не рассматриваться. Когда сегментация не рассматривается, оборудование кодирования может пропускать передачу в служебных сигналах информации сегментации. В этом случае, оборудование декодирования может извлекать информацию сегментации с предварительно определенным значением.[120] As an embodiment of using a 4:2:0 chrominance signal format, the CTU size may be set to 128x128 luma blocks and two 64x64 chroma blocks corresponding to luma blocks. In this case, MinOTSize can be set to 16x16, MaxBtSize can be set to 128x128, MaxTtSzie can be set to 64x64, MinBtSize and MinTtSize can be set to 4x4, and MaxMttDepth can be set to 4. Quadtree Segmentation can be applied to a CTU to form quadtree leaf nodes. A quadtree leaf node may be called a "QT leaf node". Quadtree leaf nodes can range in size from 16x16 (for example, MinOTSize) to 128x128 (for example, CTU-size). If the QT leaf node is 128x128, it may not be further segmented into a binary tree/ternary tree. This is due to the fact that in this case, even with segmentation, it exceeds MaxBtsize and MaxTtszie (for example, 64x64). In other cases, QT leaf nodes may further be segmented into a multi-type tree. Therefore, a QT leaf node is the root node for a multi-type tree, and a QT leaf node can have a value of 0 for the multi-type tree depth (mttDepth). If the depth of the multi-type tree reaches MaxMttdepth (for example, 4), additional segmentation may no longer be considered. If the width of a multi-type tree node is MinBtSize and less than or equal to 2xMinTtSize, then additional horizontal segmentation may not be considered. If the node height of a multi-type tree is MinBtSize and less than or equal to 2xMinTtSize, additional vertical segmentation may not be considered. When segmentation is not considered, the encoding equipment may omit the signaling of segmentation information. In this case, the decoding equipment can extract segmentation information with a predetermined value.
[121] Между тем, одна CTU может включать в себя блок кодирования выборок сигналов яркости (далее называемый "блоком сигналов яркости") и два блока кодирования выборок сигналов цветности, соответствующих ему (далее называемые "блоками сигналов цветности"). Вышеописанная схема на основе дерева кодирования можно одинаково или отдельно применяться к блоку сигналов яркости и к блоку сигналов цветности текущей CU. В частности, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на идентичную блочную древовидную структуру, и в этом случае, древовидная структура представляется как SINGLE_TREE. Альтернативно, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на отдельные блочные древовидные структуры, и в этом случае, древовидная структура может представляться как DUAL_TREE. Таким образом, когда CTU сегментируется на сдвоенные деревья, блочная древовидная структура для блока сигналов яркости и блочная древовидная структура для блока сигналов цветности могут отдельно присутствовать. В этом случае, блочная древовидная структура для блока сигналов яркости может называться "DUAL_TREE_LUMA", и блочная древовидная структура для компонента сигнала цветности может называться "DUAL_TREE_CHROMA". Для групп P- и B-срезов/плиток, блоки сигналов яркости и сигналов цветности в одной CTU могут быть ограничены тем, что они имеют идентичную структуру в виде дерева кодирования. Тем не менее, для групп I-срезов/плиток, блоки сигналов яркости и сигналов цветности могут иметь отдельную блочную древовидную структуру относительно друг друга. Если отдельная блочная древовидная структура применяется, CTB сигналов яркости может сегментироваться на CU на основе конкретной структуры в виде дерева кодирования, и CTB сигналов цветности может сегментироваться на CU сигнала цветности на основе другой структуры в виде дерева кодирования. Таким образом, это означает то, что CU в группе I-срезов/плиток, к которой применяется отдельная блочная древовидная структура, может включать в себя блок кодирования компонентов сигнала яркости или блоки кодирования двух компонентов сигнала цветности, и CU группы P- или B-срезов/плиток может включать в себя блоки трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).[121] Meanwhile, one CTU may include a luminance signal sample encoding unit (hereinafter referred to as a "luminance signal unit") and two chrominance signal sample encoding units corresponding thereto (hereinafter referred to as "chrominance signal units"). The above-described coding tree-based scheme can be applied equally or separately to the luma signal block and the chrominance signal block of the current CU. In particular, luma and chroma blocks in the same CTU may be segmented into an identical block tree structure, in which case, the tree structure is represented as SINGLE_TREE. Alternatively, blocks of luma and chroma signals in a single CTU may be segmented into separate block tree structures, in which case, the tree structure may be represented as DUAL_TREE. Thus, when a CTU is segmented into dual trees, a block tree structure for a luma block and a block tree for a chrominance block may be separately present. In this case, the block tree structure for the luminance signal block may be called "DUAL_TREE_LUMA", and the block tree structure for the chrominance signal component may be called "DUAL_TREE_CHROMA". For groups of P- and B-slices/tiles, luma and chrominance blocks in the same CTU may be limited to having identical encoding tree structure. However, for groups of I-slices/tiles, luma and chroma blocks may have a separate block tree structure relative to each other. If a separate block tree structure is used, the luma CTB may be segmented into CUs based on a particular coding tree structure, and the chroma CTB may be segmented into chrominance CUs based on a different coding tree structure. Thus, this means that a CU in an I-slice/tile group to which a separate block tree structure is applied may include a luma component encoding unit or two chrominance component encoding units, and CUs of a P- or B- group. slices/tiles may include blocks of three color components (a luma component and two chrominance components).
[122] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве понятия, включенного в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.[122] Although a structure in the form of a quadtree-based coding tree with a nested multi-type tree is described, the structure in which the CU is segmented is not limited to this. For example, a BT structure and a TT structure may be interpreted as a concept included in a multi-partitioning tree (MPT) structure, and a CU may be interpreted as segmentable through a QT structure and an MPT structure. In an example in which the CU is segmented across a QT structure and an MPT structure, a syntax element (for example, MPT_split_type) including information regarding how many blocks the leaf node of the QT structure is segmented into, and a syntax element (for example, MPT_split_mode) , including information regarding in which of the vertical and horizontal directions the leaf node of the QT structure is segmented, may be signaled to determine the segmentation structure.
[123] В другом примере, CU может сегментироваться способом, отличающимся от QT-структуры, BT-структуры или TT-структуры. Таким образом, в отличие от того, что CU меньшей глубины сегментируется на 1/4 от CU большей глубины согласно QT-структуре, CU меньшей глубины сегментируется на 1/2 от CU большей глубины согласно BT-структуре, или CU меньшей глубины сегментируется на 1/4 или 1/2 от CU большей глубины согласно TT-структуре, CU меньшей глубины может сегментироваться на 1/5, 1/3, 3/8, 3/5, 2/3 или 5/8 от CU большей глубины в некоторых случаях, и способ сегментации CU не ограничен этим.[123] In another example, the CU may be segmented in a manner different from the QT structure, BT structure, or TT structure. Thus, in contrast to a smaller CU being segmented 1/4 of a larger depth CU according to the QT structure, a shallower CU being segmented 1/2 of a larger depth CU according to the BT structure, or a shallower CU being segmented by 1 /4 or 1/2 of a deeper CU according to the TT structure, a shallower CU can be segmented to 1/5, 1/3, 3/8, 3/5, 2/3 or 5/8 of a larger CU in some cases, and the CU segmentation method is not limited to this.
[124] Структура блоков кодирования дерева квадрантов с многотипным деревом может предоставлять очень гибкую структуру сегментации на блоки. Вследствие типов сегментации, поддерживаемых в многотипном дереве, различные шаблоны сегментации могут потенциально приводить к идентичной структуре блоков кодирования в некоторых случаях. В оборудовании кодирования и оборудовании декодирования, посредством ограничения возникновения таких избыточных шаблонов сегментации, может уменьшаться объем данных информации сегментации.[124] The multi-type tree quadtree coding block structure can provide a very flexible block segmentation structure. Due to the segmentation types supported in a multi-type tree, different segmentation patterns can potentially result in an identical encoding block structure in some cases. In the encoding equipment and decoding equipment, by limiting the occurrence of such redundant segmentation patterns, the data amount of segmentation information can be reduced.
[125] Например, фиг. 8 показывает избыточные шаблоны разбиения, которые могут возникать при разбиении на двоичное дерево и разбиении на троичное дерево. Как показано на фиг. 8, непрерывное двоичное разбиение 810 и 820 для одного направления двухэтапных уровней имеет структуру блоков кодирования, идентичную структуре блоков кодирования для двоичного разбиения для центрального сегмента после троичного разбиения. В этом случае, разбиение на двоичное дерево для центральных блоков 830 и 840 разбиения на троичное дерево может запрещаться. этот запрет является применимым к CU всех кадров. Когда такое конкретное разбиение запрещается, передача в служебных сигналах соответствующих синтаксических элементов может модифицироваться посредством отражения этого запрещенного случая, за счет этого уменьшая число битов, передаваемых в служебных сигналах для разбиения. Например, как показано в примере, приведенном на фиг. 8, когда разбиение на двоичное дерево для центрального блока CU запрещается, синтаксический элемент mtt_split_cu_binary_flag, указывающий то, представляет разбиение собой двоичное разбиение или троичное разбиение, не передается в служебных сигналах, и его значение может извлекаться в качестве 0 посредством оборудования декодирования.[125] For example, FIG. 8 shows the redundant partitioning patterns that can occur in binary tree partitioning and ternary tree partitioning. As shown in FIG. 8, the continuous binary partition 810 and 820 for one direction of the two-stage layers has a coding block structure identical to the coding block structure for the binary partition for the center segment after the ternary partition. In this case, binary tree splitting for the central ternary tree splitting units 830 and 840 may be prohibited. this prohibition is applicable to CUs of all frames. When such a particular split is prohibited, the signaling of the corresponding syntax elements may be modified to reflect this prohibited case, thereby reducing the number of bits signaled for the split. For example, as shown in the example shown in FIG. 8, when binary splitting for a central CU is disabled, a syntax element mtt_split_cu_binary_flag indicating whether the split is a binary split or a ternary split is not signaled, and its value may be extracted as 0 by the decoding equipment.
[126] Общее представление формата сигналов цветности [126] Chroma format overview
[127] В дальнейшем в этом документе описывается формат сигналов цветности. Изображение может кодироваться в кодированные данные, включающие в себя массив компонентов сигнала яркости (например, Y) и два массива компонентов сигнала цветности (например, Cb и Cr). Например, один пиксел кодированного изображения может включать в себя выборку сигналов яркости и выборку сигналов цветности. Формат сигналов цветности может использоваться для того, чтобы представлять конфигурационный формат выборки сигналов яркости и выборки сигналов цветности, и формат сигналов цветности может называться "цветовым форматом".[127] The format of the chrominance signals is described later in this document. The image may be encoded into encoded data including an array of luma components (eg, Y) and two arrays of chrominance components (eg, Cb and Cr). For example, one pixel of an encoded image may include a luma sample and a chrominance sample. The chrominance signal format may be used to represent the configuration format of the luma signal sample and the chrominance signal sample, and the chrominance signal format may be referred to as a “color format”.
[128] В варианте осуществления, изображение может кодироваться в различные форматы сигналов цветности, такие как монохромный, 4:2:0, 4:2:2 или 4:4:4. При монохромной дискретизации, может быть предусмотрен один массив выборок, и массив выборок может представлять собой массив сигналов яркости. При дискретизации 4:2:0, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, каждый из двух массивов сигналов цветности может иметь высоту, равную половине высоты массива сигналов яркости, и ширину, равную половине ширины массива сигналов яркости. При дискретизации 4:2:2, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, каждый из двух массивов сигналов цветности может иметь высоту, равную высоте массива сигналов яркости, и ширину, равную половине ширины массива сигналов яркости. При дискретизации 4:4:4, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, и каждый из двух массивов сигналов цветности может иметь высоту и ширину, равную высоте и ширине массива сигналов яркости.[128] In an embodiment, the image may be encoded into various chrominance signal formats, such as monochrome, 4:2:0, 4:2:2, or 4:4:4. In monochrome sampling, one array of samples may be provided, and the array of samples may be an array of luminance signals. With 4:2:0 sampling, one luma sample array and two chrominance sample arrays may be provided, each of the two chroma arrays may have a height equal to half the height of the luma array and a width equal to half the width of the luma array. With 4:2:2 sampling, one luma sample array and two chrominance sample arrays may be provided, each of the two chroma arrays may have a height equal to the height of the luma array and a width equal to half the width of the luma array. In 4:4:4 sampling, one luma sample array and two chrominance sample arrays may be provided, and each of the two chroma arrays may have a height and width equal to the height and width of the luma array.
[129] Например, при дискретизации 4:2:0, выборка сигналов цветности может быть расположена ниже выборки сигналов яркости, соответствующей ей. При дискретизации 4:2:2, выборка сигналов цветности может быть расположена с возможностью перекрывать выборку сигналов яркости, соответствующую ей. При дискретизации 4:4:4, как выборка сигналов яркости, так и выборка сигналов цветности могут быть расположены в перекрывающейся позиции.[129] For example, in 4:2:0 sampling, the chroma sample may be located below the corresponding luminance sample. In 4:2:2 sampling, the chroma sample may be positioned to overlap the luminance sample corresponding to it. In 4:4:4 sampling, both the luma sample and the chrominance sample may be located in an overlapping position.
[130] Формат сигналов цветности, используемый в оборудовании кодирования и оборудовании декодирования, может быть предварительно определен. Альтернативно, формат сигналов цветности может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования с возможностью адаптивно использоваться в оборудовании кодирования и оборудовании декодирования. В варианте осуществления, формат сигналов цветности может передаваться в служебных сигналах на основе, по меньшей мере, одного из chroma_format_idc или separate_colour_plane_flag. По меньшей мере, один из chroma_format_idc или separate_colour_plane_flag может передаваться в служебных сигналах через высокоуровневый синтаксис, такой как DPS, VPS, SPS или PPS. Например, chroma_format_idc и separate_colour_plane_flag могут включаться в SPS-cинтаксис, показанный на фиг. 9.[130] The format of the chrominance signals used in the encoding equipment and decoding equipment may be predetermined. Alternatively, the format of the chrominance signals may be signaled from encoding equipment to decoding equipment so that it can be adaptively used in the encoding equipment and decoding equipment. In an embodiment, the format of the chroma signals may be signaled based on at least one of chroma_format_idc or separate_colour_plane_flag. At least one of chroma_format_idc or separate_colour_plane_flag may be signaled through a high-level syntax such as DPS, VPS, SPS, or PPS. For example, chroma_format_idc and separate_colour_plane_flag may be included in the SPS syntax shown in FIG. 9.
[131] Между тем, фиг. 10 показывает вариант осуществления классификации форматов сигналов цветности с использованием передачи в служебных сигналах chroma_format_idc и separate_colour_plane_flag; chroma_format_idc может представлять собой информацию, указывающую формат сигналов цветности, применяемый к кодированному изображению; separate_colour_plane_flag может указывать то, обрабатывается или нет цветовой массив отдельно в конкретном формате сигналов цветности.[131] Meanwhile, FIG. 10 shows an embodiment of classifying chroma signal formats using chroma_format_idc and separate_colour_plane_flag signaling; chroma_format_idc may be information indicating the chroma signal format applied to the encoded image; separate_colour_plane_flag can indicate whether or not a color array is processed separately in a particular chrominance signal format.
Например, первое значение (например, 0) chroma_format_idc может указывать монохромную дискретизацию. Второе значение (например, 1) chroma_format_idc может указывать дискретизацию 4:2:0. Третье значение (например, 2) chroma_format_idc может указывать дискретизацию 4:2:2. Четвертое значение (например, 3) chroma_format_idc может указывать дискретизацию 4:4:4. For example, the first value (eg 0) of chroma_format_idc may indicate monochrome sampling. A second value (eg 1) of chroma_format_idc may indicate 4:2:0 sampling. A third value (eg 2) of chroma_format_idc may indicate 4:2:2 sampling. A fourth value (eg 3) of chroma_format_idc may indicate 4:4:4 sampling.
[132] При 4:4:4, может применяться следующее на основе значения separate_colour_plane_flag. Если значение separate_colour_plane_flag составляет первое значение (например, 0), каждый из двух массивов сигналов цветности может иметь высоту и ширину, идентичные высоте и ширине массива сигналов яркости. В этом случае, значение ChromaArrayType, указывающего тип массива выборок сигналов цветности, может задаваться равным chroma_format_idc. Если значение separate_colour_plane_flag составляет второе значение (например, 1), массивы выборок сигналов яркости, Cb-выборок и Cr-выборок могут отдельно обрабатываться и обрабатываться наряду с монохромно дискретизированными кадрами. В этом случае, ChromaArrayType может задаваться равным 0.[132] At 4:4:4, the following may apply based on the value of separate_colour_plane_flag. If the value of separate_colour_plane_flag is the first value (for example, 0), each of the two chroma arrays can have a height and width identical to the height and width of the luma array. In this case, the value of ChromaArrayType, indicating the type of the array of chroma samples, may be set to chroma_format_idc. If the value of separate_colour_plane_flag is the second value (eg, 1), arrays of luma samples, Cb samples, and Cr samples can be separately processed and processed along with the monochrome sampled frames. In this case, ChromaArrayType can be set to 0.
[133] Внутреннее прогнозирование для блока сигналов цветности [133] Intra prediction for chrominance block
[134] Когда внутреннее прогнозирование выполняется для текущего блока, прогнозирование относительно блока компонентов сигнала яркости (блока сигналов яркости) текущего блока и прогнозирование относительно блока компонентов сигнала цветности (блока сигналов цветности) могут выполняться. В этом случае, режим внутреннего прогнозирования для блока сигналов цветности может задаваться отдельно от режима внутреннего прогнозирования для блока сигналов яркости.[134] When intra prediction is performed on the current block, prediction relative to the luminance signal component block (luminance signal block) of the current block and prediction relative to the chrominance signal component block (chrominance signal block) can be performed. In this case, the intra prediction mode for the chrominance signal block may be set separately from the intra prediction mode for the luma signal block.
[135] Например, режим внутреннего прогнозирования для блока сигналов цветности может указываться на основе информации режима внутреннего прогнозирования сигналов цветности, и информация режима внутреннего прогнозирования сигналов цветности может передаваться в служебных сигналах в форме синтаксического элемента intra_chroma_pred_mode. Например, информация режима внутреннего прогнозирования сигналов цветности может представлять одно из планарного режима, DC-режима, вертикального режима, горизонтального режима, извлеченного режима (DM) и режима на основе кросскомпонентной линейной модели (CCLM). Здесь, планарный режим может указывать режим #0 внутреннего прогнозирования, DC-режим может указывать режим #1 внутреннего прогнозирования, вертикальный режим может указывать режим #26 внутреннего прогнозирования, и горизонтальный режим может указывать режим #10 внутреннего прогнозирования. DM также может называться "прямым режимом". CCLM также может называться "линейной моделью (LM)". CCLM-режим может включать в себя, по меньшей мере, одно из L_CCLM, T_CCLM и LT_CCLM.[135] For example, an intra-chroma prediction mode for a chroma block may be indicated based on the intra-chroma prediction mode information, and the intra-chroma prediction mode information may be signaled in the form of an intra_chroma_pred_mode syntax element. For example, the intra-chrominance prediction mode information may represent one of a planar mode, a DC mode, a vertical mode, a horizontal mode, a extracted mode (DM), and a cross-component linear model (CCLM) mode. Here, a planar mode may indicate intra-prediction mode #0, a DC mode may indicate intra-prediction mode #1, a vertical mode may indicate intra-prediction mode #26, and a horizontal mode may indicate intra-prediction mode #10. DM may also be called "direct mode". CCLM can also be called "linear model (LM)". The CCLM mode may include at least one of L_CCLM, T_CCLM and LT_CCLM.
[136] Между тем, DM и CCLM представляют собой зависимые режимы внутреннего прогнозирования для прогнозирования блока сигналов цветности с использованием информации относительно блока сигналов яркости. DM может представлять режим, в котором режим внутреннего прогнозирования, идентичный режиму внутреннего прогнозирования для компонента сигнала яркости, применяется в качестве режима внутреннего прогнозирования для компонента сигнала цветности. Помимо этого, CCLM может представлять режим внутреннего прогнозирования с использованием, в качестве прогнозных выборок блока сигналов цветности, выборок, извлекаемых посредством субдискретизации восстановленных выборок блока сигналов яркости и последующего применения α и β, которые представляют собой CCLM-параметры, к субдискретизированным выборкам в процессе формирования блока прогнозирования для блока сигналов цветности.[136] Meanwhile, DM and CCLM are dependent intra prediction modes for predicting a chroma block using information regarding a luma block. The DM may represent a mode in which an intra prediction mode identical to the intra prediction mode for the luma signal component is applied as an intra prediction mode for the chrominance signal component. In addition, CCLM may represent an intra-prediction mode using, as predicted chrominance block samples, samples extracted by subsampling the reconstructed luma block samples and then applying α and β, which are CCLM parameters, to the subsampled samples in the generation process prediction block for the chrominance signal block.
[137] Режим на основе CCLM (кросскомпонентной линейной модели) [137] CCLM (Cross Component Linear Model) based mode
[138] Как описано выше, CCLM-режим может применяться к блоку сигналов цветности. CCLM-режим представляет собой режим внутреннего прогнозирования с использованием корреляции между блоком сигналов яркости и блоком сигналов цветности, соответствующим блоку сигналов яркости, и выполняется посредством извлечения линейной модели на основе соседних выборок блока сигналов яркости и соседних выборок блока сигналов цветности. Помимо этого, прогнозная выборка блока сигналов цветности может извлекаться на основе извлеченной линейной модели и восстановленных выборок блока сигналов яркости.[138] As described above, the CCLM mode may be applied to a chrominance block. The CCLM mode is an intra-prediction mode using correlation between a luma block and a chrominance block corresponding to a luma block, and is performed by extracting a linear model based on the adjacent samples of the luma block and the adjacent samples of the chrominance block. In addition, a predictive chrominance block sample can be extracted based on the extracted linear model and the reconstructed luminance block samples.
[139] В частности, когда CCLM-режим применяется к текущему блоку сигналов цветности, параметры для линейной модели могут извлекаться на основе соседних выборок, используемых для внутреннего прогнозирования текущего блока сигналов цветности, и соседних выборок, используемых для внутреннего прогнозирования текущего блока сигналов яркости. Например, линейная модель для CCLM может выражаться на основе следующего уравнения.[139] In particular, when the CCLM mode is applied to the current chrominance block, parameters for the linear model can be extracted based on the neighboring samples used for intra-prediction of the current chroma block and the neighboring samples used for intra-prediction of the current luminance block. For example, the linear model for CCLM can be expressed based on the following equation.
[140] уравнение 1[140] equation 1
[141] ,[141] ,
[142] где predc(i, j) может обозначать прогнозную выборку координат (i, j) текущего блока сигналов цветности в текущей CU; recL'(i, j) может обозначать восстановленную выборку координат (i, j) текущего блока сигналов яркости в CU. Например, recL'(i, j) может обозначать понижающе дискретизированную восстановленную выборку текущего блока сигналов яркости. Коэффициенты α и β линейной модели могут передаваться в служебных сигналах или извлекаться из соседних выборок.[142] where predc(i, j) may denote a predictive sample of coordinates (i, j) of the current chroma block in the current CU; rec L '(i, j) may denote the reconstructed sample of coordinates (i, j) of the current block of luminance signals in the CU. For example, rec L '(i, j) may denote a downsampled reconstructed sample of the current block of luminance signals. The coefficients α and β of the linear model can be signaled or extracted from neighboring samples.
[143] Общее представление палитрового режима [143] Palette mode overview
[144] В дальнейшем в этом документе описывается палитровый режим. Оборудование кодирования согласно варианту осуществления может кодировать изображение с использованием палитрового режима, и оборудование декодирования может декодировать изображение с использованием палитрового режима способом, соответствующим ему. Палитровый режим может называться "режимом палитрового кодирования", "внутренним палитровым режимом", "режимом внутреннего палитрового кодирования" и т.д. Палитровый режим может рассматриваться в качестве типа режима внутреннего кодирования или может рассматриваться в качестве одного из способов внутреннего прогнозирования. Тем не менее, аналогично вышеописанному режим пропуска, отдельное остаточное значение для соответствующего блока может не передаваться в служебных сигналах.[144] Palette mode is described later in this document. The encoding equipment according to the embodiment can encode an image using a palette mode, and the decoding equipment can decode an image using a palette mode in a manner corresponding thereto. The palette mode may be called "palette encoding mode", "internal palette mode", "internal palette encoding mode", etc. The palette mode can be considered as a type of intra-coding mode or can be considered as one of the intra-prediction methods. However, similar to the skip mode described above, the individual residual value for the corresponding block may not be signaled.
[145] В варианте осуществления, палитровый режим может использоваться для того, чтобы повышать эффективность кодирования при кодировании экранного контента, который представляет собой изображение, сформированное посредством компьютера, включающее в себя существенный объем текста и графики. В общем, локальная область изображения, сформированного в качестве экранного контента, разделяется посредством резких краев и выражается с помощью небольшого числа цветов. Чтобы использовать эту характеристику, в палитровом режиме, выборки для одного блока могут выражаться посредством индексов, указывающих запись цвета таблицы палитр.[145] In an embodiment, palette mode can be used to improve encoding efficiency when encoding screen content that is a computer generated image that includes a significant amount of text and graphics. In general, a local area of an image generated as screen content is divided by sharp edges and expressed by a small number of colors. To exploit this feature, in palette mode, samples for one block can be expressed by indices indicating the color table entry of the palette.
[146] Чтобы применять палитровый режим, информация относительно таблицы палитр может передаваться в служебных сигналах. В варианте осуществления, таблица палитр может включать в себя значение индекса, соответствующее каждому цвету. Чтобы передавать в служебных сигналах значение индекса, информация прогнозирования индексов палитр может передаваться в служебных сигналах. Информация прогнозирования индексов палитр может включать в себя значение индекса, по меньшей мере, для части карты индексов палитр. В карте индексов палитр, пикселы видеоданных могут преобразовываться в цветовые индексы таблицы палитр.[146] To employ palette mode, information regarding the palette table may be signaled. In an embodiment, the palette table may include an index value corresponding to each color. To signal the index value, palette index prediction information may be signaled. The palette index prediction information may include an index value for at least a portion of the palette index map. In a palette index map, pixels of video data can be converted into color indexes of a palette table.
[147] Информация прогнозирования индексов палитр может включать в себя информацию значений серий. По меньшей мере, для части карты индексов палитр, информация значений серий может ассоциировать значение серии со значением индекса. Одно значение серии может быть ассоциировано с цветовым индексом с управляющим кодом. Карта индексов палитр может формироваться из информации прогнозирования индексов палитр. Например, по меньшей мере, часть карты индексов палитр может формироваться посредством определения того, следует или нет регулировать значение индекса информации прогнозирования индексов палитр на основе последнего значения индекса.[147] The palette index prediction information may include run value information. For at least a portion of the palette index map, the run value information may associate a run value with an index value. One series value can be associated with a color index with a control code. The palette index map may be generated from the palette index prediction information. For example, at least a portion of the palette index map may be generated by determining whether or not to adjust the index value of the palette index prediction information based on the last index value.
[148] Текущий блок в текущем кадре может кодироваться или восстанавливаться согласно карте индексов палитр. При применении палитрового режима, пиксельное значение в текущей единице кодирования может выражаться как небольшой набор характерных значений цвета. Этот набор может называться "палитрой". Для пикселов, имеющих значение, близкое к цвету палитры, индекс палитры может передаваться в служебных сигналах. Для пикселов, имеющих значение, которое не принадлежит (находится за пределами) палитре, соответствующие пикселы могут обозначаться посредством символа управляющего кода, и квантованное пиксельное значение может непосредственно передаваться в служебных сигналах. В этом документе, пиксел или пиксельное значение может описываться как выборка.[148] The current block in the current frame can be encoded or reconstructed according to the palette index map. When using palette mode, the pixel value in the current encoding unit can be expressed as a small set of representative color values. This set may be called a "palette". For pixels having a value close to the palette color, the palette index may be signaled. For pixels having a value that does not belong to (is outside) the palette, the corresponding pixels may be designated by a control code symbol, and the quantized pixel value may be directly signaled. In this document, a pixel or pixel value may be described as a sample.
[149] Чтобы кодировать блок, кодированный в палитровом режиме, оборудование декодирования может декодировать цвет и индекс палитры. Цвет палитры может описываться в таблице палитр и может кодироваться с использованием инструментального средства кодирования таблиц палитр. Флаг управляющего кода может передаваться в служебных сигналах для каждой единицы кодирования. Флаг управляющего кода может указывать то, присутствует или нет символ управляющего кода в текущей единице кодирования. Если символ управляющего кода присутствует, таблица палитр может увеличиваться на 1 единицу (например, единицу индекса), и последний индекс может обозначаться как режим кодирования управляющим кодом. Индексы палитр всех пикселов для одной единицы кодирования могут конфигурировать карту индексов палитр и могут кодироваться с использованием инструментального средства кодирования карт индексов палитр.[149] To encode a palette-mode encoded block, decoding equipment may decode the color and palette index. A palette color may be described in a palette table and may be encoded using a palette table encoding tool. A control code flag may be signaled for each coding unit. The control code flag may indicate whether or not a control code symbol is present in the current encoding unit. If a control code character is present, the palette table may be incremented by 1 unit (eg, an index unit), and the last index may be designated as the control code encoding mode. The palette indices of all pixels for one encoding unit may configure a palette index map and may be encoded using a palette index map encoding tool.
[150] Например, чтобы кодировать таблицу палитр, предиктор палитры может поддерживаться. Предиктор палитры может инициализироваться в начальной точке каждого среза. Например, предиктор палитры может сбрасываться до 0. Для каждой записи предиктора палитры, флаг многократного использования, указывающий то, представляет она собой часть текущей палитры или нет, может передаваться в служебных сигналах. Флаг многократного использования может передаваться в служебных сигналах с использованием кодирования по длинам серий значения в 0.[150] For example, to encode a palette table, a palette predictor may be supported. The palette predictor can be initialized at the starting point of each slice. For example, the palette predictor may be reset to 0. For each palette predictor entry, a reusable flag indicating whether or not it is part of the current palette may be signaled. The reusable flag may be signaled using run-length encoding of the value as 0.
[151] После этого, числа для новых записей палитры могут передаваться в служебных сигналах с использованием экспоненциального кода Голомба нулевого порядка. В завершение, значения компонентов для новой записи палитры могут передаваться в служебных сигналах. После кодирования текущей единицы кодирования, предиктор палитры может обновляться с использованием текущей палитры, и запись из предыдущего предиктора палитры, которая не используется многократно в текущей палитре (до достижения разрешенного максимального размера), может добавляться в конец нового предиктора палитры, и это может называться "заполнением палитры".[151] Thereafter, numbers for new palette entries can be signaled using a zero-order exponential Golomb code. Finally, the component values for the new palette entry may be signaled. After encoding the current encoding unit, the palette predictor may be updated using the current palette, and an entry from the previous palette predictor that is not reused in the current palette (before reaching the allowed maximum size) may be appended to the end of the new palette predictor, and this may be called " filling the palette."
[152] Например, чтобы кодировать карту индексов палитр, индексы могут кодироваться с использованием горизонтального или вертикального сканирования. Порядок сканирования может передаваться в служебных сигналах через поток битов с использованием palette_transpose_flag, который представляет собой параметр, указывающий направление сканирования. Например, когда горизонтальное сканирование применяется к индексам сканирования для выборок в текущей единице кодирования, palette_transpose_flag может иметь первое значение (например, 0), а когда вертикальное сканирование применяется, palette_transpose_flag может иметь второе значение (например, 1). Фиг. 11 показывает вариант осуществления горизонтального сканирования и вертикального сканирования согласно варианту осуществления.[152] For example, to encode a palette index map, the indices may be encoded using horizontal or vertical scanning. The scan order may be signaled via a bitstream using palette_transpose_flag, which is a parameter indicating the scan direction. For example, when a horizontal scan is applied to scan indices for samples in the current encoding unit, palette_transpose_flag may have a first value (eg, 0), and when a vertical scan is applied, palette_transpose_flag may have a second value (eg, 1). Fig. 11 shows an embodiment of horizontal scanning and vertical scanning according to the embodiment.
[153] Помимо этого, в варианте осуществления, индекс палитры может кодироваться с использованием "индексного" режима и режима "копирования сверху". За исключением случая, в котором режим индекса палитры передается в служебных сигналах для самой верхней строки, когда горизонтальное сканирование используется, случая, в котором режим индекса палитры передается в служебных сигналах для самого левого столбца, когда вертикальное сканирование используется, и случая, в котором непосредственно предыдущий режим представляет собой "копирование сверху", эти два режима могут передаваться в служебных сигналах с использованием одного флага.[153] In addition, in an embodiment, the palette index may be encoded using an "index" mode and a "copy on top" mode. Except for the case in which the palette index mode is signaled for the topmost row when horizontal scanning is used, the case in which the palette index mode is signaled for the leftmost column when vertical scanning is used, and the case in which directly the previous mode is "copy on top", these two modes can be signaled using the same flag.
[154] В "индексном" режиме, индекс палитры может явно передаваться в служебных сигналах. Для "индексного" режима и режима "копирования сверху", значение серии, указывающее число пикселов, кодированных с использованием идентичного режима, может передаваться в служебных сигналах.[154] In "index" mode, the palette index may be explicitly signaled. For the "index" mode and the "copy on top" mode, a run value indicating the number of pixels encoded using the identical mode may be signaled.
[155] Порядок кодирования для карты индексов может задаваться следующим образом. Во-первых, число значений индекса для единицы кодирования может передаваться в служебных сигналах. Это может выполняться после передачи в служебных сигналах фактического значения индекса для всей единицы кодирования с использованием усеченного двоичного кодирования. Как число индексов, так и значения индекса могут кодироваться в обходном режиме. За счет этого, обходные элементы разрешения, связанные с индексом, могут группироваться. Затем палитровый режим ("индексный" или "копирование сверху") и значение серии могут передаваться в служебных сигналах с использованием способа перемежения.[155] The encoding order for the index map can be set as follows. First, the number of index values for a coding unit may be signaled. This may be done after signaling the actual index value for the entire coding unit using truncated binary coding. Both index numbers and index values can be encoded in bypass mode. Due to this, bypass permission elements associated with the index can be grouped. The palette mode ("index" or "copy on top") and the run value can then be signaled using an interleaving technique.
[156] В завершение, значения с управляющим кодом компонентов, соответствующие выборкам с управляющим кодом для всей единицы кодирования, могут взаимно группироваться и кодироваться в обходном режиме; last_run_type_flag, который представляет собой дополнительный синтаксический элемент, может передаваться в служебных сигналах после передачи в служебных сигналах значения индекса. Посредством использования last_run_type_flag наряду с числом индексов, передача в служебных сигналах значения серии, соответствующего последней серии в блоке, может пропускаться.[156] Finally, the component control code values corresponding to the control code samples for the entire coding unit may be mutually grouped and bypassed; last_run_type_flag, which is an optional syntax element, may be signaled after the index value is signaled. By using last_run_type_flag along with the number of indices, signaling the run value corresponding to the last run in the block can be skipped.
[157] В варианте осуществления, тип со структурой в виде сдвоенного дерева, в котором независимая сегментация единиц кодирования выполняется для компонента сигнала яркости и компонента сигнала цветности, может использоваться для I-среза. Палитровый режим может применяться к компоненту сигнала яркости и компоненту сигнала цветности отдельно или вместе. Если сдвоенное дерево не применяется, палитровый режим является применимым ко всем Y-, Cb- и Cr-компонентам.[157] In an embodiment, a bitree type in which independent coding unit segmentation is performed for the luma signal component and the chrominance signal component may be used for the I-slice. The palette mode can be applied to the luma signal component and the chrominance signal component separately or together. If split wood is not used, palette mode applies to all Y, Cb and Cr components.
[158] В варианте осуществления, синтаксический элемент для палитрового режима может кодироваться и передаваться в служебных сигналах, как показано на фиг. 12-19. Фиг. 12-13 показывают последовательный синтаксис в единице кодирования (CU) для палитрового режима, и фиг. 14-19 показывают последовательный синтаксис для палитрового режима.[158] In an embodiment, the syntax element for palette mode may be encoded and signaled as shown in FIG. 12-19. Fig. 12-13 show the sequential syntax in a coding unit (CU) for palette mode, and FIG. Figures 14-19 show the sequential syntax for palette mode.
[159] В дальнейшем в этом документе описывается каждый синтаксический элемент; pred_mode_plt_flag, который представляет собой флаг палитрового режима, может указывать то, применяется или нет палитровый режим к текущей единице кодирования. Например, первое значение (например, 0) pred_mode_plt_flag может указывать то, что палитровый режим не применяется к текущей единице кодирования. Второе значение (например, 1) pred_mode_plt_flag может указывать то, что палитровый режим применяется к текущей единице кодирования. Когда pred_mode_plt_flag не получается из потока битов, значение pred_mode_plt_flag может определяться как составляющее первое значение.[159] Each syntactic element is described later in this document; pred_mode_plt_flag, which is a palette mode flag, may indicate whether or not the palette mode is applied to the current encoding unit. For example, the first value (eg, 0) of pred_mode_plt_flag may indicate that the palette mode is not applied to the current encoding unit. A second value (eg, 1) of pred_mode_plt_flag may indicate that the palette mode is applied to the current encoding unit. When pred_mode_plt_flag is not obtained from the bitstream, the value of pred_mode_plt_flag may be determined to constitute the first value.
[160] Параметр PredictorPaletteSize[startComp] может указывать размер палитры предикторов для startComp, который представляет собой первый цветовой компонент текущей таблицы палитр.[160] The PredictorPaletteSize[startComp] parameter can specify the size of the predictor palette for startComp, which is the first color component of the current palette table.
[161] Параметр PalettePredictorEntryReuseFlags[i] может представлять собой информацию, указывающую то, следует или нет многократно использовать запись. Например, первое значение (например, 0) PalettePredictorEntryReuseFlags[i] может указывать то, что i-ая запись палитры предикторов может указывать то, что i-ая запись палитры предикторов не представляет собой запись текущей палитры, и второе значение (например, 1) может указывать то, что i-ая запись палитры предикторов может многократно использоваться в текущей палитре. Для использования PalettePredictorEntryReuseFlags[i], начальное значение может задаваться равным 0.[161] The PalettePredictorEntryReuseFlags[i] parameter may be information indicating whether or not the entry should be reused. For example, the first value (e.g., 0) of PalettePredictorEntryReuseFlags[i] may indicate that the i-th predictor palette entry may indicate that the i-th predictor palette entry is not the current palette entry, and the second value (e.g., 1) may indicate that the i-th entry in the predictor palette can be reused in the current palette. To use PalettePredictorEntryReuseFlags[i], the initial value can be set to 0.
[162] Параметр palette_predictor_run может указывать число нулей, присутствующих перед ненулевой записью в массиве PalettePredictorEntryReuseFlags.[162] The palette_predictor_run parameter can specify the number of zeros present before a non-zero entry in the PalettePredictorEntryReuseFlags array.
[163] Параметр num_signalled_palette_entries может указывать число записей в текущей палитре, явно передаваемой в служебных сигналах для первого цветового компонента startComp текущей таблицы палитр. Когда num_signalled_palette_entries не получается из потока битов, значение num_signalled_palette_entries может определяться равным 0.[163] The num_signalled_palette_entries parameter can specify the number of entries in the current palette explicitly signaled for the first startComp color component of the current palette table. When num_signalled_palette_entries is not obtained from the bitstream, the value of num_signalled_palette_entries may be defined to be 0.
[164] Параметр CurrentPaletteSize[startComp] может указывать размер текущей палитры для первого цветового компонента startComp текущей таблицы палитр. Это может вычисляться так, как показано в следующем уравнении. Значение CurrentPaletteSize[startComp] может иметь диапазон от 0 до palette_max_size.[164] The CurrentPaletteSize[startComp] parameter can specify the current palette size for the first startComp color component of the current palette table. This can be calculated as shown in the following equation. CurrentPaletteSize[startComp] can range from 0 to palette_max_size.
[165] уравнение 2[165] equation 2
[166] CurrentPaletteSize[startComp]=NumPredictedPaletteEntries+num_signalled_palette_entries[166] CurrentPaletteSize[startComp]=NumPredictedPaletteEntries+num_signalled_palette_entries
[167] Параметр new_palette_entries[cIdx][i] может указывать значение записи палитры, передаваемой в служебных сигналах i-ой для цветового компонента cIdx.[167] The new_palette_entries[cIdx][i] parameter may indicate the value of the palette entry signaled in the i-th color component cIdx.
[168] Параметр PredictorPaletteEntries[cIdx][i] может указывать i-ый элемент в палитре предикторов для цветового компонента cIdx.[168] The PredictorPaletteEntries[cIdx][i] parameter can specify the i-th element in the predictor palette for the color component cIdx.
[169] Параметр CurrentPaletteEntries[cIdx][i] может указывать i-ый элемент в текущей палитре для цветового компонента cIdx. PredictorPaletteEntries и CurrentPaletteEntries могут формироваться так, как показано в уравнении по фиг. 20.[169] The CurrentPaletteEntries[cIdx][i] parameter can specify the i-th element in the current palette for the cIdx color component. PredictorPaletteEntries and CurrentPaletteEntries may be formed as shown in the equation of FIG. 20.
[170] Параметр palette_escape_val_present_flag может указывать то, присутствует или нет выборка кодирования управляющим кодом. Например, первое значение (например, 0) palette_escape_val_present_flag может указывать то, что выборка кодирования управляющим кодом присутствует для текущей единицы кодирования, и второе значение (например, 1) palette_escape_val_present_flag может указывать то, что текущая единица кодирования включает в себя, по меньшей мере, одну выборку кодирования управляющим кодом. Когда palette_escape_val_present_flag не получается из потока битов, значение palette_escape_val_present_flag может определяться равным 1.[170] The palette_escape_val_present_flag parameter may indicate whether an escape code encoding sample is present or not. For example, a first value (eg, 0) of palette_escape_val_present_flag may indicate that a control code encoding sample is present for the current coding unit, and a second value (eg, 1) of palette_escape_val_present_flag may indicate that the current coding unit includes at least one control code encoding sample. When palette_escape_val_present_flag is not obtained from the bitstream, the value of palette_escape_val_present_flag may be defined to be 1.
[171] Параметр MaxPaletteIndex может указывать максимальное доступное значение индекса палитры для текущей единицы кодирования. Значение MaxPaletteIndex может определяться равным CurrentPaletteSize[startComp]+palette_escape_val_present_flag.[171] The MaxPaletteIndex parameter can indicate the maximum available palette index value for the current encoding unit. The MaxPaletteIndex value can be set to CurrentPaletteSize[startComp]+palette_escape_val_present_flag.
[172] Параметр num_palette_indices_minus1 может указывать число индексов палитр, явно или неявно передаваемых в служебных сигналах для текущего блока. Например, значение, полученное посредством суммирования 1 с num_palette_indices_minus1, может указывать число индексов палитр, явно или неявно передаваемых в служебных сигналах для текущего блока. Когда num_palette_indices_minus1 не включается в поток битов, значение num_palette_indices_minus1 может определяться равным 0.[172] The num_palette_indices_minus1 parameter can specify the number of palette indices to be signaled explicitly or implicitly for the current block. For example, the value obtained by summing 1 with num_palette_indices_minus1 may indicate the number of palette indices explicitly or implicitly signaled for the current block. When num_palette_indices_minus1 is not included in the bitstream, the value of num_palette_indices_minus1 may be defined to be 0.
[173] Параметр palette_idx_idc может представлять собой индикатор индекса для таблицы CurrentPaletteEntries палитр. Значение palette_idx_idc может иметь значение от 0 до MaxPaletteIndex для первого индекса соответствующего блока и может иметь значение от 0 до MaxPaletteIndex-1 для оставшихся индексов соответствующего блока. Когда значение palette_idx_idc не получается из потока битов, значение palette_idx_idc может определяться равным 0.[173] The palette_idx_idc parameter may be an index indicator for the CurrentPaletteEntries table of palettes. The palette_idx_idc value can be a value from 0 to MaxPaletteIndex for the first index of the corresponding block, and can be a value from 0 to MaxPaletteIndex-1 for the remaining indices of the corresponding block. When the palette_idx_idc value is not obtained from the bitstream, the palette_idx_idc value may be defined to be 0.
[174] Параметр PaletteIndexIdc[i] может представлять собой массив, сохраняющий значение i-ого palette_idx_idc, передаваемого в служебных сигналах явно или неявно. Значения всех элементов PaletteIndexIdc[i] могут инициализироваться равным 0.[174] The PaletteIndexIdc[i] parameter may be an array storing the value of the i-th palette_idx_idc signaled explicitly or implicitly. The values of all PaletteIndexIdc[i] elements can be initialized to 0.
[175] Параметр copy_above_indices_for_final_run_flag может указывать информацию, указывающую то, следует или нет копировать предыдущий индекс для последней серии, первое значение (например, 0) может указывать то, что индекс палитры в последней позиции текущей единицы кодирования явно или неявно передается в служебных сигналах через поток битов, и второе значение (например, 1) может указывать то, что индекс палитры в последней позиции текущей единицы кодирования явно или неявно передается в служебных сигналах через поток битов. Когда copy_above_indices_for_final_run_flag не получается из потока битов, значение copy_above_indices_for_final_run_flag может определяться равным 0.[175] The copy_above_indices_for_final_run_flag parameter may indicate information indicating whether or not the previous index for the last run should be copied, the first value (for example, 0) may indicate that the palette index at the last position of the current encoding unit is explicitly or implicitly signaled via bitstream, and the second value (eg, 1) may indicate that the palette index at the last position of the current encoding unit is explicitly or implicitly signaled through the bitstream. When copy_above_indices_for_final_run_flag is not obtained from the bitstream, the value of copy_above_indices_for_final_run_flag may be defined to be 0.
[176] Параметр palette_transpose_flag может представлять собой информацию, указывающую способ сканирования, используемый для того, чтобы сканировать индекс для пиксела текущей единицы кодирования. Например, первое значение (например, 0) palette_transpose_flag может указывать то, что горизонтальное сканирование применяется для того, чтобы сканировать индекс для пиксела текущей единицы кодирования, и второе значение (например, 1) palette_transpose_flag может указывать то, что вертикальное сканирование применяется для того, чтобы сканировать индекс для пиксела текущей единицы кодирования. Когда palette_transpose_flag не получается из потока битов, значение palette_transpose_flag может определяться равным 0.[176] The palette_transpose_flag parameter may be information indicating a scanning method used to scan the index for a pixel of the current encoding unit. For example, the first value (eg, 0) of palette_transpose_flag may indicate that horizontal scanning is used to scan the index for the pixel of the current encoding unit, and the second value (eg, 1) of palette_transpose_flag may indicate that vertical scanning is used to to scan the index for the pixel of the current encoding unit. When palette_transpose_flag is not obtained from the bitstream, the value of palette_transpose_flag may be defined to be 0.
[177] Первое значение (например, 0) параметра copy_above_palette_indices_flag может указывать то, что индикатор, указывающий индекс палитры выборки, получается или извлекается из кодированного значения потока битов. Второе значение (например, 1) copy_above_palette_indices_flag может указывать то, что индекс палитры является идентичным индексу палитры соседней выборки. Например, соседняя выборка может представлять собой выборку, расположенную в позиции, идентичной позиции текущей выборки в левом столбце текущей выборки, когда вертикальное сканирование используется в данный момент. Альтернативно, соседняя выборка может представлять собой выборку, расположенную в позиции, идентичной позиции текущей выборки в верхней строке текущей выборки, когда горизонтальное сканирование используется в данный момент.[177] The first value (eg, 0) of the copy_above_palette_indices_flag parameter may indicate that the indicator indicating the index of the sampling palette is obtained or extracted from the encoded bitstream value. A second value (eg 1) copy_above_palette_indices_flag may indicate that the palette index is identical to the palette index of an adjacent selection. For example, the adjacent sample may be a sample located at a position identical to the position of the current sample in the left column of the current sample when vertical scanning is currently in use. Alternatively, the adjacent sample may be a sample located at a position identical to the position of the current sample in the top row of the current sample when horizontal scanning is currently in use.
[178] Первое значение (например, 0) параметра CopyAboveIndicesFlag[xC][yC] может указывать то, что индекс палитры явно или неявно получается из потока битов. Второе значение (например, 1) может указывать то, что индекс палитры формируется посредством копирования индекса палитры левого столбца, когда вертикальное сканирование используется в данный момент, либо посредством копирования индекса палитры верхней строки, когда горизонтальное сканирование используется в данный момент. Здесь, xC и yC представляют собой индикаторы координат, относительно указывающие позицию текущей выборки относительно левой верхней выборки текущего кадра. PaletteIndexMap[xC][yC] может иметь значение от 0 до (MaxPaletteIndex-1).[178] The first value (eg, 0) of the CopyAboveIndicesFlag[xC][yC] parameter may indicate that the palette index is derived explicitly or implicitly from the bitstream. The second value (eg, 1) may indicate that the palette index is generated by copying the left column palette index when vertical scanning is currently in use, or by copying the top row palette index when horizontal scanning is currently in use. Here, xC and yC are coordinate indicators relatively indicating the position of the current sample relative to the top left sample of the current frame. PaletteIndexMap[xC][yC] can have a value from 0 to (MaxPaletteIndex-1).
[179] Параметр PaletteIndexMap[xC][yC] может указывать индекс палитры и, например, указывать индекс для массива, представленного посредством CurrentPaletteEntries. Индексы массивов xC и yC представляют собой индикаторы координат, указывающие координаты текущей выборки относительно левой верхней выборки текущего кадра, как описано выше. PaletteIndexMap[xC][yC] может иметь значение от 0 до (MaxPaletteIndex-1).[179] The PaletteIndexMap[xC][yC] parameter can specify the index of the palette and, for example, specify the index for an array represented by CurrentPaletteEntries. The xC and yC array indices are coordinate indicators indicating the coordinates of the current sample relative to the top-left sample of the current frame, as described above. PaletteIndexMap[xC][yC] can have a value from 0 to (MaxPaletteIndex-1).
[180] Параметр PaletteRun может указывать число последовательных позиций, имеющих идентичный индекс палитры, когда значение CopyAboveIndicesFlag[xC][yC] равно 0. Между тем, когда значение CopyAboveIndicesFlag[xC][yC] равно 1, PaletteRun может указывать число последовательных позиций, имеющих индекс палитры, идентичный индексу палитры в позиции в верхней строке, когда текущее направление сканирования представляет собой горизонтальное сканирование, и индексу палитры в позиции в левом столбце, когда текущее направление сканирования представляет собой вертикальное сканирование.[180] The PaletteRun parameter can indicate the number of consecutive positions having an identical palette index when the value of CopyAboveIndicesFlag[xC][yC] is 0. Meanwhile, when the value of CopyAboveIndicesFlag[xC][yC] is 1, PaletteRun can indicate the number of consecutive positions having a palette index identical to the palette index at the position in the top row when the current scan direction is a horizontal scan, and the palette index at the position in the left column when the current scan direction is a vertical scan.
[181] Параметр PaletteMaxRun может указывать максимальное доступное значение PaletteRun. Значение PaletteMaxRun может быть целым числом, большим 0.[181] The PaletteMaxRun parameter can specify the maximum PaletteRun value available. The PaletteMaxRun value can be an integer greater than 0.
[182] Параметр palette_run_prefix может указывать префиксную часть, используемую для преобразования в двоичную форму PaletteRun.[182] The palette_run_prefix parameter can specify the prefix portion used to convert to PaletteRun binary form.
[183] Параметр palette_run_suffix может указывать суффиксную часть, используемую для преобразования в двоичную форму PaletteRun. Когда palette_run_suffix не получается из потока битов, его значение может определяться равным 0.[183] The palette_run_suffix parameter can specify the suffix part used to convert to PaletteRun binary form. When palette_run_suffix is not obtained from the bitstream, its value may be defined to be 0.
[184] Значение PaletteRun может определяться следующим образом. Например, когда значение palette_run_prefix меньше 2, оно может вычисляться следующим образом.[184] The value of PaletteRun can be determined as follows. For example, when palette_run_prefix is less than 2, it can be calculated as follows.
[185] уравнение 3[185] equation 3
[186] PaletteRun=palette_run_prefix[186] PaletteRun=palette_run_prefix
[187] В противном случае, когда значение palette_run_prefix равно или больше 2, оно может вычисляться следующим образом.[187] Otherwise, when the value of palette_run_prefix is equal to or greater than 2, it may be calculated as follows.
[188] уравнение 4[188] equation 4
[189] PrefixOffset=1<<(palette_run_prefix-1)[189] PrefixOffset=1<<(palette_run_prefix-1)
[190] PaletteRun=PrefixOffset+palette_run_suffix[190] PaletteRun=PrefixOffset+palette_run_suffix
[191] Параметр palette_escape_val может указывать квантованное выборочное значение кодирования управляющим кодом для компонента. Параметр PaletteEscapeVal[cIdx][xC][yC] может указывать значение с управляющим кодом выборки со значением PaletteIndexMap[xC][yC] (MaxPaletteIndex-1) и значением palette_escape_val_present_flag в 1. Здесь, cIdx может указывать цветовой компонент. Индикаторы xC и yC массивов могут представлять собой индикаторы позиции, указывающие относительные расстояния позиции текущей выборки от левой верхней выборки текущего кадра, как описано выше.[191] The palette_escape_val parameter may indicate a quantized escape code encoding sample value for the component. The parameter PaletteEscapeVal[cIdx][xC][yC] can specify a value with a sampling control code with a value of PaletteIndexMap[xC][yC] (MaxPaletteIndex-1) and a palette_escape_val_present_flag value of 1. Here, cIdx can indicate a color component. The xC and yC array indicators may be position indicators indicating the relative distances of the position of the current sample from the top left sample of the current frame, as described above.
[192] Передача в служебных сигналах режима прогнозирования сигналов цветности при применении палитрового режима [192] Color Prediction Mode Signaling When Using Palette Mode
[193] В дальнейшем в этом документе описывается способ передачи в служебных сигналах информации режима прогнозирования сигналов цветности при применении палитрового режима. В варианте осуществления, прогнозное кодирование сигналов цветности, такое как CCLM, может не применяться к единице кодирования (или блоку кодирования), к которой применяется палитровый режим. Помимо этого, intra_chroma_pred_mode может не передаваться в служебных сигналах для единицы кодирования, к которой применяется палитровый режим.[193] This document further describes a method for signaling chrominance signal prediction mode information when using a palette mode. In an embodiment, predictive chroma coding, such as CCLM, may not be applied to the coding unit (or coding block) to which the palette mode is applied. In addition, intra_chroma_pred_mode may not be signaled for the coding unit to which the palette mode is applied.
[194] При определении того, что CCLM доступна для компонента сигнала цветности, флаг включения-выключения для нее может передаваться в служебных сигналах. В варианте осуществления, доступность CCLM может определяться с использованием sps_palette_enabled_flag или sps_plt_enabled_flag, и флаг включения-выключения CCLM может передаваться в служебных сигналах с использованием sps_palette_enabled_flag или sps_plt_enabled_flag.[194] When determining that CCLM is available for a chroma component, an enable/disable flag for it may be signaled. In an embodiment, CCLM availability may be determined using sps_palette_enabled_flag or sps_plt_enabled_flag, and the CCLM enable/disable flag may be signaled using sps_palette_enabled_flag or sps_plt_enabled_flag.
[195] Между тем, в примере по фиг. 13, передача в служебных сигналах CCLM-информации (например, cclm_mode_flag) не рассматривает то, следует или нет применять палитровый режим единицы кодирования. Например, в примере по фиг. 13, описывается вариант осуществления, в котором передается в служебных сигналах предварительно определенная информация прогнозирования сигналов цветности (например, cclm_mode_flag, intra_chroma_pred_mode), когда палитровый режим не применяется к текущей единице кодирования, либо когда единица кодирования не представляет собой сигнал цветности со структурой в виде сдвоенного дерева.[195] Meanwhile, in the example of FIG. 13, the signaling of CCLM information (eg, cclm_mode_flag) does not consider whether or not the palette mode of the coding unit should be applied. For example, in the example of FIG. 13, an embodiment is described in which predetermined chroma prediction information (e.g., cclm_mode_flag, intra_chroma_pred_mode) is signaled when the palette mode is not applied to the current coding unit, or when the coding unit is not a dual-structured chroma signal. tree.
[196] В этом случае, поскольку предварительно определенная информация прогнозирования сигналов цветности передается в служебных сигналах в кодированном в палитровом режиме блоке в одиночном дереве, необязательная передача в служебных сигналах синтаксиса может возникать. Помимо этого, поскольку предварительно определенная информация прогнозирования сигналов цветности передается в служебных сигналах, даже если компонент сигнала цветности в единице кодирования кодируется в палитровом режиме, внутреннее прогнозирование сигналов цветности согласно CCLM может выполняться, и внутреннее прогнозирование сигналов цветности согласно DM-режиму может выполняться.[196] In this case, since the predetermined chrominance signal prediction information is signaled in a palette-mode encoded block in a single tree, unnecessary signaling in syntax signaling may occur. In addition, since the predetermined chrominance signal prediction information is transmitted in overhead signals, even if the chrominance signal component in a coding unit is encoded in palette mode, intra-chrominance signal prediction according to CCLM can be performed, and intra-chrominance signal prediction according to DM mode can be performed.
[197] Чтобы разрешать вышеописанную проблему, синтаксис для единицы кодирования может модифицироваться так, как показано на фиг. 21. Фиг. 21 показывает синтаксис единицы кодирования, указывающий то, что предварительно определенная информация 2120 внутреннего прогнозирования сигналов цветности получается из потока битов, когда значение pred_mode_plt_flag 2110, который представляет собой параметр, указывающий то, применяется или нет палитровый режим к текущей единице кодирования, составляет первое значение (например, 0), указывающее то, что палитровый режим не применяется. Помимо этого, синтаксис по фиг. 21 указывает то, что предварительно определенная информация 2120 внутреннего прогнозирования сигналов цветности не получается из потока битов, когда значение pred_mode_plt_flag 2110 составляет второе значение (например, 1), указывающее то, что палитровый режим применяется.[197] To solve the above problem, the syntax for a coding unit may be modified as shown in FIG. 21. Fig. 21 shows a coding unit syntax indicating that predetermined intra-chrominance signal prediction information 2120 is obtained from the bit stream when the value of pred_mode_plt_flag 2110, which is a parameter indicating whether or not a palette mode is applied to the current coding unit, is the first value ( for example, 0), indicating that the palette mode is not applied. In addition, the syntax of FIG. 21 indicates that predetermined intra-chroma signal prediction information 2120 is not obtained from the bit stream when the value of pred_mode_plt_flag 2110 is a second value (eg, 1) indicating that the palette mode is applied.
[198] Аналогично варианту осуществления по фиг. 21, чтобы передавать в служебных сигналах предварительно определенную информацию прогнозирования сигналов цветности (например, cclm_mode_flag, intra_chroma_pred_mode), предварительно определенная информация прогнозирования сигналов цветности (например, cclm_mode_flag, intra_chroma_pred_mode) может передаваться в служебных сигналах в зависимости от того, применяется или нет палитровый режим к текущей единице кодирования.[198] Similar to the embodiment of FIG. 21, to carry predefined chroma prediction information (eg, cclm_mode_flag, intra_chroma_pred_mode) in overhead signals, predefined chroma prediction information (eg, cclm_mode_flag, intra_chroma_pred_mode) may be carried in overhead signals depending on whether or not a palette mode is applied to current coding unit.
[199] В дальнейшем в этом документе описывается передача в служебных сигналах предварительно определенной информации внутреннего прогнозирования сигналов цветности согласно синтаксису по фиг. 21 со ссылкой на фиг. 22. Оборудование кодирования или оборудование декодирования согласно варианту осуществления может определять то, применяется или нет палитровый режим к текущей единице кодирования (например, к блоку кодирования) (S2210). Например, оборудование декодирования может определять то, применяется или нет палитровый режим к текущей единице кодирования согласно значению pred_mode_plt_flag.[199] Hereinafter, this document describes the signaling of predetermined intra-chrominance signal prediction information according to the syntax of FIG. 21 with reference to FIG. 22. The encoding equipment or decoding equipment according to the embodiment can determine whether or not the palette mode is applied to the current encoding unit (eg, an encoding block) (S2210). For example, the decoding equipment may determine whether or not the palette mode is applied to the current encoding unit according to the value of pred_mode_plt_flag.
[200] Затем, когда палитровый режим применяется к текущей единице кодирования, оборудование кодирования может кодировать соответствующую единицу кодирования в палитровом режиме, и оборудование декодирования может декодировать соответствующую единицу кодирования в палитровом режиме. Следовательно, оборудование кодирования или оборудование декодирования может не передавать в служебных сигналах предварительно определенную информацию прогнозирования сигналов цветности (S2220). Например, оборудование кодирования может не кодировать предварительно определенную информацию прогнозирования сигналов цветности (например, cclm_mode_flag, intra_chroma_pred_mode), и оборудование декодирования может не получать предварительно определенную информацию прогнозирования сигналов цветности из потока битов.[200] Then, when the palette mode is applied to the current encoding unit, the encoding equipment can encode the corresponding encoding unit in the palette mode, and the decoding equipment can decode the corresponding encoding unit in the palette mode. Therefore, the encoding equipment or the decoding equipment may not transmit predetermined color signal prediction information in the signaling signals (S2220). For example, the encoding equipment may not encode predetermined chroma prediction information (eg, cclm_mode_flag, intra_chroma_pred_mode), and the decoding equipment may not obtain predetermined chroma prediction information from the bit stream.
[201] Затем, когда палитровый режим не применяется к текущей единице кодирования, оборудование кодирования или оборудование декодирования может передавать в служебных сигналах предварительно определенную информацию прогнозирования сигналов цветности. В варианте осуществления, оборудование кодирования или оборудование декодирования может определять то, доступен или нет CCLM-режим для текущей единицы кодирования (S2230), передавать в служебных сигналах CCLM-параметр, при его наличии (S2240), и передавать в служебных сигналах параметр intra_chroma_pred_mode, при его отсутствии (S2250).[201] Then, when the palette mode is not applied to the current encoding unit, the encoding equipment or decoding equipment may signal predetermined chrominance signal prediction information. In an embodiment, the encoding equipment or the decoding equipment may determine whether or not a CCLM mode is available for the current encoding unit (S2230), signal the CCLM parameter, if any (S2240), and signal the intra_chroma_pred_mode parameter, in its absence (S2250).
[202] Для этого, в дальнейшем подробнее описывается этап получения информации прогнозирования сигналов цветности посредством оборудования декодирования со ссылкой на фиг. 23. Когда палитровый режим не применяется к текущей единице кодирования (S2310), оборудование декодирования может определять то, доступен или нет CCLM-режим для текущей единицы кодирования (S2320). Например, параметр sps_cclm_enabled_flag, указывающий доступность CCLM-режима, передаваемого в служебных сигналах в наборе параметров последовательности, имеет первое значение (например, 0), указывающее то, что CCLM-режим не доступен, оборудование декодирования может определять то, что CCLM-режим не доступен для текущей единицы кодирования. Альтернативно, когда sps_cclm_enabled_flag имеет второе значение (например, 1), указывающее то, что CCLM-режим доступен, параметр sh_slice_type типа среза, передаваемый через заголовок среза, указывает то, что тип текущего среза не представляет собой I-срез, или размер компонента сигнала яркости текущего блока меньше 64, оборудование декодирования может определять то, что CCLM-режим доступен для текущей единицы кодирования. Альтернативно, когда sps_cclm_enabled_flag имеет второе значение (например, 1), указывающее то, что CCLM-режим доступен, каждая единица дерева кодирования (CTU), в которой параметр sps_qtbtt_dual_tree_intra_flag, передаваемый в служебных сигналах в наборе параметров последовательности, включается в I-срез, разбивается на блоки компонентов сигнала яркости, имеющие размер 64×64, и оно не указывает то, что каждая CTU становится узлом заголовка сдвоенного дерева, оборудование декодирования может определять то, что CCLM-режим доступен для текущей единицы кодирования.[202] To this end, the step of obtaining chrominance signal prediction information by the decoding equipment will be described in more detail in the following with reference to FIG. 23. When the palette mode is not applied to the current coding unit (S2310), the decoding equipment can determine whether or not the CCLM mode is available for the current coding unit (S2320). For example, the sps_cclm_enabled_flag parameter indicating the availability of the CCLM mode signaled in the sequence parameter set has a first value (e.g., 0) indicating that the CCLM mode is not available, the decoding equipment may determine that the CCLM mode is not available for the current coding unit. Alternatively, when sps_cclm_enabled_flag has a second value (for example, 1) indicating that CCLM mode is enabled, the sh_slice_type slice type parameter passed through the slice header indicates that the current slice type is not an I-slice, or the size of the signal component If the luminance of the current block is less than 64, the decoding equipment may determine that CCLM mode is available for the current encoding unit. Alternatively, when sps_cclm_enabled_flag has a second value (e.g., 1) indicating that CCLM mode is enabled, each coding tree unit (CTU) in which the sps_qtbtt_dual_tree_intra_flag signaled in the sequence parameter set is included in an I-slice is split into luma component blocks having a size of 64x64, and it does not indicate that each CTU becomes a dual-tree header node, the decoding equipment may determine that the CCLM mode is available for the current coding unit.
[203] Когда CCLM-режим доступен, оборудование декодирования может определять то, применяется или нет CCLM к текущей единице кодирования (S2330). Например, оборудование декодирования может получать параметр cclm_mode_flag из потока битов. Параметр cclm_mode_flag может указывать то, следует или нет применять CCLM-режим. Первое значение (например, 0) cclm_mode_flag может указывать то, что CCLM-режим не применяется. Второе значение (например, 1) cclm_mode_flag может указывать то, что CCLM-режим в форме любого из T_CCLM, L_CCLM и LT_CCLM является применимым. Когда значение cclm_mode_flag не получается из потока битов, значение cclm_mode_flag может определяться равным 0.[203] When the CCLM mode is available, the decoding equipment can determine whether or not CCLM is applied to the current encoding unit (S2330). For example, decoding equipment may obtain the cclm_mode_flag parameter from the bitstream. The cclm_mode_flag parameter can indicate whether or not CCLM mode should be used. The first value (eg 0) of cclm_mode_flag may indicate that CCLM mode is not applied. A second value (eg, 1) of cclm_mode_flag may indicate that a CCLM mode in the form of any of T_CCLM, L_CCLM, and LT_CCLM is applicable. When the value of cclm_mode_flag is not obtained from the bitstream, the value of cclm_mode_flag may be defined to be 0.
[204] При применении CCLM-режима (например, cclm_mode_flag==1), оборудование декодирования может получать параметр cclm_mode_idx из потока битов (S2340). Параметр cclm_mode_idx может указывать индекс, указывающий CCLM-режим, используемый для того, чтобы декодировать компонент сигнала цветности текущей единицы кодирования, из T_CCLM, L_CCLM и LT_CCLM.[204] When applying the CCLM mode (eg, cclm_mode_flag==1), the decoding equipment may obtain the cclm_mode_idx parameter from the bitstream (S2340). The cclm_mode_idx parameter may specify an index indicating the CCLM mode used to decode the chrominance signal component of the current coding unit, from T_CCLM, L_CCLM and LT_CCLM.
[205] Между тем, когда CCLM-режим не доступен, или CCLM-режим не применяется (например, cclm_mode_flag==0), оборудование декодирования может получать параметр intra_chroma_pred_mode из потока битов (S2350). Как описано выше, параметр intra_chroma_pred_mode может указывать режим внутреннего прогнозирования, используемый для того, чтобы декодировать компонент сигнала цветности текущей единицы кодирования. Например, intra_chroma_pred_mode может указывать одно из планарного режима, DC-режима, вертикального режима, горизонтального режима и извлеченного режима (DM)).[205] Meanwhile, when the CCLM mode is not available or the CCLM mode is not applied (eg, cclm_mode_flag==0), the decoding equipment may obtain the intra_chroma_pred_mode parameter from the bit stream (S2350). As described above, the intra_chroma_pred_mode parameter may indicate the intra prediction mode used to decode the chroma signal component of the current coding unit. For example, intra_chroma_pred_mode may indicate one of planar mode, DC mode, vertical mode, horizontal mode, and extracted mode (DM).
[206] Способ кодирования [206] Coding method
[207] В дальнейшем в этом документе описывается способ выполнения кодирования посредством оборудования кодирования согласно варианту осуществления с использованием вышеописанного способа со ссылкой на фиг. 24. Оборудование кодирования согласно варианту осуществления включает в себя запоминающее устройство и, по меньшей мере, один процессор, и, по меньшей мере, один процессор может осуществлять следующий способ кодирования.[207] Hereinafter, this document will describe a method for performing encoding by the encoding equipment according to the embodiment using the above-described method with reference to FIG. 24. The encoding equipment according to the embodiment includes a memory and at least one processor, and the at least one processor can implement the following encoding method.
[208] Во-первых, оборудование кодирования может определять текущий блок посредством разбиения изображения (S2410). Например, оборудование кодирования может определять текущий блок посредством разбиения изображения, как описано выше со ссылкой на фиг. 4-6. В процессе разбиения согласно варианту осуществления, информация разбиения изображений может кодироваться, и кодированная информация разбиения изображений может формироваться в качестве потока битов.[208] First, the encoding equipment may determine the current block by dividing the image (S2410). For example, the encoding equipment may determine the current block by dividing the image, as described above with reference to FIG. 4-6. In the partitioning process according to the embodiment, the image partition information may be encoded, and the encoded image partition information may be generated as a bit stream.
[209] Затем, оборудование кодирования может определять режим прогнозирования текущего блока (S2420). После этого, оборудование кодирования может кодировать флаг палитрового режима (например, pred_mode_plt_flag), указывающий то, что режим прогнозирования текущего блока представляет собой палитровый режим, на основе того, представляет режим прогнозирования текущего режима собой или нет палитровый режим (S2430). Кодированный флаг палитрового режима может формироваться в качестве потока битов.[209] Next, the encoding equipment may determine a prediction mode of the current block (S2420). Thereafter, the encoding equipment may encode a palette mode flag (eg, pred_mode_plt_flag) indicating that the prediction mode of the current block is a palette mode based on whether the prediction mode of the current mode is a palette mode or not (S2430). The encoded palette mode flag may be generated as a bitstream.
[210] Затем, оборудование кодирования может кодировать информацию кодирования в палитровом режиме, в которой текущий блок кодируется в палитровом режиме, на основе типа дерева текущего блока и того, представляет режим прогнозирования текущего блока собой или нет палитровый режим (S2440). Например, при определении того, что палитровый режим применяется, оборудование кодирования может формировать поток битов посредством формирования информации кодирования в палитровом режиме с использованием синтаксиса palette_coding(), как описано со ссылкой на фиг. 14-19.[210] Next, the encoding equipment may encode palette mode encoding information in which the current block is encoded in palette mode based on the tree type of the current block and whether the prediction mode of the current block is palette mode or not (S2440). For example, when determining that palette mode is applied, the encoding equipment may generate a bitstream by generating palette mode encoding information using palette_coding() syntax, as described with reference to FIG. 14-19.
[211] Между тем, кодирование информации кодирования в палитровом режиме текущего блока может включать в себя кодирование информации кодирования в палитровом режиме компонента сигнала яркости текущего блока. Например, когда тип дерева текущего блока представляет собой тип одиночного дерева или тип сигналов яркости со структурой в виде сдвоенного дерева, и палитровый режим применяется для текущего блока, информация для прогнозирования в палитровом режиме компонента сигнала яркости текущего блока может кодироваться, и поток битов может формироваться с использованием кодированной информации.[211] Meanwhile, encoding the palette mode encoding information of the current block may include encoding the palette mode encoding information of the luminance signal component of the current block. For example, when the tree type of the current block is a single tree type or a luminance signal type with a dual tree structure, and a palette mode is applied to the current block, information for palette mode prediction of a luminance signal component of the current block may be encoded, and a bitstream may be generated using encoded information.
[212] В этом случае, информация кодирования в палитровом режиме компонента сигнала яркости текущего блока может кодироваться на основе размера блока компонентов сигнала яркости текущего блока. Например, аналогично варианту осуществления по фиг. 13, оборудование кодирования может формировать информацию кодирования в палитровом режиме в качестве потока битов согласно синтаксису palette_coding(), заданному на основе ширины (например, cbWidth) блока компонентов сигнала яркости текущего блока и высоты (например, cbHeight) блока компонентов сигнала яркости текущего блока.[212] In this case, palette mode encoding information of the luminance signal component of the current block may be encoded based on the block size of the luminance signal components of the current block. For example, similar to the embodiment of FIG. 13, the encoding equipment may generate palette mode encoding information as a bitstream according to a palette_coding() syntax specified based on the width (eg, cbWidth) of the luma component block of the current block and the height (eg, cbHeight) of the luma component block of the current block.
[213] Помимо этого, кодирование информации кодирования в палитровом режиме текущего блока дополнительно может включать в себя кодирование информации кодирования в палитровом режиме компонента сигнала цветности текущего блока. Например, когда палитровый режим применяется для текущего блока, и тип дерева текущего блока представляет собой тип сигналов цветности со структурой в виде сдвоенного дерева, информация для прогнозирования в палитровом режиме компонента сигнала цветности текущего блока может кодироваться, и поток битов может формироваться с использованием кодированной информации.[213] In addition, encoding the palette mode encoding information of the current block may further include encoding the palette mode encoding information of the chrominance signal component of the current block. For example, when palette mode is applied to the current block, and the tree type of the current block is a chrominance signal type with a dual-tree structure, information for palette mode prediction of the chrominance signal component of the current block may be encoded, and a bitstream may be generated using the encoded information .
[214] В этом случае, информация кодирования в палитровом режиме компонента сигнала цветности текущего блока может кодироваться на основе размера блока компонентов сигнала цветности текущего блока. Например, аналогично варианту осуществления по фиг. 13, оборудование кодирования может формировать информацию кодирования в палитровом режиме в качестве потока битов, согласно синтаксису palette_coding(), заданному на основе ширины (например, cbWidth/subWidthC) блока компонентов сигнала цветности текущего блока и высоты (например, cbHeight/subHeightC) блока компонентов сигнала цветности текущего блока. Здесь, subWidthC и subHeightC могут представлять собой соотношения высоты и ширины блока компонентов сигнала яркости относительно блока компонентов сигнала цветности. В варианте осуществления, subWidthC и subHeightC могут определяться на основе chroma_format_idc и separate_cour_plane_flag, как показано на фиг. 10.[214] In this case, palette mode encoding information of the chrominance component of the current block may be encoded based on the block size of the chrominance components of the current block. For example, similar to the embodiment of FIG. 13, the encoding equipment can generate palette mode encoding information as a bitstream according to a palette_coding() syntax specified based on the width (eg, cbWidth/subWidthC) of the chroma component block of the current block and the height (eg, cbHeight/subHeightC) of the component block. chrominance signal of the current block. Here, subWidthC and subHeightC may represent the ratios of the height and width of the luma component block relative to the chrominance component block. In an embodiment, subWidthC and subHeightC may be determined based on chroma_format_idc and separate_cour_plane_flag, as shown in FIG. 10.
[215] Затем, когда режим прогнозирования текущего блока не представляет собой палитровый режим, оборудование кодирования может кодировать информацию прогнозирования компонентов сигналов цветности текущего блока (S2450). Информация прогнозирования компонентов сигналов цветности может представлять собой информацию (например, cclm_mode_flag, cclm_mode_idx) для прогнозирования на основе CCLM (кросскомпонентной линейной модели) или информацию внутреннего прогнозирования компонентов сигналов цветности (например, intra_chroma_pred_mode).[215] Then, when the prediction mode of the current block is not a palette mode, the encoding equipment can encode chrominance component prediction information of the current block (S2450). The chroma component prediction information may be CCLM (Cross Component Linear Model) prediction information (eg, cclm_mode_flag, cclm_mode_idx) or intra-chroma component prediction information (eg, intra_chroma_pred_mode).
[216] Между тем, когда палитровый режим применяется к текущему блоку, оборудование кодирования может не кодировать информацию прогнозирования компонентов сигналов цветности.[216] Meanwhile, when the palette mode is applied to the current block, the encoding equipment may not encode chrominance signal component prediction information.
[217] Более конкретно, информация относительно CCLM-прогнозирования может включать в себя CCLM-флаг (например, cclm_mode_flag), указывающий то, выполняется или нет CCLM-прогнозирование, и индекс CCLM-режима (например, cclm_mode_idx), указывающий режим CCLM-прогнозирования. CCLM-флаг может кодироваться и формироваться в качестве потока битов, когда CCLM-прогнозирование доступно для текущего блока. Индекс CCLM-режима может кодироваться и формироваться в качестве потока битов, когда CCLM-флаг указывает то, что CCLM-прогнозирование выполняется.[217] More specifically, information regarding CCLM prediction may include a CCLM flag (eg, cclm_mode_flag) indicating whether or not CCLM prediction is performed, and a CCLM mode index (eg, cclm_mode_idx) indicating the CCLM prediction mode . The CCLM flag may be encoded and generated as a bit stream when CCLM prediction is available for the current block. The CCLM mode index may be encoded and generated as a bit stream when the CCLM flag indicates that CCLM prediction is being performed.
[218] Между тем, когда CCLM-флаг указывает то, что CCLM-прогнозирование не выполняется, информация внутреннего прогнозирования компонентов сигналов цветности (например, intra_chroma_pred_mode) может кодироваться и формироваться в качестве потока битов.[218] Meanwhile, when the CCLM flag indicates that CCLM prediction is not performed, intra-chroma component prediction information (eg, intra_chroma_pred_mode) may be encoded and generated as a bit stream.
[219] Способ декодирования [219] Decoding method
[220] В дальнейшем в этом документе описывается способ выполнения декодирования посредством оборудования декодирования согласно варианту осуществления с использованием вышеописанного способа со ссылкой на фиг. 25. Оборудование декодирования согласно варианту осуществления может включать в себя запоминающее устройство и, по меньшей мере, один процессор, и, по меньшей мере, один процессор может осуществлять следующий способ декодирования.[220] Hereinafter, this document will describe a method for performing decoding by the decoding equipment according to the embodiment using the above-described method with reference to FIG. 25. The decoding equipment according to the embodiment may include a storage device and at least one processor, and the at least one processor may implement the following decoding method.
[221] Во-первых, оборудование декодирования может определять текущий блок посредством разбиения изображения (S2510). Например, оборудование декодирования может определять текущий блок посредством разбиения изображения, как описано выше со ссылкой на фиг. 4-6. В процессе разбиения согласно варианту осуществления, может использоваться информация разбиения изображений, полученная из потока битов.[221] First, the decoding equipment may determine the current block by dividing the image (S2510). For example, the decoding equipment may determine the current block by splitting the image, as described above with reference to FIG. 4-6. In the partitioning process according to the embodiment, image partitioning information obtained from the bitstream may be used.
[222] Затем, оборудование декодирования может идентифицировать то, применяется или нет палитровый режим для текущего блока, на основе флага палитрового режима (например, pred_mode_plt_flag), полученного из потока битов (S2520).[222] Next, the decoding equipment can identify whether or not the palette mode is applied for the current block based on the palette mode flag (eg, pred_mode_plt_flag) obtained from the bitstream (S2520).
[223] После этого, оборудование декодирования может получать информацию кодирования в палитровом режиме текущего блока из потока битов, на основе типа дерева текущего блока и того, применяется или нет палитровый режим для текущего блока (S2530). Например, при определении того, что палитровый режим применяется, оборудование декодирования может получать информацию кодирования в палитровом режиме из потока битов с использованием синтаксиса palette_coding(), как описано со ссылкой на фиг. 14-19.[223] Thereafter, the decoding equipment can obtain palette mode encoding information of the current block from the bitstream based on the tree type of the current block and whether or not palette mode is applied to the current block (S2530). For example, when determining that palette mode is applied, the decoding equipment may obtain palette mode encoding information from the bitstream using palette_coding() syntax, as described with reference to FIG. 14-19.
[224] Между тем, получение информации кодирования в палитровом режиме текущего блока может включать в себя получение информации кодирования в палитровом режиме компонента сигнала яркости текущего блока. Например, когда тип дерева текущего блока представляет собой тип одиночного дерева или тип сигналов яркости со структурой в виде сдвоенного дерева, и палитровый режим применяется для текущего блока, информация для прогнозирования в палитровом режиме компонента сигнала яркости текущего блока может получаться из потока битов.[224] Meanwhile, obtaining palette mode encoding information of the current block may include obtaining palette mode encoding information of a luminance signal component of the current block. For example, when the tree type of the current block is a single tree type or a luminance signal type with a dual tree structure, and palette mode is applied to the current block, information for palette mode prediction of the luminance signal component of the current block can be obtained from the bit stream.
[225] В этом случае, информация кодирования в палитровом режиме компонента сигнала яркости текущего блока может получаться на основе размера блока компонентов сигнала яркости текущего блока. Например, аналогично варианту осуществления по фиг. 13, синтаксис palette_coding() может выполняться на основе ширины (например, cbWidth) блока компонентов сигнала яркости текущего блока и высоты (например, cbHeight) блока компонентов сигнала яркости текущего блока.[225] In this case, palette mode encoding information of the luminance signal component of the current block can be obtained based on the block size of the luminance signal components of the current block. For example, similar to the embodiment of FIG. 13, the palette_coding() syntax may be performed based on the width (eg, cbWidth) of the luma component block of the current block and the height (eg, cbHeight) of the luma component block of the current block.
[226] Между тем, получение информации кодирования в палитровом режиме текущего блока дополнительно может включать в себя получение информации кодирования в палитровом режиме компонента сигнала цветности текущего блока. Например, когда палитровый режим применяется для текущего блока, и тип дерева текущего блока представляет собой тип сигналов цветности со структурой в виде сдвоенного дерева, информация для прогнозирования в палитровом режиме компонента сигнала цветности текущего блока может получаться из потока битов.[226] Meanwhile, obtaining palette mode encoding information of the current block may further include obtaining palette mode encoding information of a chrominance signal component of the current block. For example, when palette mode is applied to the current block, and the tree type of the current block is a dual-tree chroma signal type, information for palette mode prediction of the chrominance signal component of the current block can be obtained from the bit stream.
[227] В этом случае, информация кодирования в палитровом режиме компонента сигнала цветности текущего блока может получаться на основе размера блока компонентов сигнала цветности текущего блока. Например, аналогично варианту осуществления по фиг. 13, синтаксис palette_coding() может выполняться на основе ширины (например, cbWidth/subWidthC) блока компонентов сигнала цветности текущего блока и высоты (например, cbHeight/subHeightC) блока компонентов сигнала цветности текущего блока. Здесь, subWidthC и subHeightC могут представлять собой соотношения высоты и ширины блока компонентов сигнала яркости относительно блока компонентов сигнала цветности. В варианте осуществления, subWidthC и subHeightC могут определяться на основе chroma_format_idc и separate_colour_plane_flag, как показано на фиг. 10.[227] In this case, palette mode encoding information of the chrominance component of the current block can be obtained based on the block size of the chrominance components of the current block. For example, similar to the embodiment of FIG. 13, the palette_coding() syntax may be performed based on the width (eg, cbWidth/subWidthC) of the chrominance component block of the current block and the height (eg, cbHeight/subHeightC) of the chrominance component block of the current block. Here, subWidthC and subHeightC may represent the ratios of the height and width of the luma component block relative to the chrominance component block. In an embodiment, subWidthC and subHeightC may be determined based on chroma_format_idc and separate_colour_plane_flag, as shown in FIG. 10.
[228] Затем, когда палитровый режим не применяется для текущего блока, оборудование декодирования может получать информацию прогнозирования компонентов сигналов цветности текущего блока из потока битов (S2540). Например, когда палитровый режим не применяется, оборудование декодирования может получать информацию CCLM-прогнозирования (например, cclm_mode_flag, cclm_mode_idx) или информацию внутреннего прогнозирования компонентов сигналов цветности (например, intra_chroma_pred_mode) из потока битов, как описано со ссылкой на фиг. 23. Между тем, когда палитровый режим не применяется для текущего блока, информация прогнозирования компонентов сигналов цветности может не получаться из потока битов.[228] Then, when the palette mode is not applied to the current block, the decoding equipment can obtain chrominance component prediction information of the current block from the bit stream (S2540). For example, when palette mode is not applied, the decoding equipment may obtain CCLM prediction information (eg, cclm_mode_flag, cclm_mode_idx) or intra-chroma component prediction information (eg, intra_chroma_pred_mode) from the bitstream, as described with reference to FIG. 23. Meanwhile, when the palette mode is not applied to the current block, chroma component prediction information may not be obtained from the bitstream.
[229] Более конкретно, информация для CCLM-прогнозирования может включать в себя CCLM-флаг (например, cclm_mode_flag), указывающий то, выполняется или нет CCLM-прогнозирование, и индекс CCLM-режима (например, cclm_mode_idx), указывающий режим CCLM-прогнозирования. CCLM-флаг может получаться из потока битов, когда CCLM-прогнозирование доступно для текущего блока. Индекс CCLM-режима может получаться из потока битов, когда CCLM-флаг указывает то, что CCLM-прогнозирование выполняется.[229] More specifically, the CCLM prediction information may include a CCLM flag (eg, cclm_mode_flag) indicating whether CCLM prediction is performed or not, and a CCLM mode index (eg, cclm_mode_idx) indicating the CCLM prediction mode . The CCLM flag may be obtained from the bitstream when CCLM prediction is available for the current block. The CCLM mode index may be obtained from the bit stream when the CCLM flag indicates that CCLM prediction is being performed.
[230] Между тем, когда CCLM-флаг указывает то, что CCLM-прогнозирование не выполняется, информация внутреннего прогнозирования компонентов сигналов цветности (например, intra_chroma_pred_mode) может получаться из потока битов.[230] Meanwhile, when the CCLM flag indicates that CCLM prediction is not performed, intra-chroma component prediction information (eg, intra_chroma_pred_mode) can be obtained from the bit stream.
[231] Вариант применения [231] Application option
[232] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.[232] Although the exemplary methods of the present disclosure described above are presented as a sequence of operations for clarity of description, it is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order as 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.
[233] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.[233] 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.
[234] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.[234] The various embodiments of the present disclosure are not intended to be a list of all possible combinations and are intended to describe characteristic aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more of them.
[235] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.[235] Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination of the above. If the present disclosure is implemented in hardware, the present disclosure may be implemented in application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays. (FPGA), general processors, controllers, microcontrollers, microprocessors, etc.
[236] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[236] In addition, the image decoding equipment and image encoding equipment to which embodiments of the present disclosure are applied may be included in a multimedia broadcast transceiver device, a mobile communication terminal, a home theater system video device, a digital cinema system video device, a surveillance camera, video chat device, real-time communication device such as video communication, mobile streaming device, storage medium, video recording camera, video-on-demand (VoD) service device, OTT video device ( video 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.
[237] Фиг. 26 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[237] FIG. 26 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
[238] Ссылаясь на фиг. 26, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[238] Referring to FIG. 26, 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.
[239] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.[239] 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.
[240] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[240] The bitstream may be generated by an image encoding method or image encoding equipment to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[241] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.[241] The streaming server transmits multimedia 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.
[242] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[242] 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 store the bit stream for a predetermined time.
[243] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.[243] 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.
[244] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.[244] Each server in a content streaming system may operate as a distributed server, in which case data received from each server may be distributed.
[245] Объем раскрытия сущности включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.[245] The scope of the disclosure includes software or computer executable instructions (e.g., operating system, application, firmware, program, etc.) to enable operations according to the methods of various embodiments in hardware or computer, non-transitory computer readable media having such software or instructions stored and executed in hardware or a computer.
Промышленная применимостьIndustrial applicability
[246] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.[246] Embodiments of the present disclosure can be used to encode or decode an image.
Claims (35)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/876,766 | 2019-07-21 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022104196A Division RU2804732C2 (en) | 2019-07-21 | 2020-07-21 | Method and device for image encoding/decoding for transmission of color signal component prediction in service signals according to whether palette mode is applicable or not, and method for bit stream transmission |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2023125007A RU2023125007A (en) | 2023-10-12 |
RU2817300C2 true RU2817300C2 (en) | 2024-04-12 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2336663C1 (en) * | 2004-12-30 | 2008-10-20 | Самсунг Электроникс Ко., Лтд. | Method and device of colour image coding/decoding using chroma signal components correlation |
WO2016197314A1 (en) * | 2015-06-09 | 2016-12-15 | Microsoft Technology Licensing, Llc | Robust encoding/decoding of escape-coded pixels in palette mode |
EA201791616A1 (en) * | 2015-01-29 | 2017-11-30 | Квэлкомм Инкорпорейтед | CODING IN PALETTE MODE FOR VIDEO DATA CODING |
WO2017206805A1 (en) * | 2016-05-28 | 2017-12-07 | Mediatek Inc. | Method and apparatus of palette mode coding for colour video data |
RU2017142953A (en) * | 2015-06-12 | 2019-07-12 | Квэлкомм Инкорпорейтед | GROUPING BINS BYPASS PALETTE FOR VIDEO CODING |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2336663C1 (en) * | 2004-12-30 | 2008-10-20 | Самсунг Электроникс Ко., Лтд. | Method and device of colour image coding/decoding using chroma signal components correlation |
EA201791616A1 (en) * | 2015-01-29 | 2017-11-30 | Квэлкомм Инкорпорейтед | CODING IN PALETTE MODE FOR VIDEO DATA CODING |
WO2016197314A1 (en) * | 2015-06-09 | 2016-12-15 | Microsoft Technology Licensing, Llc | Robust encoding/decoding of escape-coded pixels in palette mode |
RU2017142953A (en) * | 2015-06-12 | 2019-07-12 | Квэлкомм Инкорпорейтед | GROUPING BINS BYPASS PALETTE FOR VIDEO CODING |
WO2017206805A1 (en) * | 2016-05-28 | 2017-12-07 | Mediatek Inc. | Method and apparatus of palette mode coding for colour video data |
Non-Patent Citations (2)
Title |
---|
Yung-Hsuan Chao et al. CE15-2: Palette mode of HEVC SCC, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0336-v4, 12th Meeting: Macao, 3-12 Oct. 2018. Edouard Franсois et al. AHG16/non-CE3: Study of CCLM restrictions in case of separate luma/chroma tree, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N0390r1, 14th Meeting: Geneva, 19-27 March 2019. * |
Yung-Hsuan Chao et al. CE8-2.1: Palette mode in HEVC, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-O0119, 15th Meeting: Gothenburg, 3-12 July 2019. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020318306B2 (en) | Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream | |
JP7358622B2 (en) | Image encoding/decoding method and apparatus for determining a prediction mode of a chroma block with reference to luma sample positions, and method for transmitting a bitstream | |
US12003740B2 (en) | Image encoding/decoding method and device using palette mode, and method for transmitting bitstream | |
JP2023158204A (en) | Image or video coding based on signaling of transform skip- and palette coding-related information | |
JP2024109737A (en) | Image decoding method and apparatus for residual coding | |
US20240267549A1 (en) | High level syntax signaling method and device for image/video coding | |
JP2023175009A (en) | Method and device for signalling picture division information | |
RU2817300C2 (en) | Method and apparatus for encoding/decoding images for transmitting carrier chrominance signal components prediction information in service signals according to whether or not palette mode is applicable, and method for transmitting bitstream | |
RU2804732C2 (en) | Method and device for image encoding/decoding for transmission of color signal component prediction in service signals according to whether palette mode is applicable or not, and method for bit stream transmission | |
RU2809033C2 (en) | Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission | |
RU2811759C2 (en) | Method and device for image encoding/decoding using adaptive color conversion and method for bitstream transmission | |
RU2795473C1 (en) | Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission | |
RU2809518C2 (en) | Method and device for encoding/decoding images using filtering and method for transmitting a bit stream | |
RU2820148C2 (en) | Image encoding and decoding equipment and image data transmission equipment | |
RU2820843C1 (en) | Bdpcm-based image encoding method and device for this | |
RU2812196C2 (en) | Image coding/decoding method, equipment and method for transmitting bit stream using maximum size of colour signal block conversion | |
RU2792223C1 (en) | Information coding regarding a set of transformation kernels | |
RU2815810C2 (en) | Encoding information on set of transformation kernels | |
RU2815430C2 (en) | Method and equipment for image encoding/decoding to perform in-loop filtration based on sub-frame structure and method for transmitting bit stream | |
RU2806813C2 (en) | Method and device for image coding based on bdpcm | |
RU2805218C2 (en) | Image coding method based on transformation and a device | |
RU2785731C1 (en) | Method and equipment for encoding/decoding images and method for bitstream transmission | |
RU2811456C2 (en) | Method and equipment for image encoding/decoding and method for bit stream transfer | |
RU2808004C2 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
AU2024201463A1 (en) | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method |