RU2780814C1 - Method for encoding images based on conversion and a device for this - Google Patents
Method for encoding images based on conversion and a device for this Download PDFInfo
- Publication number
- RU2780814C1 RU2780814C1 RU2021129459A RU2021129459A RU2780814C1 RU 2780814 C1 RU2780814 C1 RU 2780814C1 RU 2021129459 A RU2021129459 A RU 2021129459A RU 2021129459 A RU2021129459 A RU 2021129459A RU 2780814 C1 RU2780814 C1 RU 2780814C1
- Authority
- RU
- Russia
- Prior art keywords
- block
- information
- transform
- height
- width
- Prior art date
Links
- 238000006243 chemical reaction Methods 0.000 title abstract description 14
- 238000000605 extraction Methods 0.000 claims abstract description 6
- 239000000284 extract Substances 0.000 claims description 26
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 2
- 238000003384 imaging method Methods 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000001131 transforming Effects 0.000 description 76
- 238000000034 method Methods 0.000 description 32
- 230000000875 corresponding Effects 0.000 description 14
- 241001442055 Vipera berus Species 0.000 description 13
- 238000001914 filtration Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 10
- 230000003044 adaptive Effects 0.000 description 9
- 230000037242 Cmax Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000011664 signaling Effects 0.000 description 7
- 239000000203 mixture Substances 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000001702 transmitter Effects 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 229940116821 SSD Drugs 0.000 description 2
- 230000002146 bilateral Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000004059 degradation Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000004301 light adaptation Effects 0.000 description 2
- 229920000069 poly(p-phenylene sulfide) Polymers 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000010751 BS 2869 Class A2 Substances 0.000 description 1
- 239000010752 BS 2869 Class D Substances 0.000 description 1
- 239000010753 BS 2869 Class E Substances 0.000 description 1
- 239000010754 BS 2869 Class F Substances 0.000 description 1
- 101700002690 CLIP3 Proteins 0.000 description 1
- 101710036083 T24H10.1 Proteins 0.000 description 1
- 230000000903 blocking Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 101700018804 dct-5 Proteins 0.000 description 1
- 230000001419 dependent Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000002194 synthesizing Effects 0.000 description 1
Images
Abstract
Description
Уровень техникиState of the art
Область техники, к которой относится изобретениеThe technical field to which the invention belongs
[1] Настоящее раскрытие сущности, в общем, относится к технологии кодирования изображений, а более конкретно, к способу кодирования изображений на основе преобразования в системе кодирования изображений и к аппаратуре для этого.[1] The present disclosure relates generally to an image coding technology, and more specifically, to a transformation-based image coding method in an image coding system, and apparatus therefor.
Описание предшествующего уровня техникиDescription of the prior art
[2] В наше время, спрос на высококачественные изображения/видео высокого разрешения, к примеру, 4K, 8K или изображения/видео еще более сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как данные изображений/видео приобретают все более высокое разрешение и более высокое качество, передаваемый объем информации или объем в битах увеличивается по сравнению с традиционными данными изображений. Следовательно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, или данные изображений/видео сохраняются с использованием существующего носителя хранения данных, затраты на передачу и затраты на хранение для них увеличиваются.[2] Nowadays, the demand for high-quality high-definition images/videos, such as 4K, 8K or even higher ultra-high definition (UHD) images/videos, is growing in various fields of technology. As image/video data becomes higher resolution and higher quality, the amount of information or bits to be transmitted increases compared to conventional image data. Therefore, when image data is transmitted using a medium such as a conventional wired/wireless broadband line or image/video data is stored using an existing storage medium, the transmission cost and the storage cost thereof increase.
[3] Дополнительно, в наше время, интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR), искусственной реальности (AR) или голограмма и т.п., растет, и широковещательная передача для изображений/видео, имеющих признаки изображений, отличающиеся от признаков действительных изображений, таких как игровое изображение, увеличивается.[3] Additionally, nowadays, interest and demand for immersive media such as virtual reality (VR), artificial reality (AR) or hologram content, etc. is growing, and broadcasting for images/videos having of images different from the features of actual images, such as the game image, is enlarged.
[4] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений/видео для эффективного сжатия и передачи либо сохранения и воспроизведения информации высококачественных изображений/видео высокого разрешения, имеющих различные признаки, как описано выше.[4] Accordingly, there is a need for a high-performance image/video compression technology for efficiently compressing and transmitting or storing and reproducing high-quality high-resolution image/video information having various features as described above.
Сущность изобретенияThe essence of the invention
[5] Технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для повышения эффективности кодирования изображений.[5] The technical aspect of the present disclosure is to provide a method and apparatus for improving image coding efficiency.
[6] Другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для повышения эффективности при остаточном кодировании.[6] Another technical aspect of the present disclosure is to provide a method and apparatus for improving efficiency in residual coding.
[7] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для повышения эффективности при кодировании последнего ненулевого коэффициента преобразования.[7] Yet another technical aspect of the present disclosure is to provide a method and apparatus for improving efficiency in coding the last non-zero transform coefficient.
[8] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для кодирования коэффициента преобразования на основе высокочастотного обнуления, чтобы повышать эффективность остаточного кодирования.[8] Yet another technical aspect of the present disclosure is to provide a method and apparatus for encoding a transform coefficient based on high frequency nulling to improve the efficiency of residual coding.
[9] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для кодирования информации позиции относительно последнего значимого коэффициента в текущем блоке (или текущем блоке преобразования) на основе высокочастотного обнуления.[9] Yet another technical aspect of the present disclosure is to provide a method and apparatus for encoding position information with respect to the last significant coefficient in the current block (or current transform block) based on high frequency nulling.
[10] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для извлечения максимального значения информации суффикса относительно позиции последнего значимого коэффициента преобразования на основе размера области, к которой высокочастотное обнуление не применяется, в текущем блоке при кодировании коэффициентов преобразования для текущего блока (или текущего блока преобразования) на основе высокочастотного обнуления.[10] Yet another technical aspect of the present disclosure is to provide a method and apparatus for extracting the maximum value of suffix information relative to the position of the last significant transform coefficient based on the size of the region to which high-frequency nulling is not applied in the current block when encoding the coefficients. transforms for the current block (or current transform block) based on high-frequency zeroing.
[11] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для извлечения контекстной модели для информации позиции последнего значимого коэффициента преобразования на основе размера текущего блока при кодировании коэффициентов преобразования для текущего блока (или текущего блока преобразования) на основе высокочастотного обнуления.[11] Yet another technical aspect of the present disclosure is to provide a method and apparatus for extracting a context model for position information of the last significant transform coefficient based on the size of the current block when encoding the transform coefficients for the current block (or current transform block) on based on high frequency nulling.
[12] Согласно варианту осуществления настоящего раскрытия сущности, предоставляется способ декодирования изображений, осуществляемый посредством аппаратуры декодирования. Способ включает в себя извлечение остаточной выборки, и извлечение остаточной выборки включает в себя: извлечение обнуляемого блока для текущего блока; извлечение контекстной модели для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока; извлечение значения информации позиции последнего значимого коэффициента на основе контекстной модели; и извлечение позиции последнего значимого коэффициента на основе значения информации позиции последнего значимого коэффициента и ширины или высоты обнуляемого блока.[12] According to an embodiment of the present disclosure, an image decoding method is provided by a decoding apparatus. The method includes extracting a residual sample, and extracting the residual sample includes: extracting a nullable block for the current block; extracting a context model for position information of the last significant coefficient based on the width or height of the current block; extracting the position information value of the last significant coefficient based on the context model; and extracting the position of the last significant coefficient based on the value of the information of the position of the last significant coefficient and the width or height of the block to be nulled.
[13] Ширина обнуляемого блока может быть меньше ширины текущего блока.[13] The width of the block being reset can be less than the width of the current block.
[14] Высота обнуляемого блока может быть меньше высоты текущего блока.[14] The height of the block being reset can be less than the height of the current block.
[15] Информация позиции последнего значимого коэффициента может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и контекстное приращение для информации префикса по оси X и информации префикса по оси Y может извлекаться на основе ширины или высоты текущего блока.[15] The position information of the last significant coefficient may include prefix information of the last significant coefficient and suffix information of the last significant coefficient, the prefix information of the last significant coefficient may include x-axis prefix information and y-axis prefix information, and a context increment for information x-axis prefix and y-prefix information can be derived based on the width or height of the current block.
[16] Максимальное значение, разрешенное для информации префикса последнего значимого коэффициента, может извлекаться на основе размера обнуляемого блока.[16] The maximum value allowed for the prefix information of the last significant coefficient may be derived based on the size of the block to be nulled.
[17] Ширина или высота обнуляемого блока может извлекаться на основе ширины или высоты текущего блока.[17] The width or height of the nullable block may be derived based on the width or height of the current block.
[18] Когда ширина текущего блока равна 32, и высота текущего блока равна 32 или меньше, ширина обнуляемого блока может задаваться равной 16, и когда ширина текущего блока не равна 32, или высота текущего блока равна 64 или больше, ширина обнуляемого блока может задаваться равной меньшему значению из ширины текущего блока и 32.[18] When the width of the current box is 32 and the height of the current box is 32 or less, the width of the box to be nulled may be set to 16, and when the width of the current box is not 32 or the height of the current box is 64 or more, the width of the box to be nulled may be set equal to the smaller value of the width of the current block and 32.
[19] Когда высота текущего блока может быть равной 32, и ширина текущего блока равна 32 или меньше, высота обнуляемого блока задается равной 16, и когда высота текущего блока не равна 32, или ширина текущего блока равна 64 или больше, высота обнуляемого блока может задаваться равной меньшему значению из высоты текущего блока и 32.[19] When the height of the current box can be 32, and the width of the current box is 32 or less, the height of the box to be nulled is set to 16, and when the height of the current box is not 32, or the width of the current box is 64 or more, the height of the box to be nulled may be set to the lower value of the height of the current block and 32.
[20] Согласно другому варианту осуществления настоящего раскрытия сущности, предоставляется способ кодирования изображений, осуществляемый посредством аппаратуры кодирования. Способ может включать в себя кодирование остаточной информации, и кодирование включает в себя: извлечение обнуляемого блока для текущего блока; извлечение позиции последнего значимого коэффициента на основе ширины или высоты обнуляемого блока; извлечение контекстной модели для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока; и кодирование информации позиции последнего значимого коэффициента на основе контекстной модели.[20] According to another embodiment of the present disclosure, there is provided an image encoding method performed by an encoding apparatus. The method may include encoding the residual information, and encoding includes: extracting a nullable block for the current block; extracting the position of the last significant coefficient based on the width or height of the nullable block; extracting a context model for position information of the last significant coefficient based on the width or height of the current block; and encoding the position information of the last significant coefficient based on the context model.
[21] Согласно еще одному другому варианту осуществления настоящего раскрытия сущности, может предоставляться цифровой носитель хранения данных, который сохраняет данные изображений, включающие в себя кодированную информацию изображений и поток битов, сформированный согласно способу кодирования изображений, осуществляемому посредством аппаратуры кодирования.[21] According to yet another embodiment of the present disclosure, a digital storage medium that stores image data including encoded image information and a bitstream generated according to an image encoding method performed by an encoding apparatus can be provided.
[22] Согласно еще одному другому варианту осуществления настоящего раскрытия сущности, может предоставляться цифровой носитель хранения данных, который сохраняет данные изображений, включающие в себя кодированную информацию изображений и поток битов, чтобы инструктировать аппаратуре декодирования осуществлять способ декодирования изображений.[22] According to yet another embodiment of the present disclosure, a digital storage medium that stores image data including encoded image information and a bit stream can be provided to instruct a decoding apparatus to perform an image decoding method.
[23] Согласно настоящему раскрытию сущности, можно повышать общую эффективность сжатия изображений/видео.[23] According to the present disclosure, the overall efficiency of image/video compression can be improved.
[24] Согласно настоящему раскрытию сущности, можно повышать эффективность при остаточном кодировании.[24] According to the present disclosure of the essence, it is possible to improve the efficiency of the residual coding.
[25] Согласно настоящему раскрытию сущности, можно повышать эффективность при кодировании позиции последнего значимого коэффициента преобразования.[25] According to the present disclosure, efficiency can be improved when encoding the position of the last significant transform coefficient.
[26] Согласно настоящему раскрытию сущности, можно повышать эффективность остаточного кодирования посредством кодирования коэффициента преобразования на основе высокочастотного обнуления.[26] According to the present disclosure, it is possible to improve the efficiency of residual coding by encoding a transform coefficient based on high frequency nulling.
[27] Согласно настоящему раскрытию сущности, можно повышать эффективность кодирования изображений посредством кодирования информации позиции относительно последнего значимого коэффициента преобразования в текущем блоке (или текущем блоке преобразования) на основе высокочастотного обнуления.[27] According to the present disclosure, it is possible to improve image coding efficiency by encoding position information with respect to the last significant transform coefficient in the current block (or current transform block) based on high frequency nulling.
[28] Согласно настоящему раскрытию сущности, можно повышать эффективность кодирования изображений посредством извлечения контекстной модели для информации позиции последнего значимого коэффициента преобразования на основе предварительно определенного размера блока при кодировании коэффициентов преобразования для текущего блока (или текущего блока преобразования) на основе высокочастотного обнуления.[28] According to the present disclosure, it is possible to improve image coding efficiency by extracting a context model for the position information of the last significant transform coefficient based on a predetermined block size when encoding the transform coefficients for the current block (or current transform block) based on high frequency nulling.
[29] Преимущества, которые могут получаться за счет конкретных примеров настоящего раскрытия сущности, не ограничены упомянутыми выше преимуществами. Например, могут быть предусмотрены различные технические эффекты, которые специалисты в данной области техники могут понимать или извлекать из настоящего раскрытия сущности. Соответственно, конкретные преимущества настоящего раскрытия сущности не ограничены преимуществами, явно описанными в настоящем раскрытии сущности, и могут включать в себя различные преимущества, которые могут пониматься или извлекаться из технических признаков настоящего раскрытия сущности.[29] The benefits that can be obtained from specific examples of the present disclosure are not limited to the benefits mentioned above. For example, various technical effects may be provided that those skilled in the art may understand or derive from the present disclosure. Accordingly, the specific benefits of the present disclosure are not limited to the benefits expressly described in the present disclosure, and may include various benefits that may be understood or derived from the technical features of the present disclosure.
Краткое описание чертежейBrief description of the drawings
[30] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.[30] FIG. 1 schematically illustrates an example of a video/image coding system to which the present disclosure is applicable.
[31] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.[31] FIG. 2 is a diagram principally illustrating the configuration of video/image coding apparatus to which the present disclosure is applicable.
[32] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры декодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.[32] FIG. 3 is a diagram principally illustrating the configuration of video/image decoding equipment to which the present disclosure is applicable.
[33] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего раскрытия сущности.[33] FIG. 4 schematically illustrates a multiple transform technology according to an embodiment of the present disclosure.
[34] Фиг. 5 иллюстрирует 32-точечное обнуление согласно варианту осуществления настоящего раскрытия сущности.[34] FIG. 5 illustrates a 32 point zero according to an embodiment of the present disclosure.
[35] Фиг. 6 иллюстрирует сегмент остаточного блока согласно варианту осуществления настоящего раскрытия сущности.[35] FIG. 6 illustrates a residual block segment according to an embodiment of the present disclosure.
[36] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры декодирования видео согласно варианту осуществления настоящего раскрытия сущности.[36] FIG. 7 is a flowchart illustrating the operation of a video decoding apparatus according to an embodiment of the present disclosure.
[37] Фиг. 8 является блок-схемой, иллюстрирующей конфигурацию аппаратуры декодирования согласно варианту осуществления настоящего раскрытия сущности.[37] FIG. 8 is a block diagram illustrating a configuration of a decoding apparatus according to an embodiment of the present disclosure.
[38] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей процесс извлечения остаточной выборки согласно варианту осуществления настоящего раскрытия сущности.[38] FIG. 9 is a flowchart illustrating a residual sample extraction process according to an embodiment of the present disclosure.
[39] Фиг. 10 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры кодирования видео согласно варианту осуществления настоящего раскрытия сущности.[39] FIG. 10 is a flowchart illustrating the operation of video encoding apparatus according to an embodiment of the present disclosure.
[40] Фиг. 11 является блок-схемой, иллюстрирующей конфигурацию аппаратуры кодирования согласно варианту осуществления настоящего раскрытия сущности.[40] FIG. 11 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present disclosure.
[41] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей процесс кодирования остаточной информации согласно варианту осуществления настоящего раскрытия сущности.[41] FIG. 12 is a flowchart illustrating a residual information encoding process according to an embodiment of the present disclosure.
[42] Фиг. 13 иллюстрирует структуру системы потоковой передачи контента, к которой применяется настоящее раскрытие сущности.[42] FIG. 13 illustrates the structure of a content streaming system to which the present disclosure applies.
Подробное описание вариантов осуществленияDetailed description of embodiments
[43] Хотя настоящее раскрытие сущности может подвергаться различным модификациям и включает в себя различные варианты осуществления, его конкретные варианты осуществления показаны на чертежах в качестве примера и подробно описываются ниже. Тем не менее, это не имеет намерение ограничивать настоящее раскрытие сущности конкретными вариантами осуществления, раскрытыми в данном документе. Термины, используемые в данном документе, служат только для цели описания конкретных вариантов осуществления и не имеют намерение ограничивать техническую идею настоящего раскрытия сущности. Формы единственного числа могут включать в себя формы множественного числа, если контекст явно не указывает иное. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого не следует понимать, что заранее исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.[43] Although the present disclosure is subject to various modifications and includes various embodiments, its specific embodiments are shown in the drawings by way of example and are described in detail below. However, it is not intended to limit the present disclosure to the specific embodiments disclosed herein. The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the technical idea of the present disclosure. Singular forms may include plural forms unless the context clearly indicates otherwise. Terms such as "comprise" and "have" are intended to indicate that there are features, numbers, steps, operations, elements, components, or combinations of the foregoing used in the description below, and therefore should not be understand that the possibility of the presence or addition of one or more other features, numbers, steps, operations, elements, components, or combinations of the above is excluded in advance.
[44] Между тем, каждый компонент на чертежах, описанных в данном документе, проиллюстрирован независимо для удобства описания в отношении характеристических функций, отличающихся друг от друга, и, тем не менее, не подразумевается то, что каждый компонент реализуется посредством отдельных аппаратных средств или программного обеспечения. Например, любые два или более из этих компонентов могут комбинироваться, чтобы формировать один компонент, и любой один компонент может разделяться на несколько компонентов. Варианты осуществления, в которых компоненты комбинируются и/или разделяются, должны принадлежать объему патентного права настоящего раскрытия сущности при условии, что они не отступают от сущности настоящего раскрытия сущности.[44] Meanwhile, each component in the drawings described herein is independently illustrated for convenience of description with respect to characteristic functions different from each other, and yet it is not implied that each component is implemented by separate hardware or software. For example, any two or more of these components may be combined to form one component, and any one component may be split into multiple components. Embodiments in which the components are combined and/or separated should be within the scope of the patent right of this disclosure, provided that they do not depart from the spirit of the present disclosure.
[45] В дальнейшем в этом документе, подробнее поясняются предпочтительные варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи. Помимо этого, идентичные ссылки с номерами используются для идентичных компонентов на чертежах, и повторные описания для идентичных компонентов опускаются.[45] Hereinafter, preferred embodiments of the present disclosure are explained in more detail with reference to the accompanying drawings. In addition, identical numeral references are used for identical components in the drawings, and repeated descriptions for identical components are omitted.
[46] Этот документ относится к кодированию видео/изображений. Например, способ/пример, раскрытый в этом документе, может относится к стандарту VVC (универсального кодирования видео) (ITU-T-рекомендация H.266), к стандарту кодирования видео/изображений следующего поколения после VVC либо к другим связанным с кодированием видео стандартам (например, к стандарту HEVC (высокоэффективного кодирования видео) (ITU-T-рекомендация H.265), к стандарту EVC (фундаментального кодирования видео), к AVS2-стандарту и т.д.).[46] This document relates to video/image coding. For example, the method/example disclosed in this document may refer to the VVC (Universal Video Coding) standard (ITU-T Recommendation H.266), the next generation video/image coding standard after VVC, or other video coding related standards. (eg, HEVC (High Efficiency Video Coding) standard (ITU-T Recommendation H.265), EVC (Equivalent Video Coding) standard, AVS2 standard, etc.).
[47] В этом документе, могут предоставляться множество вариантов осуществления, связанных с кодированием видео/изображений, и если не указано обратное, варианты осуществления могут комбинироваться между собой и выполняться.[47] In this document, a plurality of embodiments related to video/image coding may be provided, and unless otherwise indicated, the embodiments may be combined with each other and performed.
[48] В этом документе, видео может означать набор последовательности изображений со временем. В общем, кадр означает единицу, представляющую изображение в конкретной временной зоне, и слайс/плитка представляет собой единицу, составляющую часть кадра. Слайс/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более слайсов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток.[48] In this document, video can mean a set of sequences of images over time. In general, a frame means a unit representing an image in a particular time zone, and a slice/tile is a unit constituting a part of a frame. A slice/tile may include one or more coding tree units (CTUs). One frame may consist of one or more slices/tiles. One frame may consist of one or more tile groups. One group of tiles may include one or more tiles.
[49] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. Альтернативно, выборка может означать пиксельное значение в пространственной области, либо когда это пиксельное значение преобразуется в частотную область, она может означать коэффициент преобразования в частотной области.[49] A pixel or pel can mean the smallest unit that makes up one frame (or image). In addition, "sample" can be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component. Alternatively, the sample can mean a pixel value in the spatial domain, or when that pixel value is converted to the frequency domain, it can mean a transform factor in the frequency domain.
[50] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). "Единица" и такой термин, как "блок", "зона" и т.п., могут использоваться вместо друг друга согласно обстоятельствам. В общем случае, блок MxN может включать в себя набор (или массив) выборок (или массивы выборок) или коэффициентов преобразования, состоящий из M столбцов и N строк.[50] The unit may represent a basic image processing unit. The item may include at least one of the specific area and information associated with the area. One unit may include one luminance block and two chrominance blocks (eg, Cb, Cr). "Unit" and a term such as "block", "zone", etc. may be used instead of each other according to the circumstances. In general, an MxN block may include a set (or array) of samples (or arrays of samples) or transform coefficients, consisting of M columns and N rows.
[51] В этом документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере одно из A, B и/или C".[51] In this document, the terms "/" and "," are to be interpreted as indicating "and/or". For example, the expression "A/B" can mean "A and/or B". Additionally, "A, B" may mean "A and/or B". Additionally, "A/B/C" may mean "at least one of A, B and/or C". In addition, "A/B/C" may mean "at least one of A, B and/or C".
[52] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может включать в себя 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".[52] Additionally, in the document, the term "or" should be interpreted as indicating "and/or". For example, the expression "A or B" may include 1) only A, 2) only B, and/or 3) both A and B. In other words, the term "or" in this document is to be interpreted as indicating "additionally or alternatively".
[53] В настоящем раскрытии сущности, "по меньшей мере одно из A и B" может означать "только A", "только B" или "как A, так и B". Помимо этого, в раскрытии сущности, выражение "по меньшей мере одно из A или B" или "по меньшей мере одно из A и/или B" может интерпретироваться как "по меньшей мере одно из A и B".[53] In the present disclosure, "at least one of A and B" can mean "only A", "only B", or "both A and B". In addition, in the disclosure, the expression "at least one of A or B" or "at least one of A and/or B" can be interpreted as "at least one of A and B".
[54] Помимо этого, в настоящем раскрытии сущности, "по меньшей мере одно из A, B и C" может означать "только A", "только B", "только C" либо "любая комбинация A, B и C". Помимо этого, "по меньшей мере одно из A, B или C" или "по меньшей мере одно из A, B и/или C" может означать "по меньшей мере одно из A, B и C".[54] In addition, in the present disclosure, "at least one of A, B, and C" can mean "A only", "B only", "C only", or "any combination of A, B and C". In addition, "at least one of A, B or C" or "at least one of A, B and/or C" can mean "at least one of A, B and C".
[55] Помимо этого, круглая скобка, используемая в настоящем раскрытии сущности, может означать "например". В частности, при указании "прогнозирование (внутреннее прогнозирование)" это может означать то, что "внутреннее прогнозирование" (intra prediction) предлагается в качестве примера "прогнозирования". Таким образом, "прогнозирование" в настоящем раскрытии сущности не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Помимо этого, при указании "прогнозирование (т.е. внутреннее прогнозирование)", это также может означать то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".[55] In addition, the parenthesis used in the present disclosure may mean "for example". In particular, when specifying "forecasting (internal prediction)" it may mean that "internal prediction" (intra prediction) is offered as an example of "prediction". Thus, "prediction" in the present disclosure is not limited to "internal prediction", and "internal prediction" can be offered as an example of "prediction". In addition, when referring to "prediction (ie, internal prediction)", it may also mean that "internal prediction" is offered as an example of "prediction".
[56] Технические признаки, отдельно описанные на одном чертеже в настоящем раскрытии сущности, могут реализовываться отдельно либо могут реализовываться одновременно.[56] The technical features separately described in one drawing in the present disclosure may be implemented separately or may be implemented simultaneously.
[57] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.[57] FIG. 1 schematically illustrates an example of a video/image coding system to which the present disclosure is applicable.
[58] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может доставлять кодированную информацию или данные видео/изображений в форме файла или потоковой передачи в приемное устройство через цифровой носитель хранения данных или сеть.[58] Referring to FIG. 1, the video/image coding system may include a first device (source device) and a second device (receiver device). The source device may deliver the encoded information or video/image data in file or streaming form to the destination device via a digital storage medium or a network.
[59] Исходное устройство может включать в себя видеоисточник, аппаратуру кодирования и передатчик. Приемное устройство может включать в себя приемник, аппаратуру декодирования и модуль рендеринга. Аппаратура кодирования может называться "аппаратурой кодирования видео/изображений", и аппаратура декодирования может называться "аппаратурой декодирования видео/изображений". Передатчик может включаться в аппаратуру кодирования. Приемник может включаться в аппаратуру декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[59] The source device may include a video source, encoding equipment, and a transmitter. The receiving device may include a receiver, decoding hardware, and a rendering engine. The encoding apparatus may be referred to as "video/image coding apparatus", and the decoding apparatus may be referred to as "video/image decoding apparatus". The transmitter may be included in the encoding equipment. The receiver may be included in the decoding equipment. The renderer may include a display, and the display may be configured as a separate device or an external component.
[60] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютер, планшетный компьютер и смартфон и может (электронно) формировать видео/изображение. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[60] A video source may acquire a video/image through a process of capturing, synthesizing, or generating a video/image. The video source may include a video/image capture device and/or a video/image generation device. The video/image capture device may include, for example, one or more cameras, video/image archives including previously captured videos/images, and the like. The video/image generating apparatus may include, for example, a computer, a tablet computer, and a smartphone, and may (electronically) generate a video/image. For example, the virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process may be replaced by a linked data generation process.
[61] Аппаратура кодирования может кодировать входное видео/изображение. Аппаратура кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.[61] The encoding apparatus may encode the input video/image. The encoding apparatus may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. Encoded data (encoded video/picture information) may be output in the form of a bit stream.
[62] Передатчик может передавать информацию или данные кодированного видео/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый/извлеченный поток битов в аппаратуру декодирования.[62] The transmitter may transmit the encoded video/image information or data output in the form of a bit stream to the receiver of the receiving device 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 may include an element for generating a media file via a predetermined file format and may include an element for transmission via a broadcast/communication network. The receiver may receive/retrieve the bitstream and transmit the received/extracted bitstream to the decoding equipment.
[63] Аппаратура декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование, прогнозирование и т.п., соответствующих работе аппаратуры кодирования.[63] The decoding apparatus can decode the video/image by performing a sequence of procedures such as dequantization, inverse transformation, prediction, etc., corresponding to the operation of the encoding apparatus.
[64] Модуль рендеринга может осуществлять рендеринг декодированного видео/изображения. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[64] The rendering module may render the decoded video/image. The rendered video/image can be displayed through the display.
[65] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры кодирования видео/изображений, к которому является применимым настоящее раскрытие сущности. В дальнейшем в этом документе, то, что называется "аппаратурой кодирования видео", может включать в себя аппаратуру кодирования изображений.[65] FIG. 2 is a diagram principally illustrating the configuration of the video/image coding apparatus to which the present disclosure is applicable. Hereinafter, what is referred to as "video coding hardware" may include image coding hardware.
[66] Ссылаясь на фиг. 2, аппаратура 200 кодирования может включать в себя модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250, фильтр 260 и запоминающее устройство 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234, обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описываются выше, может состоять из одного или более аппаратных компонентов (например, наборов микросхем или процессоров кодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.[66] Referring to FIG. 2, the
[67] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или видеокадр), вводимое в аппаратуру 200 кодирования, на одну или более единиц обработки. В качестве одного примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, начиная с единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU), единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT). Например, одна единица кодирования может разделяться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая далее не сегментируется. В этом случае, максимальная единица кодирования может использоваться непосредственно в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристике изображения. Альтернативно, единица кодирования может рекурсивно сегментироваться на единицы кодирования дополнительной большей глубины по мере необходимости, так что единица кодирования оптимального размера может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такие процедуры, как прогнозирование, преобразование и восстановление, которые описываются ниже. В качестве другого примера, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеописанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[67] The
[68] "Единица" и такой термин, как "блок", "зона" и т.п., могут использоваться вместо друг друга согласно обстоятельствам. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящий из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу одного кадра (или изображения).[68] "Unit" and terms such as "block", "zone", etc. may be used instead of each other according to the circumstances. In general, an MxN block may represent a set of samples or transform coefficients, consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component. Sample can be used as a term corresponding to a pixel or pel of a single frame (or image).
[69] Вычитатель 223 вычитает прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль, который вычитает прогнозный сигнал (прогнозированный блок, массив прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200, может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком") и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как пояснено ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.[69] The subtractor 223 subtracts the prediction signal (predicted block, predictive sample array) output from the inter prediction unit 221 or intra prediction unit 222 from the input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is passed to the
[70] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в соседнем узле или с разнесением от текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленные режимы могут включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, и большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[70] The intra prediction module 222 may predict the current block by referring to the samples in the current frame. The samples for a link may be located at an adjacent node or spaced apart from the current block according to the prediction mode. In intra prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. Non-directional modes 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 just an example, and more or fewer directional prediction modes may be used depending on the setting. The intra prediction unit 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
[71] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться на основе блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования информации движения (прогнозирования векторов движения, MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.[71] The inter-prediction unit 221 may derive a predicted block for the current block based on a reference block (reference sample array) indicated by a motion vector for the reference frame. At this time, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted based on blocks, sub-blocks, or samples based on the correlation of the motion information between the adjacent block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter prediction, the neighbor block may include a spatial neighbor block existing in the current frame and a temporal neighbor block existing in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighbor block may be identical to each other or different from each other. The temporal neighbor block may be referred to as a "collocated reference block", "collocated CU (colCU)" or the like, and a reference frame including the temporal neighbor block may be referred to as a "collocated frame (colPic)". For example, the inter-prediction unit 221 may configure a list of motion information candidates based on neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and/or the reference frame index of the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 221 may use the neighboring block motion information as the current block motion information. In the skip mode, unlike the merge mode, the residual signal may not be transmitted. In the case of a motion information prediction (motion vector prediction, MVP) mode, the motion vector of an adjacent block may be used as a motion vector predictor, and the motion vector of the current block may be indicated by signaling a motion vector difference.
[72] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования относительно одного блока и, также, может применять внутреннее прогнозирование и взаимное прогнозирование одновременно. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Дополнительно, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме, чтобы выполнять прогнозирование относительно блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., к примеру, для кодирования экранного контента (SCC). Хотя IBC по существу выполняет прогнозирование в текущем блоке, оно может выполняться аналогично взаимному прогнозированию в том, что оно извлекает опорный блок в текущем блоке. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[72] The
[73] Прогнозный сигнал, сформированный через модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[73] The predictive signal generated through the inter prediction module 221 and/or the intra prediction module 222 may be used to generate a recovered signal or generate a residual signal.
[74] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить кодированный сигнал в потоке битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться на основе единиц слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) и т.п. Дополнительно, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем раскрытии сущности, информация и/или синтаксические элементы, которые передаются/сигнализируются в служебных сигналах в аппаратуру декодирования из аппаратуры кодирования, могут включаться в информацию видео/изображений. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться через сеть или сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть, сеть связи и т.п., и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), который передает сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), который сохраняет его, могут быть сконфигурированы как внутренний/внешний элемент аппаратуры 200 кодирования, либо передатчик может включаться в энтропийный кодер 240.[74] The
[75] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться. Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, так что может формироваться восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Когда отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в текущем блоке и, как описано ниже, может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации.[75] The quantized transform coefficients output from
[76] Между тем, в процессе кодирования и/или восстановления кадров может применяться преобразование сигнала яркости с масштабированием сигнала цветности (LMCS).[76] Meanwhile, during the encoding and/or frame reconstruction process, luma signal scaling (LMCS) transformation may be applied.
[77] Фильтр 260 может повышать субъективное/объективное качество видео посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, в частности, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Как пояснено ниже в описании каждого способа фильтрации, фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно фильтрации может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.[77] The filter 260 can improve subjective/objective video quality by applying filtering to the reconstructed signal. For example, filter 260 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame, and may store the modified reconstructed frame in
[78] Модифицированный восстановленный кадр, который передан в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Посредством этого, аппаратура кодирования может не допускать рассогласования прогнозирования в аппаратуре 100 кодирования и аппаратуре декодирования, когда применяется взаимное прогнозирование, и также может повышать эффективность кодирования.[78] The modified reconstructed frame, which is transferred to the
[79] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр, чтобы использовать его в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока в текущем кадре, из которой извлекается (или кодируется) информация движения, и/или информацию движения блоков в уже восстановленном кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать их в модуль 222 внутреннего прогнозирования.[79] The DPB of the
[80] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры декодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.[80] FIG. 3 is a diagram principally illustrating the configuration of a video/image decoding apparatus to which the present disclosure is applicable.
[81] Ссылаясь на фиг. 3, аппаратура декодирования видео 300 может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350 и запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, может состоять из одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.[81] Referring to FIG. 3, the
[82] Когда поток битов, включающий в себя информацию видео/изображений, вводится, аппаратура 300 декодирования может восстанавливать изображение, соответствующее процессу, посредством которого информация видео/изображений обработана в аппаратуре кодирования по фиг. 2. Например, аппаратура 300 декодирования может извлекать единицы/блоки на основе информации, связанной с сегментацией на блоки, полученной из потока битов. Аппаратура 300 декодирования может выполнять декодирование посредством использования единицы обработки, применяемой в аппаратуре кодирования. Следовательно, единица обработки декодирования, например, может представлять собой единицу кодирования, которая может сегментироваться вдоль структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Так же, восстановленный сигнал изображения, декодированный и выводимый через аппаратуру 300 декодирования может воспроизводиться через модуль воспроизведения.[82] When a bitstream including video/image information is input, the
[83] Аппаратура 300 декодирования может принимать сигнал, выводимый из аппаратуры кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), требуемую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) и т.п. Дополнительно, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Аппаратура декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. В настоящем раскрытии сущности, передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, которые описываются ниже, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 310 может декодировать информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC, CABAC и т.п., и может выводить значение синтаксического элемента, необходимого для восстановления изображений, и квантованные значения коэффициента преобразования относительно остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием декодирования информации целевых синтаксических элементов и декодирования информации соседних и декодируемых целевых блоков либо информации символа/элемента разрешения, декодированного на предыдущем этапе, прогнозировать вероятность формирования элемента разрешения согласно определенной контекстной модели и выполнять арифметическое декодирование элемента разрешения, чтобы формировать символ, соответствующий каждому значению синтаксического элемента. Здесь, способ энтропийного CABAC-декодирования может обновлять контекстную модель с использованием информации символа/элемента разрешения, декодированного для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация относительно прогнозирования из информации, декодированной в энтропийном декодере 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточные значения, т.е. квантованные коэффициенты преобразования, для которых энтропийное декодирование выполнено в энтропийном декодере 310, и ассоциированная информация параметров могут вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Дополнительно, информация относительно фильтрации из информации, декодированной в энтропийном декодере 310, может предоставляться в фильтр 350. Между тем, приемник (не показан), который принимает сигнал, выводимый из аппаратуры кодирования, дополнительно может составлять аппаратуру 300 декодирования в качестве внутреннего/внешнего элемента, и приемник может представлять собой компонент энтропийного декодера 310. Между тем, аппаратура декодирования согласно настоящему раскрытию сущности может называться "аппаратурой кодирования видео/изображений/кадров", и аппаратура декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.[83] The
[84] Деквантователь 321 может выводить коэффициенты преобразования посредством деквантования квантованных коэффициентов преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполнять перекомпоновку на основе порядка сканирования коэффициентов, которое выполнено в аппаратуре кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[84] The
[85] Деквантователь 322 получает остаточный сигнал (остаточный блок, массив остаточных выборок) посредством обратного преобразования коэффициентов преобразования.[85] The
[86] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и, в частности, может определять режим внутреннего/взаимного прогнозирования.[86]
[87] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования относительно одного блока и, также, может применять внутреннее прогнозирование и взаимное прогнозирование одновременно. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования для блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., к примеру, для кодирования экранного контента (SCC). Хотя IBC по существу выполняет прогнозирование в текущем блоке, оно может выполняться аналогично взаимному прогнозированию в том, что оно извлекает опорный блок в текущем блоке. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[87] The prediction module may generate a prediction signal based on various prediction methods. For example, the prediction module may apply intra prediction or inter prediction for prediction with respect to one block, and may also apply intra prediction and inter prediction at the same time. This may be referred to as "combined mutual and intra prediction (CIIP)". In addition, the prediction module may perform intra-block copy (IBC) to predict for a block. In-block copying can be used for image/video encoding of game content and the like, for example, screen content coding (SCC). Although IBC essentially performs prediction in the current block, it can be performed similar to inter-prediction in that it retrieves a reference block in the current block. Thus, the IBC may use at least one of the inter-prediction technologies described in the present disclosure.
[88] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в соседнем узле или с разнесением от текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[88] The
[89] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться на основе блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения и/или индекс опорного кадра текущего блока на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[89] The
[90] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозных выборок), выводимым из модуля 330 прогнозирования. Когда отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.[90] The
[91] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в текущем блоке и, как описано ниже, может выводиться посредством фильтрации или использоваться для взаимного прогнозирования следующего кадра.[91] The
[92] Между тем, в процессе декодирования кадров, может применяться преобразование сигнала яркости с масштабированием сигнала цветности (LMCS).[92] Meanwhile, in the frame decoding process, luminance chroma scaling (LMCS) conversion may be applied.
[93] Фильтр 350 может повышать субъективное/объективное качество видео посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может передавать модифицированный восстановленный кадр в запоминающем устройстве 360, в частности, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[93] The
[94] (Модифицированный) восстановленный кадр, который сохранен в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока в текущем кадре, из которой информация движения извлечена (или декодирована), и/или информацию движения блоков в уже восстановленном кадре. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования для использования в качестве информации движения соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать их в модуль 331 внутреннего прогнозирования.[94] The (modified) reconstructed frame that is stored in the DPB of the
[95] В этом подробном описании, примеры, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 аппаратуры 300 декодирования, могут аналогично или соответственно применяться к модулю 220 прогнозирования, деквантователю 234, обратному преобразователю 235 и фильтру 260 аппаратуры 200 кодирования, соответственно.[95] In this detailed description, the examples described in
[96] Как описано выше, прогнозирование выполняется для того, чтобы повышать эффективность сжатия при выполнении кодирования видео. За счет этого, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой целевой блок кодирования. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок может идентично извлекаться в аппаратуре кодирования и аппаратуре декодирования, и аппаратура кодирования может повышать эффективность кодирования изображений посредством передачи в служебных сигналах в аппаратуру декодирования не исходного выборочного значения самого исходного блока, а информации относительно остатка (остаточной информации) между исходным блоком и прогнозированным блоком. Аппаратура декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком, и формировать восстановленный кадр, включающий в себя восстановленные блоки.[96] As described above, prediction is performed in order to improve the compression efficiency when performing video encoding. Due to this, a predicted block including the predictive samples for the current block, which is the coding target block, can be generated. Here, the prediction block includes prediction samples in the spatial domain (or pixel domain). The predicted block can be identically retrieved in the encoding apparatus and the decoding apparatus, and the encoding apparatus can improve image encoding efficiency by signaling to the decoding apparatus not the original sample value of the original block itself, but information regarding the residual (residual information) between the original block and the predicted block . The decoding apparatus can extract a residual block including the residual samples based on the residual information, generate a reconstructed block including the reconstructed samples by summing the residual block with the predicted block, and generate a reconstructed frame including the reconstructed blocks.
[97] Остаточная информация может формироваться через процедуры преобразования и квантования. Например, аппаратура кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, извлекать коэффициенты преобразования посредством выполнения процедуры преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, и извлекать квантованные коэффициенты преобразования посредством выполнения процедуры квантования для коэффициентов преобразования, так что оно может передавать в служебных сигналах ассоциированную остаточную информацию в аппаратуру декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений, информацию позиции, технологию преобразования, ядро преобразования, параметр квантования и т.п. квантованных коэффициентов преобразования. Аппаратура декодирования может выполнять процедуру квантования/деквантования и извлекать остаточные выборки (или блок остаточных выборок), на основе остаточной информации. Аппаратура декодирования может формировать восстановленный блок на основе прогнозированного блока и остаточного блока. Аппаратура кодирования может извлекать остаточный блок посредством деквантования/обратного преобразования квантованных коэффициентов преобразования для ссылки для взаимного прогнозирования следующего кадра и может формировать восстановленный кадр на его основе.[97] The residual information may be generated through transformation and quantization procedures. For example, the encoding apparatus can extract the residual block between the original block and the predicted block, extract transform coefficients by performing a transform procedure on the residual samples (array of residual samples) included in the residual block, and extract quantized transform coefficients by performing a quantization procedure on the transform coefficients, so that it can signal the associated residual information to the decoding hardware (via a bitstream). Here, the residual information may include value information, position information, transformation technology, transformation kernel, quantization parameter, and the like. quantized transformation coefficients. The decoding hardware may perform a quantization/dequantization procedure and extract residual samples (or block of residual samples) based on the residual information. The decoding hardware may generate a reconstructed block based on the predicted block and the residual block. The coding apparatus may extract the residual block by dequantizing/inversely transforming the quantized transform coefficients for a reference for inter-prediction of the next frame, and may generate a reconstructed frame based on it.
[98] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего раскрытия сущности.[98] FIG. 4 schematically illustrates a multiple transform technology according to an embodiment of the present disclosure.
[99] Ссылаясь на фиг. 4, преобразователь может соответствовать преобразователю в аппаратуре кодирования вышеприведенного фиг. 2, и обратный преобразователь может соответствовать обратному преобразователю в аппаратуре кодирования вышеприведенного фиг. 2 либо обратному преобразователю в аппаратуре декодирования по фиг. 3.[99] Referring to FIG. 4, the converter may correspond to the converter in the encoding apparatus of FIG. 2, and the inverse converter may correspond to the inverse converter in the encoding apparatus of FIG. 2 or the inverse converter in the decoding apparatus of FIG. 3.
[100] Преобразователь может извлекать коэффициенты (первичного) преобразования посредством выполнения первичного преобразования на основе остаточных выборок (массива остаточных выборок) в остаточном блоке (S410). Это первичное преобразование может называться "базовым преобразованием". В данном документе, первичное преобразование может быть основано на множественном выборе преобразования (MTS), и когда множественное преобразование применяется в качестве первичного преобразования, оно может называться "многоядерным преобразованием".[100] The transformer can extract (primary) transform coefficients by performing primary transform based on the residual samples (residual sample array) in the residual block (S410). This primary transformation may be referred to as the "basic transformation". Herein, the primary transform may be based on multiple transform selection (MTS), and when the multiple transform is applied as the primary transform, it may be referred to as "multi-core transform".
[101] Многоядерное преобразование может представлять способ преобразования дополнительно с использованием дискретного косинусного преобразования (DCT) тип 2 и дискретного синусного преобразования (DST) тип 7, DCT типа 8 и/или DST типа 1. Таким образом, многоядерное преобразование может представлять способ преобразования для преобразования остаточного сигнала (или остаточного блока) пространственной области в коэффициенты преобразования (или коэффициенты первичного преобразования) частотной области на основе множества ядер преобразования, выбранных из числа DCT типа 2, DST типа 7, DCT типа 8 и DST типа 1. В данном документе, коэффициенты первичного преобразования могут называться "временными коэффициентами преобразования" с точки зрения преобразователя.[101] The multi-core transform may represent a transform method further using a discrete cosine transform (DCT) type 2 and a discrete sine transform (DST)
[102] Таким образом, когда традиционный способ преобразования применяется, коэффициенты преобразования могут формироваться посредством применения преобразования из пространственной области в частотную область к остаточному сигналу (или остаточному блоку) на основе DCT типа 2. Тем не менее, когда многоядерное преобразование применяется, коэффициенты преобразования (или коэффициенты первичного преобразования) могут формироваться посредством применения преобразования из пространственной области в частотную область к остаточному сигналу (или остаточному блоку) на основе DCT типа 2, DST типа 7, DCT типа 8 и/или DST типа 1. Здесь, DCT тип 2, DST тип 7, DCT тип 8 и DST тип 1 могут называться "типами преобразования", "ядрами преобразования" (transform kernels или transform cores). Эти DCT/DST типы могут задаваться на основе базисных функций.[102] Thus, when the conventional transform method is applied, transform coefficients can be generated by applying a spatial-to-frequency domain transform to a residual signal (or residual block) based on DCT type 2. However, when multi-core transform is applied, the transform coefficients (or primary transform coefficients) may be generated by applying a spatial-to-frequency domain transform to the residual signal (or residual block) based on DCT type 2,
[103] Если множественное базовое преобразование выполняется, то ядро вертикального преобразования и ядро горизонтального преобразования для целевого блока могут выбираться из числа ядер преобразования, вертикальное преобразование для целевого блока может выполняться на основе ядра вертикального преобразования, и горизонтальное преобразование для целевого блока может выполняться на основе ядра горизонтального преобразования. Здесь, горизонтальное преобразование может представлять преобразование для горизонтальных компонентов целевого блока, и вертикальное преобразование может представлять преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может адаптивно определяться на основе режима прогнозирования и/или индекса преобразования целевого блока (CU или субблока), включающего в себя остаточный блок.[103] If multiple base transform is performed, then the vertical transform kernel and the horizontal transform kernel for the target block may be selected from among the transform kernels, the vertical transform for the target block may be performed based on the vertical transform kernel, and the horizontal transform for the target block may be performed based on horizontal transformation kernels. Here, the horizontal transform may represent a transform for the horizontal components of the target box, and the vertical transform may represent the transform for the vertical components of the target box. The vertical transform kernel/horizontal transform kernel may be adaptively determined based on the prediction mode and/or transform index of the target block (CU or subblock) including the residual block.
[104] Дополнительно, согласно примеру, если первичное преобразование выполняется посредством применения MTS, взаимосвязь преобразования для ядер преобразования может задаваться посредством задания конкретных базисных функций равными предварительно определенным значениям и комбинирования базисных функций, которые должны применяться при вертикальном преобразовании или горизонтальном преобразовании. Например, когда ядро горизонтального преобразования выражается как trTypeHor, и ядро преобразования вертикального направления выражается как trTypeVer, значение trTypeHor или trTypeVer в 0 может задаваться для DCT2, значение trTypeHor или trTypeVer в 1 может задаваться для DST7, и значение trTypeHor или trTypeVer в 2 может задаваться для DCT8.[104] Further, according to an example, if the primary transformation is performed by applying the MTS, the transformation relationship for the transformation kernels can be set by setting specific basis functions to predetermined values and combining the basis functions to be applied in vertical transformation or horizontal transformation. For example, when a horizontal transformation kernel is expressed as trTypeHor and a vertical direction transformation kernel is expressed as trTypeVer, a value of trTypeHor or trTypeVer of 0 may be specified for DCT2, a value of trTypeHor or trTypeVer of 1 may be specified for DST7, and a value of trTypeHor or trTypeVer of 2 may be specified for DCT8.
[105] В этом случае, информация MTS-индекса может кодироваться и передаваться в служебных сигналах в аппаратуру декодирования, чтобы указывать любой из множества наборов ядер преобразования. Например, MTS-индекс в 0 может указывать то, что значения trTypeHor и trTypeVer равны 0, MTS-индекс в 1 может указывать то, что значения trTypeHor и trTypeVer равны 1, MTS-индекс в 2 может указывать то, что значение trTypeHor равно 2, и значение trTypeVer равно 1, MTS-индекс 3 может указывать то, что значение trTypeHor равно 1, и значение trTypeVer равно 2, и MTS-индекс 4 может указывать то, что оба значения trTypeHor и trTypeVer равны 2.[105] In this case, the MTS index information may be encoded and signaled to the decoding apparatus to indicate any of a plurality of sets of transform kernels. For example, an MTS index of 0 may indicate that trTypeHor and trTypeVer are 0, an MTS index of 1 may indicate that trTypeHor and trTypeVer are 1, an MTS index of 2 may indicate that trTypeHor is 2 and trTypeVer is 1, MTS-index 3 may indicate that trTypeHor is 1 and trTypeVer is 2, and MTS-index 4 may indicate that both trTypeHor and trTypeVer are 2.
[106] В одном примере, наборы ядер преобразования согласно информации MTS-индекса проиллюстрированы в следующей таблице.[106] In one example, sets of transformation cores according to MTS index information are illustrated in the following table.
[107] Табл. 1[107] Tab. one
[108] В другом примере, trTypeHor и trTypeVer согласно информации MTS-индекса (mts_idx[x][y]) и режиму прогнозирования (CuPredMode[x][y]) для текущего блока (например, текущего блока кодирования) проиллюстрированы следующим образом.[108] In another example, trTypeHor and trTypeVer according to MTS index information (mts_idx[x][y]) and prediction mode (CuPredMode[x][y]) for the current block (eg, current coding block) are illustrated as follows.
[109] Табл. 2[109] Tab. 2
[110] Преобразователь может извлекать модифицированные коэффициенты (вторичного) преобразования посредством выполнения вторичного преобразования на основе коэффициентов (первичного) преобразования (S420). Первичное преобразование представляет собой преобразование из пространственной области в частотную область, и вторичное преобразование означает преобразование в более сжимающее выражение посредством использования корреляции, существующей между коэффициентами (первичного) преобразования. Вторичное преобразование может включать в себя неразделимое преобразование. В этом случае, вторичное преобразование может называться "неразделимым вторичным преобразованием (NSST)" или "зависимым от режима неразделимым вторичным преобразованием (MDNSST)". Неразделимое вторичное преобразование может представлять преобразование, которое формирует модифицированные коэффициенты преобразования (или коэффициенты вторичного преобразования) для остаточного сигнала посредством вторичного преобразования, на основе матрицы неразделимого преобразования, коэффициентов (первичного) преобразования, извлекаемых через первичное преобразование. В это время, вертикальное преобразование и горизонтальное преобразование могут не применяться отдельно (либо горизонтальное и вертикальное преобразования могут не применяться независимо) к коэффициентам (первичного) преобразования, но преобразования могут применяться сразу на основе матрицы неразделимого преобразования. Другими словами, неразделимое вторичное преобразование может представлять способ преобразования, в котором вертикальный и горизонтальный компоненты коэффициентов (первичного) преобразования не разделяются, и, например, двумерные сигналы (коэффициенты преобразования) перекомпонуются в одномерный сигнал через конкретное определенное направление (например, направление сначала по строкам или направление сначала по столбцам), и затем модифицированные коэффициенты преобразования (или коэффициенты вторичного преобразования) формируются на основе матрицы неразделимого преобразования. Например, согласно порядку сначала по строкам, блоки MxN располагаются в линию в порядке "первая строка, вторая строка, ..., и N-ая строка". Согласно порядку сначала по столбцам, блоки MxN располагаются в линию в порядке "первый столбец, второй столбец, ..., и N-ый столбец". Неразделимое вторичное преобразование может применяться к левой верхней области блока, сконфигурированного с коэффициентами (первичного) преобразования (в дальнейшем в этом документе, может называться "блоком коэффициентов преобразования"). Например, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 8, неразделимое вторичное преобразование 8×8 может применяться к левой верхней области 8×8 блока коэффициентов преобразования. Дополнительно, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 4, и ширина (W) или высота (H) блока коэффициентов преобразования меньше 8, то неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W) x min(8, H) блока коэффициентов преобразования. Тем не менее, вариант осуществления не ограничен, этим и, например, даже если только такое условие, что ширина (W) или высота (H) блока коэффициентов преобразования равна или выше 4, удовлетворяется, неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W) x min(8, H) блока коэффициентов преобразования.[110] The converter can extract modified (secondary) transform coefficients by performing secondary transform based on the (primary) transform coefficients (S420). The primary transform is a transform from the spatial domain to the frequency domain, and the secondary transform means transform to a more compressive expression by using the correlation existing between the coefficients of the (primary) transform. The secondary transformation may include an inseparable transformation. In this case, the secondary transform may be referred to as "non-separable secondary transform (NSST)" or "mode-dependent non-separable secondary transform (MDNSST)". The non-separable secondary transform may represent a transform that generates modified transform coefficients (or secondary transform coefficients) for the residual signal by secondary transform, based on the non-separable transform matrix, of the (primary) transform coefficients extracted via the primary transform. At this time, the vertical transform and the horizontal transform may not be applied separately (or the horizontal and vertical transforms may not be applied independently) to the (primary) transform coefficients, but the transforms may be applied at once based on the nonseparable transform matrix. In other words, the inseparable secondary transform may represent a transform method in which the vertical and horizontal components of the (primary) transform coefficients are not separated, and, for example, two-dimensional signals (transform coefficients) are recomposed into a one-dimensional signal through a specific defined direction (for example, the direction is row first or direction first by columns), and then the modified transform coefficients (or secondary transform coefficients) are generated based on the non-separable transform matrix. For example, according to the row first order, MxN blocks are lined up in the order "first row, second row, ..., and Nth row". According to column first order, MxN blocks are arranged in a line in the order "first column, second column, ..., and Nth column". An inseparable secondary transform may be applied to the upper left region of a block configured with (primary) transform coefficients (hereinafter, may be referred to as a "transform coefficient block"). For example, if the width (W) and height (H) of the transform coefficient block are equal to or greater than 8, an 8×8 non-separable secondary transform may be applied to the top left 8×8 region of the transform coefficient block. Additionally, if the width (W) and height (H) of the transform coefficient block are equal to or greater than 4, and the width (W) or height (H) of the transform coefficient block is less than 8, then a 4x4 inseparable secondary transform may be applied to the upper left region min (8, W) x min(8, H) block of transform coefficients. However, the embodiment is not limited to this, and for example, even if only such a condition that the width (W) or height (H) of the transform coefficient block is equal to or greater than 4 is satisfied, the 4×4 inseparable secondary transform can be applied to the left upper region min(8, W) x min(8, H) of the block of transform coefficients.
[111] Преобразователь может выполнять неразделимое вторичное преобразование на основе выбранных ядер преобразования и может получать модифицированные коэффициенты (вторичного) преобразования. Как описано выше, модифицированные коэффициенты преобразования могут извлекаться в качестве коэффициентов преобразования, квантованных через квантователь, и могут кодироваться и передаваться в служебных сигналах в аппаратуру декодирования и передаваться в деквантователь/обратный преобразователь в аппаратуре кодирования.[111] The transformer may perform an inseparable secondary transform based on the selected transform kernels and may obtain modified (secondary) transform coefficients. As described above, the modified transform coefficients may be extracted as transform coefficients quantized through a quantizer, and may be encoded and signaled to the decoding apparatus and transmitted to a dequantizer/inverse converter in the encoding apparatus.
[112] Между тем, как описано выше, если вторичное преобразование опускается, коэффициенты (первичного) преобразования, которые представляют собой вывод первичного (разделимого) преобразования, могут извлекаться в качестве коэффициентов преобразования, квантованных через квантователь, как описано выше, и могут кодироваться и передаваться в служебных сигналах в аппаратуру декодирования и передаваться в деквантователь/обратный преобразователь в аппаратуре кодирования.[112] Meanwhile, as described above, if the secondary transform is omitted, the (primary) transform coefficients, which are the output of the primary (separable) transform, can be extracted as the transform coefficients quantized through the quantizer as described above, and can be encoded and be transmitted in service signals to the decoding equipment and transmitted to the dequantizer/inverter in the encoding equipment.
[113] Обратный преобразователь может выполнять последовательность процедур в обратном порядке по отношению к порядку, в котором они выполнены в вышеописанном преобразователе. Обратный преобразователь может принимать (деквантованные) коэффициенты преобразования и извлекать коэффициенты (первичного) преобразования посредством выполнения вторичного (обратного) преобразования (S450) и может получать остаточный блок (остаточные выборки) посредством выполнения первичного (обратного) преобразования для коэффициентов (первичного) преобразования (S460). В этой связи, коэффициенты первичного преобразования могут называться "модифицированными коэффициентами преобразования" с точки зрения обратного преобразователя. Как описано выше, аппаратура кодирования и аппаратура декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленное изображение на основе восстановленного блока.[113] The reverse converter may perform the sequence of procedures in reverse order with respect to the order in which they are performed in the above-described converter. The detransformer may receive (dequantized) transform coefficients and extract the (primary) transform coefficients by performing a secondary (inverse) transform (S450), and may obtain a residual block (residual samples) by performing a primary (inverse) transform on the (primary) transform coefficients (S460 ). In this regard, the primary transform coefficients may be referred to as "modified transform coefficients" in terms of the inverse transform. As described above, the encoding apparatus and the decoding apparatus may generate a reconstructed block based on the residual block and the predicted block, and may generate a reconstructed image based on the reconstructed block.
[114] Аппаратура декодирования дополнительно может включать в себя модуль определения применения вторичного обратного преобразования (либо элемент для того, чтобы определять то, следует или нет применять вторичное обратное преобразование) и модуль определения вторичного обратного преобразования (либо элемент для того, чтобы определять вторичное обратное преобразование). Модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование. Например, вторичное обратное преобразование может представлять собой NSST или RST, и модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе флага вторичного преобразования, полученного посредством синтаксического анализа потока битов. В другом примере, модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе коэффициента преобразования остаточного блока.[114] The decoding apparatus may further include a secondary inverse transform application determination module (or an element for determining whether or not to apply the secondary inverse transform) and a secondary inverse transform determination module (or an element for determining the secondary inverse transform). transformation). The secondary inverse transform application determination module may determine whether or not the secondary inverse transform should be applied. For example, the secondary inverse transform may be NSST or RST, and the secondary inverse transform application determination module may determine whether or not the secondary inverse transform should be applied based on the secondary transform flag obtained by parsing the bit stream. In another example, the secondary inverse transform application determination module may determine whether or not the secondary inverse transform should be applied based on the transform coefficient of the residual block.
[115] Модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование. В этом случае, модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование, применяемое к текущему блоку, на основе набора для NSST-(или RST-)преобразования, указываемого согласно режиму внутреннего прогнозирования. В варианте осуществления, способ определения вторичного преобразования может определяться в зависимости от способа определения первичного преобразования. Различные комбинации первичных преобразований и вторичных преобразований могут определяться согласно режиму внутреннего прогнозирования. Дополнительно, в примере, модуль определения вторичного обратного преобразования может определять область, к которой применяется вторичное обратное преобразование, на основе размера текущего блока.[115] The secondary inverse transform determination module may determine the secondary inverse transform. In this case, the secondary inverse transform determination unit may determine the secondary inverse transform applied to the current block based on the set for the NSST (or RST) transform specified according to the intra prediction mode. In an embodiment, the method for determining the secondary transform may be determined depending on the method for determining the primary transform. Various combinations of primary transforms and secondary transforms may be determined according to the intra prediction mode. Further, in the example, the secondary inverse transform determination module may determine the area to which the secondary inverse transform is applied based on the size of the current block.
[116] Между тем, как описано выше, если вторичное (обратное) преобразование опускается, (деквантованные) коэффициенты преобразования могут приниматься, первичное (разделимое) обратное преобразование может выполняться, и остаточный блок (остаточные выборки) может получаться. Как описано выше, аппаратура кодирования и аппаратура декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленное изображение на основе восстановленного блока.[116] Meanwhile, as described above, if the secondary (inverse) transform is omitted, the (dequantized) transform coefficients can be received, the primary (separable) inverse transform can be performed, and the residual block (residual samples) can be obtained. As described above, the encoding apparatus and the decoding apparatus may generate a reconstructed block based on the residual block and the predicted block, and may generate a reconstructed image based on the reconstructed block.
[117] Между тем, в настоящем раскрытии сущности, сокращенное вторичное преобразование (RST), в котором размер матрицы (ядра) преобразования уменьшается, может применяться в понятии NSST, чтобы уменьшать объем вычислений и запоминающее устройство, требуемое для неразделимого вторичного преобразования.[117] Meanwhile, in the present disclosure, a reduced secondary transform (RST) in which the size of a transform matrix (kernel) is reduced can be applied in the NSST concept to reduce the amount of computation and storage required for an inseparable secondary transform.
[118] Между тем, ядро преобразования, матрица преобразования и коэффициент, составляющий матрицу ядер преобразования, т.е. коэффициент ядра или коэффициент матрицы, описанный в настоящем раскрытии сущности, могут выражаться в 8 битах. Это может представлять собой условие для реализации в аппаратуре декодирования и аппаратуре кодирования и позволяет уменьшать объем запоминающего устройства, требуемый для того, чтобы сохранять ядро преобразования, с ухудшением производительности, которое может приспосабливаться в достаточной степени по сравнению с существующими 9 битами или 10 битами. Помимо этого, выражение матрицы ядер в 8 битах может обеспечивать возможность использования небольшого умножителя и может быть более подходящим для инструкций с одним потоком инструкций и несколькими потоками данных (SIMD), используемых для оптимальной программной реализации.[118] Meanwhile, the transformation kernel, the transformation matrix, and the coefficient constituting the transformation kernel matrix, i. e. the kernel coefficient or matrix coefficient described in the present disclosure may be expressed in 8 bits. This may be a condition for implementation in the decoding apparatus and the encoding apparatus, and makes it possible to reduce the amount of storage required to store the transformation kernel with a performance degradation that can accommodate sufficiently compared to the existing 9 bits or 10 bits. In addition, an 8-bit kernel matrix expression may allow for a small multiplier and may be more suitable for single instruction stream multiple data stream (SIMD) instructions used for optimal software implementation.
[119] В настоящем описании изобретения, термин "RST" может означать преобразование, которое выполняется для остаточных выборок для целевого блока на основе матрицы преобразования, размер которой сокращается согласно сокращенному коэффициенту. В случае выполнения сокращенного преобразования, объем вычислений, требуемый для преобразования, может уменьшаться вследствие уменьшения размера матрицы преобразования. Таким образом, RST может использоваться для того, чтобы разрешать проблему вычислительной сложности, возникающую при неразделимом преобразовании или преобразовании блока большого размера.[119] In the present description of the invention, the term "RST" can mean a transformation that is performed on the residual samples for the target block based on the transformation matrix, the size of which is reduced according to the reduced factor. In the case of performing a shorthand transformation, the amount of computation required for the transformation may be reduced due to the reduction in the size of the transformation matrix. Thus, RST can be used to solve the problem of computational complexity arising from inseparable transformation or large block size transformation.
[120] RST может называться с помощью различных терминов, таких как "сокращенное преобразование", "сокращенное вторичное преобразование", "преобразование с сокращением", "упрощенное преобразование", "простое преобразование" и т.п., и название, с помощью которого может называться RST, не ограничено перечисленными примерами. Альтернативно, поскольку RST главным образом выполняется в низкочастотной области, включающей в себя ненулевой коэффициент в блоке преобразования, оно может называться "низкочастотным неразделимым преобразованием (LFNST)".[120] The RST may be referred to by various terms such as "reduced transformation", "reduced secondary transformation", "reduced transformation", "simplified transformation", "simple transformation" and the like, and the name, using which may be referred to as RST is not limited to the examples listed. Alternatively, since RST is mainly performed in the low frequency region including a non-zero coefficient in the transform block, it may be referred to as "low frequency inseparable transform (LFNST)".
[121] Между тем, когда вторичное обратное преобразование выполняется на основе RST, обратный преобразователь 235 аппаратуры 200 кодирования и обратный преобразователь 322 аппаратуры 300 декодирования могут включать в себя обратный сокращенный вторичный преобразователь, который извлекает модифицированные коэффициенты преобразования на основе обратного RST коэффициентов преобразования, и обратный первичный преобразователь, который извлекает остаточные выборки для целевого блока на основе обратного первичного преобразования модифицированных коэффициентов преобразования. Обратное первичное преобразование означает обратное преобразование первичного преобразования, применяемого к остатку. В настоящем раскрытии сущности, извлечение коэффициента преобразования на основе преобразования может означать извлечение коэффициента преобразования посредством применения преобразования.[121] Meanwhile, when the secondary inverse transform is performed based on the RST, the
[122] В дальнейшем в этом документе, описывается множественный выбор (или набор) для сокращенного адаптивного (или явного) преобразования (RMTS).[122] Later in this document, multiple selection (or set) for reduced adaptive (or explicit) transform (RMTS) is described.
[123] Как описано выше, когда комбинации множества преобразований (DCT2, DST7, DCT8, DST1, DCT5 и т.п.) во множественном наборе для преобразования (явное множественное преобразование или адаптивное множественное преобразование) избирательно используются для первичного преобразования, преобразование может применяться только к предварительно заданной области, чтобы уменьшать сложность, вместо выполнения преобразования во всех случаях, за счет этого значительно уменьшая сложность в худшем случае.[123] As described above, when combinations of multiple transforms (DCT2, DST7, DCT8, DST1, DCT5, etc.) in a multiple transform set (explicit multiple transform or adaptive multiple transform) are selectively used for the primary transform, the transform can be applied only to a predetermined region to reduce complexity, instead of performing the transformation in all cases, thereby greatly reducing the complexity in the worst case.
[124] Например, когда первичное преобразование применяется к пиксельному блоку MxM на основе вышеприведенного способа сокращенного преобразования (RT), только вычисление для блока преобразования RxR (М>=R) может выполняться вместо получения блока преобразования MxM. Как результат, значимые коэффициенты (ненулевые коэффициенты) существуют только в области RxR, и коэффициенты, существующие в другой области, могут рассматриваться как нули без вычисления. Следующая таблица иллюстрирует три примера сокращенного адаптивного множественного преобразования (RAMT) с использованием коэффициента (R) сокращенного преобразования, предварительно заданного согласно размеру блока, к которому применяется первичное преобразование.[124] For example, when a primary transform is applied to an MxM pixel block based on the above reduced transform (RT) method, only the calculation for the RxR (M>=R) transform block may be performed instead of obtaining the MxM transform block. As a result, significant coefficients (non-zero coefficients) only exist in the RxR region, and coefficients existing in another region can be treated as zero without calculation. The following table illustrates three examples of reduced adaptive multiple transform (RAMT) using a reduced transform coefficient (R) predefined according to the block size to which the primary transform is applied.
[125] Табл. 3[125] Tab. 3
[126] Согласно примеру, при применении сокращенных множественных преобразований, проиллюстрированных выше, коэффициент сокращенного преобразования может определяться на основе первичного преобразования. Например, когда первичное преобразование представляет собой DCT2, вычисление является простым по сравнению с другими первичными преобразованиями, и в силу этого сокращенное преобразование может не использоваться для небольшого блока, или относительно большое R-значение может использоваться для небольшого блока, за счет этого минимизируя снижение производительности кодирования. Например, различные коэффициенты сокращенного преобразования могут использоваться для DCT2 и других преобразований следующим образом.[126] According to an example, when applying the reduced multiple transforms illustrated above, the reduced transform coefficient may be determined based on the primary transform. For example, when the primary transform is DCT2, the calculation is simple compared to other primary transforms, and therefore the shortened transform may not be used for a small block, or a relatively large R-value may be used for a small block, thereby minimizing performance degradation. coding. For example, different shorthand transform coefficients may be used for DCT2 and other transforms as follows.
[127] Табл. 4[127] Tab. four
[128] Как показано в таблице 4, когда первичное преобразование представляет собой DCT2, размер преобразования не изменяется, когда размер блока, который должен преобразовываться, составляет 8×8 или 16×16, и уменьшенный размер преобразования ограничен 32×32, когда размер блока составляет 32×32 или больше.[128] As shown in Table 4, when the primary transform is DCT2, the transform size does not change when the block size to be transformed is 8×8 or 16×16, and the reduced transform size is limited to 32×32 when the block size is 32×32 or more.
[129] Альтернативно, согласно примеру, когда значение флага, указывающее то, применяется или нет MTS, равно 0 (т.е. когда DCT2 применяется для горизонтального и вертикального направлений), только 32 коэффициента слева или сверху могут оставляться, и высокочастотные компоненты могут обнуляться, т.е. задаваться равными нулям для (горизонтального и вертикального) направлений (вариант 1 осуществления на основе обнуления).[129] Alternatively, according to an example, when the flag value indicating whether or not MTS is applied is 0 (i.e., when DCT2 is applied for the horizontal and vertical directions), only 32 coefficients from the left or top may be left, and the high frequency components may reset, i.e. be set to zero for the (horizontal and vertical) directions (zero-based embodiment 1).
[130] Например, в единице преобразования (TU) 64×64, коэффициенты преобразования оставляются только в левой верхней области 32×32, в TU 64×16, коэффициенты преобразования оставляются только в левой верхней области 32×16, и в TU 8×64, коэффициенты преобразования оставляются только в левой верхней области 8×32. Таким образом, коэффициенты преобразования существуют согласно только вплоть до максимальной длины в 32 по ширине и по высоте.[130] For example, in a transform unit (TU) of 64x64, transform coefficients are left only in the top left region of 32x32, in a TU of 64x16, transform coefficients are left only in the top left region of 32x16, and in a TU of 8x 64, the transform coefficients are left only in the upper left region of 8×32. Thus, the conversion factors exist according to only up to a maximum length of 32 in width and height.
[131] Этот способ обнуления может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование.[131] This nulling method can only be applied to a residual signal to which intra prediction is applied, or can only be applied to a residual signal to which inter prediction is applied. Alternatively, the nulling method may be applied to both the residual signal to which intra prediction is applied and the residual signal to which inter prediction is applied.
[132] Изменение размера блока преобразования, который может выражаться как вышеприведенное обнуление или высокочастотное обнуление, означает процесс обнуления (определения в качестве нулей) коэффициентов преобразования, связанных с высокой частотой определенного значения или более в блоке (преобразования), имеющем первую ширину (или длину) в W1 и первую высоту (или длину) в H1. Когда высокочастотное обнуление применяется, значения коэффициентов преобразования для всех коэффициентов преобразования за пределами области низкочастотных коэффициентов преобразования, сконфигурированной на основе второй ширины в W2 и второй высоты в H2 из числа коэффициентов преобразования в блоке (преобразования), могут определяться (задаваться) в качестве нулей. Наружная часть по отношению к области низкочастотных коэффициентов преобразования может называться "областью высокочастотных коэффициентов преобразования". В примере, область низкочастотных коэффициентов преобразования может представлять собой прямоугольную область, позиционированную с левого верхнего конца блока (преобразования).[132] Resizing a transform block, which can be expressed as the above nulling or high-frequency nulling, means a process of nulling (determining as zeros) transform coefficients associated with a high frequency of a certain value or more in a block (transform) having a first width (or length ) in W1 and the first height (or length) in H1. When high-frequency nulling is applied, transform coefficient values for all transform coefficients outside the low-frequency transform coefficient region configured based on the second width in W2 and the second height in H2 from among the transform coefficients in the (transform) block may be determined (set) as zeros. The outer portion with respect to the low-frequency transform coefficient region may be referred to as the "high-frequency transform coefficient region". In an example, the region of low-frequency transform coefficients may be a rectangular region positioned at the upper left end of the block (transform).
[133] Таким образом, высокочастотное обнуление может задаваться как задание всех коэффициентов преобразования в позиции, заданной посредством координаты X в N или более и координаты Y в M или более, равным нулям, при этом горизонтальное значение координаты X левой верхней позиции текущего блока преобразования (TB) задается равным 0, и вертикальное значение координаты Y этого задается равным 0 (и при этом координаты X увеличиваются слева направо, и координаты Y увеличиваются вниз).[133] Thus, high-frequency zeroing may be defined as setting all transform coefficients at the position specified by the X coordinate to N or more and the Y coordinate to M or more equal to zero, while the horizontal value of the X coordinate of the upper left position of the current transform block ( TB) is set to 0, and the vertical value of the Y-coordinate of this is set to 0 (and thus the X-coordinates increase from left to right, and the Y-coordinates increase downwards).
[134] При использовании в данном документе, конкретный термин или выражение используются для того, чтобы задавать конкретную информацию или понятие. Например, как описано выше, в настоящем раскрытии сущности, процесс обнуления коэффициентов преобразования, связанных с высокой частотой определенного значения или более в блоке (преобразования), имеющем первую ширину (или длину) в W1 и первую высоту (или длину) в H1, задается как "высокочастотное обнуление", область, в которой обнуление выполняется через высокочастотное обнуление, задается как "область высокочастотных коэффициентов преобразования" и область, в которой обнуление не выполняется, задается как "область низкочастотных коэффициентов преобразования". Вторая ширина (или длина) в W2 и вторая высота (длина) в H2 используются для того, чтобы выражать размер области низкочастотных коэффициентов преобразования.[134] As used herein, a specific term or expression is used to refer to specific information or concept. For example, as described above, in the present disclosure, the process of zeroing out transform coefficients associated with a high frequency of a certain value or more in a (transform) block having a first width (or length) in W1 and a first height (or length) in H1 is given by as "high-frequency nulling", the area in which nulling is performed through the high-frequency nulling is set as the "high-frequency transform coefficient area", and the area in which the nulling is not performed is set as the "low-frequency transform coefficient area". The second width (or length) in W2 and the second height (length) in H2 are used to express the size of the region of low-frequency transform coefficients.
[135] Тем не менее, "высокочастотное обнуление" может заменяться посредством различных терминов, таких как высокочастотное обнуление (high frequency zeroing, high frequency zeroing-out, high-frequency zeroing-out, high-frequency zero-out) и обнуление, и "область высокочастотных коэффициентов преобразования" может заменяться посредством различных терминов, таких как область применения высокочастотного обнуления, область высокочастотного обнуления, высокочастотная область, область высокочастотных коэффициентов, область высокочастотного обнуления и область обнуления, и "область низкочастотных коэффициентов преобразования" может заменяться посредством различных терминов, таких как область без применения высокочастотного обнуления, низкочастотная область, область низкочастотных коэффициентов и ограниченная область. Таким образом, конкретный термин или выражение, используемое в данном документе для того, чтобы задавать конкретную информацию или понятие, должно интерпретироваться во всем подробном описании с учетом различных операций, функций и преимуществ согласно содержанию, указываемому посредством термина, без ограничения обозначением.[135] However, "high frequency zeroing" can be replaced by various terms such as high frequency zeroing (high frequency zeroing-out, high-frequency zeroing-out, high-frequency zero-out) and zeroing, and "high-frequency transform coefficient region" may be replaced by various terms such as high-frequency nulling application region, high-frequency nulling region, high-frequency region, high-frequency coefficient region, high-frequency nulling region, and nulling region, and "low-frequency transform coefficient region" may be replaced by various terms, such as the region without applying high-frequency nulling, the low-frequency region, the region of low-frequency coefficients, and the limited region. Thus, a particular term or expression used herein to refer to particular information or concept is to be interpreted throughout the detailed description in terms of various operations, functions, and advantages according to the content indicated by the term, without being limited by the designation.
[136] Альтернативно, согласно примеру, область низкочастотных коэффициентов преобразования означает оставшуюся область после того, как высокочастотное обнуление выполняется, или область, в которой значимый коэффициент преобразования остается, и может называться "областью обнуления" или "обнуляемым блоком".[136] Alternatively, according to an example, the region of low-frequency transform coefficients means the remaining region after high-frequency nulling is performed, or the region in which a significant transform coefficient remains, and may be referred to as a "zero-out region" or a "zero-out block".
[137] Согласно примеру, когда значение флага, указывающее то, применяется или нет MTS, равно 1, т.е. когда другое преобразование (DST7 или DCT8), отличное от DCT2, является применимым для горизонтального направления и вертикального направления, коэффициенты преобразования могут оставляться только в левой верхней области, и оставшаяся область может обнуляться следующим образом (вариант 2 осуществления на основе обнуления).[137] According to an example, when a flag value indicating whether or not MTS is applied is 1, i. e. when another transform (DST7 or DCT8) other than DCT2 is applicable for the horizontal direction and the vertical direction, the transform coefficients may only be left in the upper left region, and the remaining region may be zeroed as follows (zero-based embodiment 2).
[138] - Когда ширина (w) равна или выше 2n, только коэффициенты преобразования, соответствующие длине в w/2p слева, могут оставляться, и оставшиеся коэффициенты преобразования могут задаваться фиксированно равными нулям (обнуляться).[138] - When the width (w) is equal to or greater than 2 n , only the transform coefficients corresponding to the length in w/2 p on the left may be left, and the remaining transform coefficients may be set fixed to zero (set to zero).
[139] - Когда высота (h) равна или выше 2m, только коэффициенты преобразования, соответствующие длине в h/2q сверху, и остающиеся коэффициентами преобразования, могут задаваться фиксированно равными нулям (обнуляться).[139] - When the height (h) is equal to or higher than 2 m , only the transform coefficients corresponding to the length in h/2 q from above and remaining transform coefficients can be set fixed to zero (zero).
[140] Здесь, m, n, p и q могут быть целыми числами, равными или большими 0, и конкретно могут быть следующими:[140] Here, m, n, p, and q may be integers equal to or greater than 0, and specifically may be as follows:
[141] 1) (m, n, p, q)=(5, 5, 1, 1)[141] 1) (m, n, p, q)=(5, 5, 1, 1)
[142] 2) (m, n, p, q)=(4, 4, 1, 1)[142] 2) (m, n, p, q)=(4, 4, 1, 1)
[143] В конфигурации 1), коэффициенты преобразования остаются только в левой верхней области 16×16 в TU 32×16, и коэффициенты преобразования остаются только в левой верхней области 8×16 в TU 8×32.[143] In configuration 1), the transform coefficients remain only in the top left 16×16 region in the TU 32×16, and the transform coefficients remain only in the upper
[144] Этот способ обнуления может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование.[144] This nulling method can only be applied to a residual signal to which intra prediction is applied, or can only be applied to a residual signal to which inter prediction is applied. Alternatively, the nulling method may be applied to both the residual signal to which intra prediction is applied and the residual signal to which inter prediction is applied.
[145] Альтернативно, согласно другому примеру, когда значение флага, указывающее то, применяется или нет MTS, равно 1, т.е. когда другое преобразование (DST7 или DCT8), отличное от DCT2, является применимым для горизонтального направления и вертикального направления, коэффициенты преобразования могут оставляться только в левой верхней области, и оставшаяся область может обнуляться следующим образом (вариант 3 осуществления на основе обнуления).[145] Alternatively, according to another example, when the flag value indicating whether or not MTS is applied is 1, i. e. when another transform (DST7 or DCT8) other than DCT2 is applicable for the horizontal direction and the vertical direction, the transform coefficients may only be left in the upper left region, and the remaining region may be zeroed as follows (zero-based Embodiment 3).
[146] - Когда высота (h) равна или выше ширины (w) и равна или выше 2n, только коэффициенты преобразования в левой верхней области wx(h/2p) могут оставляться, и оставшиеся коэффициенты преобразования могут задаваться фиксированно равными нулям (обнуляться).[146] - When the height (h) is equal to or greater than the width (w) and equal to or greater than 2 n , only the transform coefficients in the upper left region wx(h/2 p ) may be left, and the remaining transform coefficients may be set fixed to zero ( reset).
[147] - Когда ширина (w) превышает высоту (h) и равна или выше 2m, только коэффициенты преобразования в левой верхней области (w/2q)xh, и оставшиеся коэффициенты преобразования могут задаваться фиксированно равными нулям (обнуляться).[147] - When the width (w) exceeds the height (h) and is equal to or higher than 2 m , only the transform coefficients in the upper left region (w/2 q )xh, and the remaining transform coefficients can be set fixed to zero (set to zero).
[148] В вышеуказанных условиях, когда высота (h) и ширина (w) являются идентичными, длина по вертикали уменьшается (h/2p), но длина по горизонтали может уменьшаться (w/2q).[148] Under the above conditions, when the height (h) and width (w) are identical, the vertical length decreases (h/2 p ), but the horizontal length may decrease (w/2 q ).
[149] Здесь, m, n, p и q могут быть целыми числами, равными или большими 0, и конкретно могут быть следующими:[149] Here, m, n, p, and q may be integers equal to or greater than 0, and specifically may be as follows:
[150] 1) (m, n, p, q)=(4, 4, 1, 1)[150] 1) (m, n, p, q)=(4, 4, 1, 1)
[151] 2) (m, n, p, q)=(5, 5, 1, 1)[151] 2) (m, n, p, q)=(5, 5, 1, 1)
[152] В конфигурации 1), коэффициенты преобразования остаются только в левой верхней области 16×16 в TU 32×16, и коэффициенты преобразования остаются только в левой верхней области 8×8 в TU 8×16.[152] In configuration 1), the transform coefficients remain only in the top left 16x16 area in the TU 32x16, and the transform coefficients remain only in the top left 8x8 area in the TU 8x16.
[153] Этот способ обнуления может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование.[153] This nulling method can only be applied to a residual signal to which intra prediction is applied, or can only be applied to a residual signal to which inter prediction is applied. Alternatively, the nulling method may be applied to both the residual signal to which intra prediction is applied and the residual signal to which inter prediction is applied.
[154] В вышеприведенных вариантах осуществления, область коэффициентов преобразования ограничена в зависимости от того, в каком месте значение флага, указывающее то, применяется или нет MTS, равно 0, или в каком месте значение флага, указывающее то, применяется или нет MTS, равно 1. Согласно одному примеру, комбинации этих вариантов осуществления являются возможными.[154] In the above embodiments, the domain of the transform coefficients is limited depending on where the flag value indicating whether or not MTS is applied is 0, or where the flag value indicating whether or not MTS is applied is 1. According to one example, combinations of these embodiments are possible.
[155] 1) Вариант 1 осуществления на основе обнуления + вариант 2 осуществления на основе обнуления[155] 1) Zero-based Embodiment 1 + Zero-based Embodiment 2
[156] 2) Вариант 1 осуществления на основе обнуления + вариант 3 осуществления на основе обнуления[156] 2) Zero-based Embodiment 1 + Zero-based Embodiment 3
[157] Как упомянуто в варианте 2 осуществления на основе обнуления и в варианте 3 осуществления на основе обнуления, обнуление может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование. Соответственно, когда MTS-флаг равен 1, следующая таблица может быть сконфигурирована (когда MTS-флаг равен 0, вариант 1 осуществления на основе обнуления может применяться).[157] As mentioned in null-based Embodiment 2 and null-based Embodiment 3, nulling may be applied only to the residual signal to which intra prediction is applied, or may be applied to only the residual signal to which inter prediction is applied. Alternatively, the nulling method may be applied to both the residual signal to which intra prediction is applied and the residual signal to which inter prediction is applied. Accordingly, when the MTS flag is 1, the following table can be configured (when the MTS flag is 0, zero-based Embodiment 1 can be applied).
[158] Табл. 5[158] Tab. 5
[159] В варианте 1 осуществления на основе обнуления, в варианте 2 осуществления на основе обнуления и в варианте 3 осуществления на основе обнуления, область, неизбежно включающая в себя значение в 0 в TU, четко задается. Таким образом, область, отличная от левой верхней области, в которой коэффициенту преобразования разрешается существовать, обнуляется. Соответственно, согласно варианту осуществления, может задаваться конфигурация с возможностью обходить область, в которой коэффициент преобразования определенно имеет значение 0, в результате энтропийного кодирования остаточного сигнала, вместо выполнения остаточного кодирования. Например, следующая конфигурация является возможной.[159] In the null-based Embodiment 1, null-based Embodiment 2, and null-based Embodiment 3, the region inevitably including the value at 0 in the TU is clearly defined. Thus, a region other than the upper left region in which the transform coefficient is allowed to exist is set to zero. Accordingly, according to an embodiment, it can be configured to bypass a region in which the transform coefficient is definitely 0 as a result of entropy encoding of the residual signal instead of performing residual encoding. For example, the following configuration is possible.
[160] 1) В HEVC или VVC, флаг, указывающий то, существует или нет ненулевой коэффициент преобразования в одной группе коэффициентов (CG, которая может представлять собой 4×4 или 2×2 в зависимости от форм субблока и TU-блока и компонента сигнала яркости/компонент сигнала цветности), кодируется (subblock_flag). Только тогда, когда subblock_flag равен 1, внутренняя часть CG сканируется, и значения уровня коэффициентов кодируются. Соответственно, для CG, принадлежащих области, в которой обнуление выполняется, subblock_flag может задаваться равным значению 0 по умолчанию вместо кодирования.[160] 1) In HEVC or VVC, a flag indicating whether or not a non-zero transform coefficient exists in one coefficient group (CG, which may be 4×4 or 2×2 depending on the shapes of the sub-unit and the TU-unit and the component luma signal/chrominance signal component) is encoded (subblock_flag). Only when subblock_flag is 1 is the interior of the CG scanned and the coefficient level values are encoded. Accordingly, for CGs belonging to the region in which the nulling is performed, the subblock_flag may be set to a default value of 0 instead of encoding.
[161] 2) В HEVC или VVC, позиция последнего коэффициента (last_coefficient_position_x в направлении по оси X и last_coefficient_position_y в направлении по оси Y) в прямом порядке сканирования кодируется сначала. Обычно, last_coefficient_position_x и last_coefficient_position_y могут иметь максимальное значение (ширина TU-1) и максимальное значение (высота TU-1), соответственно. Тем не менее, когда область, в которой может существовать ненулевой коэффициент, ограничена вследствие обнуления, максимальные значения last_coefficient_position_x и last_coefficient_position_y также ограничены. Соответственно, максимальные значения last_coefficient_position_x и last_coefficient_position_y могут быть ограничены с учетом обнуления и затем могут кодироваться. Например, когда способ преобразования в двоичную форму, применяемый к last_coefficient_position_x, и last_coefficient_position_y, представляет собой усеченное унарное преобразование в двоичную форму, максимальная длина усеченного унарного кода (длина кодового слова, которую last_coefficient_position_x и last_coefficient_position_y могут иметь) может уменьшаться на основе отрегулированных максимальных значений.[161] 2) In HEVC or VVC, the position of the last coefficient (last_coefficient_position_x in the X direction and last_coefficient_position_y in the Y direction) in the forward scan order is encoded first. Typically, last_coefficient_position_x and last_coefficient_position_y may have a maximum value (TU-1 width) and a maximum value (TU-1 height), respectively. However, when the area in which a non-zero coefficient can exist is limited due to nulling, the maximum values of last_coefficient_position_x and last_coefficient_position_y are also limited. Accordingly, the maximum values of last_coefficient_position_x and last_coefficient_position_y may be limited to zero and may then be encoded. For example, when the binarization method applied to last_coefficient_position_x and last_coefficient_position_y is truncated unary binarization, the maximum length of the truncated unary code (codeword length that last_coefficient_position_x and last_coefficient_position_y can have) may be reduced based on the adjusted maximum values.
[162] Как описано выше, обнуление может применяться, в частности, в случае, если левая верхняя область 32×32 представляет собой область низкочастотных коэффициентов преобразования (в дальнейшем в этом документе называется "32-точечным сокращенным MTS" или "RMTS32"), в случае, если MTS-схема применяется, и в любом случае, если применяется 32-точечное DST7 или 32-точечное DCT8.[162] As described above, zeroing can be applied, in particular, in the case that the upper left region of 32×32 is the region of low-frequency transform coefficients (hereinafter referred to as "32-point abbreviated MTS" or "RMTS32" in this document), in case the MTS scheme is used, and in any case if the 32-point DST7 or 32-point DCT8 is used.
[163] Фиг. 5 иллюстрирует 32-точечное обнуление согласно примеру настоящего раскрытия сущности.[163] FIG. 5 illustrates a 32-point null according to an example of the present disclosure.
[164] Как показано на фиг. 5, когда блок разделяется, и преобразование применяется к области A, DST7 или DCT8 могут применяться к каждой стороне, и пара преобразований, применяемая в горизонтальном и вертикальном направлениях, не ограничена примером, проиллюстрированным на фиг. 5. На фиг. 5, ширина и высота всего блока обозначаются посредством w и h, соответственно, и ширина и высота блока, к которому фактически применяется разделимое преобразование, выражаются как пара (ширина, высота), которая составляет (w1, h) или (w, h1); w1 может быть равна 1/2 или 1/4 от w, и h1 также может быть равна 1/2 или 1/4 от h.[164] As shown in FIG. 5, when a block is divided and a transform is applied to area A, DST7 or DCT8 may be applied to each side, and the pair of transforms applied in the horizontal and vertical directions is not limited to the example illustrated in FIG. 5. In FIG. 5, the width and height of the entire box are denoted by w and h, respectively, and the width and height of the box to which the separable transformation is actually applied are expressed as a (width, height) pair that is (w1, h) or (w, h1) ; w1 can be equal to 1/2 or 1/4 of w, and h1 can also be equal to 1/2 or 1/4 of h.
[165] Блок, к которому применяется преобразование, может позиционироваться слева или справа либо сверху или снизу во всем блоке, как показано на фиг. 5. Дополнительно, блок по фиг. 5 может представлять собой остаточный сигнал, сформированный посредством взаимного прогнозирования. Флаг, указывающий то, следует или нет применять преобразование только к одному субблоку остаточного сигнала, сегментированного так, как показано на фиг. 5, может передаваться в служебных сигналах, и когда флаг равен 1, флаг, указывающий то, представляет собой или нет блок 16×32 как показано на фиг. 5, также может задаваться посредством передачи служебных сигналов.[165] The box to which the transform is applied can be positioned to the left or right, or top or bottom of the entire box, as shown in FIG. 5. Additionally, the block of FIG. 5 may be a residual signal generated by inter-prediction. A flag indicating whether or not to apply the transform to only one sub-block of the residual signal segmented as shown in FIG. 5 may be signaled, and when the flag is 1, a flag indicating whether or not it is a 16x32 block as shown in FIG. 5 may also be set by signaling.
[166] Флаг, указывающий то, позиционируется или нет блок A, к которому фактически применяется преобразование, слева или справа во всем блоке, либо флаг, указывающий то, позиционируется или нет блок A сверху или снизу, также может передаваться в служебных сигналах.[166] A flag indicating whether or not block A, to which the transformation is actually applied, is positioned on the left or right in the entire block, or a flag indicating whether block A is positioned on top or bottom or not, may also be signaled.
[167] Как проиллюстрировано на фиг. 5, когда горизонтальное преобразование и вертикальное преобразование определяются для конкретного блока, вместо обозначения горизонтального преобразования и вертикального преобразования посредством передачи служебных MTS-сигналов, если горизонтальная сторона и вертикальная сторона имеют длину в 32, RMTS32, предложенный выше, может применяться в каждом направлении. Например, когда блок вертикально сегментируется на фиг. 5, если высота блока A равна 32, обнуление может применяться в вертикальном направлении. В частности, когда блок A составляет 16×32, левый верхний блок 16×16 может обнуляться, и в силу этого значимый коэффициент может существовать только в соответствующей области размера. В RMTS32, остаточное кодирование может опускаться для области, которая обнуляется, либо только область, которая не обнуляется, может сканироваться и может подвергаться остаточному кодированию.[167] As illustrated in FIG. 5, when horizontal transformation and vertical transformation are determined for a particular block, instead of indicating horizontal transformation and vertical transformation by MTS signaling, if the horizontal side and vertical side are 32 long, RMTS32 proposed above can be applied in each direction. For example, when a block is vertically segmented in FIG. 5, if the height of block A is 32, zeroing can be applied in the vertical direction. In particular, when block A is 16x32, the upper left block of 16x16 may be set to zero, and therefore a significant coefficient may only exist in the corresponding size region. In RMTS32, residual coding may be omitted for an area that is zeroed out, or only the area that is not nullable may be scanned and may undergo residual coding.
[168] Фиг. 6 иллюстрирует сегмент остаточного блока согласно варианту осуществления настоящего раскрытия сущности.[168] FIG. 6 illustrates a residual block segment according to an embodiment of the present disclosure.
[169] Остаточный блок может сегментироваться, как показано на фиг. 6, и ширина и высота блока A, к которому фактически применяется преобразование, может составлять w/4 и h/4, соответственно, в связи с шириной (w) и высотой (h) исходного блока преобразования.[169] The residual block may be segmented as shown in FIG. 6, and the width and height of the block A to which the transformation is actually applied may be w/4 and h/4, respectively, in relation to the width (w) and height (h) of the original transformation block.
[170] В общих словах, RMTS32 может применяться к любому блоку, к которому применяется преобразование, если DST7 или DCT8, имеющее длину 32, является применимым в каждом из горизонтального направления и вертикального направления. То, DST7 или DCT8, имеющее длину в 32, применяется, может определяться посредством предварительно установленной передачи служебных сигналов или может определяться без передачи служебных сигналов согласно предварительно определенному условию кодирования.[170] In general terms, RMTS32 can be applied to any block to which a transform is applied if DST7 or DCT8 having a length of 32 is applicable in each of the horizontal direction and the vertical direction. Whether DST7 or DCT8 having a length of 32 is applied may be determined by preset signaling, or may be determined without signaling according to a predetermined coding condition.
[171] Текст спецификации, описывающий обнуление согласно вариантам осуществления по фиг. 5 и фиг. 6, проиллюстрирован в следующей таблице. В следующей таблице, преобразование может применяться к остаточному сигналу, сформированному через взаимное прогнозирование, и может называться "субблочным преобразованием (SBT)". Остаточный сигнальный блок сегментируется на два блока сегментов посредством SBT, и отдельное преобразование может применяться только к одному из сегментированных блоков.[171] Specification text describing zeroing according to the embodiments of FIG. 5 and FIG. 6 is illustrated in the following table. In the following table, a transform may be applied to a residual signal generated via inter prediction, and may be referred to as "sub-block transform (SBT)". The residual signal block is segmented into two blocks of segments by the SBT, and a single transform can only be applied to one of the segmented blocks.
[172] Табл. 6[172] Tab. 6
7.3.4.6. Синтаксис единицы кодирования7.3.4.6. Syntax of a coding unit
[173] Таблица 6 показывает синтаксис CU, к которой применяется взаимное прогнозирование, и форма сегмента, в которой применяется SBT, может определяться посредством четырех синтаксических элементов в таблице 6.[173] Table 6 shows the syntax of the CU to which inter prediction is applied, and the shape of the segment to which SBT is applied can be determined by the four syntax elements in Table 6.
[174] - cu_sbt_flag указывает то, применяется или нет SBT к CU, и cu_sbt_quad_flag представляет собой информацию флага, указывающую то, составляет или нет блок, к которому применяется преобразование, 1/4 от всего блока, когда одна CU сегментируется на два блока сегментов. Когда cu_sbt_quad_flag равен 0, блок сегментов имеет размер в 1/2 от всего блока. Когда cu_sbt_quad_flag равен 1, блок сегментов имеет размер в 1/4 от ширины или высоты CU. Когда ширина CU составляет w, и ее высота составляет h, высота блока сегментов может составлять h1=(1/4) x h, или ширина блока сегментов может составлять w1=(1/4) x w.[174] - cu_sbt_flag indicates whether or not SBT is applied to the CU, and cu_sbt_quad_flag is flag information indicating whether or not the block to which the transformation is applied is 1/4 of the whole block when one CU is segmented into two blocks of segments . When cu_sbt_quad_flag is 0, the segment block has a size of 1/2 of the entire block. When cu_sbt_quad_flag is 1, the segment block has a size of 1/4 of the width or height of the CU. When the width of the CU is w and its height is h, the height of the block of segments may be h1=(1/4) x h, or the width of the block of segments may be w1=(1/4) x w.
[175] - cu_sbt_horizontal_flag, равный 1, указывает то, что CU горизонтально сегментируется, и cu_sbt_horizontal_flag, равный 0, указывает то, что CU вертикально сегментируется.[175] - cu_sbt_horizontal_flag equal to 1 indicates that the CU is horizontally segmented, and cu_sbt_horizontal_flag equal to 0 indicates that the CU is vertically segmented.
[176] Относительно cu_sbt_pos_flag, значение флага, равное 0, указывает то, что преобразование применяется к верхнему или левому блоку сегментов в горизонтальном или вертикальном сегменте, и значение флага, равное 1, указывает то, что преобразование применяется к нижнему или правому блоку сегментов.[176] Regarding cu_sbt_pos_flag, a flag value of 0 indicates that the transformation is applied to the top or left block of segments in a horizontal or vertical segment, and a flag value of 1 indicates that the transformation is applied to the bottom or right block of segments.
[177] Следующая таблица иллюстрирует trTypeHor и trTypeVer согласно cu_sbt_horizontal_flag и cu_sbt_pos_flag.[177] The following table illustrates trTypeHor and trTypeVer according to cu_sbt_horizontal_flag and cu_sbt_pos_flag.
[178] Табл. 7[178] Tab. 7
[179] Как описано выше, когда ядро горизонтального преобразования обозначается посредством trTypeHor, и ядро вертикального преобразования обозначается посредством trTypeVer, значение trTypeHor или trTypeVer в 0 может задаваться для DCT2, значение trTypeHor или trTypeVer в 1 может задаваться для DST7, и значение trTypeHor или trTypeVer в 2 может задаваться для DCT8. Соответственно, когда длина, по меньшей мере, одной стороны блока сегментов, к которому применяется преобразование, равна 64 или больше, DCT2 может применяться как в горизонтальном направлении, так и в вертикальном направлении, и в противном случае, DST7 или DCT8 может применяться.[179] As described above, when a horizontal transformation kernel is indicated by trTypeHor and a vertical transformation kernel is indicated by trTypeVer, a value of trTypeHor or trTypeVer of 0 may be set for DCT2, a value of trTypeHor or trTypeVer of 1 may be set for DST7, and a value of trTypeHor or trTypeVer in 2 can be set for DCT8. Accordingly, when the length of at least one side of the block of segments to which the transformation is applied is 64 or more, DCT2 may be applied in both the horizontal direction and the vertical direction, and otherwise, DST7 or DCT8 may be applied.
[180] Табл. 8[180] Tab. eight
7.3.4.11. Синтаксис единицы преобразования7.3.4.11. Unit conversion syntax
[181] Табл. 9[181] Tab. 9
7.3.4.12. Синтаксис остаточного кодирования7.3.4.12. Residual coding syntax
[182] Таблица 8 показывает часть TU-синтаксиса согласно примеру, и таблица 9 показывает часть синтаксиса остаточного кодирования.[182] Table 8 shows part of the TU syntax according to the example, and Table 9 shows part of the syntax of the residual coding.
[183] В таблице 8, tu_mts_idx[x0][y0] обозначает MTS-индекс, применяемый к блоку преобразования, и trTypeHor и trTypeVer могут определяться согласно MTS-индексу, как показано в таблице 1.[183] In Table 8, tu_mts_idx[x0][y0] denotes the MTS index applied to the transform block, and trTypeHor and trTypeVer may be determined according to the MTS index as shown in Table 1.
[184] Синтаксические элементы last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix и last_sig_coeff_y_suffix в таблице 9 обозначают информацию позиции (x, y) относительно последнего ненулевого коэффициента преобразования в блоке преобразования. В частности, last_sig_coeff_x_prefix обозначает префикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования, last_sig_coeff_y_prefix обозначает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования, last_sig_coeff_x_suffix обозначает суффикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования, и last_sig_coeff_y_suffix обозначает суффикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Здесь, значимый коэффициент может означать ненулевой коэффициент. Порядок сканирования может представлять собой порядок сканирования вправо вверх по диагонали. Альтернативно, порядок сканирования может представлять собой горизонтальный порядок сканирования или вертикальный порядок сканирования. Порядок сканирования может определяться на основе того, применяется или нет внутреннее/взаимное прогнозирование к целевому блоку (CB или CB, включающему в себя TB), и/или конкретного режима внутреннего/взаимного прогнозирования.[184] The last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, and last_sig_coeff_y_suffix syntax elements in Table 9 denote position information (x, y) relative to the last non-zero transform coefficient in the transform block. In particular, last_sig_coeff_x_prefix denotes the column position prefix of the last significant coefficient in scan order in the transform block, last_sig_coeff_y_prefix denotes the row position prefix of the last significant coefficient in scan order in the transform block, last_sig_coeff_x_suffix denotes the column position suffix of the last significant coefficient in scan order in the transform block, and last_sig_coeff_y_suffix denotes the row position suffix of the last significant coefficient in the scan order in the transform block. Here, a significant coefficient may mean a non-zero coefficient. The scan order may be the scan order to the right up diagonally. Alternatively, the scan order may be a horizontal scan order or a vertical scan order. The scan order may be determined based on whether or not intra/inter prediction is applied to a target block (CB or CB including TB) and/or a particular intra/inter prediction mode.
[185] Область обнуления может задаваться при остаточном кодировании таблицы 9 на основе tu_mts_idx[x0][y0] в таблице 8.[185] The null area may be set in the residual encoding of table 9 based on tu_mts_idx[x0][y0] in table 8.
[186] Когда cu_sbt_flag равен 1, высота блока, к которому применяется преобразование, равна 32 или меньше (log2TbHeight<6), и его ширина равна 32 (log2TbWidth<6 andand log2TbWidth>4), ширина блока преобразования задается равной 16 (log2TbWidth=4). В других случаях, в которых cu_sbt_flag не равен 1, высота блока преобразования превышает 32, или ширина блока преобразования не равна 32, ширина блока преобразования может задаваться равной меньшему значению из ширины блока преобразования и 32. Таким образом, максимальная ширина блока преобразования может быть ограничена 32 посредством обнуления.[186] When cu_sbt_flag is 1, the height of the block to which the transformation is applied is 32 or less (log2TbHeight<6) and its width is 32 (log2TbWidth<6 andand log2TbWidth>4), the width of the transformation block is set to 16 (log2TbWidth= four). In other cases where cu_sbt_flag is not equal to 1, the height of the transform box is greater than 32, or the width of the transform box is not 32, the width of the transform box may be set to the smaller of the width of the transform box and 32. Thus, the maximum width of the transform box may be limited 32 by resetting to zero.
[187] Аналогично, когда cu_sbt_flag равен 1, ширина блока, к которому применяется преобразование, равна 32 или меньше (log2TbWidth<6), и его высота равна 32 (log2TbHeight<6 andand log2TbHeight>4), высота блока преобразования задается равной 16 (log2TbHeight=4). В других случаях, в которых cu_sbt_flag не равен 1, ширина блока преобразования превышает 32, или высота блока преобразования не равна 32, высота блока преобразования может задаваться равной меньшему значению из высоты блока преобразования и 32. Таким образом, максимальная высота блока преобразования может быть ограничена 32 посредством обнуления.[187] Similarly, when cu_sbt_flag is 1, the width of the box to which the transform is applied is 32 or less (log2TbWidth<6) and its height is 32 (log2TbHeight<6 andand log2TbHeight>4), the height of the transform box is set to 16 ( log2TbHeight=4). In other cases, in which cu_sbt_flag is not equal to 1, the width of the transform box is greater than 32, or the height of the transform box is not 32, the height of the transform box may be set to the lower value of the height of the transform box and 32. Thus, the maximum height of the transform box may be limited 32 by resetting to zero.
[188] Согласно таблице 7, когда длина, по меньшей мере, одной стороны блока сегментов равна 64 или больше, DCT2 может применяться как в горизонтальном направлении, так и в вертикальном направлении, и в противном случае, DST7 или DCT8 может применяться. Соответственно, когда SBT применяется, обнуление может выполняться посредством применения RMTS32 только тогда, когда все две стороны блока сегментов, к которому применяется преобразование, имеют длину 32 или меньше. Таким образом, когда длина блока в каждом направлении равна 32, только 16 коэффициентов преобразования могут оставляться посредством применения DST7 или DCT8, имеющего длину 32.[188] According to Table 7, when the length of at least one side of the block of segments is 64 or more, DCT2 can be applied in both the horizontal direction and the vertical direction, and otherwise, DST7 or DCT8 can be applied. Accordingly, when SBT is applied, nulling can be performed by applying RMTS32 only when all two sides of the block of segments to which the transformation is applied have a length of 32 or less. Thus, when the block length in each direction is 32, only 16 transform coefficients can be left by applying DST7 or DCT8 having a length of 32.
[189] Как показано в таблице 9, при применении RMTS32, кодирование может выполняться с учетом ширины и высоты оставшейся области (области низкочастотных коэффициентов преобразования), которая не обнуляется, в качестве фактической ширины и высоты TU, вместо использования ширины и высоты исходной единицы преобразования для кодирования (log2TbWidth=Min(log2TbWidth, 5) или log2TbHeight=Min(log2TbHeight, 5)).[189] As shown in Table 9, when using RMTS32, encoding can be performed considering the width and height of the remaining region (the region of low-frequency transform coefficients) that is not reset as the actual width and height of the TU, instead of using the width and height of the original transform unit for encoding (log2TbWidth=Min(log2TbWidth, 5) or log2TbHeight=Min(log2TbHeight, 5)).
[190] Например, когда высота x ширина исходной TU составляет 32×16, если RMTS32 применяется, ненулевой коэффициент существует только в левой верхней области 16×16 посредством обнуления. Соответственно, ширина и высота TU может задаваться равной 16 и 16, соответственно, и затем синтаксические элементы (например, last_sig_coeff_x_prefix и last_sig_coeff_y_prefix) могут кодироваться.[190] For example, when the height x width of the original TU is 32×16, if RMTS32 is applied, a non-zero coefficient exists only in the upper left region of 16×16 by nulling. Accordingly, the width and height of the TU may be set to 16 and 16, respectively, and then the syntax elements (eg, last_sig_coeff_x_prefix and last_sig_coeff_y_prefix) may be encoded.
[191] В общих словах, согласно остаточному кодированию таблицы 9, фактическая ширина и высота TU изменяется посредством изменения значений log2TbWidth и log2TbHeight до кодирования last_sig_coeff_x_prefix, и синтаксические элементы затем кодируются согласно измененным значениям.[191] In general terms, according to the residual encoding of Table 9, the actual width and height of the TU is changed by changing the log2TbWidth and log2TbHeight values prior to last_sig_coeff_x_prefix encoding, and the syntax elements are then encoded according to the changed values.
[192] Когда TU-размер уменьшается до области низкочастотных коэффициентов преобразования вследствие обнуления высокочастотного коэффициента преобразования, семантика синтаксических элементов таблицы 9 проиллюстрирована в таблице 10.[192] When the TU-size is reduced to the region of low-frequency transform coefficients due to zeroing of the high-frequency transform coefficient, the semantics of the syntax elements of Table 9 are illustrated in Table 10.
[193] Табл. 10[193] Tab. ten
Когда last_sig_coeff_x_prefix не присутствует, он логически выводится равным 0.
- last_sig_coeff_y_prefix указывает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_y_prefix должны составлять в диапазоне от 0 до (log2TbHeight<<1)-1, включительно.
Когда last_sig_coeff_y_prefix не присутствует, он логически выводится равным 0.- last_sig_coeff_x_prefix indicates the prefix of the column position of the last significant coefficient in the scan order in the transform block. Last_sig_coeff_x_prefix values must be between 0 and (log2TbWidth<<1)-1, inclusive.
When last_sig_coeff_x_prefix is not present, it is logically inferred to be 0.
- last_sig_coeff_y_prefix indicates the prefix of the row position of the last significant coefficient in the scan order in the transform block. Last_sig_coeff_y_prefix values must be between 0 and (log2TbHeight<<1)-1, inclusive.
When last_sig_coeff_y_prefix is not present, it is logically inferred to be 0.
[194] Ссылаясь на таблицу 10, last_sig_coeff_x_prefix и last_sig_coeff_y_prefix ограничены значениями в пределах от 0 до (log2TbWidth<<1)-1 или (log2TbHeight<<1)-1, где log2TbWidth или log2TbHeight может представлять собой ширину или высоту блока преобразования с уменьшенным размером, как показано в таблице 9.[194] Referring to Table 10, last_sig_coeff_x_prefix and last_sig_coeff_y_prefix are limited to values ranging from 0 to (log2TbWidth<<1)-1 or (log2TbHeight<<1)-1, where log2TbWidth or log2TbHeight may be the width or height of the reduced transform block. size as shown in table 9.
[195] Когда размер блока преобразования изменяется, размер блока преобразования, используемого для выбора контекста last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, также может изменяться. Таблица 11 иллюстрирует процесс извлечения контекстного приращения (ctxInc) для извлечения last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, и таблица 12 иллюстрирует преобразование в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix с учетом сокращенной TU. Поскольку контекст может выбираться и разделяться посредством контекстного приращения, контекстная модель может извлекаться на основе контекстного приращения.[195] When the size of the transform block is changed, the size of the transform block used to select the context of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix may also change. Table 11 illustrates the context increment (ctxInc) extraction process for extracting last_sig_coeff_x_prefix and last_sig_coeff_y_prefix, and Table 12 illustrates the binarization of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix given the reduced TU. Since the context can be selected and shared by context increment, the context model can be retrieved based on the context increment.
[196] Табл. 11[196] Tab. eleven
Вводы в этот процесс представляют собой переменную binIdx, индекс cIdx цветового компонента, двоичный логарифм ширины log2TbWidth блока преобразования и высоты log2TbHeight блока преобразования.
Вывод этого процесса представляет собой переменную ctxInc.
Переменная log2TbSize извлекается следующим образом:
- Если синтаксический элемент, который должен синтаксически анализироваться, представляет собой last_sig_coeff_x_prefix, log2TbSize задается равным log2TbWidth.
- Иначе (синтаксический элемент, который должен синтаксически анализироваться, представляет собой last_sig_coeff_y_prefix), log2TbSize задается равным log2TbHeight.
Переменные ctxOffset и ctxShift извлекаются следующим образом:
- Если cIdx равен 0, ctxOffset задается равной 3*(log2TbSize-2)+((log2TbSize-1)>>2), и ctxShift задается равной (log2ThSize+1)>>2.
- Иначе (cIdx превышает 0), ctxOffset задается равной21, и ctxShift задается равной Clip3 (0, 2, 2log2TbSize>>3).
Переменная ctxInc извлекается следующим образом:
- ctxInc=(binIdx>>ctxShift)+ctxOffset (9-31)9.5.4.2.4. Process for extracting ctxInc for last_sig_coeff_x_prefix and last_sig_coeff_y_prefix syntax elements
The inputs to this process are the binIdx variable, the color component index cIdx, the binary logarithm of the transform block width log2TbWidth and the transform block height log2TbHeight.
The output of this process is the ctxInc variable.
The variable log2TbSize is retrieved as follows:
- If the syntax element to be parsed is last_sig_coeff_x_prefix, log2TbSize is set to log2TbWidth.
- Else (the syntax element to be parsed is last_sig_coeff_y_prefix), log2TbSize is set to log2TbHeight.
The variables ctxOffset and ctxShift are retrieved as follows:
- If cIdx is 0, ctxOffset is set to 3*(log2TbSize-2)+((log2TbSize-1)>>2), and ctxShift is set to (log2ThSize+1)>>2.
- Otherwise ( cIdx is greater than 0), ctxOffset is set to 21 and ctxShift is set to Clip3 (0, 2, 2 log2TbSize >>3).
The ctxInc variable is retrieved like this:
- ctxInc=(binIdx>>ctxShift)+ctxOffset (9-31)
[197] Табл. 12[197] Tab. 12
[198] Как показано в таблице 11, переменная log2TbSize задается равной log2TbWidth, когда last_sig_coeff_x_prefix синтаксически анализируется, и равной log2TbHeight, когда last_sig_coeff_y_prefix синтаксически анализируется, где log2TbWidth и log2TbHeight обозначают ширину и высоту сокращенной TU, такой как область низкочастотных коэффициентов преобразования.[198] As shown in Table 11, the variable log2TbSize is set equal to log2TbWidth when last_sig_coeff_x_prefix is parsed and equal to log2TbHeight when last_sig_coeff_y_prefix is parsed, where log2TbWidth and log2TbHeight denote the width and height of the reduced TU, such as the region of low-frequency transform coefficients.
[199] Дополнительно, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix в таблице 12 также задаются на основе ширины и высоты сокращенной TU, такой как область низкочастотных коэффициентов преобразования (cMax=(log2TbWidth<<1)-1, cMax=(log2TbHeight<<1)-1). Когда усеченное унарное преобразование в двоичную форму используется для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут задаваться идентичными максимальным значениям кодовых слов, используемых для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix. Следовательно, максимальная длина префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента, может извлекаться на основе размера обнуляемого блока.[199] Additionally, the maximum values (cMax) of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix in Table 12 are also set based on the width and height of the reduced TU, such as the region of low-frequency transform coefficients (cMax=(log2TbWidth<<1)-1, cMax=(log2TbHeight<< 1)-1). When truncated unary binarization is used to binarize last_sig_coeff_x_prefix and last_sig_coeff_y_prefix, the maximum values (cMax) of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix may be set to be identical to the maximum values of the codewords used to binarize last_sig_coeff_x_prefix and last_sig_coeff_y_prefix. Therefore, the maximum length of the prefix codeword indicating the prefix information of the last significant coefficient can be derived based on the size of the block to be nulled.
[200] Вариант осуществления настоящего раскрытия сущности предлагает применение размера исходной TU, а не сокращенной TU области низкочастотных коэффициентов преобразования для CABAC-контекста для двух синтаксических элементов, т.е. last_sig_coeff_x_prefix и last_sig_coeff_y_prefix.[200] An embodiment of the present disclosure proposes applying the size of the original TU rather than the reduced TU region of the low-frequency transform coefficients for the CABAC context for the two syntax elements, i.e. last_sig_coeff_x_prefix and last_sig_coeff_y_prefix.
[201] Таблица 13 показывает синтаксические элементы остаточного кодирования и семантику, соответствующую им, согласно варианту осуществления.[201] Table 13 shows the syntax elements of the residual coding and the semantics corresponding to them, according to an embodiment.
[202] Табл. 13[202] Tab. 13
- last_sig_coeff_x_prefix указывает префикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_x_prefix должны составлять в диапазоне от 0 до (log2ZoTbWidth<<1)-1, включительно. Когда last_sig_coeff_x_prefix не присутствует, он логически выводится равным 0.
- last_sig_coeff_y_prefix указывает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_y_prefix должны составлять в диапазоне от 0 до (log2ZoTbHeight<<1)-1, включительно. Когда last_sig_coeff_y_prefix не присутствует, он логически выводится равным 0.
- last_sig_coeff_x_prefix indicates the prefix of the column position of the last significant coefficient in the scan order in the transform block. Last_sig_coeff_x_prefix values must be between 0 and (log2ZoTbWidth<<1)-1, inclusive. When last_sig_coeff_x_prefix is not present, it is logically inferred to be 0.
- last_sig_coeff_y_prefix indicates the prefix of the row position of the last significant coefficient in the scan order in the transform block. Last_sig_coeff_y_prefix values must be between 0 and (log2ZoTbHeight<<1)-1, inclusive. When last_sig_coeff_y_prefix is not present, it is logically inferred to be 0.
[203] Согласно таблице 13, могут предлагаться две новых переменные (log2ZoTbWidth и log2ZoTbHeight), указывающие сокращенную ширину и сокращенную высоту. TU-размер может в завершение обновляться на log2ZoTbWidth и log2ZoTbHeight после синтаксического анализа синтаксиса позиции последнего значимого коэффициента (log2TbWidth = log2ZoTbWidth, log2TbHeight = log2ZoTbHeight).[203] According to Table 13, two new variables (log2ZoTbWidth and log2ZoTbHeight) can be proposed indicating a reduced width and a reduced height. The TU-size may finally be updated to log2ZoTbWidth and log2ZoTbHeight after parsing the position syntax of the last significant coefficient (log2TbWidth = log2ZoTbWidth, log2TbHeight = log2ZoTbHeight).
[204] Таким образом, согласно настоящему варианту осуществления, остаточные выборки могут извлекаться на основе информации позиции относительно последнего значимого коэффициента, в котором контекстная модель может извлекаться на основе размера исходного блока преобразования, размер которого является неизменным, и позиция последнего значимого коэффициента может извлекаться на основе размера обнуляемого блока. Здесь, размер, в частности, ширина или высота, обнуляемого блока меньше размера, ширины или высоты, исходного блока преобразования.[204] Thus, according to the present embodiment, the residual samples can be extracted based on the position information relative to the last significant coefficient, in which the context model can be extracted based on the size of the original transform block, the size of which is unchanged, and the position of the last significant coefficient can be extracted on based on the size of the nullable block. Here, the size, in particular the width or height, of the nullable box is smaller than the size, width or height, of the original transform box.
[205] Когда контекстная модель извлекается на основе размера исходного блока преобразования, размер которого является неизменным, log2TbWidth и log2TbHeight, используемые для извлечения контекстного приращения (ctxInc) в таблице 11, могут интерпретироваться в качестве ширины и высоты исходного блока преобразования.[205] When the context model is extracted based on the size of the original transform box, whose size is unchanged, the log2TbWidth and log2TbHeight used to extract the context increment (ctxInc) in Table 11 can be interpreted as the width and height of the original transform box.
[206] Согласно таблице 13, таблица 12, в которой позиция последнего значимого коэффициента извлекается на основе размера (log2ZoTbWidth и log2ZoTbHeight) обнуляемого блока, может изменяться на таблицу 14.[206] According to Table 13, Table 12, in which the position of the last significant coefficient is derived based on the size (log2ZoTbWidth and log2ZoTbHeight) of the nullable block, may change to Table 14.
[207] Табл. 14[207] Tab. fourteen
[208] Согласно таблице 14, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix задаются на основе log2ZoTbWidth и log2ZoTbHeight, соответствующих ширине и высоте сокращенной TU, такой как область низкочастотных коэффициентов преобразования (cMax=(log2ZoTbWidth<<1)-1, cMax=(log2ZoTbHeight<<1)-1). Когда усеченное унарное преобразование в двоичную форму используется для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут задаваться идентичными максимальным значениям кодовых слов, используемых для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix. Следовательно, максимальная длина префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента, может извлекаться на основе размера обнуляемого блока.[208] According to Table 14, the maximum values (cMax) of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix are set based on log2ZoTbWidth and log2ZoTbHeight corresponding to the width and height of the reduced TU, such as the region of low-frequency transform coefficients (cMax=(log2ZoTbWidth<<1)-1, cMax=( log2ZoTbHeight<<1)-1). When truncated unary binarization is used to binarize last_sig_coeff_x_prefix and last_sig_coeff_y_prefix, the maximum values (cMax) of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix may be set to be identical to the maximum values of the codewords used to binarize last_sig_coeff_x_prefix and last_sig_coeff_y_prefix. Therefore, the maximum length of the prefix codeword indicating the prefix information of the last significant coefficient can be derived based on the size of the block to be nulled.
[209] Таблица 15 показывает результат тестирования для выполнения выбора контекста посредством применения размера сокращенной TU на основе теста, в котором выбор контекста выполняется на основе размера исходной TU.[209] Table 15 shows a test result for performing context selection by applying a reduced TU size based on a test in which context selection is performed based on the original TU size.
[210] Табл. 15[210] Tab. fifteen
[211] Как показано в таблице 15, когда выбор контекста выполняется посредством применения сокращенного TU-размера, уменьшение BD-коэффициента приблизительно в 0,10% наблюдается по сравнению с тестом, в котором выбор контекста выполняется на основе размера исходной TU. Таким образом, чтобы повышать эффективность при остаточном кодировании, предлагается выполнять выбор контекста на основе исходной TU, а не сокращенной TU, т.е. области низкочастотных коэффициентов преобразования.[211] As shown in Table 15, when context selection is performed by applying a reduced TU size, a decrease in the BD ratio of approximately 0.10% is observed compared to a test in which context selection is performed based on the size of the original TU. Thus, in order to improve efficiency in residual coding, it is proposed to perform context selection based on the original TU rather than the reduced TU, i. areas of low-frequency conversion coefficients.
[212] Нижеприведенные чертежи предоставляются для того, чтобы описывать конкретные примеры настоящего раскрытия сущности. Поскольку конкретные обозначения устройств или обозначения конкретных сигналов/сообщений/полей, проиллюстрированных на чертежах, предоставляются для иллюстрации, технические признаки настоящего раскрытия сущности не ограничены конкретными обозначениями, используемыми на нижеприведенных чертежах.[212] The following drawings are provided to describe specific examples of the present disclosure. Since the specific device designations or specific signal/message/field designations illustrated in the drawings are provided for illustration purposes, the technical features of the present disclosure are not limited to the specific designations used in the drawings below.
[213] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры декодирования видео согласно варианту осуществления настоящего раскрытия сущности.[213] FIG. 7 is a flowchart illustrating the operation of a video decoding apparatus according to an embodiment of the present disclosure.
[214] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры декодирования согласно варианту осуществления, и фиг. 8 является блок-схемой, иллюстрирующей конфигурацию аппаратуры декодирования согласно варианту осуществления.[214] FIG. 7 is a flowchart illustrating the operation of the decoding apparatus according to the embodiment, and FIG. 8 is a block diagram illustrating a configuration of a decoding apparatus according to an embodiment.
[215] Каждая операция, проиллюстрированная на фиг. 7, может выполняться посредством аппаратуры 300 декодирования, проиллюстрированного на фиг. 3. В частности, S700 и S710 могут выполняться посредством энтропийного декодера 310, проиллюстрированного на фиг. 3, S720 может выполняться посредством деквантователя 321, проиллюстрированного на фиг. 3, S730 может выполняться посредством обратного преобразователя 322, проиллюстрированного на фиг. 3, и S740 может выполняться посредством сумматора 340, проиллюстрированного на фиг. 3. Операции согласно S700-S740 основаны на некоторых вышеприведенных подробностях, поясненных со ссылкой на фиг. 4-6. Следовательно, описание конкретных подробностей, перекрывающихся с подробностями, поясненными выше со ссылкой на фиг. 4-6, опускается или приводится кратко.[215] Each operation illustrated in FIG. 7 may be performed by the
[216] Как показано на фиг. 8, аппаратура декодирования согласно варианту осуществления может включать в себя энтропийный декодер 310, деквантователь 321, обратный преобразователь 322 и сумматор 340. Тем не менее, в некоторых случаях, все компоненты, показанные на фиг. 8, могут не представлять собой существенные компоненты аппаратуры декодирования, и аппаратура декодирования может быть сконфигурирована с большим или меньшим числом компонентов относительно компонентов, показанных на фиг. 8.[216] As shown in FIG. 8, decoding hardware according to an embodiment may include an
[217] В аппаратуре декодирования согласно варианту осуществления, энтропийный декодер 310, деквантователь 321, обратный преобразователь 322 и сумматор 340 могут быть сконфигурированы как отдельные микросхемы, или, по меньшей мере, два компонента могут быть сконфигурированы как одна микросхема.[217] In the decoding apparatus according to the embodiment, the
[218] Аппаратура декодирования согласно варианту осуществления может принимать поток битов, включающий в себя остаточную информацию (S700). В частности, энтропийный декодер 310 аппаратуры декодирования может принимать поток битов, включающий в себя остаточную информацию.[218] The decoding apparatus according to the embodiment may receive a bitstream including the residual information (S700). In particular, the
[219] Аппаратура декодирования согласно варианту осуществления может извлекать квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов (S710). В частности, энтропийный декодер 310 аппаратуры декодирования может квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов.[219] The decoding apparatus according to the embodiment may derive quantized transform coefficients for the current block based on the residual information included in the bit stream (S710). In particular, the
[220] Аппаратура декодирования согласно варианту осуществления может преобразовывать коэффициенты из квантованных коэффициентов преобразования на основе процесса деквантования. В частности, деквантователь 321 аппаратуры декодирования может извлекать коэффициенты преобразования из квантованных коэффициентов преобразования на основе процесса деквантования.[220] The decoding apparatus according to an embodiment can transform the coefficients from the quantized transform coefficients based on a dequantization process. In particular, the
[221] Аппаратура декодирования согласно варианту осуществления может извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования (S720). В частности, обратное преобразование 322 аппаратуры декодирования может извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования.[221] The decoding apparatus according to the embodiment may extract residual samples for the current block by applying an inverse transform to the extracted transform coefficients (S720). In particular, the
[222] Аппаратура декодирования согласно варианту осуществления может формировать восстановленный кадр на основе остаточных выборок для текущего блока (S740). В частности, сумматор 340 аппаратуры декодирования может формировать восстановленный кадр на основе остаточных выборок для текущего блока.[222] The decoding apparatus according to the embodiment may generate a reconstructed frame based on the residual samples for the current block (S740). In particular, the
[223] В варианте осуществления, единица текущего блока может представлять собой блок преобразования (TB).[223] In an embodiment, the current block unit may be a transform block (TB).
[224] В варианте осуществления, каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, включающей в себя коэффициент преобразования в 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования.[224] In an embodiment, each of the transform coefficients for the current block may be associated with a high-frequency transform coefficient region including a transform coefficient of 0, or with a low-frequency transform coefficient region including at least one significant transform coefficient. .
[225] В варианте осуществления, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента относительно позиции последнего значимого коэффициента преобразования из числа коэффициентов преобразования для текущего блока.[225] In an embodiment, the residual information may include last significant coefficient prefix information and last significant coefficient suffix information regarding the position of the last significant transform coefficient among the transform coefficients for the current block.
[226] В одном примере, информации префикса последнего значимого коэффициента можно определять максимальное значение на основе размера обнуляемого блока.[226] In one example, the prefix information of the last significant coefficient can determine the maximum value based on the size of the block to be nulled.
[227] В варианте осуществления, позиция последнего значимого коэффициента преобразования может определяться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента.[227] In an embodiment, the position of the last significant transform coefficient may be determined based on a prefix codeword indicating last significant coefficient prefix information and last significant coefficient suffix information.
[228] В варианте осуществления, максимальная длина префиксного кодового слова может определяться на основе области низкочастотных коэффициентов преобразования, т.е. размера обнуляемого блока.[228] In an embodiment, the maximum length of the prefix codeword may be determined based on the region of the low frequency transform coefficients, i.e. block size to be nulled.
[229] В варианте осуществления, размер обнуляемого блока может определяться на основе ширины и высоты текущего блока.[229] In an embodiment, the size of the nullable block may be determined based on the width and height of the current block.
[230] В варианте осуществления, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и префиксное кодовое слово может представлять собой кодовое слово для информации префикса по оси X и кодовое слово для информации префикса по оси Y.[230] In an embodiment, the prefix information of the last significant coefficient may include the X-axis prefix information and the Y-axis prefix information, and the prefix codeword may be a codeword for the X-axis prefix information and a codeword for the X-axis prefix information. Y axis.
[231] В одном примере, информация префикса по оси X может выражаться как last_sig_coeff_x_prefix, информация префикса по оси Y может выражаться как last_sig_coeff_y_prefix, и позиция последнего значимого коэффициента преобразования может выражаться как (LastSignificantCoeffX, LastSignificantCoeffY).[231] In one example, the X-axis prefix information may be expressed as last_sig_coeff_x_prefix, the Y-axis prefix information may be expressed as last_sig_coeff_y_prefix, and the position of the last significant transform coefficient may be expressed as (LastSignificantCoeffX, LastSignificantCoeffY).
[232] В варианте осуществления, остаточная информация может включать в себя информацию относительно размера обнуляемого блока.[232] In an embodiment, the residual information may include information regarding the size of the block being reset.
[233] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей процесс извлечения остаточной выборки согласно варианту осуществления настоящего раскрытия сущности.[233] FIG. 9 is a flowchart illustrating a residual sample extraction process according to an embodiment of the present disclosure.
[234] Каждая операция, проиллюстрированная на фиг. 9, может выполняться посредством аппаратуры 300 декодирования, проиллюстрированного на фиг. 3. В частности, S900 и S940 могут выполняться посредством энтропийного декодера 310, проиллюстрированного на фиг. 3.[234] Each operation illustrated in FIG. 9 may be performed by the
[235] Во-первых, как показано, обнуляемый блок для текущего блока может извлекаться (S900). Как описано выше, обнуляемый блок означает область низкочастотных коэффициентов преобразования, включающую в себя ненулевой значимый коэффициент преобразования, и ширина или высота обнуляемого блока может извлекаться на основе ширины или высоты текущего блока.[235] First, as shown, a reset block for the current block can be retrieved (S900). As described above, the nullable block means a region of low-frequency transform coefficients including a non-zero significant transform coefficient, and the width or height of the nullable block may be derived based on the width or height of the current block.
[236] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе информации флага, указывающей то, сегментируется текущий блок на субблоки и затем преобразуется или нет. Например, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, ширина сегментированных субблоков равна 32, и высота субблоков меньше 64, ширина субблоков может задаваться равной 16. Альтернативно, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, высота сегментированных субблоков равна 32, и ширина субблоков меньше 64, высота субблоков может задаваться равной 16.[236] Alternatively, the width or height of the nullable block may be derived based on flag information indicating whether the current block is segmented into subblocks and then converted or not. For example, when a flag value indicating whether the current block is segmented into sub-blocks and then converted or not is 1, the width of the segmented sub-blocks is 32, and the height of the sub-blocks is less than 64, the width of the sub-blocks may be set to 16. Alternatively, when the flag value indicating that , the current block is segmented into sub-blocks and then converted or not, is 1, the height of the segmented sub-blocks is 32, and the width of the sub-blocks is less than 64, the height of the sub-blocks can be set to 16.
[237] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе MTS-индекса текущего блока или информации, указывающей то, применяется или нет MTS к преобразованию текущего блока.[237] Alternatively, the width or height of the block to be nulled may be derived based on the MTS index of the current block or information indicating whether or not the MTS applies to the transformation of the current block.
[238] Размер обнуляемого блока может быть меньше размера текущего блока. В частности, ширина обнуляемого блока может быть меньше ширины текущего блока, и высота обнуляемого блока может быть меньше высоты текущего блока.[238] The size of the block being reset may be smaller than the size of the current block. In particular, the width of the nullable box may be less than the width of the current box, and the height of the nullable box may be less than the height of the current box.
[239] В частности, когда ширина текущего блока равна 32, и высота текущего блока равна 32 или меньше, ширина обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, ширина обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для обратного первичного преобразования.[239] In particular, when the width of the current block is 32 and the height of the current block is 32 or less, the width of the zeroed block may be set to 16. Alternatively, in one example, the width of the zeroed block may be limited to the case where DST7 or DCT8, and no DCT2 is used as the transform kernel used for the inverse primary transform.
[240] Когда вышеприведенное условие не удовлетворяется, т.е. когда ширина текущего блока не равна 32, или высота текущего блока равна 64 или больше, ширина обнуляемого блока может задаваться равной меньшему значению из ширины текущего блока и 32.[240] When the above condition is not satisfied, i. when the width of the current box is not 32, or the height of the current box is 64 or more, the width of the box to be nulled can be set to the smaller of the width of the current box and 32.
[241] Дополнительно, в частности, когда высота текущего блока равна 32, и ширина текущего блока равна 32 или меньше, высота обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, высота обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для обратного первичного преобразования.[241] Additionally, in particular, when the height of the current block is 32 and the width of the current block is 32 or less, the zeroed block height may be set to 16. Alternatively, in one example, the zeroed block height may be limited to the case where DST7 or DCT8 , rather than DCT2, is used as the transform kernel used for the inverse primary transform.
[242] Когда вышеприведенное условие не удовлетворяется, т.е. когда высота текущего блока не равна 32, или ширина текущего блока равна 64 или больше, высота обнуляемого блока может задаваться равной меньшему значению из высоты текущего блока и 32.[242] When the above condition is not satisfied, ie. when the height of the current box is not 32, or the width of the current box is 64 or more, the height of the box to be reset can be set to the smaller of the height of the current box and 32.
[243] В варианте осуществления, размер обнуляемого блока может составлять одно из 32×16, 16×32, 16×16 или 32×32.[243] In an embodiment, the size of the nullable block may be one of 32x16, 16x32, 16x16, or 32x32.
[244] В варианте осуществления, размер текущего блока может составлять 64×64, и размер обнуляемого блока может составлять 32×32.[244] In an embodiment, the size of the current block may be 64×64, and the size of the zeroable block may be 32×32.
[245] Аппаратура декодирования может извлекать контекстную модель для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока (S910).[245] The decoding apparatus may derive a context model for position information of the last significant coefficient based on the width or height of the current block (S910).
[246] Согласно варианту осуществления, контекстная модель может извлекаться на основе размера исходного блока преобразования, а не размера обнуляемого блока. В частности, контекстное приращение для информации префикса по оси X и информации префикса по оси Y, соответствующей информации префикса последнего значимого коэффициента, может извлекаться на основе размера исходного блока преобразования.[246] According to an embodiment, the context model may be derived based on the size of the original transform block rather than the size of the nullable block. In particular, the context increment for the X-axis prefix information and the Y-axis prefix information corresponding to the last significant coefficient prefix information can be derived based on the size of the original transform block.
[247] Аппаратура декодирования может извлекать значение позиции последнего значимого коэффициента на основе извлеченной контекстной модели (S920).[247] The decoding apparatus may extract the position value of the last significant coefficient based on the extracted context model (S920).
[248] Как описано выше, информация позиции последнего значимого коэффициента может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и значение позиции последнего значимого коэффициента может извлекаться на основе контекстной модели.[248] As described above, the position information of the last significant coefficient may include prefix information of the last significant coefficient and suffix information of the last significant coefficient, and the position value of the last significant coefficient may be derived based on the context model.
[249] Аппаратура декодирования может извлекать позицию последнего значимого коэффициента на основе извлеченного значения информации позиции последнего значимого коэффициента и ширины или высоты обнуляемого блока (S930).[249] The decoding apparatus may extract the position of the last significant coefficient based on the extracted value of the information of the position of the last significant coefficient and the width or height of the block to be reset (S930).
[250] В одном примере, аппаратура декодирования может извлекать позицию последнего значимого коэффициента в пределах диапазона размера обнуляемого блока, меньшего диапазона размера текущего блока, а не исходного текущего блока. Таким образом, коэффициент преобразования, к которому применяется преобразование, может извлекаться в пределах диапазона размера обнуляемого блока, а не текущего блока.[250] In one example, the decoding hardware can extract the position of the last significant coefficient within a zeroed block size range smaller than the current block size range, rather than the original current block. Thus, the transform factor to which the transform is applied can be retrieved within the size range of the block being zeroed out, rather than the current block.
[251] В одном примере, информации префикса последнего значимого коэффициента можно определять максимальное значение на основе размера обнуляемого блока.[251] In one example, the prefix information of the last significant coefficient can determine the maximum value based on the size of the block to be nulled.
[252] В одном примере, позиция последнего значимого коэффициента может извлекаться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова может определяться на основе размера обнуляемого блока.[252] In one example, the position of the last significant coefficient may be derived based on a prefix codeword indicating the prefix information of the last significant coefficient and the suffix information of the last significant coefficient, and the maximum length of the prefix codeword may be determined based on the size of the block to be nulled.
[253] Аппаратура декодирования может извлекать остаточные выборки на основе позиции последнего значимого коэффициента, извлекаемой на основе ширины или высоты обнуляемого блока (S940).[253] The decoding apparatus may derive residual samples based on the position of the last significant coefficient derived based on the width or height of the zeroed block (S940).
[254] Нижеприведенные чертежи предоставляются для того, чтобы описывать конкретные примеры настоящего раскрытия сущности. Поскольку конкретные обозначения устройств или обозначения конкретных сигналов/сообщений/полей, проиллюстрированных на чертежах, предоставляются для иллюстрации, технические признаки настоящего раскрытия сущности не ограничены конкретными обозначениями, используемыми на нижеприведенных чертежах.[254] The following drawings are provided to describe specific examples of the present disclosure. Since the specific device designations or specific signal/message/field designations illustrated in the drawings are provided for illustration purposes, the technical features of the present disclosure are not limited to the specific designations used in the drawings below.
[255] Фиг. 10 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры кодирования видео согласно варианту осуществления настоящего раскрытия сущности, и фиг. 11 является блок-схемой, иллюстрирующей конфигурацию аппаратуры кодирования согласно варианту осуществления.[255] FIG. 10 is a flowchart illustrating the operation of a video encoding apparatus according to an embodiment of the present disclosure, and FIG. 11 is a block diagram illustrating a configuration of an encoding apparatus according to an embodiment.
[256] Аппаратура кодирования согласно фиг. 10 и фиг. 11 может выполнять операции, соответствующие операциям аппаратуры декодирования согласно фиг. 7 и фиг. 8. Следовательно, операции аппаратуры декодирования, проиллюстрированного выше на фиг. 7 и фиг. 8, могут в равной степени применяться к аппаратуре кодирования согласно фиг. 10 и фиг. 11.[256] The encoding apparatus of FIG. 10 and FIG. 11 can perform operations corresponding to those of the decoding apparatus of FIG. 7 and FIG. 8. Therefore, the operations of the decoding apparatus illustrated above in FIG. 7 and FIG. 8 can equally apply to the encoding apparatus of FIG. 10 and FIG. eleven.
[257] Каждая операция, проиллюстрированная на фиг. 10, может выполняться посредством аппаратуры 200 кодирования, проиллюстрированной на фиг. 2. В частности, S1000 может выполняться посредством вычитателя 231, проиллюстрированного на фиг. 2, S1010 может выполняться посредством преобразователя 232, проиллюстрированного на фиг. 2, и S1020 может выполняться посредством квантователя 233, и S1030 может выполняться посредством энтропийного кодера 240, проиллюстрированного на фиг. 2. Операции согласно S1000-S1030 основаны на части контента, описанного на фиг. 4-6. Следовательно, описание конкретных подробностей, перекрывающихся с подробностями, поясненными выше со ссылкой на фиг. 4-6, опускается или приводится кратко.[257] Each operation illustrated in FIG. 10 may be performed by the
[258] Как показано на фиг. 11, аппаратура кодирования согласно варианту осуществления может включать в себя вычитатель 231, преобразователь 232, квантователь 233 и энтропийный кодер 240. Тем не менее, в некоторых случаях, все компоненты, показанные на фиг. 11, могут не представлять собой существенные компоненты аппаратуры кодирования, и аппаратура кодирования может быть сконфигурирована с большим или меньшим числом компонентов относительно компонентов, показанных на фиг. 11.[258] As shown in FIG. 11, an encoding apparatus according to an embodiment may include a
[259] В аппаратуре кодирования согласно варианту осуществления, вычитатель 231, преобразователь 232, квантователь 233 и энтропийный кодер 240 могут быть сконфигурированы как отдельные микросхемы, или, по меньшей мере, два компонента могут быть сконфигурированы как одна микросхема.[259] In the encoding apparatus according to the embodiment,
[260] Аппаратура кодирования согласно варианту осуществления может извлекать остаточные выборки для текущего блока (S1000). В частности, вычитатель 231 аппаратуры кодирования может извлекать остаточные выборки для текущего блока.[260] The encoding apparatus according to the embodiment may extract residual samples for the current block (S1000). In particular, the
[261] Аппаратура кодирования согласно варианту осуществления может преобразовывать остаточные выборки для текущего блока, за счет этого извлекая коэффициенты преобразования для текущего блока (S1010). В частности, преобразователь 232 аппаратуры кодирования может преобразовывать остаточные выборки для текущего блока, за счет этого извлекая коэффициенты преобразования для текущего блока.[261] The encoding apparatus according to the embodiment may transform the residual samples for the current block, thereby deriving transform coefficients for the current block (S1010). In particular, the coding hardware transform 232 may transform the residual samples for the current block, thereby deriving transform coefficients for the current block.
[262] Аппаратура кодирования согласно варианту осуществления может извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе квантования (S1020). В частности, квантователь 233 аппаратуры кодирования может извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе квантования.[262] An encoding apparatus according to an embodiment can extract quantized transform coefficients from the transform coefficients based on quantization (S1020). In particular, the
[263] Аппаратура кодирования согласно варианту осуществления может кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования (S1030). В частности, энтропийный кодер 240 аппаратуры кодирования может кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования.[263] The encoding apparatus according to the embodiment may encode residual information including information regarding quantized transform coefficients (S1030). In particular, the
[264] В варианте осуществления, каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, включающей в себя коэффициент преобразования в 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, т.е. обнуляемый блок.[264] In an embodiment, each of the transform coefficients for the current block may be associated with a high-frequency transform coefficient region including a transform coefficient of 0, or with a low-frequency transform coefficient region including at least one significant transform coefficient. , i.e. nullable block.
[265] В варианте осуществления, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента относительно позиции последнего значимого коэффициента преобразования из числа коэффициентов преобразования для текущего блока.[265] In an embodiment, the residual information may include last significant coefficient prefix information and last significant coefficient suffix information regarding the position of the last significant transform coefficient among the transform coefficients for the current block.
[266] В варианте осуществления, позиция последнего значимого коэффициента преобразования может определяться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента.[266] In an embodiment, the position of the last significant transform coefficient may be determined based on a prefix codeword indicating last significant coefficient prefix information and last significant coefficient suffix information.
[267] В одном примере, информации префикса последнего значимого коэффициента можно определять максимальное значение на основе размера обнуляемого блока.[267] In one example, the prefix information of the last significant coefficient can determine the maximum value based on the size of the block to be nulled.
[268] В варианте осуществления, максимальная длина префиксного кодового слова может определяться на основе размера обнуляемого блока.[268] In an embodiment, the maximum length of the prefix codeword may be determined based on the size of the block being reset.
[269] В варианте осуществления, размер обнуляемого блока может определяться на основе ширины и высоты текущего блока.[269] In an embodiment, the size of the nullable block may be determined based on the width and height of the current block.
[270] В варианте осуществления, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и префиксное кодовое слово может представлять собой кодовое слово для информации префикса по оси X и кодовое слово для информации префикса по оси Y.[270] In an embodiment, the prefix information of the last significant coefficient may include the X-axis prefix information and the Y-axis prefix information, and the prefix codeword may be a codeword for the X-axis prefix information and a codeword for the X-axis prefix information. Y axis.
[271] В одном примере, информация префикса по оси X может выражаться как last_sig_coeff_x_prefix, информация префикса по оси Y может выражаться как last_sig_coeff_y_prefix, и позиция последнего значимого коэффициента преобразования может выражаться как (LastSignificantCoeffX, LastSignificantCoeffY).[271] In one example, the X-axis prefix information may be expressed as last_sig_coeff_x_prefix, the Y-axis prefix information may be expressed as last_sig_coeff_y_prefix, and the position of the last significant transform coefficient may be expressed as (LastSignificantCoeffX, LastSignificantCoeffY).
[272] В варианте осуществления, остаточная информация может включать в себя информацию относительно размера обнуляемого блока.[272] In an embodiment, the residual information may include information regarding the size of the block being reset.
[273] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей процесс кодирования остаточной информации согласно варианту осуществления настоящего раскрытия сущности.[273] FIG. 12 is a flowchart illustrating a residual information encoding process according to an embodiment of the present disclosure.
[274] Каждая операция, проиллюстрированная на фиг. 12, может выполняться посредством аппаратуры 200 кодирования, проиллюстрированного на фиг. 2. В частности, S1200 и S1230 могут выполняться посредством энтропийного кодера 240, проиллюстрированного на фиг. 2.[274] Each operation illustrated in FIG. 12 may be performed by the
[275] Во-первых, как показано, может извлекаться обнуляемый блок для текущего блока (S1200). Как описано выше, обнуляемый блок означает область низкочастотных коэффициентов преобразования, включающую в себя ненулевой значимый коэффициент преобразования, и ширина или высота обнуляемого блока может извлекаться на основе ширины или высоты текущего блока.[275] First, as shown, a resettable block for the current block can be retrieved (S1200). As described above, the nullable block means a region of low-frequency transform coefficients including a non-zero significant transform coefficient, and the width or height of the nullable block may be derived based on the width or height of the current block.
[276] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе информации флага, указывающей то, сегментируется текущий блок на субблоки и затем преобразуется или нет. Например, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, ширина сегментированных субблоков равна 32, и высота субблоков меньше 64, ширина субблоков может задаваться равной 16. Альтернативно, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, высота сегментированных субблоков равна 32, и ширина субблоков меньше 64, высота субблоков может задаваться равной 16.[276] Alternatively, the width or height of the nullable block may be derived based on flag information indicating whether the current block is segmented into subblocks and then converted or not. For example, when a flag value indicating whether the current block is segmented into sub-blocks and then converted or not is 1, the width of the segmented sub-blocks is 32, and the height of the sub-blocks is less than 64, the width of the sub-blocks may be set to 16. Alternatively, when the flag value indicating that , the current block is segmented into sub-blocks and then converted or not, is 1, the height of the segmented sub-blocks is 32, and the width of the sub-blocks is less than 64, the height of the sub-blocks can be set to 16.
[277] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе MTS-индекса текущего блока или информации, указывающей то, применяется или нет MTS к преобразованию текущего блока.[277] Alternatively, the width or height of the block to be nulled may be derived based on the MTS index of the current block or information indicating whether or not the MTS is applied to the transformation of the current block.
[278] Размер обнуляемого блока может быть меньше размера текущего блока. В частности, ширина обнуляемого блока может быть меньше ширины текущего блока, и высота обнуляемого блока может быть меньше высоты текущего блока.[278] The size of the block being reset may be less than the size of the current block. In particular, the width of the nullable box may be less than the width of the current box, and the height of the nullable box may be less than the height of the current box.
[279] В частности, когда ширина текущего блока равна 32, и высота текущего блока равна 32 или меньше, ширина обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, ширина обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для первичного преобразования.[279] In particular, when the width of the current block is 32 and the height of the current block is 32 or less, the width of the zeroed block may be set to 16. Alternatively, in one example, the width of the zeroed block may be limited to the case where DST7 or DCT8, and no DCT2 is used as the transformation kernel used for the primary transformation.
[280] Когда вышеприведенное условие не удовлетворяется, т.е. когда ширина текущего блока не равна 32, или высота текущего блока равна 64 или больше, ширина обнуляемого блока может задаваться равной меньшему значению из ширины текущего блока и 32.[280] When the above condition is not satisfied, i.e. when the width of the current box is not 32, or the height of the current box is 64 or more, the width of the box to be nulled can be set to the smaller of the width of the current box and 32.
[281] Дополнительно, в частности, когда высота текущего блока равна 32, и ширина текущего блока равна 32 или меньше, высота обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, высота обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для первичного преобразования.[281] Additionally, specifically, when the height of the current block is 32 and the width of the current block is 32 or less, the zeroed block height may be set to 16. Alternatively, in one example, the zeroed block height may be limited to the case where DST7 or DCT8 , rather than DCT2, is used as the transform kernel used for the primary transform.
[282] Когда вышеприведенное условие не удовлетворяется, т.е. когда высота текущего блока не равна 32, или ширина текущего блока равна 64 или больше, высота обнуляемого блока может задаваться равной меньшему значению из высоты текущего блока и 32.[282] When the above condition is not satisfied, i.e. when the height of the current box is not 32, or the width of the current box is 64 or more, the height of the box to be reset can be set to the smaller of the height of the current box and 32.
[283] В варианте осуществления, размер обнуляемого блока может составлять одно из 32×16, 16×32, 16×16 или 32×32.[283] In an embodiment, the size of the nullable block may be one of 32x16, 16x32, 16x16, or 32x32.
[284] В варианте осуществления, размер текущего блока может составлять 64×64, и размер обнуляемого блока может составлять 32×32.[284] In an embodiment, the size of the current block may be 64×64, and the size of the zeroable block may be 32×32.
[285] Аппаратура кодирования может извлекать позицию последнего значимого коэффициента на основе извлеченной ширины или высоты обнуляемого блока (S1210).[285] The encoding apparatus may extract the position of the last significant coefficient based on the extracted width or height of the nullable block (S1210).
[286] В одном примере, аппаратура кодирования может извлекать позицию последнего значимого коэффициента в пределах диапазона размера обнуляемого блока, меньшего или равного диапазону размера текущего блока, а не исходного текущего блока. Таким образом, коэффициент преобразования, к которому применяется преобразование, может извлекаться в пределах диапазона размера обнуляемого блока, а не текущего блока.[286] In one example, the encoding apparatus may extract the position of the last significant coefficient within a zeroed block size range less than or equal to the current block size range, rather than the original current block. Thus, the transform factor to which the transform is applied can be retrieved within the size range of the block being zeroed out, rather than the current block.
[287] В одном примере, позиция последнего значимого коэффициента может извлекаться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова может определяться на основе размера обнуляемого блока.[287] In one example, the position of the last significant coefficient may be derived based on a prefix codeword indicating the prefix information of the last significant coefficient and the suffix information of the last significant coefficient, and the maximum length of the prefix codeword may be determined based on the size of the block to be nulled.
[288] Аппаратура кодирования может извлекать контекстную модель для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока (S1220).[288] The encoding apparatus may derive a context model for position information of the last significant coefficient based on the width or height of the current block (S1220).
[289] Согласно варианту осуществления, контекстная модель может извлекаться на основе размера исходного блока преобразования, а не размера обнуляемого блока. В частности, контекстное приращение для информации префикса по оси X и информации префикса по оси Y, соответствующей информации префикса последнего значимого коэффициента, может извлекаться на основе размера исходного блока преобразования.[289] According to an embodiment, the context model may be derived based on the size of the original transform block rather than the size of the nullable block. In particular, the context increment for the X-axis prefix information and the Y-axis prefix information corresponding to the last significant coefficient prefix information can be derived based on the size of the original transform block.
[290] Аппаратура кодирования может кодировать информацию позиции относительно значения позиции последнего значимого коэффициента на основе извлеченной контекстной модели (S1230).[290] The encoding apparatus may encode position information regarding the position value of the last significant coefficient based on the extracted context model (S1230).
[291] Как описано выше, информация позиции последнего значимого коэффициента может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и значение позиции последнего значимого коэффициента может кодироваться на основе контекстной модели.[291] As described above, the position information of the last significant coefficient may include prefix information of the last significant coefficient and suffix information of the last significant coefficient, and the position value of the last significant coefficient may be encoded based on the context model.
[292] В настоящем раскрытии сущности, по меньшей мере, одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициент преобразования может называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему может называться "коэффициентом преобразования" для согласованности выражения.[292] In the present disclosure, at least one of quantization/dequantization and/or transformation/inverse transformation may be omitted. When quantization/dequantization is omitted, the quantized transform coefficient may be referred to as a "transform coefficient". When the transform/inverse transform is omitted, the transform coefficient may be referred to as "coefficient" or "residual coefficient", or may still be referred to as "transformation coefficient" for consistency of expression.
[293] Дополнительно, в настоящем раскрытии сущности, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Эти подробности также могут применяться/выражаться в других частях настоящего раскрытия сущности.[293] Additionally, in the present disclosure, the quantized transform coefficient and the transform coefficient may be referred to as "transform coefficient" and "scaled transform coefficient", respectively. In this case, the residual information may include information on the transform coefficient(s), and information on the transform coefficient(s) may be signaled via the residual coding syntax. The transform coefficients may be derived based on the residual information (or information regarding the transform coefficient(s)), and the scaled transform coefficients may be derived via an inverse transform (scaling) of the transform coefficients. Residual samples may be derived based on an inverse transform (transform) of the scaled transform coefficients. These details may also apply/express in other parts of this disclosure.
[294] В вышеописанных вариантах осуществления, способы поясняются на основе блок-схем последовательности операций способа посредством последовательности этапов или блоков, но настоящее раскрытие сущности не ограничено порядком этапов, и определенный этап может выполняться в порядке или этапе, отличающемся от порядка или этапа, описанного выше, либо одновременно с другим этапом. Дополнительно, специалистам в данной области техники очевидно, что этапы, показанные на блок-схеме последовательности операций способа, не являются единственно возможными, и что другой этап может быть включен, либо один или более этапов блок-схемы последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.[294] In the above embodiments, the methods are explained based on the flow charts of the method by means of a sequence of steps or blocks, but the present disclosure is not limited to the order of the steps, and a certain step may be performed in an order or step different from the order or step described above, or simultaneously with another stage. Additionally, those skilled in the art will appreciate that the steps shown in the flowchart are not the only ones possible, and that another step may be included, or one or more steps in the flowchart may be removed without affecting the scope of this disclosure.
[295] Вышеописанные способы согласно настоящему раскрытию сущности могут реализовываться как программная форма, и аппаратура кодирования, и/или аппаратура декодирования согласно раскрытию сущности может включаться в устройство для обработки изображений, к примеру, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.[295] The above-described methods according to the present disclosure may be implemented as a software form, and the encoding hardware and/or decoding hardware according to the disclosure can be included in an image processing device such as a TV, computer, smartphone, set-top box, display device etc.
[296] Когда варианты осуществления в настоящем раскрытии сущности осуществляются посредством программного обеспечения, вышеописанные способы могут осуществляться в качестве модулей (процессов, функций и т.п.), чтобы выполнять вышеописанные функции. Модули могут сохраняться в запоминающем устройстве и могут выполняться посредством процессора. Запоминающее устройство может находиться внутри или снаружи процессора и может соединяться с процессором различными известными способами. Процессор может включать в себя специализированную интегральную схему (ASIC), другой набор микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Таким образом, варианты осуществления, описанные в настоящем раскрытии сущности, могут осуществляться и выполняться в процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут осуществляться и выполняться на компьютере, в процессоре, микропроцессоре, контроллере или микросхеме.[296] When the embodiments in the present disclosure are implemented by software, the above-described methods may be implemented as modules (processes, functions, etc.) to perform the above-described functions. The modules may be stored in a storage device and may be executed by a processor. The storage device may be located inside or outside the processor and may be connected to the processor in various known ways. The processor may include an application specific integrated circuit (ASIC), another chipset, logic circuitry, and/or a data processing device. The storage device may include Read Only Memory (ROM), Random Access Memory (RAM), flash memory, a memory card, a storage medium, and/or other storage device. Thus, the embodiments described in this disclosure may be implemented and executed in a processor, microprocessor, controller, or chip. For example, the functional modules shown in each figure may be implemented and executed in a computer, processor, microprocessor, controller, or chip.
[297] Дополнительно, аппаратура декодирования и аппаратура кодирования, к которой применяется настоящее раскрытие сущности, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), видеоустройство поверх сетей (OTT), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии и медицинское видеоустройство, и могут использоваться для того, чтобы обрабатывать видеосигнал или сигнал данных. Например, видеоустройство поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[297] Additionally, the decoding apparatus and the encoding apparatus to which the present disclosure applies may be included in a broadcast multimedia transceiver, a mobile communication terminal, a home theater system video device, a digital cinema system video device, a surveillance camera, a video chat device, a video real-time communications, such as video communication, mobile streaming device, storage media, video recording camera, video-on-demand (VoD) service provider, video device over networks (OTT), over-the-air streaming service device Internet, a 3D video device, a video telephony system video device, and a medical video device, and can be used to process a video signal or a data signal. For example, a video over network (OTT) device may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), and the like.
[298] Помимо этого, способ обработки, к которому применяется настоящее раскрытие сущности, может формироваться в форме программы, выполняемой посредством компьютера, и сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию сущности, также могут сохраняться на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются компьютерно-читаемые данные. Компьютерно-читаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Дополнительно, компьютерно-читаемый носитель записи включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или передаваться через сеть проводной или беспроводной связи. Дополнительно, варианты осуществления настоящего раскрытия сущности могут осуществляться в качестве компьютерного программного продукта посредством программных кодов, и программные коды могут выполняться на компьютере посредством вариантов осуществления настоящего раскрытия сущности. Программные коды могут сохраняться на компьютерно-читаемом носителе.[298] In addition, the processing method to which the present disclosure applies may be formed in the form of a program executable by a computer and stored in a computer-readable recording medium. Multimedia data having a data structure according to the present disclosure may also be stored on a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices that store computer-readable data. The computer-readable recording medium may include, for example, a Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical device. data storage. Additionally, the computer-readable recording medium includes media implemented in the form of a carrier wave (eg, transmission over the Internet). In addition, the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted via a wired or wireless communication network. Additionally, embodiments of the present disclosure may be implemented as a computer program product by means of program codes, and the program codes may be executed on a computer by means of embodiments of the present disclosure. The program codes may be stored on a computer-readable medium.
[299] Фиг. 13 иллюстрирует структуру системы потоковой передачи контента, к которой применяется настоящее раскрытие сущности.[299] FIG. 13 illustrates the structure of a content streaming system to which the present disclosure applies.
[300] Дополнительно, система потоковой передачи контента, к которой применяется настоящее раскрытие сущности, может включать в себя главным образом сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, абонентское оборудование и устройство ввода мультимедиа.[300] Additionally, a content streaming system to which the present disclosure applies may mainly include an encoding server, a streaming server, a web server, a media storage, a user equipment, and a media input device.
[301] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае если устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться. Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяется настоящее раскрытие сущности. Кроме того, потоковый сервер может сохранять поток битов временно во время процесса, чтобы передавать или принимать поток битов.[301] The encoding server functions to compress content input from media input devices such as a smartphone, camera, camcorder, and the like into digital data to generate a bitstream and transmit it to the streaming server. As another example, in the case where a media input device such as a smartphone, a camera, a camcorder or the like directly generates a bitstream, the encoding server may be omitted. The bit stream may be generated by an encoding method or a bit stream generation method to which the present disclosure applies. Moreover, the streaming server may store the bitstream temporarily during the process in order to transmit or receive the bitstream.
[302] Потоковый сервер передает мультимедийные данные в абонентское оборудование на основе запроса пользователя через веб-сервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.[302] The streaming server transmits media data to the user equipment based on a user's request via a web server that functions as a tool that informs the user as to which service is provided. When the user requests a service that the user wants, the web server passes the request to the streaming server, and the streaming server transmits the media data to the user. In this regard, the content streaming system may include a separate control server, in which case, the control server functions to manage commands/responses between respective equipments in the content streaming system.
[303] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае, если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.[303] The streaming server may receive content from a media store and/or an encoding server. For example, in case the content is received from an encoding server, the content may be received in real time. In this case, the streaming server may keep the bitstream for a predetermined period of time to smoothly provide the streaming service.
[304] Например, абонентское оборудование может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п. Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.[304] For example, user equipment may include a mobile phone, smartphone, laptop computer, digital broadcast terminal, personal digital assistant (PDA), portable media player (PMP), navigation device, stylus tablet PC, tablet PC, ultrabook, wearable device (e.g., watch terminal (smart watch), glasses terminal (smart glasses), head-mounted display (HMD)), digital TV, desktop computer, digital signage system, etc. Each of the servers in the content streaming system may operate as a distributed server, in which case, data received by each server may be processed in a distributed manner.
[305] Формула изобретения, раскрытая в данном документе, может комбинироваться различным способом. Например, технические признаки пунктов формулы изобретения на способ настоящего раскрытия сущности могут комбинироваться с возможностью реализовываться или выполняться в аппаратуре, и технические признаки пунктов формулы изобретения на аппаратуру могут комбинироваться с возможностью реализовываться или выполняться в способе. Дополнительно, технические признаки пунктов формулы изобретения на способ и пунктов формулы изобретения на аппаратуру могут комбинироваться с возможностью реализовываться или выполняться в аппаратуре, и технические признаки пунктов формулы изобретения на способ и пунктов формулы изобретения на аппаратуру могут комбинироваться с возможностью реализовываться или выполняться в способе.[305] The claims disclosed herein may be combined in various ways. For example, the technical features of the method claims of the present disclosure can be combined with the ability to be implemented or performed in hardware, and the technical features of the hardware claims can be combined with the ability to be implemented or performed in a method. Additionally, the technical features of the method claims and the hardware claims can be combined with the ability to be implemented or implemented in the hardware, and the technical features of the method claims and the hardware claims can be combined with the ability to be implemented or implemented in the method.
Claims (47)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/817,494 | 2019-03-12 | ||
US62/817,490 | 2019-03-12 | ||
US62/822,000 | 2019-03-21 | ||
US62/823,571 | 2019-03-25 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022125133A Division RU2805218C2 (en) | 2019-03-12 | 2020-03-12 | Image coding method based on transformation and a device |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2780814C1 true RU2780814C1 (en) | 2022-10-04 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120082232A1 (en) * | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Entropy coding coefficients using a joint context model |
US20120140813A1 (en) * | 2010-12-03 | 2012-06-07 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
WO2012139192A3 (en) * | 2011-04-15 | 2012-12-13 | Research In Motion Limited | Methods and devices for coding and decoding the position of the last significant coefficient |
US20130003834A1 (en) * | 2011-06-28 | 2013-01-03 | Qualcomm Incorporated | Derivation of the position in scan order of the last significant transform coefficient in video coding |
RU2541226C2 (en) * | 2010-12-03 | 2015-02-10 | Квэлкомм Инкорпорейтед | Coding position of last significant coefficient within video block based on scanning order for block in video coding |
US20160353111A1 (en) * | 2015-05-29 | 2016-12-01 | Qualcomm Incorporated | Coding data using an enhanced context-adaptive binary arithmetic coding (cabac) design |
RU2679991C2 (en) * | 2013-10-01 | 2019-02-14 | Сони Корпорейшн | Video data encoding and decoding |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120082232A1 (en) * | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Entropy coding coefficients using a joint context model |
US20120140813A1 (en) * | 2010-12-03 | 2012-06-07 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
RU2541226C2 (en) * | 2010-12-03 | 2015-02-10 | Квэлкомм Инкорпорейтед | Coding position of last significant coefficient within video block based on scanning order for block in video coding |
WO2012139192A3 (en) * | 2011-04-15 | 2012-12-13 | Research In Motion Limited | Methods and devices for coding and decoding the position of the last significant coefficient |
US20130003834A1 (en) * | 2011-06-28 | 2013-01-03 | Qualcomm Incorporated | Derivation of the position in scan order of the last significant transform coefficient in video coding |
RU2679991C2 (en) * | 2013-10-01 | 2019-02-14 | Сони Корпорейшн | Video data encoding and decoding |
US20160353111A1 (en) * | 2015-05-29 | 2016-12-01 | Qualcomm Incorporated | Coding data using an enhanced context-adaptive binary arithmetic coding (cabac) design |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11831912B2 (en) | Transform for matrix-based intra-prediction in image coding | |
KR20210133299A (en) | Video coding method and apparatus based on BDPCM | |
US20240048766A1 (en) | Image coding using transform index | |
EP3952313B1 (en) | Transform in intra prediction-based image coding | |
KR20210089171A (en) | Video coding method and apparatus based on quadratic transformation | |
US20230421780A1 (en) | Video coding method on basis of transformation, and device therefor | |
US20240187601A1 (en) | Transform-based image coding method and device therefor | |
US11991362B2 (en) | Method for coding image on basis of deblocking filtering, and apparatus therefor | |
RU2780814C1 (en) | Method for encoding images based on conversion and a device for this | |
RU2805218C2 (en) | Image coding method based on transformation and a device | |
RU2820843C1 (en) | Bdpcm-based image encoding method and device for this | |
RU2792223C1 (en) | Information coding regarding a set of transformation kernels | |
RU2783336C1 (en) | Bdpcm-based method for encoding images and apparatus therefor | |
RU2806813C2 (en) | Method and device for image coding based on bdpcm | |
RU2795696C2 (en) | Image encoding transformation based on internal prediction | |
RU2781079C1 (en) | Transformation when encoding images based on internal prediction | |
RU2815810C2 (en) | Encoding information on set of transformation kernels | |
RU2808004C2 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
RU2781175C1 (en) | Conversion for matrix internal prediction when encoding images | |
RU2800596C1 (en) | Slice and tile configuration for image/video encoding | |
RU2793777C1 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
RU2800595C1 (en) | Image/video coding method and equipment | |
RU2795799C2 (en) | Transformation for matrix intra prediction in image coding | |
RU2802374C1 (en) | Image coding method and device for loop filtering control | |
US20220417506A1 (en) | Deblocking filtering method and apparatus in video/image coding system |