RU2795799C2 - Transformation for matrix intra prediction in image coding - Google Patents
Transformation for matrix intra prediction in image coding Download PDFInfo
- Publication number
- RU2795799C2 RU2795799C2 RU2022125466A RU2022125466A RU2795799C2 RU 2795799 C2 RU2795799 C2 RU 2795799C2 RU 2022125466 A RU2022125466 A RU 2022125466A RU 2022125466 A RU2022125466 A RU 2022125466A RU 2795799 C2 RU2795799 C2 RU 2795799C2
- Authority
- RU
- Russia
- Prior art keywords
- information
- transform
- lfnst
- flag
- mip
- Prior art date
Links
Images
Abstract
Description
Уровень техникиState of the art
Область техники, к которой относится изобретениеThe field of technology to which the invention relates
[1] Настоящее раскрытие относится к технологии кодирования изображений, а более конкретно, к преобразованию для матричного внутреннего прогнозирования при кодировании изображений.[1] The present disclosure relates to image coding technology, and more specifically, to a transformation for matrix intra prediction in image coding.
Описание предшествующего уровня техникиDescription of the prior art
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, 4K, 8K либо изображения/видео еще более сверхвысокой четкости (UHD), растет в различных областях техники. По мере того, как разрешение или качество изображений/видео становится более высоким, относительно больший объем информации или число битов передается, чем для традиционных данных изображений/видео. Следовательно, если данные изображений/видео передаются через такую среду, как существующая проводная/беспроводная широкополосная линия, либо сохраняются на унаследованном от прошлого носителе хранения данных, затраты на передачу и хранение серьезно увеличиваются.[2] Recently, the demand for high-quality high-definition image/video, such as 4K, 8K, or even more ultra-high definition (UHD) images/video, has been growing in various fields of technology. As the resolution or quality of images/video becomes higher, a relatively larger amount of information or number of bits is transmitted than for traditional image/video data. Therefore, if image/video data is transmitted via a medium such as an existing wired/wireless broadband line, or stored in a legacy storage medium, transmission and storage costs are greatly increased.
[3] Кроме того, растет интерес и спрос в отношении контента виртуальной реальности (VR) и искусственной реальности (AR) и иммерсивного мультимедиа, к примеру, голограммы; а также растет широковещательная передача изображений/видео, демонстрирующих характеристики изображений/видео, отличающиеся от характеристик фактического изображения/видео, к примеру, игровых изображений/видео.[3] In addition, there is growing interest and demand for virtual reality (VR) and artificial reality (AR) content and immersive multimedia such as holograms; and the broadcasting of images/videos showing image/video characteristics different from those of the actual image/video, such as game images/videos, is also on the rise.
[4] Следовательно, требуется высокоэффективная технология сжатия изображений/видео для того, чтобы эффективно сжимать и передавать, сохранять или воспроизводить высококачественные изображения/видео высокого разрешения, демонстрирующие различные характеристики, как описано выше.[4] Therefore, a high-performance image/video compression technology is required in order to efficiently compress and transmit, store, or reproduce high-quality, high-resolution images/videos exhibiting various characteristics as described above.
Сущность изобретенияThe essence of the invention
[5] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для повышения эффективности кодирования изображений/видео.[5] According to an embodiment of the present document, a method and equipment for improving image/video coding efficiency is provided.
[6] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для преобразования блока, к которому матричное внутреннее прогнозирование (MIP) применяется при кодировании изображений.[6] According to an embodiment of the present document, a method and equipment is provided for transforming a block to which matrix intra prediction (MIP) is applied in image coding.
[7] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для передачи в служебных сигналах индекса преобразования для блока, к которому применяется MIP.[7] According to an embodiment of the present document, a method and equipment for signaling a transform index for a block to which MIP is applied is provided.
[8] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для передачи в служебных сигналах индекса преобразования для блока, к которому не применяется MIP.[8] According to an embodiment of the present document, a method and equipment for signaling a transform index for a block to which no MIP is applied is provided.
[9] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для логического вывода индекса преобразования для блока, к которому применяется MIP.[9] According to an embodiment of the present document, a method and equipment for inferring a transform index for a block to which MIP is applied is provided.
[10] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для преобразования в двоичную форму или кодирования индекса преобразования для блока, к которому применяется MIP.[10] According to an embodiment of the present document, a method and equipment for binarization or conversion index encoding for a block to which MIP is applied is provided.
[11] Согласно варианту осуществления настоящего документа, предоставляется способ декодирования видео/изображений, осуществляемый посредством оборудования декодирования.[11] According to an embodiment of the present document, a video/image decoding method by means of decoding equipment is provided.
[12] Согласно варианту осуществления настоящего документа, предоставляется оборудование декодирования для выполнения декодирования видео/изображений.[12] According to an embodiment of the present document, decoding equipment for performing video/image decoding is provided.
[13] Согласно варианту осуществления настоящего документа, предоставляется способ кодирования видео/изображений, осуществляемый посредством оборудования кодирования.[13] According to an embodiment of the present document, a video/image encoding method is provided by encoding equipment.
[14] Согласно варианту осуществления настоящего документа, предоставляется оборудование кодирования для выполнения кодирования видео/изображений.[14] According to an embodiment of the present document, encoding equipment for performing video/image encoding is provided.
[15] Согласно варианту осуществления настоящего документа, предоставляется компьютерно-читаемый цифровой носитель хранения данных, сохраняющий кодированную информацию видео/изображений, сформированную согласно способу кодирования видео/изображений, раскрытому по меньшей мере в одном из вариантов осуществления этого документа.[15] According to an embodiment of the present document, a computer-readable digital storage medium is provided that stores encoded video/image information generated according to the video/image coding method disclosed in at least one embodiment of this document.
[16] Согласно варианту осуществления настоящего документа, предоставляется компьютерно-читаемый цифровой носитель хранения данных, сохраняющий кодированную информацию или кодированную информацию видео/изображений, инструктирующую оборудованию декодирования осуществлять способ декодирования видео/изображений, раскрытый по меньшей мере в одном из вариантов осуществления этого документа.[16] According to an embodiment of the present document, a computer-readable digital storage medium is provided that stores encoded information or encoded video/image information instructing decoding equipment to perform the video/image decoding method disclosed in at least one embodiment of this document.
[17] Согласно настоящему документу, общая эффективность сжатия изображений/видео может повышаться.[17] According to the present document, the overall efficiency of image/video compression can be improved.
[18] Согласно настоящему документу, индекс преобразования для блока, к которому применяется матричное внутреннее прогнозирование (MIP), может эффективно передаваться в служебных сигналах.[18] According to the present document, a transform index for a block to which matrix intra prediction (MIP) is applied can be effectively signaled.
[19] Согласно настоящему документу, индекс преобразования для блока, к которому применяется MIP, может эффективно кодироваться.[19] According to the present document, a transform index for a block to which MIP is applied can be encoded efficiently.
[20] Согласно настоящему документу, индекс преобразования для блока, к которому применяется MIP, может логически выводиться без отдельной передачи в служебных сигналах индекса преобразования.[20] According to the present document, a transform index for a block to which MIP is applied can be inferred without separate signaling of the transform index.
[21] Согласно настоящему документу, в случае если применяются MIP и низкочастотное неразделимое преобразование (LFNST), помехи между ними могут минимизироваться, оптимальная эффективность кодирования может поддерживаться, и сложность может уменьшаться.[21] According to the present document, if MIP and a low frequency inseparable transform (LFNST) are applied, interference between them can be minimized, optimal coding efficiency can be maintained, and complexity can be reduced.
[22] Преимущества, которые могут получаться через подробный пример настоящего документа, не ограничены преимуществами, перечисленными выше. Например, могут быть предусмотрены различные технические эффекты, которые могут пониматься или логически выводиться специалистами в данной области техники из настоящего документа. Соответственно, подробные преимущества настоящего документа не ограничены преимуществами, явно указанными в настоящем документе, и могут включать в себя различные преимущества, которые могут пониматься или логически выводиться из технических признаков настоящего документа.[22] The benefits that can be obtained through the detailed example of this document are not limited to the benefits listed above. For example, various technical effects may be envisaged, which may be understood or inferred by those skilled in the art from this document. Accordingly, the detailed benefits of this document are not limited to those expressly stated herein and may include various benefits that may be understood or inferred from the technical features of this document.
Краткое описание чертежейBrief description of the drawings
[23] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящий документ.[23] FIG. 1 schematically illustrates an example of a video/image coding system to which this document is applicable.
[24] Фиг. 2 является схемой, схематично поясняющей конфигурацию оборудования кодирования видео/изображений, к которому является применимым настоящий документ.[24] FIG. 2 is a diagram schematically explaining the configuration of video/image coding equipment to which this document is applicable.
[25] Фиг. 3 является схемой, схематично поясняющей конфигурацию оборудования декодирования видео/изображений, к которому является применимым настоящий документ.[25] FIG. 3 is a diagram schematically explaining the configuration of video/image decoding equipment to which this document is applicable.
[26] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего документа.[26] FIG. 4 schematically illustrates a multiple conversion technology according to an embodiment of the present document.
[27] Фиг. 5 примерно иллюстрирует внутренние направленные режимы в 65 направлениях прогнозирования.[27] FIG. 5 roughly illustrates the intra-directional modes in 65 prediction directions.
[28] Фиг. 6 и 7 являются схемами, поясняющими RST согласно варианту осуществления настоящего документа.[28] FIG. 6 and 7 are diagrams explaining RST according to an embodiment of the present document.
[29] Фиг. 8 примерно иллюстрирует контекстно-адаптивное двоичное арифметическое кодирование (CABAC) для кодирования синтаксических элементов.[29] FIG. 8 exemplifies context-adaptive binary arithmetic coding (CABAC) for encoding syntax elements.
[30] Фиг. 9 является схемой, поясняющей MIP для блока 8×8.[30] FIG. 9 is a diagram explaining the MIP for an 8x8 block.
[31] Фиг. 10 является блок-схемой последовательности операций, поясняющей способ, к которому применяются MIP и LFNST.[31] FIG. 10 is a flowchart explaining the method to which MIP and LFNST are applied.
[32] Фиг. 11 и 12 схематично иллюстрируют способ кодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.[32] FIG. 11 and 12 schematically illustrate a video/image coding method and an example of related components according to the embodiment(s) of the present document.
[33] Фиг. 13 и 14 схематично иллюстрируют способ декодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.[33] FIG. 13 and 14 schematically illustrate a video/image decoding method and an example of related components according to the embodiment(s) of the present document.
[34] Фиг. 15 иллюстрирует пример системы потоковой передачи контента, к которой являются применимыми варианты осуществления, раскрытые в настоящем документе.[34] FIG. 15 illustrates an example of a content streaming system to which the embodiments disclosed herein are applicable.
Подробное описание вариантов осуществленияDetailed description of embodiments
[35] Настоящее раскрытие может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и иллюстрируются на чертежах. Тем не менее, эти варианты осуществления не предназначены для ограничения раскрытия. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать раскрытие. Выражение единственного числа включает в себя выражение множественного числа, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.[35] The present disclosure may be modified in various forms, and specific embodiments thereof are described and illustrated in the drawings. However, these embodiments are not intended to limit the disclosure. The terms used in the description below are used to simply describe specific embodiments, but are not intended to limit the disclosure. The singular expression includes the plural expression, as long as they are clearly interpreted differently. Terms such as "include" 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 as such should be understood , which does not exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, elements, components, or combinations of the above.
[36] Помимо этого, каждая конфигурация чертежей, описанных в этом документе, является независимой иллюстрацией для пояснения функций в качестве признаков, которые отличаются друг от друга, и не означает то, что каждая конфигурация реализуется посредством взаимно различных аппаратных средств или различного программного обеспечения. Например, две или более конфигураций могут комбинироваться, чтобы формировать одну конфигурацию, и одна конфигурация также может разделяться на несколько конфигураций. Без отступления от сущности этого документа, варианты осуществления, в которых конфигурации комбинируются и/или разделяются, включаются в объем формулы изобретения.[36] In addition, each configuration of the drawings described in this document is an independent illustration for explaining functions as features that differ from each other, and does not mean that each configuration is implemented by mutually different hardware or different software. For example, two or more patterns may be combined to form one pattern, and one pattern may also be split into multiple patterns. Without departing from the spirit of this document, embodiments in which configurations are combined and/or separated are included within the scope of the claims.
[37] В дальнейшем в этом документе подробно описываются примеры настоящего варианта осуществления со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов опускаются.[37] Hereinafter, examples of the present embodiment are described in detail with reference to the accompanying drawings. In addition, like reference numerals are used to refer to like elements throughout the drawings, and like descriptions of like elements are omitted.
[38] Этот документ относится к кодированию видео/изображений. Например, способы/варианты осуществления, раскрытые в этом документе, могут относиться к стандарту универсального кодирования видео (VVC) (ITU-T (Rec. (H.266), к стандарту кодирования видео/изображений следующего поколения после VVC либо к другим связанным с кодированием видео стандартам (например, к стандарту высокоэффективного кодирования видео (HEVC) (ITU-T (Rec. (H.265), к стандарту фундаментального кодирования видео (EVC), к AVS2-стандарту и т.п.).[38] This document relates to video/image coding. For example, the methods/embodiments disclosed in this document may relate to the Universal Video Coding (VVC) (ITU-T (Rec. (H.266)) standard, the next generation video/picture coding standard after VVC, or other related video coding standards (eg, High Efficiency Video Coding (HEVC) standard (ITU-T (Rec. (H.265), Fundamental Video Coding (EVC) standard, AVS2 standard, etc.).
[39] Этот документ предлагает различные варианты осуществления кодирования видео/изображений, и вышеуказанные варианты осуществления также могут выполняться в комбинации между собой, если не указано иное.[39] This document proposes various video/image coding embodiments, and the above embodiments may also be performed in combination with each other unless otherwise noted.
[40] В этом документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретном временном кинокадре, и срез/плитка означает единицу, составляющую часть кадра с точки зрения кодирования. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток.[40] In this document, video can mean a sequence of images over time. A frame generally means a unit representing one picture in a particular temporal movie frame, and a slice/tile means a unit constituting a part of a frame from an encoding point of view. 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.
[41] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.[41] 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.
[42] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.[42] The unit may represent a basic image processing unit. The unit may include at least one of a particular area of the frame and information associated with the area. One unit may include one luminance block and two chrominance blocks (eg, Cb, Cr). The unit can be used interchangeably with terms such as block or zone in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows. Alternatively, the sample may mean a pixel value in the spatial domain, and when such a pixel value is converted to the frequency domain, it can mean a transform factor in the frequency domain.
[43] В этом документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере одно из A, B и/или C".[43] 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".
[44] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".[44] Additionally, in the document, the term "or" should be interpreted as indicating "and/or". For example, the expression "A or B" may contain 1) only A, 2) only B, and/or 3) both A and B. In other words, the term "or" in this document is to be interpreted as indicating "in addition or alternatively" .
[45] В настоящем описании изобретения, "по меньшей мере одно из A и B" может означать "только A", "только B" или "как A, так и B". Кроме того, в настоящем описании изобретения, выражение "по меньшей мере одно из A или B" или "по меньшей мере одно из A и/или B" может интерпретироваться идентично "по меньшей мере одно из A и B".[45] In the present description of the invention, "at least one of A and B" can mean "only A", "only B", or "both A and B". In addition, in the present description of the invention, the expression "at least one of A or B" or "at least one of A and/or B" can be interpreted identically to "at least one of A and B".
[46] Дополнительно, в настоящем описании изобретения, "по меньшей мере одно из A, B и C" может означать "только A", "только B", "только C" либо "любая комбинация A, B и C". Кроме того, "по меньшей мере одно из A, B или C" или "по меньшей мере одно из A, B и/или C" может означать "по меньшей мере одно из A, B и C".[46] Additionally, in the present description of the invention, "at least one of A, B and C" can mean "only A", "only B", "only C", 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".
[47] Дополнительно, круглые скобки, используемые в настоящем описании изобретения, могут означать "например". В частности, в случае если "прогнозирование (внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Другими словами, термин "прогнозирование" в настоящем описании изобретения не ограничен "внутренним прогнозированием", и может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Дополнительно, даже в случае, если "прогнозирование (т.е. внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".[47] Additionally, the parentheses used in the present description of the invention may mean "for example". In particular, in the case where "prediction (internal prediction)" is expressed, it may be indicated that "internal prediction" is proposed as an example of "prediction". In other words, the term "prediction" in the present description of the invention is not limited to "intra prediction", and it may be indicated that "intra prediction" is offered as an example of "prediction". Additionally, even if "prediction (ie, intra prediction)" is expressed, it may be indicated that "intra prediction" is offered as an example of "prediction".
[48] В настоящем описании изобретения, технические признаки, отдельно поясненные на одном чертеже, могут реализовываться отдельно либо могут реализовываться одновременно.[48] In the present description of the invention, the technical features, separately explained in one drawing, may be implemented separately or may be implemented simultaneously.
[49] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой может применяться раскрытие настоящего документа.[49] FIG. 1 illustrates an example of a video/image coding system to which the disclosure of this document may apply.
[50] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя исходное устройство и приемное устройство. Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.[50] Referring to FIG. 1, a video/image coding system may include a source device and a destination device. The source device may transmit the encoded information or video/image data to the receiving device via a digital storage medium or a network in the form of a file or streaming.
[51] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[51] The source device may include a video source, encoding equipment, and a transmitter. The receiver may include a receiver, decoding hardware, and a renderer. The encoding equipment may be referred to as "video/image coding equipment", and the decoding equipment may be referred to as "video/image decoding equipment". The transmitter may be included in the encoding equipment. The receiver may be included in decoding equipment. The renderer may include a display, and the display may be configured as a separate device or an external component.
[52] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[52] 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, computers, tablet computers, and smartphones, and may (electronically) generate video/images. For example, the virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process may be replaced by a linked data generation process.
[53] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.[53] The encoding equipment may encode the input video/image. The encoding equipment may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. Encoded data (encoded video/image information) may be output in the form of a bitstream.
[54] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.[54] The transmitter may transmit information or coded image/image 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 bitstream to the decoding equipment.
[55] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.[55] The decoding equipment can decode the video/image by performing a sequence of procedures such as dequantization, inverse transform, and prediction corresponding to the operation of the encoding equipment.
[56] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[56] The rendering module may prepare a decoded video/image by rendering. The rendered video/image can be displayed through the display.
[57] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться раскрытие настоящего документа. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.[57] FIG. 2 is a diagram principally illustrating the configuration of video/image coding equipment to which the disclosure of this document may apply. Hereinafter in this document, what is referred to as "video encoding equipment" may include image encoding equipment.
[58] Ссылаясь на фиг. 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 в качестве внутреннего/внешнего компонента.[58] Referring to FIG. 2, the
[59] Модуль 210 сегментации изображений может разбивать входное изображение (или кадр, кинокадр), вводимое в оборудование 200 кодирования, на одну или более единиц обработки. В качестве примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно разбиваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева. В этом случае, например, сначала применяется структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или структура в виде троичного дерева. Альтернативно, также сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию может выполняться на основе конечной единицы кодирования, которая более не разбивается. В этом случае, на основе эффективности кодирования согласно характеристикам изображений и т.п., максимальная единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования, или при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такую процедуру, как прогнозирование, преобразование и восстановление, которая описывается ниже. В качестве другого примера, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, каждая из единицы прогнозирования и единицы преобразования может разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для логического вывода коэффициента преобразования и/или единицу для логического вывода остаточного сигнала из коэффициента преобразования.[59] The
[60] Единица может взаимозаменяемо использоваться с таким термином, как блок или зона, в некоторых случаях. Обычно, блок MxN может представлять выборки, состоящие из M столбцов и N строк или группы коэффициентов преобразования. Выборка, в общем, может представлять пиксел или значение пиксела и также может представлять только пиксел/пиксельное значение компонента сигнала яркости, а также представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу, конфигурирующему один кадр (или изображение).[60] A unit can be used interchangeably with a term such as block or zone in some cases. Typically, an MxN block may represent samples consisting of M columns and N rows, or a group of transform coefficients. A sample can generally represent a pixel or a pixel value, and can also represent only a pixel/pixel value of the luminance signal component, as well as represent only a pixel/pixel value of the chrominance signal component. Sample can be used as a term corresponding to a pixel or pel configuring one frame (or image).
[61] Вычитатель 231 может формировать остаточный сигнал (остаточный блок, остаточные выборки или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированный блок, прогнозные выборки или массив прогнозных выборок), вывод из модуля 220 прогнозирования из сигнала входного изображения (исходный блок, исходные выборки или массив исходных выборок) и сформированный остаточный сигнал передается в преобразователь 232. Модуль 220 прогнозирования может выполнять прогнозирование для целевого блока обработки (далее называемого "текущим блоком") и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль 220 прогнозирования может определять то, применяется либо нет внутреннее прогнозирование или взаимное прогнозирование, для текущего блока или в единицах CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различные виды информации, связанной с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.[61] The
[62] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок со ссылкой на выборки в пределах текущего кадра. Выборки, на которые ссылаются, могут быть расположены как граничащие с текущим блоком либо также могут быть расположены на большом расстоянии от текущего блока согласно режиму прогнозирования. Режимы прогнозирования при внутреннем прогнозировании могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим или планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно точной степени направления прогнозирования. Тем не менее, это является иллюстративным, и режимы направленного прогнозирования, которые больше или меньше вышеуказанного числа, могут использоваться согласно настройке. Модуль 222 внутреннего прогнозирования также может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[62] Intra prediction module 222 may predict the current block with reference to samples within the current frame. The referenced samples may be located as adjacent to the current block, or may also be located at a large distance from the current block according to the prediction mode. Prediction modes in intra prediction may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode or a planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the fine prediction direction degree. However, this is illustrative, and directional prediction modes that are greater than or less than the above number may be used according to the setting. The intra prediction unit 222 may also determine the prediction mode applied to the current block by using the prediction mode applied to the adjacent block.
[63] Модуль 221 взаимного прогнозирования может логически выводить прогнозированный блок текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы снижать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может упоминаться под таким названием, как "совместно размещенный опорный блок", "совместно размещенная CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, также может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и, например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. Режим прогнозирования векторов движения (MVP) может указывать вектор движения текущего блока посредством использования вектора движения соседнего блока в качестве предиктора вектора движения и передачи в служебных сигналах разности векторов движения.[63] The inter-prediction unit 221 may infer a predicted block of 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 in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the adjacent block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction direction information (L0 prediction, L1 prediction, bi-prediction, and the like). 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 also be referred to as a "collocated frame ( colpic)". For example, the inter prediction unit 221 may configure a motion information candidate list 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, and, for example, in the case of the skip mode and the join mode, the inter prediction unit 221 may use the neighboring block motion information as the current block motion information. In the case of the skip mode, the residual signal may not be transmitted, in contrast to the combine mode. The motion vector prediction (MVP) mode may indicate the motion vector of the current block by using the motion vector of an adjacent block as a motion vector predictor and signaling the motion vector difference.
[64] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования блока. Внутриблочное копирование может использоваться для кодирования изображений контента/движущихся изображений игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но оно может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем документе.[64] The
[65] Прогнозный сигнал, сформированный через модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[65] The predictive signal generated via 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.
[66] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений вместе с или отдельно из квантованных коэффициентов преобразования (например, значения синтаксических элементов и т.п.). Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем документе, передаваемые в служебных сигналах/передаваемые информация и/или синтаксические элементы, которые описываются ниже, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться через сеть или может сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не проиллюстрирован), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не проиллюстрирован), сохраняющий сигнал, могут быть сконфигурированы в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.[66] The
[67] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 220 прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленные выборки или массив восстановленных выборок). Если отсутствует остаток для целевого блока для обработки, к примеру, в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока для обработки в текущем кадре и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[67] The quantized transform coefficients output from
[68] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в ходе процесса кодирования и/или восстановления кадров.[68] Meanwhile, luminance chrominance scaling (LMCS) transform may be applied during the encoding and/or frame reconstruction process.
[69] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение (SAO), адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различные виды информации, связанной с фильтрацией, и передавать сформированную информацию в энтропийный кодер 290, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 290 и выводиться в форме потока битов.[69] The
[70] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием декодирования может исключаться, и эффективность кодирования может повышаться.[70] The modified reconstructed frame transmitted to the
[71] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.[71] The DPB of the
[72] Фиг. 3 является схемой для схематичного пояснения конфигурации оборудования декодирования видео/изображений, к которому может применяться раскрытие настоящего документа.[72] FIG. 3 is a diagram for schematically explaining the configuration of video/image decoding equipment to which the disclosure of the present document may apply.
[73] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя и конфигурироваться с помощью энтропийного декодера 310, остаточного процессора 320, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.[73] Referring to FIG. 3, the
[74] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображений обрабатывается в оборудовании кодирования, проиллюстрированном на фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с разбиением на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой для оборудования кодирования. Следовательно, единица обработки для декодирования, например, может представлять собой единицу кодирования, и единица кодирования может разбиваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Помимо этого, восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.[74] When a bitstream including video/image information is input, the
[75] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в этом документе, могут декодироваться, может декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель посредством использования информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль 330 прогнозирования, и информация относительно остатка, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 321. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не проиллюстрирован) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, или приемник может представлять собой составляющий элемент энтропийного декодера 310. Между тем, оборудование декодирования согласно настоящему документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя по меньшей мере одно из деквантователя 321, обратного преобразователя 322, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360.[75] The
[76] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, с тем чтобы выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в двумерной блочной форме. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого посредством оборудования кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[76] The
[77] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[77] The
[78] Модуль 330 прогнозирования может выполнять прогнозирование текущего блока и формировать прогнозированный блок, включающий в себя прогнозные выборки текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование, или применяется взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и определять конкретный режим внутреннего/взаимного прогнозирования.[78]
[79] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования блока. Внутриблочное копирование может использоваться для кодирования изображений контента/движущихся изображений игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но оно может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем документе.[79] The prediction module may generate a prediction signal based on various prediction methods described below. For example, the prediction unit may not only apply intra prediction or inter prediction to predict one block, but 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 a block. Intra-block copying can be used for encoding content images/moving images of a game and the like, such as screen content coding (SCC). The IBC essentially performs prediction in the current frame, but it can be performed similar to inter-prediction in which the reference block is retrieved in the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described herein.
[80] Модуль 332 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением относительно текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 332 внутреннего прогнозирования может определять режим прогнозирования, который должен применяться к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[80]
[81] Модуль 331 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию относительно направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 331 взаимного прогнозирования может конструировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[81] The
[82] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком или массивом прогнозированных выборок), выводимым из модуля 330 прогнозирования. Если отсутствует остаток для целевого блока обработки, к примеру, в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.[82] The
[83] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и, как описано ниже, также может выводиться посредством фильтрации либо также может использоваться для взаимного прогнозирования следующего кадра.[83] The
[84] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) также может применяться в процессе декодирования кадров.[84] Meanwhile, luma signal scaling (LMCS) transformation can also be applied in the frame decoding process.
[85] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[85] The
[86] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 331 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 331 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 332 внутреннего прогнозирования.[86] The (modified) reconstructed frame stored in the DPB of the
[87] В настоящем описании изобретения, варианты осуществления, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 оборудования 300 декодирования, также могут применяться идентичным способом или соответственно модулю 220 прогнозирования, деквантователю 234, обратному преобразователю 235 и фильтру 260 оборудования 200 кодирования.[87] In the present specification, the embodiments described in
[88] Между тем, как описано выше, при выполнении кодирования видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, в качестве блока, который должен кодироваться (т.е. целевого блока кодирования). Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается идентично в оборудовании кодирования и оборудовании декодирования, и оборудование кодирования может передавать в служебных сигналах информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не значение исходной выборки исходного блока, в оборудование декодирования, за счет этого повышая эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, суммировать остаточный блок и прогнозированный блок, чтобы формировать восстановленные блоки, включающие в себя восстановленные выборки, и формировать восстановленный кадр, включающий в себя восстановленные блоки.[88] Meanwhile, as described above, when video encoding is performed, prediction is performed in order to improve the compression efficiency. Through this, a predicted block including prediction samples for the current block can be generated as a block to be encoded (ie, an encoding target block). Here, the prediction block includes prediction samples in the spatial domain (or pixel domain). The prediction block is extracted identically in the encoding equipment and the decoding equipment, and the encoding equipment can signal information (residual information) about the residual between the original block and the predicted block, rather than the original sample value of the original block, to the decoding equipment, thereby improving efficiency. image encoding. The decoding equipment may extract a residual block including residual samples based on the residual information, sum the residual block and the predicted block to generate reconstructed blocks including the reconstructed samples, and generate a reconstructed frame including the reconstructed blocks.
[89] Остаточная информация может формироваться через процедуру преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, выполнять процедуру преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, выполнять процедуру квантования для коэффициентов преобразования, чтобы извлекать квантованные коэффициенты преобразования и связанную с сигналами остаточную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений квантованных коэффициентов преобразования, информацию местоположения, технологию преобразования, ядро преобразования, параметр квантования и т.п. Оборудование декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленный кадр на основе прогнозированного блока и остаточного блока. Кроме того, для ссылки для взаимного прогнозирования изображения позднее, оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе.[89] The residual information may be generated through a transformation and quantization procedure. For example, the encoding equipment may extract the residual block between the original block and the predicted block, perform a transform procedure on the residual samples (array of residual samples) included in the residual block to extract transform coefficients, perform a quantization procedure on the transform coefficients to extract the quantized transform coefficients, and signal-related residual information to the decoding equipment (via the bitstream). Here, the residual information may include quantized transform coefficient value information, location information, transform technology, transform kernel, quantization parameter, and the like. The decoding equipment may perform a dequantization/inverse transform procedure based on the residual information and extract residual samples (or residual blocks). The decoding equipment may generate a reconstructed frame based on the predicted block and the residual block. In addition, for reference for inter-picture prediction later, the encoding equipment may also dequantize/inversely transform the quantized transform coefficients to extract a residual block and generate a reconstructed frame based on it.
[90] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно настоящему документу.[90] FIG. 4 schematically illustrates the multiple transform technology of the present document.
[91] Ссылаясь на фиг. 4, преобразователь может соответствовать преобразователю в оборудовании кодирования по фиг. 2, как описано выше, и обратный преобразователь может соответствовать обратному преобразователю в оборудовании кодирования по фиг. 2 или обратному преобразователю в оборудовании декодирования по фиг. 3, как описано выше.[91] Referring to FIG. 4, the converter may correspond to the converter in the encoding equipment of FIG. 2 as described above, and the inverse converter may correspond to the inverse converter in the encoding equipment of FIG. 2 or the inverse converter in the decoding equipment of FIG. 3 as described above.
[92] Преобразователь может извлекать коэффициенты (первичного) преобразования посредством выполнения первичного преобразования на основе остаточной выборки (массива остаточных выборок) в остаточном блоке (S410). Такое первичное преобразование может называться "базовым преобразованием". Здесь, первичное преобразование может быть основано на множественном выборе преобразования (MTS), и в случае, если множественное преобразование применяется в качестве первичного преобразования, оно может называться "множественным базовым преобразованием".[92] The converter can extract (primary) transform coefficients by performing primary transform based on the residual sample (residual sample array) in the residual block (S410). Such a primary transformation may be referred to as a "basic transformation". Here, the primary transform may be based on multiple transform selection (MTS), and in case the multiple transform is applied as the primary transform, it may be referred to as "multiple basic transform".
[93] Например, множественное базовое преобразование может представлять способ преобразования посредством дополнительного использования дискретного косинусного преобразования (DCT) тип 2 (DCT-II), дискретного синусного преобразования (DST) тип 7 (DST-VII), DCT-типа 8 (DCT-VIII) и/или DST-типа 1 (DST-I). Таким образом, множественное базовое преобразование может представлять способ преобразования для преобразования остаточного сигнала (или остаточного блока) пространственной области в коэффициенты преобразования (или коэффициенты первичного преобразования) частотной области на основе множества ядер преобразования, выбранных из DCT-типа 2, DST-типа 7, DCT-типа 8 и DST-типа 1. Здесь, коэффициенты первичного преобразования могут называться "временными коэффициентами преобразования на стороне преобразователя".[93] For example, the multiple base transform may represent a transform method by further using discrete cosine transform (DCT) type 2 (DCT-II), discrete sine transform (DST) type 7 (DST-VII), DCT type 8 (DCT- VIII) and/or DST-type 1 (DST-I). Thus, the multiple base transform may represent a transform method for converting a spatial domain residual signal (or residual block) into frequency domain transform coefficients (or primary transform coefficients) based on a plurality of transform kernels selected from
[94] Другими словами, в случае если существующий способ преобразования применяется, преобразование пространственной области для остаточного сигнала (или остаточного блока) в частотную область может применяться на основе DCT-типа 2, и коэффициенты преобразования могут формироваться. Тем не менее, в отличие от этого, в случае если множественное базовое преобразование применяется, преобразование пространственной области для остаточного сигнала (или остаточного блока) в частотную область может применяться на основе DCT-типа 2, DST-типа 7, DCT-типа 8 и/или DST-типа 1, и коэффициенты преобразования (или коэффициенты первичного преобразования) могут формироваться. Здесь, DCT-тип 2, DST-тип 7, DCT-тип 8 и DST-тип 1 могут называться "типом преобразования", "ядром преобразования" или "базой преобразования". Типы DCT/DST-преобразования могут задаваться на основе базисных функций.[94] In other words, in case the existing transform method is applied, the spatial domain transform for the residual signal (or residual block) into the frequency domain can be applied based on
[95] В случае, если множественное базовое преобразование выполняется, ядро вертикального преобразования и/или ядро горизонтального преобразования для целевого блока могут выбираться из числа ядер преобразования, вертикальное преобразование для целевого блока может выполняться на основе ядра вертикального преобразования, и горизонтальное преобразование для целевого блока может выполняться на основе ядра горизонтального преобразования. Здесь, горизонтальное преобразование может представлять преобразование для горизонтальных компонентов целевого блока, и вертикальное преобразование может представлять преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может адаптивно определяться на основе режима прогнозирования и/или индекса преобразования целевого блока (CU или субблока), включающего в себя остаточный блок.[95] In case multiple base transform is performed, the vertical transform kernel and/or 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 can be executed on the basis of the horizontal transformation kernel. 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.
[96] Дополнительно, например, в случае выполнения первичного преобразования посредством применения MTS, конкретные базисные функции могут быть сконфигурированы как указанные значения, и в случае вертикального преобразования или горизонтального преобразования, взаимосвязь преобразования для ядра преобразования может быть сконфигурирована посредством комбинирования того, какие базисные функции применяются. Например, в случае если ядро преобразования горизонтального направления представляется посредством trTypeHor, и ядро преобразования вертикального направления представляется посредством trTypeVer, trTypeHor или trTypeVer, имеющее значение 0, может быть сконфигурировано как DCT2, и trTypeHor или trTypeVer, имеющее значение 1, может быть сконфигурировано как DCT7; trTypeHor или trTypeVer, имеющее значение 2, может быть сконфигурировано как DCT8.[96] Further, for example, in the case of performing primary transformation by applying the MTS, specific basis functions can be configured as the specified values, and in the case of vertical transformation or horizontal transformation, the transformation relationship for the transformation kernel can be configured by combining which basis functions apply. For example, in the case where the horizontal direction transformation kernel is represented by trTypeHor and the vertical direction transformation kernel is represented by trTypeVer, trTypeHor or trTypeVer having a value of 0 can be configured as DCT2, and trTypeHor or trTypeVer having a value of 1 can be configured as DCT7 ; trTypeHor or trTypeVer having a value of 2 may be configured as DCT8.
[97] Дополнительно, например, чтобы указывать любой из нескольких наборов ядер преобразования, MTS-индекс может кодироваться, и информация MTS-индекса может передаваться в служебных сигналах в оборудование декодирования. Здесь, MTS-индекс может представляться как синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx. Например, если 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. Например, набор ядер преобразования согласно MTS-индексу может представляться так, как указано в следующей таблице.[97] Additionally, for example, to indicate any of several sets of transform kernels, the MTS index may be encoded, and the MTS index information may be signaled to the decoding equipment. Here, the MTS index may be represented as a tu_mts_idx syntax element or an mts_idx syntax element. For example, if the MTS index is 0, it may represent that the trTypeHor and trTypeVer values are 0, and if the MTS index is 1, it may represent that the trTypeHor and trTypeVer values are 1. If the MTS index is 2, it may represent that the trTypeHor value is 2 and the trTypeVer value is 1, and if the MTS index is 3, it may represent that the trTypeHor value is 1 and the trTypeVer value is 2. If the MTS index is 4, it may represent that the values of trTypeHor and trTypeVer are 2. For example, the set of transformation kernels according to the MTS index may be represented as indicated in the following table.
[98] Табл. 1[98] Tab. 1
[99] Преобразователь может извлекать модифицированные коэффициенты (вторичного) преобразования посредством выполнения вторичного преобразования на основе коэффициентов (первичного) преобразования (S420). Первичное преобразование может представлять собой преобразование пространственной области в частотную область, и вторичное преобразование может представлять преобразование в более сжимающее выражение посредством использования корреляции, существующей между коэффициентами (первичного) преобразования.[99] The converter can extract modified (secondary) transform coefficients by performing secondary transform based on the (primary) transform coefficients (S420). The primary transform may be a spatial-to-frequency domain transform, and the secondary transform may be a transform to a more compressive expression by using the correlation existing between the (primary) transform coefficients.
[100] Например, вторичное преобразование может включать в себя неразделимое преобразование. В этом случае, вторичное преобразование может называться "неразделимым вторичным преобразованием (NSST)" или "зависимым от режима неразделимым вторичным преобразованием (MDNSST)". Неразделимое вторичное преобразование может представлять преобразование для формирования модифицированных коэффициентов преобразования (или коэффициентов вторичного преобразования) для остаточного сигнала посредством вторичного преобразования коэффициентов (первичного) преобразования, извлекаемых через первичное преобразование на основе матрицы неразделимого преобразования. Здесь, вертикальное преобразование и горизонтальное преобразование могут не применяться отдельно (или независимо) относительно коэффициентов (первичного) преобразования на основе матрицы неразделимого преобразования, но могут применяться одновременно.[100] For example, the secondary transform may include an inseparable transform. 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 second transform may represent a transform for generating modified transform coefficients (or secondary transform coefficients) for the residual signal by re-transforming the (primary) transform coefficients derived through the primary transform based on the non-separable transform matrix. Here, the vertical transformation and the horizontal transformation may not be applied separately (or independently) with respect to the (primary) transformation coefficients based on the non-separable transformation matrix, but may be applied simultaneously.
[101] Другими словами, неразделимое вторичное преобразование может представлять способ преобразования для перекомпоновки, например, двумерных сигналов (коэффициентов преобразования) в одномерный сигнал через конкретно определенное направление (например, направление сначала по строкам или направление сначала по столбцам), без разделения коэффициентов (первичного) преобразования на вертикальные компоненты и горизонтальные компоненты, и последующего формирования модифицированных коэффициентов преобразования (или коэффициентов вторичного преобразования) на основе матрицы неразделимого преобразования.[101] In other words, an inseparable secondary transform may be a transform method for recomposing, for example, two-dimensional signals (transform coefficients) into a one-dimensional signal through a specifically defined direction (for example, a row-first direction or a column-first direction), without separating the coefficients (primary ) transforming into vertical components and horizontal components, and then generating modified transform coefficients (or secondary transform coefficients) based on the inseparable transform matrix.
[102] Например, направление (или порядок) сначала по строкам может представлять компоновку блока MxN в линии в порядке "первая строка - N-ая строка", и направление (или порядок) сначала по столбцам может представлять компоновку блока MxN в линии в порядке "первый столбец - M-ый столбец". Здесь, M и N могут представлять ширину (W) и высоту (H) блока и могут быть положительными целыми числами.[102] For example, the direction (or order) row first may represent the layout of the MxN block in line in the order "first row - Nth row", and the direction (or order) column first may represent the layout of the MxN block in line in the order "first column - Mth column". Here, M and N may represent the width (W) and height (H) of the block, and may be positive integers.
[103] Например, неразделимое вторичное преобразование может применяться к левой верхней области блока, состоящего из коэффициентов (первичного) преобразования (далее блока коэффициентов преобразования). Например, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 8, неразделимое вторичное преобразование 8×8 может применяться к левой верхней зоне 8×8 блока коэффициентов преобразования. Дополнительно, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 4 и меньше 8, неразделимое вторичное преобразование 4×4 может применяться к левой верхней зоне min(8, W) x min(8, H) блока коэффициентов преобразования. Тем не менее, варианты осуществления не ограничены этим, и, например, даже если такое условие, что ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 4, удовлетворяется, неразделимое вторичное преобразование 4×4 может применяться к левой верхней зоне min(8, W) x min(8, H) блока коэффициентов преобразования.[103] For example, an inseparable secondary transform may be applied to the top left region of a block consisting of (primary) transform coefficients (hereinafter, the 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 inseparable secondary transform may be applied to the upper 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 less than 8, a 4x4 inseparable secondary transform may be applied to the upper left zone min(8, W) x min(8, H) of the coefficient block transformations. However, the embodiments are not limited to this, and for example, even if such a condition that the width (W) and height (H) of the transform coefficient block is equal to or greater than 4 is satisfied, a 4×4 inseparable secondary transform can be applied to the left upper zone min(8, W) x min(8, H) of the transform coefficient block.
[104] В частности, например, в случае, когда входной блок 4×4 используется, неразделимое вторичное преобразование может выполняться следующим образом.[104] Specifically, for example, in the case where a 4×4 input block is used, the non-separable secondary transform may be performed as follows.
[105] Входной блок X 4×4 может представляться следующим образом.[105] Input block X 4×4 can be represented as follows.
[106] уравнение 1[106] Equation 1
[107] Например, векторная форма X может представляться следующим образом.[107] For example, a vector shape X can be represented as follows.
[108] уравнение 2[108]
[109] Ссылаясь на уравнение 2, может представлять вектор X, и двумерный блок X в уравнении 1 может перекомпоновываться и представляться в качестве одномерного вектора в соответствии с порядком сначала по строкам.[109] Referring to
[110] В этом случае, вторичное неразделимое преобразование может вычисляться следующим образом.[110] In this case, the secondary inseparable transformation can be calculated as follows.
[111] уравнение 3[111]
[112] Здесь, может представлять вектор коэффициентов преобразования, и T может представлять матрицу (неразделимого) преобразования 16×16.[112] Here, may represent a vector of transform coefficients, and T may represent a 16×16 (inseparable) transform matrix.
[113] На основе уравнения 3, , имеющий размер 16×1, может извлекаться, и может реорганизовываться в качестве блока 4×4 через порядок сканирования (горизонтальный, вертикальный или диагональный). Тем не менее, вышеописанное вычисление является примерным, и чтобы уменьшать вычислительную сложность неразделимого вторичного преобразования, гиперкубическое преобразование Гивенса (HyGT) и т.п. может использоваться для того, чтобы вычислять неразделимое вторичное преобразование.[113] Based on
[114] Между тем, при неразделимом вторичном преобразовании, ядро преобразования (либо база преобразования или тип преобразования) может выбираться зависимым от режима способом. Здесь, режим может включать в себя режим внутреннего прогнозирования и/или режим взаимного прогнозирования.[114] Meanwhile, in an inseparable secondary transform, a transform kernel (either a transform base or a transform type) may be selected in a mode-dependent manner. Here, the mode may include an intra prediction mode and/or an inter prediction mode.
[115] Например, как описано выше, NSST может выполняться на основе преобразования 8×8 или преобразования 4×4, определенного на основе ширины (W) и высоты (H) блока коэффициентов преобразования. Например, если W и H равны или больше 8, преобразование 8×8 может представлять преобразование, которое может применяться к зоне 8×8, включенной в соответствующий блок коэффициентов преобразования, и зона 8×8 может представлять собой левую верхнюю зону 8×8 в соответствующем блоке коэффициентов преобразования. Дополнительно, аналогично, если W и H равны или больше 4, преобразование 4×4 может представлять преобразование, которое может применяться к зоне 4×4, включенной в соответствующий блок коэффициентов преобразования, и зона 4×4 может представлять собой левую верхнюю зону 4×4 в соответствующем блоке коэффициентов преобразования. Например, матрица ядра преобразования 8×8 может представлять собой матрицу 64×64/16×64, и матрица ядра преобразования 4×4 может представлять собой матрицу 16×16/8×16.[115] For example, as described above, the NSST may be performed based on an 8×8 transform or a 4×4 transform determined based on the width (W) and height (H) of the transform coefficient block. For example, if W and H are equal to or greater than 8, an 8×8 transform may represent a transform that can be applied to an 8×8 zone included in the corresponding transform coefficient block, and an 8×8 zone may represent an 8×8 upper left zone in corresponding block of transformation coefficients. Further, similarly, if W and H are equal to or greater than 4, the 4×4 transform may represent a transform that can be applied to the 4×4 zone included in the corresponding transform coefficient block, and the 4×4 zone may represent the left upper 4× zone. 4 in the corresponding transform coefficient block. For example, an 8x8 transform kernel matrix may be a 64x64/16x64 matrix, and a 4x4 transform kernel matrix may be a 16x16/8x16 matrix.
[116] В этом случае, для выбора ядра преобразования на основе режима, два ядра неразделимого вторичного преобразования в расчете на набор для преобразования для неразделимого вторичного преобразования могут быть сконфигурированы относительно всех из преобразования 8×8 и преобразования 4×4, и могут предоставляться четыре набора для преобразования. Таким образом, четыре набора для преобразования могут быть сконфигурированы относительно преобразования 8×8, и четыре набора для преобразования могут быть сконфигурированы относительно преобразования 4×4. В этом случае, каждый из четырех наборов для преобразования для преобразования 8×8 может включать в себя два ядра преобразования 8×8, и каждый из четырех наборов для преобразования для преобразования 4×4 может включать в себя два ядра преобразования 4×4.[116] In this case, for mode-based transform core selection, two non-separable sub-transform cores per transform set for non-separable secondary transform can be configured with respect to all of 8×8 transform and 4×4 transform, and four can be provided. conversion set. Thus, four transform sets may be configured with respect to the 8×8 transform, and four transform sets may be configured with respect to the 4×4 transform. In this case, each of the four transform sets for 8×8 transform may include two 8×8 transform kernels, and each of the four transform sets for 4×4 transform may include two 4×4 transform kernels.
[117] Тем не менее, размер субблока преобразования, число наборов и число ядер преобразования в наборе являются примерными, и может использоваться размер, отличный от 8×8 или 4×4, либо n наборов могут быть сконфигурированы, и k ядер преобразования могут быть включены в каждый набор. Здесь, n и k могут быть положительными целыми числами.[117] However, the size of the transform sub-block, the number of sets, and the number of transform cores in the set are exemplary, and a size other than 8×8 or 4×4 may be used, or n sets may be configured, and k transform cores may be included in each set. Here, n and k can be positive integers.
[118] Например, набор для преобразования может называться "NSST-набором", и ядро преобразования в NSST-наборе может называться "NSSAT-ядром". Например, выбор конкретного набора из наборов для преобразования может выполняться на основе режима внутреннего прогнозирования целевого блока (CU или субблока).[118] For example, a transform set may be referred to as an "NSST set", and a transform core in an NSST set may be referred to as an "NSSAT core". For example, selection of a particular set of sets for transformation may be performed based on the intra prediction mode of the target block (CU or sub-block).
[119] Например, режим внутреннего прогнозирования может включать в себя два режима ненаправленного или неуглового внутреннего прогнозирования и 65 режимов направленного или углового внутреннего прогнозирования. Режимы ненаправленного внутреннего прогнозирования могут включать в себя режим планарного внутреннего прогнозирования номер 0 и режим внутреннего DC-прогнозирования номер 1, и режимы направленного внутреннего прогнозирования могут включать в себя 65 режимов внутреннего прогнозирования (номер 2-66). Тем не менее, это является примерным, и вариант осуществления согласно настоящему документу может применяться даже к случаю, в котором предоставляется другое число режимов внутреннего прогнозирования. Между тем, в некоторых случаях, режим внутреннего прогнозирования номер 67 дополнительно может использоваться, и режим внутреннего прогнозирования номер 67 может представлять режим на основе линейной модели (LM).[119] For example, the intra prediction mode may include two non-directional or non-angular intra prediction modes and 65 directional or angular intra prediction modes. The non-directional intra prediction modes may include a planar intra
[120] Фиг. 5 примерно иллюстрирует внутренние направленные режимы в 65 направлениях прогнозирования.[120] FIG. 5 roughly illustrates the intra-directional modes in 65 prediction directions.
[121] Ссылаясь на фиг. 5, режимы могут разделяться на режимы внутреннего прогнозирования, имеющие горизонтальную направленность, и режимы внутреннего прогнозирования, имеющие вертикальную направленность относительно режима внутреннего прогнозирования номер 34, имеющего левое верхнее диагональное направление прогнозирования. На фиг. 5, H и V могут означать горизонтальную направленность и вертикальную направленность, соответственно, и номера от -32 до 32 могут представлять смещения в единицах 1/32 для позиции на сетке выборок. Оно может представлять смещение для значения индекса режима.[121] Referring to FIG. 5, the modes can be divided into intra prediction modes having a horizontal directionality and intra prediction modes having a vertical directionality with respect to the intra prediction mode number 34 having a left upper diagonal prediction direction. In FIG. 5, H and V may denote horizontal orientation and vertical orientation, respectively, and the numbers -32 to 32 may represent offsets in units of 1/32 for a position on the sample grid. It may represent an offset for the mode index value.
[122] Например, режимы внутреннего прогнозирования номер 2-33 могут иметь горизонтальную направленность, и режимы внутреннего прогнозирования номер 34-66 имеют вертикальную направленность. Между тем, с технической точки зрения, режим внутреннего прогнозирования номер 34 может считаться не имеющим ни горизонтальной направленности, ни вертикальной направленности, но может классифицироваться как принадлежащий горизонтальной направленности с точки зрения определения набора для преобразования для вторичного преобразования. Это обусловлено тем, что входные данные транспонируются и используются относительно вертикальных направленных режимов, симметричных относительно режима внутреннего прогнозирования номер 34, и способ компоновки входных данных для горизонтального направленного режима используется относительно режима внутреннего прогнозирования номер 34. Здесь, транспозиция входных данных может означать конфигурацию данных NxM таким способом, что строки становятся столбцами, и столбцы становятся строками относительно двумерных блочных данных MxN.[122] For example, intra prediction modes 2-33 may be horizontal, and intra prediction modes 34-66 may be vertical. Meanwhile, from a technical point of view, the intra prediction mode number 34 can be considered to have neither horizontal directionality nor vertical directionality, but can be classified as belonging to horizontal directionality from the point of view of defining a transform set for secondary transformation. This is because the input data is transposed and used with respect to the vertical directional modes symmetrical with respect to the intra prediction mode number 34, and the layout method of the input data for the horizontal directional mode is used with respect to the intra prediction mode number 34. Here, the transposition of the input data may mean the NxM data configuration in such a way that rows become columns and columns become rows with respect to MxN two-dimensional block data.
[123] Дополнительно, режим внутреннего прогнозирования номер 18 и режим внутреннего прогнозирования номер 50 могут представлять режим горизонтального внутреннего прогнозирования и режим вертикального внутреннего прогнозирования, соответственно, и режим внутреннего прогнозирования номер 2 может называться "режимом правого верхнего диагонального внутреннего прогнозирования", поскольку прогнозирование выполняется в направлении вверх и вправо с левым опорным пикселом. В идентичном контексте, режим внутреннего прогнозирования номер 34 может называться "режимом правого нижнего диагонального внутреннего прогнозирования", и режим внутреннего прогнозирования номер 66 может называться "режимом левого нижнего диагонального внутреннего прогнозирования".[123] Additionally, the intra prediction mode number 18 and the intra
[124] Между тем, если определяется то, что конкретный набор используется для неразделимого преобразования, одно из k ядер преобразования в конкретном наборе может выбираться через индекс неразделимого вторичного преобразования. Например, оборудование кодирования может извлекать индекс неразделимого вторичного преобразования, представляющий конкретное ядро преобразования, на основе проверки искажения в зависимости от скорости передачи (RD) и может передавать в служебных сигналах индекс неразделимого вторичного преобразования в оборудование декодирования. Например, оборудование декодирования может выбирать одно из k ядер преобразования в конкретном наборе на основе индекса неразделимого вторичного преобразования. Например, NSST-индекс, имеющий значение 0, может представлять первое ядро неразделимого вторичного преобразования, NSST-индекс, имеющий значение 1, может представлять второе ядро неразделимого вторичного преобразования, и NSST-индекс, имеющий значение 2, может представлять третье ядро неразделимого вторичного преобразования. Альтернативно, NSST-индекс, имеющий значение 0, может представлять то, что первое неразделимое вторичное преобразование не применяется к целевому блоку, и NSST-индекс, имеющий значение 1-3, может указывать три ядра преобразования, как описано выше.[124] Meanwhile, if it is determined that a specific set is used for a non-separable transform, one of the k transform kernels in the specific set may be selected through the non-separable secondary transform index. For example, the encoding equipment may derive a non-separable second transform index representing a particular transform kernel based on a rate-distortion (RD) test, and may signal the non-separable second transform index to the decoding equipment. For example, the decoding hardware may select one of the k transform cores in a particular set based on the non-separable secondary transform index. For example, an NSST index having a value of 0 may represent the first core of the non-separable subtransform, an NSST index of 1 may represent the second kernel of the non-separable secondary, and an NSST index of 2 may represent the third kernel of the non-separable secondary. . Alternatively, an NSST index having a value of 0 may represent that the first non-separable secondary transform is not applied to the target block, and an NSST index having a value of 1-3 may indicate three transformation kernels as described above.
[125] Преобразователь может выполнять неразделимое вторичное преобразование на основе выбранных ядер преобразования и может получать модифицированные коэффициенты (вторичного) преобразования. Модифицированные коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через вышеописанный квантователь и могут кодироваться с возможностью передаваться в служебных сигналах в оборудование декодирования, и могут передаваться в деквантователь/обратный преобразователь в оборудовании кодирования.[125] The transformer may perform an inseparable secondary transform based on the selected transform kernels and may obtain modified (secondary) transform coefficients. The modified transform coefficients may be extracted as quantized transform coefficients via the above-described quantizer, and may be signal-coded to the decoding equipment, and may be transmitted to a dequantizer/inverse converter in the encoding equipment.
[126] Между тем, если вторичное преобразование опускается, как описано выше, коэффициенты (первичного) преобразования, которые представляют собой выводы первичного (разделимого) преобразования, могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь, как описано выше, и могут кодироваться с возможностью передаваться в служебных сигналах в оборудование декодирования и могут передаваться в деквантователь/обратный преобразователь в оборудовании кодирования.[126] Meanwhile, if the secondary transform is omitted as described above, the (primary) transform coefficients, which are the outputs of the primary (separable) transform, can be extracted as quantized transform coefficients via a quantizer as described above, and can be encoded with the possibility be signaled to the decoding equipment and may be sent to a dequantizer/inverse converter in the encoding equipment.
[127] Снова ссылаясь в фиг. 4, обратный преобразователь может выполнять последовательность процедур в обратном порядке по отношению к процедурам, выполняемым посредством вышеописанного преобразователя. Обратный преобразователь может принимать (деквантованные) коэффициенты преобразования, извлекать коэффициенты (первичного) преобразования посредством выполнения вторичного (обратного) преобразования (S450) и получать остаточный блок (остаточные выборки) посредством выполнения первичного (обратного) преобразования относительно коэффициентов (первичного) преобразования (S460). Здесь, коэффициенты первичного преобразования могут называться "модифицированными коэффициентами преобразования на стороне обратного преобразователя". Как описано выше, оборудование кодирования и/или оборудование декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленный кадр на его основе.[127] Referring again to FIG. 4, the reverse converter may perform the sequence of procedures in reverse order of the procedures performed by the above-described converter. The inverse transform can receive (dequantized) transform coefficients, extract (primary) transform coefficients by performing a secondary (inverse) transform (S450), and obtain a residual block (residual samples) by performing a primary (inverse) transform with respect to the (primary) transform coefficients (S460) . Here, the primary transform coefficients may be referred to as "modified transform coefficients on the inverter side". As described above, the encoding equipment and/or the decoding equipment may generate a reconstructed block based on the residual block and the predicted block, and may generate a reconstructed frame based on them.
[128] Между тем, оборудование декодирования дополнительно может включать в себя модуль определения применения/неприменения вторичного обратного преобразования (или элемент для определения того, следует или нет применять вторичное обратное преобразование), и модуль определения вторичного обратного преобразования (или элемент для определения вторичного обратного преобразования). Например, модуль определения применения/неприменения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование. Например, вторичное обратное преобразование может представлять собой NSST или RST, и модуль определения применения/неприменения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе флага вторичного преобразования, синтаксически проанализированного или полученного из потока битов. Альтернативно, например, модуль определения применения/неприменения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе коэффициента преобразования остаточного блока.[128] Meanwhile, the decoding equipment may further include a secondary inverse transform application/non-application determination unit (or an element for determining whether or not to apply the secondary inverse transform), and a secondary inverse transformation determination unit (or an element for determining the secondary inverse transformations). For example, the second inverse transform application/non-application determination module may determine whether or not the secondary inverse transformation should be applied. For example, the secondary inverse transform may be NSST or RST, and the secondary inverse transform apply/non-apply determination module may determine whether or not to apply the secondary inverse transform based on the secondary transform flag parsed or obtained from the bit stream. Alternatively, for example, the secondary inverse transform application/non-application determination module may determine whether or not to apply the secondary inverse transform based on the transform coefficient of the residual block.
[129] Модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование. В этом случае, модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование, применяемое к текущему блоку, на основе набора для NSST-(или RST-)преобразования, указываемого в соответствии с режимом внутреннего прогнозирования. Альтернативно, способ определения вторичного преобразования может определяться в зависимости от способа определения первичного преобразования. Альтернативно, различные комбинации первичного преобразования и вторичного преобразования могут определяться в соответствии с режимом внутреннего прогнозирования. Например, модуль определения вторичного обратного преобразования может определять зону, к которой вторичное обратное преобразование применяется, на основе размера текущего блока.[129] The secondary inverse transform determination module may determine the secondary inverse transform. In this case, the secondary inverse transform determination module 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. Alternatively, the method for determining the secondary transform may be determined depending on the method for determining the primary transform. Alternatively, different combinations of the primary transform and the secondary transform may be determined according to the intra prediction mode. For 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.
[130] Между тем, если вторичное (обратное) преобразование опускается, как описано выше, остаточный блок (остаточные выборки) может получаться посредством приема (деквантованных) коэффициентов преобразования и выполнения первичного (разделимого) обратного преобразования. Как описано выше, оборудование кодирования и/или оборудование декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленный кадр на его основе.[130] Meanwhile, if the secondary (inverse) transform is omitted as described above, the residual block (residual samples) can be obtained by receiving the (dequantized) transform coefficients and performing the primary (separable) inverse transform. As described above, the encoding equipment and/or the decoding equipment may generate a reconstructed block based on the residual block and the predicted block, and may generate a reconstructed frame based on them.
[131] Между тем, в настоящем документе, чтобы уменьшать объем вычислений и требуемый объем запоминающего устройства, вызываемые посредством неразделимого вторичного преобразования, сокращенное вторичное преобразование (RST), имеющее уменьшенный размер матрицы (ядра) преобразования, может применяться к понятию NSST.[131] Meanwhile, herein, in order to reduce the computational amount and the required storage space caused by the inseparable secondary transform, a reduced secondary transform (RST) having a reduced transform matrix (kernel) size can be applied to the NSST concept.
[132] В настоящем документе, RST может означать (упрощенное) преобразование, выполняемое относительно остаточных выборок для целевого блока, на основе матрицы преобразования, размер которой уменьшается в соответствии с коэффициентом упрощения. В случае выполнения этого объем вычислений, требуемый во время преобразования, может уменьшаться вследствие уменьшения размера матрицы преобразования. Таким образом, RST может использоваться для того, чтобы разрешать проблему сложности вычислений, возникающую во время преобразования блока, имеющего большой размер, или неразделимого преобразования.[132] As used herein, RST may mean a (simplified) transformation performed on the residual samples for a target block based on a transformation matrix whose size is reduced in accordance with the simplification factor. If this is done, the amount of computation required during 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 during the transformation of a block having a large size or a non-separable transformation.
[133] Например, RST может называться с помощью различных терминов, таких как "сокращенное преобразование", "сокращенное вторичное преобразование", "преобразование с сокращением", "упрощенное преобразование" или "простое преобразование", и названия, с помощью которых называется RST, не ограничены перечисленными примерами. Дополнительно, RST главным образом выполняется в низкочастотной области, включающей в себя коэффициенты, которые не равны 0 в блоке преобразования, и в силу этого может называться "низкочастотным неразделимым преобразованием (LFNST)".[133] For example, RST may be referred to by various terms such as "reduced transformation", "reduced secondary transformation", "reduced transformation", "simplified transformation", or "simple transformation", and the names by which the RST is called are not limited to the examples listed. Further, RST is mainly performed in the low frequency region including coefficients that are not 0 in the transform block, and thus may be referred to as "low frequency inseparable transform (LFNST)".
[134] Между тем, в случае если вторичное обратное преобразование выполняется на основе RST, обратный преобразователь 235 оборудования 200 кодирования и обратный преобразователь 322 оборудования 300 декодирования могут включать в себя обратный RST-модуль, извлекающий модифицированные коэффициенты преобразования на основе обратного RST для коэффициентов преобразования, и обратный первичный преобразователь, извлекающий остаточные выборки для целевого блока на основе обратного первичного преобразования для модифицированных коэффициентов преобразования. Обратное первичное преобразование означает обратное преобразование относительно первичного преобразования, применяемого к остатку. В настоящем документе, извлечение коэффициентов преобразования на основе преобразования может означать извлечение коэффициентов преобразования посредством применения соответствующего преобразования.[134] Meanwhile, in the case where the secondary inverse transform is performed based on the RST, the
[135] Фиг. 6 и 7 являются схемами, поясняющими RST согласно варианту осуществления настоящего документа.[135] FIG. 6 and 7 are diagrams explaining RST according to an embodiment of the present document.
[136] Например, фиг. 6 может представлять собой чертеж, поясняющий то, что прямое сокращенное преобразование применяется, и фиг. 7 может представлять собой чертеж, поясняющий то, что обратное сокращенное преобразование применяется. В настоящем документе, целевой блок может представлять текущий блок, остаточный блок или блок преобразования в зависимости от того, кодирование чего выполняется.[136] For example, FIG. 6 may be a drawing explaining that a direct shorthand transformation is applied, and FIG. 7 may be a drawing explaining that an inverse shorthand transformation is applied. Here, a target block may represent a current block, a residual block, or a transform block, depending on what is being encoded.
[137] Например, в RST, N-мерный вектор может преобразовываться в R-мерный вектор, расположенный в другом пространстве, и матрица сокращенного преобразования может определяться. Здесь, N и R могут быть положительными целыми числами, и R может быть меньше N. N может означать квадрат длины одной стороны блока, к которому применяется преобразование, или общее число коэффициентов преобразования, соответствующих блоку, к которому применяется преобразование, и коэффициент упрощения может означать значение R/N. Коэффициент упрощения может называться с помощью различных терминов, таких как "сокращенный коэффициент", "коэффициент сокращения", "упрощенный коэффициент" или "простой коэффициент". Между тем, R может называться "уменьшенным коэффициентом", и в некоторых случаях, коэффициент упрощения может означать R. Дополнительно, в некоторых случаях, коэффициент упрощения может означать N/R-значение.[137] For example, in RST, an N-dimensional vector may be transformed into an R-dimensional vector located in another space, and a shorthand transformation matrix may be determined. Here, N and R may be positive integers, and R may be less than N. N may mean the square of the length of one side of the block to which the transform is applied, or the total number of transform coefficients corresponding to the block to which the transform is applied, and the simplification factor may mean R/N value. The simplification factor may be referred to by various terms such as "reduced factor", "reduction factor", "simplified factor", or "simple factor". Meanwhile, R may be referred to as a "reduced factor", and in some cases, the simplification factor may mean R. Additionally, in some cases, the simplification factor may mean an N/R value.
[138] Например, коэффициент упрощения или уменьшенный коэффициент может передаваться в служебных сигналах через поток битов, но не ограничен этим. Например, предварительно заданные значения для коэффициента упрощения или уменьшенного коэффициента могут сохраняться в оборудовании 200 кодирования и оборудовании 300 декодирования, и в этом случае, коэффициент упрощения или уменьшенный коэффициент может не передаваться в служебных сигналах отдельно.[138] For example, the simplification factor or reduced factor may be signaled via the bitstream, but is not limited to this. For example, preset values for the simplification factor or the reduced factor may be stored in the
[139] Например, размер (RxN) матрицы упрощенного преобразования может быть меньше размера (NxN) матрицы регулярного преобразования и может задаваться в следующем уравнении.[139] For example, the size (RxN) of the simplified transformation matrix may be smaller than the size (NxN) of the regular transformation matrix, and may be given in the following equation.
[140] уравнение 4[140] Equation 4
[141] Например, матрица T в блоке сокращенного преобразования, проиллюстрированном на фиг. 6, может представлять матрицу TRxN уравнения 4. Как показано на фиг. 6, в случае если остаточные выборки для целевого блока умножаются на матрицу TRxN упрощенного преобразования, коэффициенты преобразования для целевого блока могут извлекаться.[141] For example, the matrix T in the reduced transform block illustrated in FIG. 6 may represent the TRxN matrix of Equation 4. As shown in FIG. 6, in case the residual samples for the target block are multiplied by the simplified transform matrix TRxN, the transform coefficients for the target block can be extracted.
[142] Например, в случае если размер блока, к которому применяется преобразование, составляет 8×8, и R равен 16 (т.е. R/N=16/64=1/4), RST согласно фиг. 6 может выражаться посредством матричной операции, как указано в нижеприведенном уравнении 5. В этом случае, запоминающее устройство и операция умножения могут уменьшаться приблизительно до 1/4 посредством коэффициента упрощения.[142] For example, in the case where the block size to which the transform is applied is 8×8 and R is 16 (i.e., R/N=16/64=1/4), the RST of FIG. 6 may be expressed by a matrix operation as indicated in Equation 5 below. In this case, the memory and the multiplication operation may be reduced to about 1/4 by the simplification factor.
[143] В настоящем документе, матричная операция может пониматься как операция получения вектора-столбца посредством размещения матрицы слева от вектора-столбца и умножения матрицы и вектора-столбца.[143] As used herein, a matrix operation can be understood as an operation to obtain a column vector by placing a matrix to the left of the column vector and multiplying the matrix and the column vector.
[144] уравнение 5[144] Equation 5
[145] В уравнении 5, r1-r64 могут представлять остаточные выборки для целевого блока. Альтернативно, например, они могут представлять собой коэффициенты преобразования, сформированные посредством применения первичного преобразования. На основе результата операции уравнения 5, коэффициенты ci преобразования для целевого блока могут извлекаться.[145] In Equation 5, r1-r64 may represent the residual samples for the target block. Alternatively, for example, they may be transform coefficients generated by applying a primary transform. Based on the operation result of Equation 5, the conversion coefficients ci for the target block can be retrieved.
[146] Например, в случае если R равен 16, коэффициенты c1-c16 преобразования для целевого блока могут извлекаться. Если матрица преобразования, имеющая размер 64×64 (NxN), через применение регулярного преобразования, а не RST, умножается на остаточные выборки, имеющие размер 64×1 (Nx1), 64 (N) коэффициента преобразования для целевого блока могут извлекаться, но поскольку RST применяется, только 16 (N) коэффициентов преобразования для целевого блока могут извлекаться. Поскольку общее число коэффициентов преобразования для целевого блока уменьшается с N до R, объем данных, которые оборудование 200 кодирования передает в оборудование 300 декодирования, может уменьшаться, и в силу этого эффективность передачи между оборудованием 200 кодирования и оборудованием 300 декодирования может повышаться.[146] For example, if R is 16, the transform coefficients c1-c16 for the target block may be extracted. If a transformation matrix having a size of 64×64 (NxN) is multiplied by residual samples having a size of 64×1 (Nx1) through applying a regular transformation rather than RST, 64 (N) transformation coefficients for the target block can be extracted, but since RST is applied, only 16 (N) transform coefficients for the target block can be extracted. Since the total number of transform coefficients for a target block is reduced from N to R, the amount of data that the
[147] С учетом размера матрицы преобразования, поскольку размер матрицы регулярного преобразования составляет 64×64 (NxN), и размер матрицы упрощенного преобразования уменьшается до 16×64 (RxN), использование запоминающего устройства при выполнении RST может уменьшаться в отношении R/N по сравнению со случаем, в котором регулярное преобразование выполняется. Дополнительно, по сравнению с числом (NxN) операций умножения, при использовании матрицы регулярного преобразования, использование матрицы упрощенного преобразования может сокращать число операций умножения (RxN) в отношении R/N.[147] Considering the size of the transformation matrix, since the size of the regular transformation matrix is 64×64 (NxN) and the size of the simplified transformation matrix is reduced to 16×64 (RxN), the memory usage when performing RST may be reduced in terms of R/N by compared to the case in which a regular transformation is performed. Additionally, compared to the number (NxN) of multiplications when using a regular transformation matrix, the use of a simplified transformation matrix can reduce the number of multiplications (RxN) with respect to R/N.
[148] В варианте осуществления, преобразователь 232 оборудования 200 кодирования может извлекать коэффициенты преобразования для целевого блока посредством выполнения первичного преобразования и вторичного преобразования на основе RST для остаточных выборок для целевого блока. Коэффициенты преобразования могут передаваться в обратный преобразователь оборудования 300 декодирования, и обратный преобразователь 322 оборудования 300 декодирования может извлекать модифицированные коэффициенты преобразования на основе обратного сокращенного вторичного преобразования (RST) для коэффициентов преобразования и может извлекать остаточные выборки для целевого блока на основе обратного первичного преобразования модифицированных коэффициентов преобразования.[148] In an embodiment, the
[149] Размер обратной RST-матрицы TNxR согласно варианту осуществления может составлять NxR, что меньше размера NxN матрицы регулярного обратного преобразования, и может иметь транспонированную взаимосвязь с матрицей TRxN упрощенного преобразования, проиллюстрированной в уравнении 4.[149] The size of the TNxR inverse RST matrix according to an embodiment may be NxR, which is smaller than the NxN size of the regular inverse transform matrix, and may have a transposed relationship with the simplified transform matrix TRxN illustrated in Equation 4.
[150] Матрица Tt в блоке сокращенного обратного преобразования, проиллюстрированном на фиг. 7, может представлять обратную RST-матрицу TRxNT. Здесь, надстрочный индекс T может представлять транспонирование. Как показано на фиг. 7, в случае если коэффициенты преобразования для целевого блока умножаются на обратную RST-матрицу TRxNT, модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока могут извлекаться. Обратная RST-матрица TRxNT может выражаться как (TRxN)TNxR.[150] The matrix Tt in the reduced inverse transform block illustrated in FIG. 7 may represent an inverse RST matrix of TRxNT. Here, the superscript T may represent a transposition. As shown in FIG. 7, in case the transform coefficients for the target block are multiplied by the inverse RST matrix TRxNT, modified transform coefficients for the target block or residual samples for the target block can be extracted. The inverse RST matrix TRxNT can be expressed as (TRxN)TNxR.
[151] Более конкретно, в случае если обратное RST применяется в качестве вторичного обратного преобразования, модифицированные коэффициенты преобразования для целевого блока могут извлекаться посредством умножения коэффициентов преобразования для целевого блока на обратную RST-матрицу TRxNT. Между тем, обратное RST может применяться в качестве обратного первичного преобразования, и в этом случае, остаточные выборки для целевого блока могут извлекаться, когда обратная RST-матрица TRxNT умножается на коэффициенты преобразования для целевого блока.[151] More specifically, in the case where an inverse RST is applied as a secondary inverse transform, the modified transform coefficients for the target block may be derived by multiplying the transform coefficients for the target block by the inverse RST matrix TRxNT. Meanwhile, the inverse RST may be applied as an inverse primary transform, in which case, the residual samples for the target block may be extracted when the inverse RST matrix TRxNT is multiplied by the transform coefficients for the target block.
[152] В варианте осуществления, в случае если размер блока, к которому применяется обратное преобразование, составляет 8×8, и R равен 16 (т.е. R/N=16/64=1/4), RST согласно фиг. 7 может выражаться посредством матричной операции, как указано в нижеприведенном уравнении 6.[152] In an embodiment, if the size of the block to which the inverse transform is applied is 8x8 and R is 16 (i.e., R/N=16/64=1/4), the RST of FIG. 7 can be expressed by a matrix operation as indicated in Equation 6 below.
[153] уравнение 6[153] Equation 6
[154] В уравнении 6, c1-c16 могут представлять коэффициенты преобразования для целевого блока; rj, представляющий модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока, может извлекаться на основе результата операции уравнения 6. Таким образом, r1-rN, представляющие модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока, могут извлекаться.[154] In Equation 6, c1-c16 may represent transform coefficients for the target block; rj representing modified transform coefficients for the target block or residual samples for the target block may be derived based on the operation result of Equation 6. Thus, r1-rN representing modified transform coefficients for the target block or residual samples for the target block may be derived.
[155] С учетом размера матрицы обратного преобразования, поскольку размер матрицы регулярного обратного преобразования составляет 64×64 (NxN), и размер матрицы упрощенного обратного преобразования уменьшается до 64×16 (NxR), использование запоминающего устройства при выполнении обратного RST может уменьшаться в отношении R/N по сравнению со случаем, в котором регулярное обратное преобразование выполняется. Дополнительно, по сравнению с числом (NxN) операций умножения, при использовании матрицы регулярного обратного преобразования, использование матрицы упрощенного обратного преобразования может уменьшать число (NxR) операций умножения в отношении R/N.[155] Considering the size of the inverse transform matrix, since the size of the regular inverse transform matrix is 64×64 (NxN) and the size of the simplified inverse transform matrix is reduced to 64×16 (NxR), the memory usage when performing the inverse RST can be reduced in relation to R/N compared to the case in which a regular inverse transformation is performed. Additionally, compared to the number (NxN) of multiplications when using a regular inverse transform matrix, using a simplified inverse transform matrix can reduce the number (NxR) of multiplications in terms of R/N.
[156] Между тем, наборы для преобразования могут конфигурироваться и применяться даже относительно RST 8×8. Таким образом, соответствующее RST 8×8 может применяться в соответствии с набором для преобразования. Поскольку один набор для преобразования состоит из двух или трех ядер преобразования в соответствии с режимом внутреннего прогнозирования, он может быть выполнен с возможностью выбирать одно из четырех преобразований, что как максимум включает в себя даже случай, в котором вторичное преобразование не применяется. При преобразовании, когда вторичное преобразование не применяется, можно считать, что единичная матрица применяется. Если предполагается, что индекс 0, 1, 2 или 3 задается для четырех преобразований (например, индекс номер 0 может выделяться случаю, в котором единичная матрица, т.е. вторичное преобразование, не применяется), преобразование, которое должно применяться, может быть обозначено посредством передачи в служебных сигналах синтаксического элемента, которая представляет собой NSST-индекс, в каждый блок коэффициентов преобразования. Таким образом, через NSST-индекс NSST 8×8 может быть обозначено для левого верхнего блока 8×8, и в RST-конфигурации, RST 8×8 может быть обозначено. NSST 8×8 и RST 8×8 могут представлять преобразования, допускающие применение к зоне 8×8, включенной в соответствующий блок коэффициентов преобразования в случае, если W и H целевого блока, который становится целью преобразования, равны или больше 8, и зона 8×8 может представлять собой левую верхнюю зону 8×8 в соответствующем блоке коэффициентов преобразования. Аналогично, NSST 4×4 и RST 4×4 могут представлять преобразования, допускающие применение к зоне 4×4, включенной в соответствующий блок коэффициентов преобразования в случае, если W и H целевого блока равны или больше 4, и зона 4×4 может представлять собой левую верхнюю зону 4×4 в соответствующем блоке коэффициентов преобразования.[156] Meanwhile, conversion sets can be configured and applied even with respect to RST 8×8. Thus, the corresponding RST 8x8 can be applied according to the conversion set. Since one transform set is composed of two or three transform kernels according to the intra prediction mode, it can be configured to select one of four transforms, which at most includes even the case in which the secondary transform is not applied. In a transformation where no secondary transformation is applied, the identity matrix can be considered to be applied. If it is assumed that
[157] Между тем, например, оборудование кодирования может извлекать поток битов посредством кодирования значения синтаксического элемента или квантованных значений коэффициента преобразования для остатка на основе различных способов кодирования, таких как экспоненциальный код Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Дополнительно, оборудование декодирования может извлекать значение синтаксического элемента или квантованных значений коэффициента преобразования для остатка на основе различных способов кодирования, таких как кодирование экспоненциальным кодом Голомба, CAVLC, CABAC и т.п.[157] Meanwhile, for example, the encoding equipment can extract a bitstream by encoding a syntax element value or quantized transform coefficient values for the remainder based on various coding methods such as exponential Golomb code, context adaptive variable length coding (CAVLC), context-sensitive adaptive binary arithmetic coding (CABAC), and the like. Additionally, the decoding equipment can extract the value of the syntax element or quantized transform coefficient values for the residue based on various encoding methods such as Exponential Golomb encoding, CAVLC, CABAC, and the like.
[158] Например, вышеописанные способы кодирования могут выполняться в качестве контента, который описывается ниже.[158] For example, the above-described encoding methods can be performed as content, which is described below.
[159] Фиг. 8 примерно иллюстрирует контекстно-адаптивное двоичное арифметическое кодирование (CABAC) для кодирования синтаксического элемента.[159] FIG. 8 exemplifies context-adaptive binary arithmetic coding (CABAC) for encoding a syntax element.
[160] Например, в процессе CABAC-кодирования, если входной сигнал представляет собой синтаксический элемент, который не представляет собой двоичное значение, значение входного сигнала может преобразовываться в двоичное значение через преобразование в двоичную форму. Дополнительно, если входной сигнал уже представляет собой двоичное значение (т.е. если значение входного сигнала представляет собой двоичное значение), преобразование в двоичную форму может не выполняться, и входной сигнал может использоваться как есть. Здесь, каждое двоичное число 0 или 1, составляющее двоичное значение, может называться "элементом разрешения". Например, если двоичная строка после преобразования в двоичную форму представляет собой 110, каждое из 1, 1 и 0 может представляться как один элемент разрешения. Элемент(ы) разрешения для одного синтаксического элемента может представлять значение синтаксического элемента. Преобразование в двоичную форму может быть основано на различном способе преобразования в двоичную форму, таком как процесс преобразования в двоичную форму усеченным кодом Райса или процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Процедура преобразования в двоичную форму может выполняться посредством модуля преобразования в двоичную форму в энтропийном кодере.[160] For example, in the CABAC encoding process, if the input signal is a syntax element that is not a binary value, the value of the input signal can be converted to a binary value through binarization. Additionally, if the input signal is already a binary value (ie, if the value of the input signal is a binary value), binarization may not be performed and the input signal may be used as is. Here, each
[161] После этого, преобразованные в двоичную форму элементы выборки синтаксического элемента могут вводиться в механизм регулярного кодирования или механизм обходного кодирования. Механизм регулярного кодирования оборудования кодирования может выделять контекстную модель, которая отражает значение вероятности относительно соответствующего элемента разрешения, и кодировать соответствующий элемент разрешения на основе выделяемой контекстной модели. Механизм регулярного кодирования оборудования кодирования может обновлять контекстную модель для соответствующего элемента разрешения после выполнения кодирования относительно соответствующих элементов разрешения. Элементы разрешения, кодируемые в качестве вышеописанного контента, могут представляться как контекстно-кодированные элементы разрешения.[161] Thereafter, the binarized syntax element sample elements may be input to a regular encoding engine or a bypass encoding engine. The regular coding engine of the encoding equipment may extract a context model that reflects a probability value with respect to the corresponding bin, and encode the corresponding bin based on the extracted context model. The encoding hardware's regular encoding mechanism may update the context model for the corresponding permission element after encoding is performed on the corresponding permission elements. Permission elements encoded as the content described above may be represented as context-encoded permission elements.
[162] Между тем, в случае если преобразованные в двоичную форму элементы выборки синтаксического элемента вводятся в механизм обходного кодирования, они могут кодироваться следующим образом. Например, механизм обходного кодирования оборудования кодирования может опускать процедуру для оценки вероятности относительно входного элемента выборки и процедуру для обновления вероятностной модели, применяемые к элементу разрешения после кодирования. В случае если обходное кодирование применяется, оборудование кодирования может кодировать входной элемент выборки посредством применения регулярного распределения вероятностей вместо выделения контекстной модели, и за счет этого может повышаться скорость кодирования. Элемент разрешения, кодируемый в качестве вышеописанного контента, может представляться как обходной элемент разрешения.[162] Meanwhile, in case the binarized syntax element sample elements are input to the bypass encoding mechanism, they may be encoded as follows. For example, the bypass encoding mechanism of the encoding equipment may omit a procedure for estimating a probability with respect to an input bin and a procedure for updating a probability model applied to a bin after encoding. If bypass coding is applied, the coding equipment can encode the input bin by applying a regular probability distribution instead of extracting a context model, and thereby the coding speed can be improved. The permission element encoded as the content described above may be presented as a bypass permission element.
[163] Энтропийное декодирование может представлять процесс для выполнения процесса, идентичного вышеописанному энтропийному кодированию, в обратном порядке.[163] Entropy decoding may represent a process for performing a process identical to the above-described entropy encoding in reverse order.
[164] Оборудование декодирования (энтропийный декодер) может декодировать кодированную информацию изображений/видео. Информация изображений/видео может включать в себя связанную с сегментацией информацию, связанную с прогнозированием информацию (например, информацию разделения взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования, информацию режима взаимного прогнозирования и т.п.), остаточную информацию или связанную с внутриконтурной фильтрацией информацию либо может включать в себя различные синтаксические элементы из нее. Энтропийное кодирование может выполняться в единицах синтаксического элемента.[164] The decoding equipment (entropy decoder) can decode the encoded image/video information. The image/video information may include segmentation related information, prediction related information (e.g., inter/intra prediction separation information, intra prediction mode information, inter prediction mode information, and the like), residual information, or in-loop filtering related information. information or may include various syntactic elements from it. Entropy encoding may be performed in units of a syntax element.
[165] Оборудование декодирования может выполнять преобразование в двоичную форму целевых синтаксических элементов. Здесь, преобразование в двоичную форму может быть основано на различных способах преобразования в двоичную форму, таких как процесс преобразования в двоичную форму усеченным кодом Райса или процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Оборудование декодирования может извлекать доступные строки элементов разрешения (возможные варианты строк элементов разрешения) для доступных значений целевых синтаксических элементов через процедуру преобразования в двоичную форму. Процедура преобразования в двоичную форму может выполняться посредством модуля преобразования в двоичную форму в энтропийном декодере.[165] The decoding hardware may binarize the target syntax elements. Here, the binarization may be based on various binarization methods such as a truncated Rice code binarization process or a fixed length code binarization process, and the binarization method for the target syntax element may be previously set. The decoding hardware can extract the available bin strings (possible bin strings) for the available target syntax element values via a binarization procedure. The binarization procedure may be performed by a binarization module in the entropy decoder.
[166] Оборудование декодирования может сравнивать извлеченную строку элементов разрешения с доступными строками элементов разрешения для соответствующих синтаксических элементов при последовательном декодировании или синтаксическом анализе соответствующих элементов разрешения на предмет целевых синтаксических элементов из входного бита(ов) в потоке битов. Если извлеченная строка элементов разрешения равна одной из доступных строк элементов разрешения, значение, соответствующее соответствующей строке элементов разрешения, извлекается в качестве значения соответствующего синтаксического элемента. Если нет, оборудование декодирования может повторно выполнять вышеописанную процедуру после дополнительного синтаксического анализа следующего бита в потоке битов. Посредством такого процесса, можно выполнять передачу в служебных сигналах конкретной информации (или конкретного синтаксического элемента) в потоке битов с использованием бита переменной длины даже без использования начального бита или конечного бита соответствующей информации. Через это, относительно меньший бит может выделяться относительно меньшего значения, и в силу этого может повышаться общая эффективность кодирования.[166] The decoding hardware may compare the extracted bin string with the available bin strings for the corresponding syntax elements when sequentially decoding or parsing the corresponding bins for target syntax elements from the input bit(s) in the bitstream. If the extracted permission element string is equal to one of the available permission element strings, the value corresponding to the corresponding permission element string is retrieved as the value of the corresponding syntax element. If not, the decoding equipment may re-execute the above procedure after further parsing the next bit in the bitstream. Through such a process, it is possible to signal specific information (or a specific syntax element) in a bit stream using a variable length bit even without using a start bit or end bit of the corresponding information. Through this, a relatively smaller bit can be allocated with respect to a smaller value, and thereby the overall coding efficiency can be improved.
[167] Оборудование декодирования может выполнять декодирование на основе контекстных моделей или обходное декодирование соответствующих элементов разрешения в строке элементов разрешения из потока битов на основе технологии энтропийного кодирования, такой как CABAC или CAVLC.[167] The decoding equipment may perform decoding based on context models or bypass decoding the corresponding bins in a bin string from a bit stream based on an entropy coding technology such as CABAC or CAVLC.
[168] В случае если синтаксический элемент декодируется на основе контекстной модели, оборудование декодирования может принимать элемент разрешения, соответствующий синтаксическому элементу, через поток битов, может определять контекстную модель за счет использования синтаксического элемента и декодирования информации целевого блока декодирования или соседнего блока либо информации символов/элементов разрешения, декодированной на предыдущей стадии, и может извлекать значение синтаксического элемента посредством выполнения арифметического декодирования элемента разрешения через прогнозирование вероятности появления принимаемого элемента разрешения в соответствии с определенной контекстной моделью. После этого, контекстная модель следующего декодируемого элемента разрешения может обновляться на основе определенной контекстной модели.[168] In case a syntax element is decoded based on a context model, the decoding equipment may receive a permission element corresponding to the syntax element via a bit stream, may determine the context model by using the syntax element, and decoding the decoding target block or neighbor block information or character information / bins decoded in the previous step, and can extract the meaning of the syntax element by performing arithmetic decoding of the bin by predicting the occurrence probability of the received bin according to the determined context model. Thereafter, the context model of the next decodable permission element may be updated based on the determined context model.
[169] Контекстная модель может выделяться и обновляться посредством контекстно-кодированных (регулярно кодированных) элементов разрешения, и контекстная модель могут указываться на основе индекса контекста (ctxIdx) или приращения индекса контекста (ctxInc). CtxIdx может извлекаться на основе ctxInc. В частности, например, ctxIdx, представляющий контекстную модель для каждого из регулярно кодированных элементов разрешения, может извлекаться посредством суммы ctxInc и смещения индекса контекста (ctxIdxOffset). Например, ctxInc может извлекаться по-иному посредством элементов разрешения. ctxIdxOffset может представляться как наименьшее значение ctxIdx. Обычно, ctxIdxOffset может представлять собой значение, используемое для того, чтобы отличать ее от контекстных моделей для других синтаксических элементов, и контекстная модель для одного синтаксического элемента может разделяться или извлекаться на основе ctxInc.[169] The context model may be allocated and updated by context-encoded (regularly encoded) permission elements, and the context model may be specified based on a context index (ctxIdx) or a context index increment (ctxInc). CtxIdx can be derived based on ctxInc. In particular, for example, a ctxIdx representing the context model for each of the regularly encoded permission elements can be extracted by the sum of ctxInc and the context index offset (ctxIdxOffset). For example, ctxInc may be retrieved differently via permission elements. ctxIdxOffset can be represented as the smallest value of ctxIdx. Typically, ctxIdxOffset may be a value used to distinguish it from context models for other syntax elements, and the context model for one syntax element may be separated or derived based on ctxInc.
[170] В процедуре энтропийного кодирования, может определяться то, следует выполнять кодирование через механизм регулярного кодирования или выполнять кодирование через механизм обходного кодирования, и, соответственно, тракт кодирования может переключаться. Энтропийное декодирование может выполнять процесс, идентичный энтропийному кодированию, в обратном порядке.[170] In the entropy encoding procedure, it may be determined whether to perform encoding through a regular encoding mechanism or to perform encoding through a bypass encoding mechanism, and accordingly, the encoding path may be switched. Entropy decoding can perform the same process as entropy encoding in reverse order.
[171] Между тем, например, в случае если выполняется обходное декодирование синтаксического элемента, оборудование декодирования может принимать элемент разрешения, соответствующий синтаксическому элементу, через поток битов, и может декодировать входной элемент выборки посредством применения регулярного распределения вероятностей. В этом случае, оборудование декодирования может опускать процедуру извлечения контекстной модели синтаксического элемента и процедуру обновления контекстной модели, применяемые к элементу разрешения после декодирования.[171] Meanwhile, for example, in the case where the bypass decoding of the syntax element is performed, the decoding equipment may receive a bin corresponding to the syntax element via the bitstream, and may decode the input bin by applying a regular probability distribution. In this case, the decoding hardware may omit the syntax element context model extraction procedure and the context model update procedure applied to the permission element after decoding.
[172] Как описано выше, остаточная выборка может извлекаться в качестве квантованных коэффициентов преобразования через процессы преобразования и квантования. Квантованные коэффициенты преобразования могут называться "коэффициентами преобразования". В этом случае, коэффициенты преобразования в блоке могут передаваться в служебных сигналах в форме остаточной информации. Остаточная информация может включать в себя синтаксис или синтаксический элемент относительно остаточного кодирования. Например, оборудование кодирования может кодировать остаточную информацию и может выводить ее в форме потока битов, и оборудование декодирования может декодировать остаточную информацию из потока битов и может извлекать остаточные (квантованные) коэффициенты преобразования. Как описано ниже, остаточная информация может включать в себя синтаксические элементы, представляющие то, применяется или нет преобразование к соответствующему блоку, то, где находится местоположение последнего эффективного коэффициента преобразования в блоке, то, существует или нет эффективный коэффициент преобразования в субблоке, либо то, каким является размер/знак эффективного коэффициента преобразования.[172] As described above, the residual sample may be extracted as quantized transform coefficients through transform and quantization processes. The quantized transform coefficients may be referred to as "transform coefficients". In this case, the transform coefficients in the block may be signaled in the form of residual information. The residual information may include a syntax or syntax element regarding the residual encoding. For example, the encoding equipment may encode the residual information and may output it in the form of a bitstream, and the decoding equipment may decode the residual information from the bitstream and may extract the residual (quantized) transform coefficients. As described below, the residual information may include syntax elements representing whether or not a transform is applied to the corresponding block, where the location of the last effective transform coefficient in the block is, whether or not an effective transform coefficient exists in the sub-block, or what is the size/sign of the effective conversion factor.
[173] Между тем, например, модуль прогнозирования в оборудовании кодирования по фиг. 2 или модуль прогнозирования в оборудовании декодирования по фиг. 3 может выполнять внутреннее прогнозирование. В дальнейшем подробнее описывается внутреннее прогнозирование следующим образом.[173] Meanwhile, for example, the prediction unit in the encoding equipment of FIG. 2 or the predictor in the decoding equipment of FIG. 3 can perform intra prediction. In the following, the internal prediction is described in more detail as follows.
[174] Внутреннее прогнозирование может представлять прогнозирование для формирования прогнозных выборок для текущего блока на основе опорных выборок в кадре (далее "текущий кадр"), которому принадлежит текущий блок. В случае если внутреннее прогнозирование применяется к текущему блоку, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя выборку, смежную с левой границей текущего блока, имеющего размер nWxnH, и сумму 2xnH выборок, граничащих с левой нижней частью, выборки, смежной с верхней границей текущего блока, и сумму 2xnW выборок, граничащих с правой верхней частью, и одну выборку, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя верхнюю соседнюю выборку нескольких столбцов и левую соседнюю выборку нескольких строк. Альтернативно, соседние опорные выборки текущего блока могут включать в себя сумму nH выборок, смежных с правой границей текущего блока, имеющего размер nWxnH, сумму nH выборок, смежных с правой границей текущего блока, сумму nW выборок, смежных с нижней границей текущего блока, и одну выборку, граничащую с правым нижним из текущего блока.[174] Intra prediction may represent prediction for generating predictive samples for the current block based on reference samples in a frame (hereinafter, "current frame") to which the current block belongs. In case intra prediction is applied to the current block, adjacent reference samples to be used for intra prediction of the current block may be extracted. Adjacent reference samples of the current block may include the sample adjacent to the left boundary of the current block having size nWxnH and the sum of 2xnH samples adjacent to the lower left, the samples adjacent to the upper boundary of the current block, and the sum of 2xnW samples adjacent to the right the top part, and one selection bordering the left top part relative to the current block. Alternatively, the adjacent reference samples of the current block may include a top multiple column neighbor sample and a left multiple row neighbor sample. Alternatively, the adjacent reference samples of the current block may include the sum of the nH samples adjacent to the right boundary of the current block having size nWxnH, the sum of the nH samples adjacent to the right boundary of the current block, the sum of the nW samples adjacent to the lower boundary of the current block, and one the selection bordering the bottom right of the current block.
[175] Тем не менее, некоторые соседние опорные выборки текущего блока могут быть еще не декодированы или могут не быть доступными. В этом случае, декодер может конфигурировать соседние опорные выборки, которые должны использоваться для прогнозирования, через подстановку доступных выборок вместо недоступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут быть сконфигурированы через интерполяцию доступных выборок.[175] However, some adjacent reference samples of the current block may not yet be decoded or may not be available. In this case, the decoder may configure adjacent reference samples to be used for prediction by substituting available samples for unavailable samples. Alternatively, adjacent reference samples to be used for prediction may be configured through interpolation of the available samples.
[176] В случае если соседние опорные выборки извлекаются, (i) прогнозная выборка может логически выводиться на основе среднего или интерполяции соседних опорных выборок текущего блока, и (ii) прогнозная выборка может логически выводиться на основе опорной выборки, существующей в конкретном направлении (прогнозирования) относительно прогнозной выборки из соседних опорных выборок текущего блока. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом".[176] In case neighboring reference samples are extracted, (i) a predictive sample may be inferred based on an average or interpolation of neighboring reference samples of the current block, and (ii) a predictive sample may be inferred based on a reference sample existing in a particular direction (prediction ) relative to the predictive sample from neighboring reference samples of the current block. Case (i) may be referred to as "non-directional mode" or "non-angular mode", and case (ii) may be referred to as "directional mode" or "angular mode".
[177] Дополнительно, прогнозная выборка может формироваться через интерполяцию между первой соседней выборкой и второй соседней выборкой, расположенной в противоположном направлении относительно направления прогнозирования режима внутреннего прогнозирования текущего блока, на основе прогнозной выборки текущего блока из соседних опорных выборок. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Дополнительно, выборки прогнозирования сигналов цветности могут формироваться на основе выборок сигнала яркости с использованием линейной модели. Этот случай может называться "режимом на основе линейной модели (LM)". Альтернативно, прогнозная выборка текущего блока может извлекаться посредством извлечения временной прогнозной выборки текущего блока на основе фильтрованных соседних опорных выборок и выполнения взвешенного суммирования временной прогнозной выборки и по меньшей мере одной опорной выборки, извлекаемой в соответствии с режимом внутреннего прогнозирования, из нефильтрованных соседних опорных выборок. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)". Альтернативно, внутреннее прогнозирующее кодирование может выполняться в способе для извлечения прогнозной выборки с использованием опорной выборки, расположенной в направлении прогнозирования в опорной выборочной линии, имеющей наибольшую точность прогнозирования, посредством выбора соответствующей линии из соседних множественных опорных выборочных линий текущего блока, и для указания (передачи в служебных сигналах) опорной выборочной линии, используемой в это время, в оборудование декодирования. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL". Дополнительно, при выполнении внутреннего прогнозирования на основе идентичных режимов внутреннего прогнозирования через разделение текущего блока на вертикальные или горизонтальные субсегменты, соседние опорные выборки могут извлекаться и использоваться в единицах субсегментов. Таким образом, режим внутреннего прогнозирования для текущего блока может в равной степени применяться к субсегментам и в этом случае, поскольку соседние опорные выборки извлекаются и используются в единицах субсегмента, производительность внутреннего прогнозирования может повышаться в некоторых случаях. Этот способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP".[177] Additionally, a prediction sample may be generated through interpolation between a first neighbor sample and a second neighbor sample located in the opposite direction from the intra prediction mode prediction direction of the current block, based on the prediction sample of the current block from the neighbor reference samples. The above case may be referred to as "linear interpolation intra prediction (LIP)". Additionally, chroma prediction samples may be generated based on the luma samples using a linear model. This case may be referred to as "linear model (LM) mode". Alternatively, the current block prediction sample may be derived by extracting the current block temporal prediction sample based on the filtered neighboring reference samples and performing a weighted summation of the temporal prediction sample and at least one reference sample derived according to the intra prediction mode from the unfiltered neighboring reference samples. The above case may be referred to as "position dependent intra prediction (PDPC)". Alternatively, intra prediction coding may be performed in a method for extracting a prediction sample using a reference sample located in the prediction direction in the reference sample line having the highest prediction accuracy, by selecting the corresponding line from the adjacent multiple reference sample lines of the current block, and for indicating (transmitting in overhead) of the reference sample line in use at the time to the decoding equipment. The above case may be referred to as "multiple reference line (MRL) intra prediction" or "MRL intra prediction". Additionally, when performing intra prediction based on identical intra prediction modes by dividing the current block into vertical or horizontal sub-segments, adjacent reference samples may be extracted and used in sub-segment units. Thus, the intra prediction mode for the current block can equally apply to sub-segments, and in this case, since adjacent reference samples are extracted and used in sub-segment units, intra prediction performance can be improved in some cases. This prediction method may be referred to as "intra-sub-segment prediction (ISP) or ISP-based".
[178] Вышеописанные способы внутреннего прогнозирования могут называться "типом внутреннего прогнозирования" в отличие от режима внутреннего прогнозирования. Тип внутреннего прогнозирования может называться с помощью различных терминов, таких как "технология внутреннего прогнозирования" или "дополнительный режим внутреннего прогнозирования". Например, тип внутреннего прогнозирования (или дополнительный режим внутреннего прогнозирования) может включать в себя по меньшей мере одно из LIP, PDPC, MRL и ISP, как описано выше. Общий способ внутреннего прогнозирования, за исключением конкретного типа внутреннего прогнозирования, такого как LIP, PDPC, MRL или ISP, может называться "типом нормального внутреннего прогнозирования". В случае если вышеописанный конкретный тип внутреннего прогнозирования не применяется, тип нормального внутреннего прогнозирования, в общем, может применяться, и прогнозирование может выполняться на основе вышеописанного режима внутреннего прогнозирования. Между тем, по мере необходимости постфильтрация для извлеченной прогнозной выборки может выполняться.[178] The above-described intra prediction methods may be referred to as "intra prediction type" in contrast to the intra prediction mode. The type of intra prediction may be referred to by various terms such as "intra prediction technology" or "additional intra prediction mode". For example, the intra prediction type (or additional intra prediction mode) may include at least one of LIP, PDPC, MRL, and ISP as described above. The general intra prediction method except for a specific type of intra prediction such as LIP, PDPC, MRL, or ISP may be referred to as "normal intra prediction type". In case the above-described specific type of intra prediction is not applied, the normal intra prediction type may generally be applied, and prediction may be performed based on the above-described intra prediction mode. Meanwhile, as needed, post-filtering on the extracted predictive sample can be performed.
[179] Другими словами, процедура внутреннего прогнозирования может включать в себя определение режима/типа внутреннего прогнозирования, извлечение соседних опорных выборок и извлечение прогнозных выборок на основе режима/типа внутреннего прогнозирования. Дополнительно, по мере необходимости, постфильтрация для извлеченной прогнозной выборки может выполняться.[179] In other words, the intra prediction procedure may include determining an intra prediction mode/type, extracting neighboring reference samples, and extracting predictive samples based on the intra prediction mode/type. Additionally, as needed, post-filtering on the extracted predictive sample may be performed.
[180] Между тем, из вышеописанных типов внутреннего прогнозирования, ISP может разделять текущий блок в горизонтальном направлении или вертикальном направлении и может выполнять внутреннее прогнозирование в единицах разделенных блоков. Таким образом, ISP может извлекать субблоки посредством разделения текущего блока в горизонтальном направлении или вертикальном направлении и может выполнять внутреннее прогнозирование для каждого из субблоков. В этом случае, восстановленный блок может формироваться посредством выполнения кодирования/декодирования в единицах разделенных субблоков, и восстановленный блок может использоваться в качестве опорного блока следующего разделенного субблока. Здесь, субблок может называться "внутренним субсегментом".[180] Meanwhile, of the above-described types of intra prediction, the ISP may divide the current block in the horizontal direction or the vertical direction, and may perform intra prediction in units of divided blocks. Thus, the ISP can extract sub-blocks by dividing the current block in the horizontal direction or the vertical direction, and can perform intra prediction for each of the sub-blocks. In this case, a reconstructed block may be generated by performing encoding/decoding in units of divided sub-blocks, and the reconstructed block may be used as a reference block of the next divided sub-block. Here, a sub-unit may be referred to as an "inner sub-segment".
[181] Например, в случае если ISP применяется, текущий блок может разделяться на два или четыре субблока в вертикальном или горизонтальном направлении на основе размера текущего блока.[181] For example, in the case where ISP is applied, the current block may be divided into two or four sub-blocks in the vertical or horizontal direction based on the size of the current block.
[182] Например, чтобы применять ISP, флаг, представляющий то, следует или нет применять ISP, может передаваться в единицах блоков, и в случае, если ISP применяется к текущему блоку, флаг, представляющий то, является тип сегментации горизонтальным или вертикальным, т.е. то, представляет направление сегментации собой горизонтальное направление или вертикальное направление, может кодироваться/декодироваться. Флаг, представляющий то, следует или нет применять ISP, может называться "ISP-флагом", и ISP-флаг может представляться как синтаксический элемент intra_subpartitions_mode_flag. Дополнительно, флаг, представляющий тип сегментации, может называться "флагом ISP-сегментации", и флаг ISP-сегментации может представляться как синтаксический элемент intra_subpartitions_split_flag.[182] For example, to apply the ISP, a flag representing whether or not to apply the ISP may be transmitted in units of blocks, and in case the ISP is applied to the current block, the flag representing whether the segmentation type is horizontal or vertical, i.e. .e. whether the segmentation direction is the horizontal direction or the vertical direction may be encoded/decoded. A flag representing whether or not an ISP should be applied may be referred to as an "ISP flag", and the ISP flag may be represented as an intra_subpartitions_mode_flag syntax element. Additionally, a flag representing a segmentation type may be referred to as an "ISP segmentation flag", and an ISP segmentation flag may be represented as an intra_subpartitions_split_flag syntax element.
[183] Например, посредством ISP-флага или флага ISP-сегментации, может представляться информация, представляющая то, что ISP не применяется к текущему блоку (IntraSubPartitionsSplitType==ISP_NO_SPLIT), информация, представляющая сегментацию в горизонтальном направлении (IntraSubPartitionsSplitType==ISP_HOR_SPLIT), информация, представляющая сегментацию в вертикальном направлении (IntraSubPartitionsSplitType==ISP_VER_SPLIT). Например, ISP-флаг или флаг ISP-сегментации может называться "связанной с ISP информацией" относительно субсегментации блока.[183] For example, by means of an ISP flag or an ISP segmentation flag, information representing that ISP is not applied to the current block (IntraSubPartitionsSplitType==ISP_NO_SPLIT), information representing segmentation in the horizontal direction (IntraSubPartitionsSplitType==ISP_HOR_SPLIT), information representing segmentation in the vertical direction (IntraSubPartitionsSplitType==ISP_VER_SPLIT). For example, an ISP flag or an ISP segmentation flag may be referred to as "ISP related information" regarding block subsegmentation.
[184] Между тем, в дополнение к вышеописанным типам внутреннего прогнозирования, аффинное линейное взвешенное внутреннее прогнозирование (ALWIP) может использоваться. ALWIP может называться "линейным взвешенным внутренним прогнозированием (LWIP)", "матричным взвешенным внутренним прогнозированием (MWIP)" или "матричным внутренним прогнозированием (MIP)". В случае если ALWIP применяется к текущему блоку, i) с использованием соседних опорных выборок, для которых процедура усреднения выполнена, ii) процедура матрично-векторного умножения может выполняться, и iii) по мере необходимости, прогнозные выборки для текущего блока могут извлекаться посредством дополнительного выполнения процедуры горизонтальной/вертикальной интерполяции.[184] Meanwhile, in addition to the above-described types of intra prediction, affine linear weighted intra prediction (ALWIP) can be used. ALWIP may be referred to as "linear weighted intra prediction (LWIP)", "matrix weighted intra prediction (MWIP)", or "matrix intra prediction (MIP)". In case ALWIP is applied to the current block, i) using adjacent reference samples for which the averaging procedure is performed, ii) the matrix-vector multiplication procedure can be performed, and iii) as necessary, the prediction samples for the current block can be extracted by additional execution horizontal/vertical interpolation procedures.
[185] Режимы внутреннего прогнозирования, используемые для ALWIP, могут представлять собой вышеописанное внутреннее LIP-, PDPC-, MRL- или ISP-прогнозирование, но могут быть сконфигурированы по-другому по сравнению с режимами внутреннего прогнозирования, используемыми при нормальном внутреннем прогнозировании. Режим внутреннего прогнозирования для ALWIP может называться "ALWIP-режимом". Например, в соответствии с режимом внутреннего прогнозирования для ALWIP, матрица и смещение, используемые в матрично-векторном умножении, могут быть сконфигурированы по-другому. Здесь, матрица может называться "(аффинной) матрицей весовых коэффициентов", и смещение может называться "(аффинным) вектором смещения" или "(аффинным) вектором сдвига". В настоящем документе, режим внутреннего прогнозирования для ALWIP может называться "ALWIP-режимом", "ALWIP-режимом внутреннего прогнозирования", "LWIP-режимом", "LWIP-режимом внутреннего прогнозирования", "MWIP-режимом", "MWIP-режимом внутреннего прогнозирования", "MIP-режимом" или "MIP-режимом внутреннего прогнозирования". Ниже описывается подробный ALWIP-способ.[185] The intra prediction modes used for ALWIP may be the intra LIP, PDPC, MRL or ISP prediction described above, but may be configured differently compared to the intra prediction modes used in normal intra prediction. The intra prediction mode for ALWIP may be referred to as "ALWIP mode". For example, according to the intra prediction mode for ALWIP, the matrix and bias used in matrix vector multiplication may be configured differently. Here, the matrix may be referred to as a "(affine) weight matrix", and the bias may be referred to as a "(affine) bias vector" or "(affine) shift vector". Herein, the intra prediction mode for ALWIP may be referred to as "ALWIP mode", "ALWIP intra prediction mode", "LWIP mode", "LWIP intra prediction mode", "MWIP mode", "MWIP intra prediction mode", "MWIP mode". prediction", "MIP mode", or "MIP mode of intra prediction". The detailed ALWIP method is described below.
[186] Фиг. 9 является схемой, поясняющей MIP для блока 8×8.[186] FIG. 9 is a diagram explaining the MIP for an 8×8 block.
[187] Чтобы прогнозировать выборки прямоугольного блока, имеющего ширину W и высоту H, MIP может использовать выборки, граничащие с левой границей блока, и выборки, граничащей с верхней границей. Здесь, выборки, граничащие с левой границей, могут представлять выборки, расположенные в одной линии, смежной с левой границей блока, и могут представлять восстановленные выборки. Выборки, граничащие с верхней границей, могут представлять выборки, расположенные в одной линии, смежной с верхней границей блока, и могут представлять восстановленные выборки.[187] To predict the samples of a rectangular block having a width W and a height H, MIP may use the samples bordering the left border of the block and the samples bordering the top border. Here, the samples adjacent to the left border may represent samples located in the same line adjacent to the left border of the block and may represent reconstructed samples. Samples adjacent to the top border may represent samples located in the same line adjacent to the top border of the block, and may represent reconstructed samples.
[188] Например, если восстановленные выборки не доступны, восстановленные выборки, аналогично внутреннему прогнозированию в предшествующем уровне техники, могут формироваться или извлекаться и могут использоваться.[188] For example, if reconstructed samples are not available, reconstructed samples, similar to prior art intra prediction, may be generated or retrieved and may be used.
[189] Прогнозный сигнал (или прогнозные выборки) может формироваться на основе процесса усреднения, процесса матрично-векторного умножения и процесса (линейной) интерполяции.[189] The predictive signal (or predictive samples) may be generated based on an averaging process, a matrix vector multiplication process, and a (linear) interpolation process.
[190] Например, процесс усреднения может представлять собой процесс для извлечения выборок из границы через усреднение. Например, если ширина W и высота H выборок равны 4, извлекаемые выборки могут представлять собой четыре выборки и могут представлять собой 8 выборок в другом случае. Например, на фиг. 9, bdryleft и bdrytop могут представлять извлеченные левые выборки и верхние выборки, соответственно.[190] For example, the averaging process may be a process for extracting samples from a boundary through averaging. For example, if the width W and the height H of the samples are 4, the extracted samples may be four samples, and may be 8 samples otherwise. For example, in FIG. 9, bdryleft and bdrytop may represent the extracted left samples and top samples, respectively.
[191] Например, процесс матрично-векторного умножения может представлять собой процесс выполнения матрично-векторного умножения с усредненными выборками в качестве вводов. Дополнительно, смещение может добавляться. Например, на фиг. 9, Ak может представлять матрицу, bk может представлять смещение, и bdryred может представлять собой сокращенный сигнал для выборок, извлеченных через процесс усреднения. Дополнительно, bdryred может представлять собой сокращенную информацию относительно bdryleft и bdrytop. Результат может представлять собой сокращенный прогнозный сигнал predred для набора субдискретизированных выборок в исходном блоке.[191] For example, the process of matrix-vector multiplication may be a process of performing matrix-vector multiplication with averaged samples as inputs. Additionally, an offset may be added. For example, in FIG. 9, Ak may represent a matrix, bk may represent an offset, and bdryred may represent a reduced signal for the samples extracted through the averaging process. Additionally, bdryred may be shorthand for bdryleft and bdrytop. The result may be a reduced predictive signal predred for the set of downsampled samples in the original block.
[192] Например, процесс (линейной) интерполяции может представлять собой процесс, в котором прогнозный сигнал формируется в оставшихся местоположениях из прогнозного сигнала для набора, субдискретизированного посредством линейной интерполяции. Здесь, линейная интерполяция может представлять одну линейную интерполяцию в соответствующих направлениях. Например, линейная интерполяция может выполняться на основе сокращенного прогнозного сигнала predred, помеченного серым цветом в блоке на фиг. 9, и соседних граничных выборок, и за счет этого все прогнозные выборки в блоке могут извлекаться.[192] For example, the (linear) interpolation process may be a process in which the predictive signal is generated at the remaining locations from the predictive signal for the set downsampled by linear interpolation. Here, the linear interpolation may represent one linear interpolation in the respective directions. For example, linear interpolation may be performed based on the reduced predictive signal predred marked in gray in the block in FIG. 9 and neighboring edge samples, and thereby all predictive samples in the block can be extracted.
[193] Например, матрицы (Ak на фиг. 9) и векторы смещения (bk на фиг. 9), требуемые для того, чтобы формировать прогнозный сигнал (либо выборки блоков прогнозирования или прогнозные выборки), могут получаться из трех наборов S0, S1 и S2. Например, набор S0 может состоять из 18 матриц (A0 i, i=0, 1, ...,1, ..., 17) и 18 векторов смещения (b0 i, i=0, 1, ..., 17). Здесь, каждая из 18 матриц может иметь 16 строки и 4 столбцов, и каждый из 18 векторов смещения может иметь 16 размера. Матрицы и векторы смещения набора S0 могут использоваться для блока, имеющего размер 4×4. Например, набор S1 может состоять из 10 матриц (A1 i, i=0, 1, ..., 9) и 10 векторов смещения (b1 i, i=0, 1, ..., 9). Здесь, каждая из 10 матриц может иметь 16 строки и 8 столбцов, и каждый из 10 векторов смещения может иметь 16 размера. Матрицы и векторы смещения набора S1 могут использоваться для блока, имеющего размер 4×8, 8×4 или 8×8. Например, набор S2 может состоять из 6 матриц (A2 i, i=0, 1, ..., 5) и 6 векторов смещения (b2 i, i=0, 1, ..., 5). Здесь, каждая из 6 матриц может иметь 64 строки и 8 столбцов, и каждый из 6 векторов смещения может иметь 64 размера. Матрицы и векторы смещения набора S2 могут использоваться для всех оставшихся блоков.[193] For example, matrices (Ak in FIG. 9) and bias vectors (bk in FIG. 9) required to generate a predictive signal (either prediction block samples or predictive samples) can be obtained from the three sets S0, S1 and S2. For example, the set S0 may consist of 18 matrices (A 0 i , i=0, 1, ...,1, ..., 17) and 18 bias vectors (b 0 i , i=0, 1, ... , 17). Here, each of the 18 matrices can have 16 rows and 4 columns, and each of the 18 displacement vectors can have 16 sizes. The offset matrices and vectors of the set S0 may be used for a block having a size of 4×4. For example, the set S1 may consist of 10 matrices (A 1 i , i=0, 1, ..., 9) and 10 bias vectors (b 1 i , i=0, 1, ..., 9). Here, each of the 10 matrices can have 16 rows and 8 columns, and each of the 10 displacement vectors can have 16 sizes. The offset matrices and vectors of set S1 may be used for a block having a size of 4x8, 8x4, or 8x8. For example, the set S2 may consist of 6 matrices (A 2 i , i=0, 1, ..., 5) and 6 bias vectors (b 2 i , i=0, 1, ..., 5). Here, each of the 6 matrices can have 64 rows and 8 columns, and each of the 6 displacement vectors can have 64 sizes. The offset matrices and vectors of set S2 can be used for all remaining blocks.
[194] Между тем, в варианте осуществления настоящего документа, информация LFNST-индекса может передаваться в служебных сигналах относительно блока, к которому применяется MIP. Альтернативно, оборудование кодирования может формировать поток битов посредством кодирования информации LFNST-индекса для преобразования блока, к которому применяется MIP, и оборудование декодирования может получать информацию LFNST-индекса для преобразования блока, к которому применяется MIP, посредством синтаксического анализа или декодирования потока битов.[194] Meanwhile, in an embodiment of the present document, LFNST index information may be signaled with respect to a block to which MIP is applied. Alternatively, the encoding equipment may generate a bitstream by encoding the LFNST index information to transform the block to which MIP is applied, and the decoding equipment may obtain LFNST index information to transform the block to which MIP is applied by parsing or decoding the bitstream.
[195] Например, информация LFNST-индекса может представлять собой информацию для различения набора LFNST-преобразования в соответствии с числом преобразований, составляющих набор для преобразования. Например, оптимальное LFNST-ядро может выбираться относительно блока, в котором внутреннее прогнозирование, к которому MIP применяется на основе информации LFNST-индекса. Например, информация LFNST-индекса может представляться как синтаксический элемент st_idx или синтаксический элемент lfnst_idx.[195] For example, the LFNST index information may be information for distinguishing the LFNST transform set according to the number of transforms constituting the transform set. For example, the optimal LFNST core may be selected with respect to the block in which the intra prediction to which MIP is applied based on the LFNST index information. For example, the LFNST index information may be represented as the st_idx syntax element or the lfnst_idx syntax element.
[196] Например, информация LFNST-индекса (или синтаксический элемент st_idx) может включаться в синтаксис, как указано в следующих таблицах.[196] For example, LFNST index information (or the st_idx syntax element) may be included in the syntax as indicated in the following tables.
[197] Табл. 2[197] Tab. 2
[198] Табл. 3[198] Tab. 3
[199] Табл. 4[199] Tab. 4
[200] Табл. 5[200] Tab. 5
[201] Таблицы 2-5, как описано выше, могут последовательно представлять один синтаксис или информацию.[201] Tables 2-5, as described above, may sequentially represent one syntax or information.
[202] Например, в таблицах 2-5, информация или семантика, представленная посредством синтаксического элемента intra_mip_flag, синтаксического элемента intra_mip_mpm_flag, синтаксического элемента intra_mip_mpm_idx, синтаксического элемента intra_mip_mpm_remainder или синтаксического элемента st_idx, может быть такой, как указано в следующей таблице.[202] For example, in Tables 2-5, the information or semantics represented by the intra_mip_flag syntax element, the intra_mip_mpm_flag syntax element, the intra_mip_mpm_idx syntax element, the intra_mip_mpm_remainder syntax element, or the st_idx syntax element may be as indicated in the following table.
[203] Табл. 6[203] Tab. 6
- intra_mip_flag[x0][y0], равный 1, указывает то, что тип внутреннего прогнозирования для выборок сигнала яркости представляет собой матричное внутреннее прогнозирование; intra_mip_flag[x0][y0], равный 0, указывает то, что тип внутреннего прогнозирования для выборок сигнала яркости не представляет собой матричное внутреннее прогнозирование.- intra_mip_flag[x0][y0] equal to 1 indicates that the type of intra prediction for luma samples is matrix intra prediction; intra_mip_flag[x0][y0] equal to 0 indicates that the type of intra prediction for luma samples is not matrix intra prediction.
Когда intra_mip_flag[x0][y0] не присутствует, он может логически выводиться как равный 0.When intra_mip_flag[x0][y0] is not present, it may be logically inferred to be 0.
Синтаксические элементы intra_mip_mpm_flag[x0][y0], intra_mip_mpm_idx[x0][y0] и intra_mip_mpm_remainder[x0][y0] указывают режим матричного внутреннего прогнозирования для выборок сигнала яркости. Индексы x0, y0 массивов указывают местоположение (x0, y0) левой верхней выборки сигнала яркости рассматриваемого блока кодирования относительно левой верхней выборки сигнала яркости кинокадра.The syntax elements intra_mip_mpm_flag[x0][y0], intra_mip_mpm_idx[x0][y0] and intra_mip_mpm_remainder[x0][y0] indicate the matrix intra prediction mode for luminance samples. The array indexes x0, y0 indicate the location (x0, y0) of the top left luma sample of the coding block in question, relative to the top left luma sample of the movie frame.
Когда intra_mip_mpm_flag[x0][y0] равен 1, режим матричного внутреннего прогнозирования логически выводится из соседней внутренне прогнозированной единицы кодирования.When intra_mip_mpm_flag[x0][y0] is equal to 1, the matrix intra prediction mode is inferred from an adjacent intra predicted coding unit.
Когда intra_mip_mpm_flag[x0][y0] не присутствует, он может логически выводиться как равный 1.When intra_mip_mpm_flag[x0][y0] is not present, it may be logically inferred to be 1.
- st_idx[x0][y0] указывает то, какие ядра преобразования (LFNST-ядра) применяются к LFNST для текущего блока, st_idx может указывать одно из ядер преобразования в наборе LFNST-преобразования, которое может определяться на основе внутреннего/взаимного прогнозирования и/или размера блока текущего блока.- st_idx[x0][y0] indicates which transform kernels (LFNST kernels) are applied to the LFNST for the current block, st_idx may indicate one of the transform kernels in the LFNST transform set, which may be determined based on intra/inter prediction and/ or the block size of the current block.
[204] Например, синтаксический элемент intra_mip_flag может представлять информацию относительно того, применяется либо нет MIP к выборкам сигнала яркости или текущему блоку. Дополнительно, например, синтаксический элемент intra_mip_mpm_flag, синтаксический элемент intra_mip_mpm_idx или синтаксический элемент intra_mip_mpm_remainder может представлять информацию относительно режима внутреннего прогнозирования, который должен применяться к текущему блоку в случае, если MIP применяется. Дополнительно, например, синтаксический элемент st_idx может представлять информацию относительно ядра преобразования (LFNST-ядра), которое должно применяться к LFNST для текущего блока. Таким образом, синтаксический элемент st_idx может представлять собой информацию, представляющую одно из ядер преобразования в наборе LFNST-преобразования. Здесь, синтаксический элемент st_idx может представляться как синтаксический элемент lfnst_idx или информация LFNST-индекса.[204] For example, the intra_mip_flag syntax element may represent information regarding whether or not MIP is applied to luma samples or the current block. Additionally, for example, the intra_mip_mpm_flag syntax element, the intra_mip_mpm_idx syntax element, or the intra_mip_mpm_remainder syntax element may represent information regarding the intra prediction mode to be applied to the current block in case MIP is applied. Additionally, for example, the st_idx syntax element may represent information regarding a transformation kernel (LFNST kernel) to be applied to the LFNST for the current block. Thus, the st_idx syntax element may be information representing one of the transformation kernels in the LFNST transformation set. Here, the st_idx syntax element may be represented as the lfnst_idx syntax element or LFNST index information.
[205] Фиг. 10 является блок-схемой последовательности операций, поясняющей способ, к которому применяются MIP и LFNST.[205] FIG. 10 is a flowchart explaining the method to which MIP and LFNST are applied.
[206] Между тем, другой вариант осуществления настоящего документа может не передавать в служебных сигналах информацию LFNST-индекса относительно блока, к которому применяется MIP. Дополнительно, оборудование кодирования может формировать поток битов посредством кодирования информации изображений, за исключением информации LFNST-индекса для преобразования блока, к которому применяется MIP, и оборудование декодирования может синтаксически анализировать или декодировать поток битов и может выполнять процесс преобразования блока без информации LFNST-индекса для преобразования блока, к которому применяется MIP.[206] Meanwhile, another embodiment of the present document may not signal the LFNST index information regarding the block to which the MIP is applied. Further, the encoding equipment may generate a bitstream by encoding image information except for the LFNST index information for transforming a block to which MIP is applied, and the decoding equipment may parse or decode the bitstream and may perform a block transform process without LFNST index information for the transformation of the block to which the MIP is applied.
[207] Например, если информация LFNST-индекса не передается в служебных сигналах, информация LFNST-индекса может логически выводиться в качестве значения по умолчанию. Например, информация LFNST-индекса, логически выведенная в качестве значения по умолчанию, может представлять собой значение 0. Например, информация LFNST-индекса, имеющая значение 0, может представлять то, что LFNST не применяется к соответствующему блоку. В этом случае, поскольку информация LFNST-индекса не передается, объем в битах для кодирования информации LFNST-индекса может уменьшаться. Дополнительно, сложность может уменьшаться за счет предотвращения одновременного применения MIP и LFNST, и в силу этого время задержки также может уменьшаться.[207] For example, if the LFNST index information is not signaled, the LFNST index information may be inferred as a default value. For example, LFNST index information inferred as a default value may represent the
[208] Ссылаясь на фиг. 10, может сначала определяться то, применяется или нет MIP к соответствующему блоку. Таким образом, может определяться то, равно 1 или 0 либо нет значение синтаксического элемента intra_mip_flag (S1000). Например, если значение синтаксического элемента intra_mip_flag равно 1, он может считаться представляющим собой "истина" или "Да", и это может представлять то, что MIP применяется к соответствующему блоку. Соответственно, MIP-прогнозирование может выполняться для соответствующего блока (S1010). Таким образом, блок прогнозирования для соответствующего блока может извлекаться посредством выполнения MIP-прогнозирования. После этого, процедура обратного первичного преобразования может выполняться (S1020), и процедура внутреннего восстановления может выполняться (S1030). Другими словами, остаточный блок может извлекаться посредством выполнения обратного первичного преобразования относительно коэффициентов преобразования, полученных из потока битов, и восстановленный блок может формироваться на основе блока прогнозирования согласно MIP-прогнозированию и остаточному блоку. Таким образом, информация LFNST-индекса для блока, к которому применяется MIP, может не включаться. Дополнительно, LFNST может не применяться к блоку, к которому применяется MIP.[208] Referring to FIG. 10, it may first be determined whether or not the MIP is applied to the corresponding block. Thus, it can be determined whether the value of the syntax element intra_mip_flag is 1 or 0 or not (S1000). For example, if the value of the intra_mip_flag syntax element is 1, it may be considered to represent "true" or "Yes", and this may represent that the MIP is applied to the corresponding block. Accordingly, MIP prediction may be performed for the corresponding block (S1010). Thus, a prediction block for the corresponding block can be retrieved by performing MIP prediction. Thereafter, the inverse primary conversion procedure may be performed (S1020) and the internal recovery procedure may be performed (S1030). In other words, the residual block may be extracted by performing an inverse primary transform on the transform coefficients obtained from the bit stream, and the reconstructed block may be generated based on the prediction block according to the MIP prediction and the residual block. Thus, LFNST index information for a block to which MIP is applied may not be included. Additionally, LFNST may not be applied to the block to which the MIP is applied.
[209] Дополнительно, например, если значение синтаксического элемента intra_mip_flag равно 0, он может считаться представляющим собой "ложь" или "Нет", и это может представлять то, что MIP не применяется к соответствующему блоку. Таким образом, традиционное внутреннее прогнозирование может применяться к соответствующему блоку (S1040). Таким образом, блок прогнозирования для соответствующего блока может извлекаться посредством выполнения традиционного внутреннего прогнозирования. После этого, может определяться то, применяется или нет LFNST к соответствующему блоку, на основе информации LFNST-индекса. Другими словами, может определяться то, больше 0 или нет значение синтаксического элемента st_idex (S1050). Например, если значение синтаксического элемента st_idex больше 0, процедура обратного LFNST-преобразования может выполняться с использованием ядра преобразования, представленного посредством синтаксического элемента st_idex (S1060). Дополнительно, если значение синтаксического элемента st_idex не превышает 0, оно может представлять то, что LFNST не применяется к соответствующему блоку, и процедура обратного LFNST-преобразования может не выполняться. После этого, процедура обратного первичного преобразования может выполняться (S1020), и процедура внутреннего восстановления может выполняться (S1030). Другими словами, остаточный блок может извлекаться посредством выполнения обратного первичного преобразования относительно коэффициентов преобразования, полученных из потока битов, и восстановленный блок может формироваться на основе блока прогнозирования согласно традиционному внутреннему прогнозированию и остаточному блоку.[209] Additionally, for example, if the value of the intra_mip_flag syntax element is 0, it may be considered to represent "false" or "No", and this may represent that the MIP is not applied to the corresponding block. Thus, conventional intra prediction can be applied to the corresponding block (S1040). Thus, a prediction block for the corresponding block can be retrieved by performing conventional intra prediction. Thereafter, it may be determined whether or not the LFNST is applied to the corresponding block based on the LFNST index information. In other words, it may be determined whether or not the value of the syntax element st_idex is greater than 0 (S1050). For example, if the value of the st_idex syntax element is greater than 0, the inverse LFNST transformation procedure may be performed using the transformation kernel represented by the st_idex syntax element (S1060). Additionally, if the value of the st_idex syntax element is not greater than 0, it may represent that LFNST is not applied to the corresponding block, and the LFNST inverse transform procedure may not be performed. Thereafter, the inverse primary conversion procedure may be performed (S1020) and the internal recovery procedure may be performed (S1030). In other words, the residual block may be extracted by performing an inverse primary transform on the transform coefficients obtained from the bitstream, and the reconstructed block may be generated based on the prediction block according to conventional intra prediction and the residual block.
[210] В общих словах, если MIP применяется, блок MIP-прогнозирования может формироваться без декодирования информации LFNST-индекса, и конечный сигнал внутреннего восстановления может формироваться посредством применения обратного первичного преобразования к принимаемому коэффициенту.[210] In general, if MIP is applied, a MIP prediction block may be generated without decoding the LFNST index information, and the final intra recovery signal may be generated by applying an inverse primary transform to the received coefficient.
[211] Напротив, если MIP не применяется, информация LFNST-индекса может декодироваться, и если значение флага (либо информации LFNST-индекса или синтаксического элемента st_idx) больше 0, конечный сигнал внутреннего восстановления может формироваться посредством применения обратного LFNST-преобразования и обратного первичного преобразования относительно принимаемого коэффициента.[211] Conversely, if MIP is not applied, the LFNST index information may be decoded, and if the value of the flag (either the LFNST index information or the st_idx syntax element) is greater than 0, the final internal recovery signal may be generated by applying an inverse LFNST transform and an inverse primary conversion relative to the received coefficient.
[212] Например, для вышеописанной процедуры, информация LFNST-индекса (или синтаксический элемент st_idx) может включаться в синтаксис или информацию изображений на основе информации (или синтаксического элемента intra_mip_flag) относительно того, применяется или нет MIP, и может передаваться в служебных сигналах. Дополнительно, информация LFNST-индекса (или синтаксический элемент st_idx) может избирательно конфигурироваться/синтаксически анализироваться/передаваться в служебных сигналах/передаваться/приниматься со ссылкой на информацию (или синтаксический элемент intra_mip_flag) относительно того, применяется или нет MIP. Например, информация LFNST-индекса может представляться как синтаксический элемент st_idx или синтаксический элемент lfnst_idex.[212] For example, for the above procedure, LFNST index information (or the st_idx syntax element) may be included in the syntax or image information based on information (or the intra_mip_flag syntax element) as to whether MIP is applied or not, and may be signaled. Additionally, the LFNST index information (or the st_idx syntax element) can be selectively configured/parsed/signaled/transmitted/received with reference to information (or the intra_mip_flag syntax element) regarding whether or not MIP is applied. For example, the LFNST index information may be represented as the st_idx syntax element or the lfnst_idex syntax element.
[213] Например, информация LFNST-индекса (или синтаксический элемент st_idx) может включаться так, как указано в нижеприведенной таблице 7.[213] For example, LFNST index information (or st_idx syntax element) may be included as indicated in Table 7 below.
[214] Табл. 7[214] Tab. 7
[215] Например, ссылаясь на таблицу 7, синтаксический элемент st_idx может включаться на основе синтаксического элемента intra_mip_flag. Другими словами, если значение синтаксического элемента intra_mip_flag равно 0 (!intra_mip_flag), синтаксический элемент st_idx может включаться.[215] For example, referring to Table 7, the st_idx syntax element may be included based on the intra_mip_flag syntax element. In other words, if the value of the intra_mip_flag syntax element is 0 (!intra_mip_flag), the st_idx syntax element may be included.
[216] Дополнительно, например, информация LFNST-индекса (или синтаксический элемент lfnst_idx) может включаться так, как указано в нижеприведенной таблице 8.[216] Additionally, for example, LFNST index information (or the lfnst_idx syntax element) may be included as indicated in Table 8 below.
[217] Табл. 8[217] Tab. 8
[218] Например, ссылаясь на таблицу 8, синтаксический элемент lfnst_idx может включаться на основе синтаксического элемента intra_mip_flag. Другими словами, если значение синтаксического элемента intra_mip_flag равно 0 (!intra_mip_flag), синтаксический элемент lfnst_idx может включаться.[218] For example, referring to Table 8, the lfnst_idx syntax element may be included based on the intra_mip_flag syntax element. In other words, if the value of the intra_mip_flag syntax element is 0 (!intra_mip_flag), the lfnst_idx syntax element may be included.
[219] Например, ссылаясь на таблицу 7 или таблицу 8, синтаксический элемент st_idx или синтаксический элемент lfnst_idx может включаться на основе связанной с режимом на основе внутренних субсегментов (ISP) информации относительно субсегментации блока. Например, связанная с ISP информация может включать в себя ISP-флаг или флаг ISP-сегментации, и за счет этого может представляться информация относительно того, выполняется или нет субсегментация относительно блока. Например, информация относительно того, выполняется или нет субсегментация, может представляться как IntraSubPartitionsSplitType, ISP_NO_SPLIT может представлять то, что субсегментация не выполняется, ISP_HOR_SPLIT может представлять то, что субсегментация выполняется в горизонтальном направлении, и ISP_VER_SPLIT может представлять то, что субсегментация выполняется в вертикальном направлении.[219] For example, referring to Table 7 or Table 8, the st_idx syntax element or the lfnst_idx syntax element may be included based on intra-subsegment-based (ISP) mode-related information regarding block sub-segmentation. For example, the ISP-related information may include an ISP flag or an ISP segmentation flag, and thereby information regarding whether or not sub-segmentation is performed with respect to a block may be presented. For example, information regarding whether or not sub-segmentation is performed may be represented as IntraSubPartitionsSplitType, ISP_NO_SPLIT may represent that sub-segmentation is not performed, ISP_HOR_SPLIT may represent that sub-segmentation is performed in the horizontal direction, and ISP_VER_SPLIT may represent that sub-segmentation is performed in the vertical direction. .
[220] Связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага и связанной с ISP информации.[220] The associated residual information may include LFNST index information based on the MIP flag and ISP related information.
[221] Между тем, в другом варианте осуществления настоящего документа, информация LFNST-индекса может логически выводиться относительно блока, к которому применяется MIP, без отдельной передачи в служебных сигналах. Дополнительно, оборудование кодирования может формировать поток битов посредством кодирования информации изображений, за исключением информации LFNST-индекса, чтобы преобразовывать блок, к которому применяется MIP, и оборудование декодирования может синтаксически анализировать или декодировать поток битов, логически выводить и получать информацию LFNST-индекса, чтобы преобразовывать блок, к которому применяется MIP, и выполнять процесс преобразования блока на его основе.[221] Meanwhile, in another embodiment of the present document, LFNST index information can be inferred regarding the block to which MIP is applied without separate signaling. Further, the encoding equipment may generate a bitstream by encoding image information except for the LFNST index information to transform the block to which the MIP is applied, and the decoding equipment may parse or decode the bitstream, infer, and obtain the LFNST index information to transform the block to which the MIP is applied, and perform the block transformation process based on it.
[222] Таким образом, информация LFNST-индекса может не декодироваться относительно соответствующего блока, но через процесс логического вывода, индекс для сегментации преобразований, составляющих набор LFNST-преобразования, может определяться. Дополнительно, через процесс логического вывода, может определяться то, что отдельное оптимизированное ядро преобразования используется для блока, к которому применяется MIP. В этом случае, оптимальное LFNST-ядро может выбираться относительно блока, к которому применяется MIP, и объем в битах для его кодирования может уменьшаться.[222] Thus, the LFNST index information may not be decoded with respect to the corresponding block, but through an inference process, an index for segmenting the transforms constituting the LFNST transform set may be determined. Additionally, through the inference process, it may be determined that a separate optimized transformation kernel is used for the block to which the MIP is applied. In this case, the optimal LFNST core may be selected relative to the block to which the MIP is applied, and the bit size for encoding it may be reduced.
[223] Например, информация LFNST-индекса может логически выводиться на основе по меньшей мере одной из информации индекса опорной линии для внутреннего прогнозирования, информации режима внутреннего прогнозирования, информации размера блока или информации MIP-применения/неприменения.[223] For example, LFNST index information may be inferred based on at least one of intra prediction reference line index information, intra prediction mode information, block size information, or MIP application/non-application information.
[224] Между тем, в другом варианте осуществления настоящего документа, информация LFNST-индекса для блока, к которому применяется MIP, может преобразовываться в двоичную форму, чтобы передаваться в служебных сигналах. Например, число применимых LFNST-преобразований может отличаться в зависимости от того, применяется или нет MIP к текущему блоку, и для этого, способ преобразования в двоичную форму для получения информации LFNST-индекса может избирательно переключаться.[224] Meanwhile, in another embodiment of the present document, LFNST index information for a block to which MIP is applied may be binarized to be signaled. For example, the number of applicable LFNST transformations may differ depending on whether or not MIP is applied to the current block, and to this end, the binarization method for obtaining LFNST index information may be selectively switched.
[225] Например, одно LFNST-ядро может использоваться относительно блока, к которому применяется MIP, и это ядро может представлять собой одно из LFNST-ядер, применяемых к блоку, к которому не применяется MIP. Дополнительно, используемое существующее LFNST-ядро может не использоваться для блока, к которому применяется MIP, но отдельное ядро, оптимизированное для блока, к которому применяется MIP, может задаваться и использоваться.[225] For example, one LFNST core may be used relative to a block to which MIP is applied, and this core may be one of the LFNST cores applied to a block to which no MIP is applied. Additionally, an existing LFNST core used may not be used for the block to which the MIP is applied, but a separate kernel optimized for the block to which the MIP is applied may be defined and used.
[226] В этом случае, поскольку сокращенное число LFNST-ядер используется относительно блока, к которому применяется MIP, по сравнению с числом LFNST-ядер для блока, к которому не применяется MIP, служебная информация вследствие передачи в служебных сигналах информации LFNST-индекса может уменьшаться, и сложность может уменьшаться.[226] In this case, since a reduced number of LFNST cores is used with respect to a block to which MIP is applied compared to the number of LFNST cores for a block to which no MIP is applied, the overhead due to the signaling of the LFNST index information may decrease, and the complexity may decrease.
[227] Например, информация LFNST-индекса может использовать способ преобразования в двоичную форму, как указано в следующей таблице.[227] For example, the LFNST index information may use a binarization method as indicated in the following table.
[228] Табл. 9[228] Tab. 9
[229] Ссылаясь на таблицу 9, например, синтаксический элемент st_idx может преобразовываться в двоичную форму в усеченный код Райса (TR) в случае, если MIP не применяется к соответствующему блоку, в случае intra_mip_flag[][]=="ложь", или в случае, если значение синтаксического элемента intra_mip_flag равно 0. В этом случае, например, cMax, который представляет собой входной параметр, может иметь значение 2, и cRiceParam может иметь значение 0.[229] Referring to Table 9, for example, the st_idx syntax element may be binarized to a truncated Rice (TR) code in case MIP is not applied to the corresponding block, in case of intra_mip_flag[][]=="false", or in case the value of the intra_mip_flag syntax element is 0. In this case, for example, cMax, which is an input parameter, may have a value of 2, and cRiceParam may have a value of 0.
[230] Дополнительно, например, синтаксический элемент st_idx может преобразовываться в двоичную форму в фиксированную длину (FL) в случае, если MIP применяется к соответствующему блоку, в случае intra_mip_flag[][]=="истина", или в случае, если значение синтаксического элемента intra_mip_flag равно 1. В этом случае, например, cMax, который представляет собой входной параметр, может иметь значение 1.[230] Additionally, for example, the st_idx syntax element may be converted to fixed length (FL) binary form in case the MIP is applied to the corresponding block, in the case of intra_mip_flag[][]=="true", or in case the value of the syntax element intra_mip_flag is 1. In this case, for example, cMax, which is an input parameter, may have the value 1.
[231] Здесь, синтаксический элемент st_idx может представлять информацию LFNST-индекса и может представляться как синтаксический элемент lfnst_idx.[231] Here, the st_idx syntax element may represent LFNST index information and may be represented as the lfnst_idx syntax element.
[232] Между тем, в другом варианте осуществления настоящего документа, связанная с LFNST информация может передаваться в служебных сигналах относительно блока, к которому применяется MIP.[232] Meanwhile, in another embodiment of the present document, LFNST related information may be signaled with respect to the block to which the MIP is applied.
[233] Например, информация LFNST-индекса может включать в себя один синтаксический элемент и может представлять информацию относительно того, применяется или нет LFNST на основе одного синтаксического элемента, и информацию относительно вида ядра преобразования, используемого для LFNST. В этом случае, информация LFNST-индекса может представляться, например, как синтаксический элемент st_idx или синтаксический элемент lfnst_idx.[233] For example, the LFNST index information may include one syntax element, and may represent information regarding whether or not LFNST is applied based on one syntax element, and information regarding the kind of transformation kernel used for the LFNST. In this case, the LFNST index information may be represented as st_idx syntax element or lfnst_idx syntax element, for example.
[234] Дополнительно, например, информация LFNST-индекса может включать в себя один или более синтаксических элементов и может представлять информацию относительно того, применяется или нет LFNST, на основе одного или более синтаксических элементов, и информацию относительно вида ядра преобразования, используемого для LFNST. Например, информация LFNST-индекса может включать в себя два синтаксических элемента. В этом случае, информация LFNST-индекса может включать в себя синтаксический элемент, представляющий информацию относительно того, применяется или нет LFNST, и синтаксический элемент, представляющий информацию относительно вида ядра преобразования, используемого для LFNST. Например, информация относительно того, применяется или нет LFNST, может представляться как LFNST-флаг и может представляться как синтаксический элемент st_flag или синтаксический элемент lfnst_flag. Дополнительно, например, информация относительно вида ядра преобразования, используемого для LFNST, может представляться как флаг индекса ядра преобразования и может представляться как синтаксический элемент st_idx_flag, синтаксический элемент st_kernel_flag, синтаксический элемент lfnst_idx_flag или синтаксический элемент lfnst_kernel_flag. Например, в случае если информация LFNST-индекса включает в себя один или более синтаксических элементов, как описано выше, информация LFNST-индекса может называться "связанной с LFNST информацией".[234] Additionally, for example, the LFNST index information may include one or more syntax elements and may represent information regarding whether or not LFNST is applied based on one or more syntax elements, and information regarding the kind of transformation kernel used for the LFNST . For example, the LFNST index information may include two syntax elements. In this case, the LFNST index information may include a syntax element representing information on whether or not the LFNST is applied, and a syntax element representing information on the kind of transformation kernel used for the LFNST. For example, information regarding whether or not LFNST is applied may be represented as an LFNST flag, and may be represented as an st_flag syntax element or an lfnst_flag syntax element. Additionally, for example, information regarding the kind of transformation kernel used for the LFNST may be represented as a transformation kernel index flag, and may be represented as a st_idx_flag syntax element, an st_kernel_flag syntax element, an lfnst_idx_flag syntax element, or an lfnst_kernel_flag syntax element. For example, in case the LFNST index information includes one or more syntax elements as described above, the LFNST index information may be referred to as "LFNST related information".
[235] Например, связанная с LFNST информация (например, синтаксический элемент st_flag или синтаксический элемент st_idx_flag) может включаться так, как указано в нижеприведенной таблице 10.[235] For example, LFNST related information (eg, st_flag syntax element or st_idx_flag syntax element) may be included as indicated in Table 10 below.
[236] Табл. 10[236] Tab. 10
[237] Между тем, блок, к которому применяется MIP, может использовать другое число LFNST-преобразований (ядер) из того из блока, к которому не применяется MIP. Например, блок, к которому применяется MIP, может использовать только одно ядро LFNST-преобразования. Например, одно ядро LFNST-преобразования может представлять собой одно из LFNST-ядер, применяющихся к блоку, к которому не применяется MIP. Дополнительно, вместо использования существующего LFNST-ядра, используемого относительно блока, к которому применяется MIP, отдельное ядро, оптимизированное для блока, к которому применяется MIP, может задаваться и использоваться.[237] Meanwhile, the block to which the MIP is applied may use a different number of LFNST transforms (kernels) from that of the block to which the MIP is not applied. For example, a block to which MIP is applied can use only one LFNST transform kernel. For example, one LFNST transform kernel may be one of the LFNST kernels applied to a block to which no MIP is applied. Additionally, instead of using an existing LFNST core used relative to the block to which the MIP is applied, a separate kernel optimized for the block to which the MIP is applied can be defined and used.
[238] В этом случае, информация (например, флаг индекса ядра преобразования) относительно вида ядра преобразования, используемого для LFNST, из связанной с LFNST информации, может избирательно передаваться в служебных сигналах в зависимости от того, применяется или нет MIP, и связанная с LFNST информация в это время может включаться, например, так, как указано в нижеприведенной таблице 11.[238] In this case, information (e.g., a transform kernel index flag) regarding the kind of transform kernel used for the LFNST from the LFNST-related information may be selectively signaled depending on whether or not MIP is applied, and related to LFNST information at this time may be included, for example, as indicated in Table 11 below.
[239] Табл. 11[239] Tab. eleven
[240] Другими словами, ссылаясь на таблицу 11, информация (или синтаксический элемент st_idx_flag) относительно вида ядра преобразования, используемого для LFNST, может включаться на основе информации (или синтаксического элемента intra_mip_flag) относительно того, применяется или нет MIP к соответствующему блоку. Дополнительно, например, синтаксический элемент st_idx_flag может передаваться в служебных сигналах в !intra_mip_flag в случае, если MIP не применяется к соответствующему блоку.[240] In other words, referring to Table 11, information (or syntax element st_idx_flag) regarding the kind of transformation kernel used for LFNST may be included based on information (or syntax element intra_mip_flag) regarding whether or not MIP is applied to the corresponding block. Additionally, for example, the st_idx_flag syntax element may be signaled in !intra_mip_flag in case the MIP is not applied to the corresponding block.
[241] Например, в таблице 10 или таблице 11, информация или семантика, представленная посредством синтаксического элемента st_flag или синтаксического элемента st_idx_flag, может быть такой, как указано в следующей таблице.[241] For example, in Table 10 or Table 11, the information or semantics represented by the st_flag syntax element or the st_idx_flag syntax element may be as indicated in the following table.
[242] Табл. 12[242] Tab. 12
- st_flag[x0][y0] указывает то, применяется вторичное преобразование или нет; st_flag[x0][y0], равный 0, указывает то, что вторичное преобразование не применяется. Индексы x0, y0 массивов указывают местоположение (x0, y0) верхней левой выборки рассматриваемого блока преобразования относительно верхней левой выборки кадра.- st_flag[x0][y0] indicates whether the secondary transformation is applied or not; st_flag[x0][y0] equal to 0 indicates that no secondary transformation is applied. The indexes x0, y0 of the arrays indicate the location (x0, y0) of the top left sample of the transform block in question, relative to the top left sample of the frame.
Когда st_flag[x0][y0] не присутствует, st_idx[x0][y0] логически выводится равным равный 0.When st_flag[x0][y0] is not present, st_idx[x0][y0] is logically inferred to be 0.
- st_idx_flag[x0][y0] указывает то, какое ядро вторичного преобразования применяется между двумя возможными вариантами ядер в выбранном наборе для преобразования. Индексы x0, y0 массивов указывают местоположение (x0, y0) верхней левой выборки рассматриваемого блока преобразования относительно верхней левой выборки кадра.- st_idx_flag[x0][y0] indicates which secondary transform kernel is applied between the two candidate kernels in the selected transform set. The indexes x0, y0 of the arrays indicate the location (x0, y0) of the top left sample of the transform block in question, relative to the top left sample of the frame.
Когда st_idx_flag[x0][y0] не присутствует, st_idx[x0][y0] логически выводится равным равный 0.When st_idx_flag[x0][y0] is not present, st_idx[x0][y0] is logically inferred to be 0.
[243] Например, синтаксический элемент st_flag может представлять информацию относительно того, применяется или нет вторичное преобразование. Например, если значение синтаксического элемента st_flag равно 0, оно может представлять то, что вторичное преобразование не применяется, тогда как если 1, оно может представлять то, что вторичное преобразование применяется. Например, синтаксический элемент st_idx_flag может представлять информацию относительно применяемого ядра вторичного преобразования из двух возможных вариантов ядер в выбранном наборе для преобразования.[243] For example, the st_flag syntax element may represent information as to whether or not a secondary transformation is applied. For example, if the value of the st_flag syntax element is 0, it may represent that a secondary transformation is not applied, while if 1, it may represent that a secondary transformation is applied. For example, the st_idx_flag syntax element may represent information regarding the applied secondary transform kernel from the two candidate kernels in the selected transform set.
[244] Например, для связанной с LFNST информации, может использоваться способ преобразования в двоичную форму, как указано в следующей таблице.[244] For example, for LFNST related information, a binarization method may be used as indicated in the following table.
[245] Табл. 13[245] Tab. 13
[246] Ссылаясь на таблицу 13, например, синтаксический элемент st_flag может преобразовываться в двоичную форму на основе FL. Например, в этом случае, cMax, который представляет собой входной параметр, может иметь значение 1. Дополнительно, например, синтаксический элемент st_idx_flag может преобразовываться в двоичную форму на основе FL. Например, в этом случае, cMax, который представляет собой входной параметр, может иметь значение 1.[246] Referring to Table 13, for example, the st_flag syntax element can be binarized based on FL. For example, in this case, cMax, which is an input parameter, may have a value of 1. Additionally, for example, the st_idx_flag syntax element may be binarized based on FL. For example, in this case, cMax, which is an input parameter, could be 1.
[247] Например, ссылаясь на таблицу 10 или таблицу 11, дескриптор синтаксического элемента st_flag или синтаксического элемента st_idx_flag может представлять собой ae(v). Здесь, ae(v) может представлять контекстно-адаптивное арифметическое энтропийное кодирование. Дополнительно, синтаксический элемент, для которого дескриптор представляет собой ae(v), может представлять собой контекстно-адаптивно арифметически энтропийно кодированный синтаксический элемент. Таким образом, контекстно-адаптивное арифметическое энтропийное кодирование может применяться к связанной с LFNST информации (например, синтаксическому элементу st_flag или синтаксическому элементу st_idx_flag). Дополнительно, связанная с LFNST информация (например, синтаксический элемент st_flag или синтаксический элемент st_idx_flag) может представлять собой информацию или синтаксический элемент, к которому применяется контекстно-адаптивное арифметическое энтропийное кодирование. Дополнительно, связанная с LFNST информация (например, элементы разрешения из строки элементов разрешения синтаксического элемента st_flag или синтаксического элемента st_idx_flag) может кодироваться/декодироваться на основе вышеописанного CABAC и т.п. Здесь, контекстно-адаптивное арифметическое энтропийное кодирование может представляться как кодирование на основе контекстных моделей, контекстное кодирование или регулярное кодирование.[247] For example, referring to Table 10 or Table 11, the descriptor of the st_flag syntax element or the st_idx_flag syntax element may be ae(v). Here, ae(v) may represent context-adaptive arithmetic entropy coding. Additionally, the syntax element for which the descriptor is ae(v) may be a context-adaptive arithmetically entropy encoded syntax element. Thus, context-adaptive arithmetic entropy coding can be applied to LFNST related information (eg, st_flag syntax element or st_idx_flag syntax element). Additionally, the LFNST related information (eg, st_flag syntax element or st_idx_flag syntax element) may be information or syntax element to which context adaptive arithmetic entropy coding is applied. Additionally, LFNST-related information (eg, permission elements from the permission element string of the st_flag syntax element or the st_idx_flag syntax element) may be encoded/decoded based on the above-described CABAC, and the like. Here, context-adaptive arithmetic entropy coding may be represented as context model-based coding, context coding, or regular coding.
[248] Например, приращение индекса контекста (ctxInc) связанной с LFNST информации (например, синтаксического элемента st_flag или синтаксического элемента st_idx_flag) или ctxInc в соответствии с местоположением элемента разрешения синтаксического элемента st_flag или синтаксического элемента st_idx_flag может выделяться или определяться так, как указано в таблице 14. Дополнительно, как указано в таблице 14, контекстная модель может выбираться на основе ctxInc в соответствии с местоположением элемента разрешения синтаксического элемента st_flag или синтаксического элемента st_idx_flag, который выделяется или определяется так, как указано в таблице 14.[248] For example, incrementing the context index (ctxInc) of LFNST related information (e.g., st_flag syntax element or st_idx_flag syntax element) or ctxInc according to the location of the resolution element of the st_flag syntax element or the st_idx_flag syntax element may be allocated or determined as specified in Table 14. Additionally, as indicated in Table 14, the context model may be selected based on ctxInc in accordance with the location of the permission element of the st_flag syntax element or the st_idx_flag syntax element that is allocated or defined as indicated in Table 14.
[249] Табл. 14[249] Tab. 14
[250] Ссылаясь на таблицу 14, например (элемент разрешения из строки элементов разрешения или первый элемент разрешения) синтаксический элемент st_flag может использовать две контекстных модели (или ctxIdx), и контекстная модель может выбираться на основе ctxInc наличие значения 0 или 1. Дополнительно, например, обходное кодирование может применяться к (элементу разрешения из строки элементов разрешения или первый элемент разрешения) синтаксическому элементу st_idx_flag. Дополнительно, кодирование может выполняться посредством применения регулярного распределения вероятностей.[250] Referring to Table 14, for example (permission element from a string of permission elements or first permission element), the st_flag syntax element can use two context models (or ctxIdx), and the context model can be selected based on ctxInc having a value of 0 or 1. Additionally, for example, the bypass encoding may be applied to the (permission element of a string of permission elements or the first permission element) st_idx_flag syntax element. Additionally, encoding may be performed by applying a regular probability distribution.
[251] Например, ctxInc (элемента разрешения из строки элементов разрешения или первый элемент разрешения) синтаксического элемента st_flag может определяться на основе нижеприведенной таблицы 15.[251] For example, ctxInc (of the permission element from the string of permission elements or the first permission element) of the st_flag syntax element may be determined based on Table 15 below.
[252] Табл. 15[252] Tab. 15
9.5.4.2.8. Процесс извлечения ctxInc для синтаксического элемента st_flag9.5.4.2.8. The process of extracting ctxInc for the st_flag syntax element
Вводы в этот процесс представляют собой индекс cIdx цветового компонента, местоположение (x0, y0) сигнала яркости или сигнала цветности, указывающее левую верхнюю выборку текущего блока кодирования сигналов яркости или сигналов цветности относительно левой верхней выборки текущего кадра в зависимости от cIdx, тип treeType дерева и индекс tu_mts_idx[x0][y0] множественного выбора преобразования. Вывод этого процесса представляет собой ctxInc.The inputs to this process are the index cIdx of the color component, the location (x0, y0) of the luma or chrominance signal indicating the top left sample of the current luminance or chrominance coding block relative to the top left sample of the current frame depending on cIdx, the treeType of the tree, and index tu_mts_idx[x0][y0] of the multiple choice transform. The output of this process is ctxInc.
Назначение ctxInc указывается следующим образом:The destination of ctxInc is specified as follows:
- ctxInc=(tu_mts_idx[x0][y0]=0 andand treeType!=SINGLE_TREE)?1:0- ctxInc=(tu_mts_idx[x0][y0]=0 andand treeType!=SINGLE_TREE)?1:0
[253] Ссылаясь на таблицу 15, например, ctxInc (элемента разрешения из строки элементов разрешения или первый элемент разрешения) синтаксического элемента st_flag может определяться на основе MTS-индекса (или синтаксического элемента tu_mts_idx) либо информации типа дерева (treeType). Например, ctxInc может извлекаться в качестве 1 в случае, если значение MTS-индекса равно 0, и тип дерева не представляет собой одиночное дерево. Дополнительно, ctxInc может извлекаться в качестве 0 в случае, если значение MTS-индекса не равно 0, или тип дерева представляет собой одиночное дерево.[253] Referring to Table 15, for example, the ctxInc (of the permission element from the string of permission elements or the first permission element) of the st_flag syntax element may be determined based on the MTS index (or the tu_mts_idx syntax element) or tree type information (treeType). For example, ctxInc can be retrieved as 1 if the MTS index value is 0 and the tree type is not a single tree. Additionally, ctxInc may be retrieved as 0 if the MTS index value is not 0 or the tree type is a single tree.
[254] В этом случае, поскольку сокращенное число LFNST-ядер используется относительно блока, к которому применяется MIP, по сравнению с числом LFNST-ядер для, к которому не применяется MIP, служебная информация вследствие передачи служебных сигналов информации LFNST-индекса может уменьшаться, и сложность может уменьшаться.[254] In this case, since a reduced number of LFNST cores is used with respect to a block to which MIP is applied compared to the number of LFNST cores to which no MIP is applied, the overhead due to signaling of the LFNST index information may decrease, and complexity can be reduced.
[255] Между тем, в другом варианте осуществления настоящего документа, LFNST-ядро может логически выводиться и использоваться относительно блока, к которому применяется MIP. Таким образом, LFNST-ядро может логически выводиться без отдельной передачи в служебных сигналах информации относительно LFNST-ядра. Дополнительно, оборудование кодирования может формировать поток битов посредством кодирования информации изображений, за исключением информации LFNST-индекса, чтобы преобразовывать блок, к которому применяется MIP, и информации относительно (вида) ядра преобразования, подходящего для LFNST, и оборудование декодирования может синтаксически анализировать или декодировать поток битов, логически выводить и получать информацию LFNST-индекса, чтобы преобразовывать блок, к которому применяется MIP, и информацию относительно ядра преобразования, используемого для LFNST, и выполнять процесс преобразования блока на его основе.[255] Meanwhile, in another embodiment of the present document, the LFNST core may be inferred and used relative to the block to which the MIP is applied. Thus, the LFNST core can be inferred without separate overhead information regarding the LFNST core. Further, the encoding equipment may generate a bitstream by encoding image information except for the LFNST index information to transform the block to which the MIP is applied and information regarding the (kind of) transformation kernel suitable for the LFNST, and the decoding equipment may parse or decode a bit stream, infer and obtain LFNST index information to transform the block to which the MIP is applied and information regarding the transformation kernel used for the LFNST, and perform a block transformation process based on it.
[256] Таким образом, информация LFNST-индекса для соответствующего блока или информации относительно ядра преобразования, используемого для LFNST, может не декодироваться, но через процесс логического вывода индекс для сегментации преобразований, составляющих набор LFNST-преобразования, может определяться. Дополнительно, через процесс логического вывода, может определяться то, что отдельное оптимизированное ядро преобразования используется для блока, к которому применяется MIP. В этом случае, оптимальное LFNST-ядро может выбираться относительно блока, к которому применяется MIP, и объем в битах для его кодирования может уменьшаться.[256] Thus, the LFNST index information for the corresponding block or information regarding the transform kernel used for the LFNST may not be decoded, but through an inference process, an index for segmenting the transforms constituting the LFNST transform set may be determined. Additionally, through the inference process, it may be determined that a separate optimized transformation kernel is used for the block to which the MIP is applied. In this case, the optimal LFNST core may be selected relative to the block to which the MIP is applied, and the bit size for encoding it may be reduced.
[257] Например, информация LFNST-индекса или информация относительно ядра преобразования, используемого для LFNST, может логически выводиться на основе по меньшей мере одной из информации индекса опорной линии для внутреннего прогнозирования, информации режима внутреннего прогнозирования, информации размера блока или информации MIP-применения/неприменения.[257] For example, LFNST index information or information regarding a transform kernel used for LFNST may be inferred based on at least one of intra prediction baseline index information, intra prediction mode information, block size information, or MIP application information. / non-use.
[258] В вышеописанных вариантах осуществления настоящего документа, преобразование в двоичную форму кодом фиксированной длины (FL) может представлять способ преобразования в двоичную форму с фиксированной длиной, к примеру, с конкретным числом битов, и конкретное число битов может быть предварительно задано или может представляться на основе cMax. Преобразование в двоичную форму усеченным двоичным кодом (TU) может представлять способ преобразования в двоичную форму с переменной длиной, без присоединения 0 в случае, если число символов, предназначенных для выражения с использованием 1, число которых не меньше числа символы и один 0, равно максимальной длине, и максимальная длина может представляться на основе cMax. Преобразование в двоичную форму усеченным кодом Райса (TR) может представлять способ преобразования в двоичную форму в форме, в которой префикс и суффикс соединяются между собой, к примеру, как TU+FL, с использованием информации максимальной длины и сдвига, и в случае, если информация сдвига имеет значение 0, он может быть равным TU. Здесь, максимальная длина может представляться на основе cMax, и информация сдвига может представляться на основе cRiceParam.[258] In the above embodiments of the present document, fixed length (FL) binarization may represent a fixed length binarization method, e.g., with a specific number of bits, and the specific number of bits may be predetermined or may be represented based on cMax. Truncated Binary (TU) Binary Conversion can represent a variable length binarization method without appending 0 in case the number of characters to be expressed using 1, the number of which is not less than the number of characters and one 0, is equal to the maximum length, and the maximum length may be represented based on cMax. Truncated Rice (TR) binarization may represent a binarization method in a form in which a prefix and a suffix are concatenated, such as TU+FL, using maximum length and offset information, and in case the offset information is 0, it may be TU. Here, the maximum length may be represented based on cMax, and shift information may be represented based on cRiceParam.
[259] Фиг. 11 и 12 схематично иллюстрируют способ кодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.[259] FIG. 11 and 12 schematically illustrate a video/image coding method and an example of related components according to the embodiment(s) of the present document.
[260] Способ, раскрытый на фиг. 11, может выполняться посредством оборудования кодирования, раскрытого на фиг. 2 или фиг. 12. В частности, например, S1100-S1120 по фиг. 11 могут выполняться посредством модуля 220 прогнозирования оборудования кодирования по фиг. 12, и S1130-S1150 по фиг. 11 могут выполняться посредством остаточного процессора 230 оборудования кодирования по фиг. 12, и S1160 по фиг. 11 может выполняться посредством энтропийного кодера 240 оборудования кодирования по фиг. 12. Дополнительно, хотя не проиллюстрировано на фиг. 11, модуль 220 прогнозирования оборудования кодирования на фиг. 12 может извлекать прогнозные выборки или связанную с прогнозированием информацию, остаточный процессор 230 оборудования кодирования может извлекать остаточную информацию из исходных выборок или прогнозных выборок, и энтропийный кодер 240 оборудования кодирования может формировать поток битов из остаточной информации или связанной с прогнозированием информации. Способ, раскрытый на фиг. 11, может включать в себя вышеописанные варианты осуществления настоящего документа.[260] The method disclosed in FIG. 11 may be performed by the encoding equipment disclosed in FIG. 2 or fig. 12. In particular, for example, S1100-S1120 of FIG. 11 may be performed by the
[261] Ссылаясь на фиг. 11, оборудование кодирования может определять тип внутреннего прогнозирования текущего блока (S1100) и может формировать информацию типа внутреннего прогнозирования для текущего блока на основе типа внутреннего прогнозирования (S1110). Например, оборудование кодирования может определять тип внутреннего прогнозирования текущего блока с учетом функции затрат на искажение в зависимости от скорости передачи (RD). Информация типа внутреннего прогнозирования может представлять информацию относительно того, следует применять тип нормального внутреннего прогнозирования с использованием опорной линии, смежной с текущим блоком, режим на основе множественной опорной линии (MRL) с использованием опорной линии, которая не является смежной с текущим блоком, режим на основе внутренних субсегментов (ISP), выполняющий субсегментацию для текущего блока, или матричное внутреннее прогнозирование (MIP) с использованием матрицы.[261] Referring to FIG. 11, the encoding equipment may determine the intra prediction type of the current block (S1100), and may generate intra prediction type information for the current block based on the intra prediction type (S1110). For example, the encoding equipment may determine the type of intra-prediction of the current block given the rate-of-rate (RD) distortion cost function. The intra prediction type information may represent information as to whether to apply a normal intra prediction type using a reference line adjacent to the current block, a multiple reference line (MRL) based mode using a reference line that is not adjacent to the current block, a mode on internal sub-segment prediction (ISP) that performs sub-segmentation for the current block, or matrix intra prediction (MIP) using a matrix.
[262] Например, информация типа внутреннего прогнозирования может включать в себя MIP-флаг, представляющий то, применяется или нет MIP к текущему блоку. Дополнительно, например, информация типа внутреннего прогнозирования может включать в себя связанную с режимом на основе внутренних субсегментов (ISP) информацию относительно субсегментации ISP для текущего блока. Например, связанная с ISP информация может включать в себя ISP-флаг, представляющий то, применяется или нет ISP к текущему блоку, или флаг ISP-сегментации, представляющий направление сегментации. Дополнительно, например, информация типа внутреннего прогнозирования может включать в себя MIP-флаг и связанную с ISP информацию. Например, MIP-флаг может представлять синтаксический элемент intra_mip_flag. Дополнительно, например, ISP-флаг может представлять синтаксический элемент intra_subpartitions_mode_flag, и флаг ISP-сегментации может представлять синтаксический элемент intra_subpartitions_split_flag.[262] For example, the intra prediction type information may include a MIP flag representing whether or not MIP is applied to the current block. Further, for example, the intra prediction type information may include intra-sub-segment (ISP) mode-related information regarding the ISP sub-segmentation for the current block. For example, the ISP related information may include an ISP flag representing whether or not an ISP is applied to the current block, or an ISP segmentation flag representing a segmentation direction. Additionally, for example, the intra prediction type information may include a MIP flag and ISP related information. For example, a MIP flag may represent the intra_mip_flag syntax element. Additionally, for example, an ISP flag may represent an intra_subpartitions_mode_flag syntax element, and an ISP segmentation flag may represent an intra_subpartitions_split_flag syntax element.
[263] Дополнительно, хотя не проиллюстрировано на фиг. 11, например, оборудование кодирования может определять режим внутреннего прогнозирования для текущего блока и может формировать информацию внутреннего прогнозирования для текущего блока на основе режима внутреннего прогнозирования. Например, оборудование кодирования может определять режим внутреннего прогнозирования с учетом RD-затрат. Информация режима внутреннего прогнозирования может представлять режим внутреннего прогнозирования, который должен применяться к текущему блоку, из режимов внутреннего прогнозирования. Например, режимы внутреннего прогнозирования могут включать в себя режимы внутреннего прогнозирования номер 0-66. Например, режим внутреннего прогнозирования номер 0 может представлять планарный режим, и режим внутреннего прогнозирования номер 1 может представлять DC-режим. Дополнительно, режимы внутреннего прогнозирования номер 2-66 могут представляться как режимы направленного или углового внутреннего прогнозирования и могут представлять направления для ссылки. Дополнительно, режимы внутреннего прогнозирования номер 0 и номер 1 могут представляться как режимы ненаправленного или неуглового внутреннего прогнозирования. Подробное пояснение означенного приведено со ссылкой на фиг. 5.[263] Additionally, although not illustrated in FIG. 11, for example, the encoding equipment may determine the intra prediction mode for the current block, and may generate intra prediction information for the current block based on the intra prediction mode. For example, the encoding equipment may determine the intra prediction mode considering the RD cost. The intra prediction mode information may represent the intra prediction mode to be applied to the current block from the intra prediction modes. For example, intra prediction modes may include intra prediction modes number 0-66. For example, intra
[264] Например, оборудование кодирования может формировать связанную с прогнозированием информацию для текущего блока, и связанная с прогнозированием информация может включать в себя информацию режима внутреннего прогнозирования и/или информацию типа внутреннего прогнозирования.[264] For example, the encoding equipment may generate prediction related information for the current block, and the prediction related information may include intra prediction mode information and/or intra prediction type information.
[265] Оборудование кодирования может извлекать прогнозные выборки текущего блока на основе типа внутреннего прогнозирования (S1120). Дополнительно, например, оборудование кодирования может формировать прогнозные выборки на основе режима внутреннего прогнозирования и/или типа внутреннего прогнозирования. Дополнительно, оборудование кодирования может формировать прогнозные выборки на основе связанной с прогнозированием информации.[265] The encoding equipment may derive prediction samples of the current block based on the type of intra prediction (S1120). Additionally, for example, the encoding equipment may generate predictive samples based on the intra prediction mode and/or type of intra prediction. Additionally, the encoding equipment may generate prediction samples based on the prediction-related information.
[266] Оборудование кодирования может формировать остаточные выборки текущего блока на основе прогнозных выборок (S1130). Например, оборудование кодирования может формировать остаточные выборки на основе исходных выборок (например, сигнала входного изображения) и прогнозных выборок. Дополнительно, например, оборудование кодирования может формировать остаточные выборки на основе разности между исходными выборками и прогнозными выборками.[266] The encoding equipment may generate residual samples of the current block based on the predictive samples (S1130). For example, the encoding equipment may generate residual samples based on the original samples (eg, the input image signal) and the predictive samples. Additionally, for example, the encoding equipment may generate residual samples based on the difference between the original samples and the predictive samples.
[267] Оборудование кодирования может извлекать коэффициенты преобразования для текущего блока на основе остаточных выборок (S1140). Например, оборудование кодирования может извлекать коэффициенты преобразования посредством выполнения первичного преобразования на основе остаточных выборок. Дополнительно, например, оборудование кодирования может извлекать временные коэффициенты преобразования посредством выполнения первичного преобразования на основе остаточных выборок и может извлекать коэффициенты преобразования посредством применения LFNST к временным коэффициентам преобразования. Например, в случае если LFNST применяется, оборудование кодирования может формировать информацию LFNST-индекса. Таким образом, оборудование кодирования может формировать информацию LFNST-индекса на основе ядра преобразования, используемого для того, чтобы извлекать коэффициенты преобразования.[267] The encoding equipment may derive transform coefficients for the current block based on the residual samples (S1140). For example, the encoding equipment may derive transform coefficients by performing a primary transform based on the residual samples. Additionally, for example, the encoding equipment may derive temporal transform coefficients by performing a primary transform based on the residual samples, and may derive transform coefficients by applying LFNST to the temporal transform coefficients. For example, in case LFNST is applied, the encoding equipment may generate LFNST index information. Thus, the encoding equipment can generate LFNST index information based on a transform kernel used to derive transform coefficients.
[268] Оборудование кодирования может формировать связанную остаточную информацию на основе коэффициентов преобразования (S1150). Например, оборудование кодирования может извлекать квантованные коэффициенты преобразования посредством выполнения квантования на основе коэффициентов преобразования. Дополнительно, оборудование кодирования может формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования. Дополнительно, связанная остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.[268] The encoding equipment may generate associated residual information based on the transform coefficients (S1150). For example, the encoding equipment may extract the quantized transform coefficients by performing quantization based on the transform coefficients. Additionally, the encoding equipment may generate information regarding the quantized transform coefficients based on the quantized transform coefficients. Additionally, the associated residual information may include information regarding quantized transform coefficients.
[269] Оборудование кодирования может кодировать информацию типа внутреннего прогнозирования и связанную остаточную информацию (S1160). Например, связанная остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования, как описано выше. Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса. Дополнительно, например, связанная остаточная информация может не включать в себя информацию LFNST-индекса.[269] The encoding equipment may encode intra prediction type information and associated residual information (S1160). For example, the associated residual information may include information regarding quantized transform coefficients, as described above. Additionally, for example, the associated residual information may include LFNST index information. Additionally, for example, the associated residual information may not include LFNST index information.
[270] Например, связанная остаточная информация может включать в себя информацию LFNST-индекса, представляющую информацию относительно неразделимого преобразования для низкочастотных коэффициентов преобразования текущего блока. Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага или размера текущего блока. Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага или информации относительно текущего блока. Здесь, информация относительно текущего блока может включать в себя по меньшей мере одно из размера текущего блока, информации древовидной структуры, представляющей одиночное дерево или сдвоенное дерево, флага LFNST-активации или связанной с ISP информации. Например, MIP-флаг может представлять собой одно из множества условий для определения того, включает или нет связанная остаточная информация в себя информацию LFNST-индекса, и посредством других условий, таких как размер текущего блока, в дополнение к MIP-флагу, связанная остаточная информация может включать в себя информацию LFNST-индекса. Тем не менее, в дальнейшем в этом документе, пояснение приводится для MIP-флага. Здесь, информация LFNST-индекса может представляться как информация индекса преобразования. Дополнительно, информация LFNST-индекса может представляться как синтаксический элемент st_idx или синтаксический элемент lfnst_idx.[270] For example, the associated residual information may include LFNST index information representing information regarding the inseparable transform for the low-frequency transform coefficients of the current block. Additionally, for example, the associated residual information may include LFNST index information based on a MIP flag or a current block size. Additionally, for example, the associated residual information may include LFNST index information based on a MIP flag or information regarding the current block. Here, the information regarding the current block may include at least one of the size of the current block, tree structure information representing a single tree or a double tree, an LFNST activation flag, or ISP related information. For example, the MIP flag may be one of a plurality of conditions for determining whether or not the associated residual information includes LFNST index information, and through other conditions such as the size of the current block, in addition to the MIP flag, the associated residual information may include LFNST index information. However, later in this document, an explanation is provided for the MIP flag. Here, the LFNST index information may be represented as transformation index information. Additionally, the LFNST index information may be represented as a st_idx syntax element or an lfnst_idx syntax element.
[271] Например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага, представляющего то, что MIP не применяется. Дополнительно, например, связанная остаточная информация может не включать в себя информацию LFNST-индекса на основе MIP-флага, представляющего то, что MIP применяется. Таким образом, в случае если MIP-флаг представляет то, что MIP применяется к текущему блоку (например, в случае если значение синтаксического элемента intra_mip_flag равно 1), связанная остаточная информация может не включать в себя информацию LFNST-индекса, и в случае, если MIP-флаг представляет то, что MIP не применяется к текущему блоку (например, в случае если значение синтаксического элемента intra_mip_flag равно 0), связанная остаточная информация может включать в себя информацию LFNST-индекса.[271] For example, the associated residual information may include LFNST index information based on a MIP flag representing that MIP is not applied. Additionally, for example, the associated residual information may not include LFNST index information based on a MIP flag representing that MIP is applied. Thus, in the case where the MIP flag represents that the MIP is applied to the current block (for example, in the case where the value of the intra_mip_flag syntax element is 1), the associated residual information may not include LFNST index information, and in the case where The MIP flag represents that the MIP is not applied to the current block (eg, in case the value of the intra_mip_flag syntax element is 0), the associated residual information may include LFNST index information.
[272] Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага и связанной с ISP информации. Например, в случае если MIP-флаг представляет то, что MIP не применяется к текущему блоку (например, в случае если значение синтаксического элемента intra_mip_flag равно 0), связанная остаточная информация может включать в себя информацию LFNST-индекса со ссылкой на связанную с ISP информацию (IntraSubPartitionsSplitType). Здесь, IntraSubPartitionsSplitType может представлять то, что ISP не применяется (ISP_NO_SPLIT), ISP применяется в горизонтальном направлении (ISP_HOR_SPLIT), или ISP применяется в вертикальном направлении (ISP_VER_SPLIT), и он может извлекаться на основе ISP-флага или флага ISP-сегментации.[272] Additionally, for example, the associated residual information may include LFNST index information based on the MIP flag and ISP related information. For example, in case the MIP flag represents that the MIP is not applied to the current block (for example, in case the value of the intra_mip_flag syntax element is 0), the associated residual information may include LFNST index information with reference to the ISP related information (IntraSubPartitionsSplitType). Here, IntraSubPartitionsSplitType may represent that ISP is not applied (ISP_NO_SPLIT), ISP is applied in horizontal direction (ISP_HOR_SPLIT), or ISP is applied in vertical direction (ISP_VER_SPLIT), and it may be derived based on ISP flag or ISP segmentation flag.
[273] Например, поскольку MIP-флаг представляет то, что MIP применяется к текущему блоку, информация LFNST-индекса может логически выводиться или извлекаться для использования, и в этом случае, связанная остаточная информация может не включать в себя информацию LFNST-индекса. Таким образом, оборудование кодирования может не передавать в служебных сигналах информацию LFNST-индекса. Например, информация LFNST-индекса может логически выводиться или извлекаться для использования на основе по меньшей мере одного из информации индекса опорной линии для текущего блока, информации режима внутреннего прогнозирования текущего блока, информации размера текущего блока и MIP-флага.[273] For example, since the MIP flag represents that the MIP is applied to the current block, the LFNST index information may be inferred or retrieved for use, in which case, the associated residual information may not include the LFNST index information. Thus, the encoding equipment may not signal the LFNST index information. For example, the LFNST index information may be inferred or retrieved for use based on at least one of the reference line index information for the current block, the intra prediction mode information of the current block, the current block size information, and the MIP flag.
[274] Дополнительно, например, информация LFNST-индекса может включать в себя LFNST-флаг, представляющий то, применяется или нет неразделимое преобразование для низкочастотных коэффициентов преобразования текущего блока, и/или флаг индекса ядра преобразования, представляющий ядро преобразования, применяемое к текущему блоку, из возможных вариантов ядер преобразования. Таким образом, хотя информация LFNST-индекса может представлять информацию относительно неразделимого преобразования для низкочастотных коэффициентов преобразования текущего блока на основе одного синтаксического элемента или одного фрагмента информации, она также может представлять информацию на основе двух синтаксических элементов или двух фрагментов информации. Например, LFNST-флаг может представляться как синтаксический элемент st_flag или синтаксический элемент lfnst_flag, и флаг индекса ядра преобразования может представляться как синтаксический элемент st_idx_flag, синтаксический элемент st_kernel_flag, синтаксический элемент lfnst_idx_flag или синтаксический элемент lfnst_kernel_flag. Здесь, флаг индекса ядра преобразования может включаться в информацию LFNST-индекса на основе LFNST-флага, представляющего то, что неразделимое преобразование применяется, и MIP-флага, представляющего то, что MIP не применяется. Таким образом, в случае если LFNST-флаг представляет то, что неразделимое преобразование применяется, и MIP-флаг представляет то, что MIP применяется, информация LFNST-индекса может включать в себя флаг индекса ядра преобразования.[274] Additionally, for example, the LFNST index information may include a LFNST flag representing whether or not an inseparable transform is applied to the low-frequency transform coefficients of the current block, and/or a transform kernel index flag representing a transform kernel applied to the current block. , from possible variants of transformation kernels. Thus, while the LFNST index information may represent inseparable transform information for the low frequency transform coefficients of the current block based on one syntax element or one piece of information, it may also represent information based on two syntax elements or two pieces of information. For example, an LFNST flag may be represented as a st_flag syntax element or an lfnst_flag syntax element, and a transformation kernel index flag may be represented as a st_idx_flag syntax element, a st_kernel_flag syntax element, an lfnst_idx_flag syntax element, or an lfnst_kernel_flag syntax element. Here, a transform kernel index flag may be included in the LFNST index information based on the LFNST flag representing that a nonseparable transform is applied and the MIP flag representing that MIP is not applied. Thus, in case the LFNST flag represents that an inseparable transform is applied and the MIP flag represents that a MIP is applied, the LFNST index information may include a transform kernel index flag.
[275] Например, поскольку MIP-флаг представляет то, что MIP применяется к текущему блоку, LFNST-флаг и флаг индекса ядра преобразования могут логически выводиться или извлекаться для использования, и в этом случае, связанная остаточная информация может не включать в себя LFNST-флаг и флаг индекса ядра преобразования. Таким образом, оборудование кодирования может не передавать в служебных сигналах LFNST-флаг и флаг индекса ядра преобразования. Например, LFNST-флаг и флаг индекса ядра преобразования могут логически выводиться или извлекаться для использования на основе по меньшей мере одного из информации индекса опорной линии для текущего блока, информации режима внутреннего прогнозирования текущего блока, информации размера текущего блока и MIP-флага.[275] For example, since the MIP flag represents that the MIP is applied to the current block, the LFNST flag and the transform kernel index flag may be inferred or retrieved for use, in which case, the associated residual information may not include LFNST- flag and index flag of the conversion kernel. Thus, the encoding equipment may not signal the LFNST flag and the transform kernel index flag. For example, the LFNST flag and the transform kernel index flag may be inferred or derived for use based on at least one of the reference line index information for the current block, the current block intra prediction mode information, the current block size information, and the MIP flag.
[276] Например, в случае если связанная остаточная информация включает в себя информацию LFNST-индекса, информация LFNST-индекса может представляться через преобразование в двоичную форму. Например, информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может представляться через преобразование в двоичную форму усеченным кодом Райса (TR) на основе MIP-флага, представляющего то, что MIP не применяется, и информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может представляться через преобразование в двоичную форму кодом фиксированной длины (FL) на основе MIP-флага, представляющего то, что MIP применяется. Таким образом, в случае если MIP-флаг представляет то, что MIP не применяется к текущему блоку (например, в случае если синтаксический элемент intra_mip_flag равен 0 или представляет собой "ложь"), информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может представляться через преобразование в двоичную форму на основе TR, и в случае, если MIP-флаг представляет то, что MIP применяется к текущему блоку (например, в случае если синтаксический элемент intra_mip_flag равен 1 или представляет собой "истина"), информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может представляться через преобразование в двоичную форму на основе FL.[276] For example, in the case where the associated residual information includes LFNST index information, the LFNST index information may be represented via binarization. For example, LFNST index information (e.g., st_idx syntax element or lfnst_idx syntax element) may be represented via truncated Rice (TR) binarization based on a MIP flag representing that MIP is not applied, and LFNST index information ( for example, the st_idx syntax element or the lfnst_idx syntax element) may be represented via binarization with a fixed length (FL) code based on a MIP flag representing that the MIP is applied. Thus, in case the MIP flag represents that the MIP does not apply to the current block (e.g., in the event that the intra_mip_flag syntax element is 0 or false), the LFNST index information (e.g., the st_idx syntax element or the syntax element element lfnst_idx) can be represented via TR-based binarization, and in case the MIP flag represents that the MIP is applied to the current block (for example, in case the intra_mip_flag syntax element is equal to 1 or is "true"), LFNST index information (eg, st_idx syntax element or lfnst_idx syntax element) may be represented via FL-based binarization.
[277] Дополнительно, например, в случае если связанная остаточная информация включает в себя информацию LFNST-индекса, и информация LFNST-индекса включает в себя LFNST-флаг и флаг индекса ядра преобразования, LFNST-флаг и флаг индекса ядра преобразования могут представляться через преобразование в двоичную форму кодом фиксированной длины (FL).[277] Additionally, for example, if the associated residual information includes LFNST index information, and the LFNST index information includes a LFNST flag and a transform core index flag, the LFNST flag and the transform core index flag may be represented via a transform. to binary form with a fixed length (FL) code.
[278] Например, информация LFNST-индекса может представляться как (элемент разрешения) строка элементов разрешения через вышеописанное преобразование в двоичную форму, и посредством ее кодирования, может формироваться бит, битовая строка или поток битов.[278] For example, the LFNST index information may be represented as a (bin) string of bins through the above-described binarization, and by encoding it, a bit, a bit string, or a bit stream may be generated.
[279] Например, (первый) элемент разрешения из строки элементов разрешения LFNST-флага может кодироваться на основе контекстного кодирования, и контекстное кодирование может выполняться на основе значения приращения индекса контекста для LFNST-флага. Здесь, контекстное кодирование представляет собой кодирование, выполняемое на основе контекстной модели, и может называться "регулярным кодированием". Дополнительно, контекстная модель может представляться посредством индекса ctsIdx контекста, и индекс контекста может представляться на основе приращения ctxInc индекса контекста и смещения ctxIdxOffset индекса контекста. Например, значение приращения индекса контекста может представляться как один из возможных вариантов, включающих в себя 0 и 1. Например, значение приращения индекса контекста может определяться на основе MTS-индекса (например, синтаксического элемента mts_idx или синтаксического элемента tu_mts_idx), представляющего набор ядер преобразования, который должен использоваться для текущего блока, из наборов ядер преобразования, и информации типа дерева, представляющей структуру сегментации текущего блока. Здесь, информация типа дерева может представлять одиночное дерево, представляющее то, что структуры сегментации компонента сигнала яркости и компонент сигнала цветности текущего блока равны друг другу, или сдвоенное дерево, представляющее то, что структуры сегментации компонента сигнала яркости и компонент сигнала цветности текущего блока отличаются друг от друга.[279] For example, the (first) LE from the string of LFNST flag bins may be encoded based on the context encoding, and the context encoding may be performed based on the context index increment value for the LFNST flag. Here, context encoding is encoding performed based on a context model, and may be referred to as "regular encoding". Additionally, the context model may be represented by the context index ctsIdx, and the context index may be represented based on the increment ctxInc of the context index and the offset ctxIdxOffset of the context index. For example, the context index increment value may be represented as one of the options including 0 and 1. For example, the context index increment value may be determined based on an MTS index (e.g., the mts_idx syntax element or the tu_mts_idx syntax element) representing a set of transformation kernels A to be used for the current block, from sets of transform kernels, and tree type information representing the segmentation structure of the current block. Here, the tree type information may represent a single tree representing that the segmentation structures of the luminance signal component and the chrominance signal component of the current block are equal to each other, or a dual tree representing that the segmentation structures of the luminance signal component and the chrominance signal component of the current block are different from each other. from friend.
[280] Например, (первый) элемент разрешения из строки элементов разрешения флага индекса ядра преобразования может кодироваться на основе обходного кодирования. Здесь, обходное кодирование может представлять то, что контекстное кодирование выполняется на основе регулярного распределения вероятностей, и эффективность кодирования может повышаться посредством опускания процедуры обновления контекстного кодирования.[280] For example, the (first) ROI from the ROI string of the transformation kernel index flag may be encoded based on bypass coding. Here, bypass coding may represent that context coding is performed based on a regular probability distribution, and coding efficiency may be improved by omitting the context coding update procedure.
[281] Дополнительно, хотя не проиллюстрировано на фиг. 11, например, оборудование кодирования может формировать восстановленные выборки на основе остаточных выборок и прогнозных выборок. Дополнительно, восстановленный блок и восстановленный кадр могут извлекаться на основе восстановленных выборок.[281] Additionally, although not illustrated in FIG. 11, for example, the encoding equipment may generate reconstructed samples based on residual samples and predictive samples. Additionally, the reconstructed block and the reconstructed frame may be derived based on the reconstructed samples.
[282] Например, оборудование кодирования может формировать информацию потока битов или кодированную информацию посредством кодирования информации изображений, включающей в себя все или части вышеописанных фрагментов информации (или синтаксических элементов). Дополнительно, оборудование кодирования может выводить информацию в форме потока битов. Дополнительно, поток битов или кодированная информация может передаваться в оборудование декодирования через сеть или носитель хранения данных. Дополнительно, поток битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных, и поток битов или кодированная информация может формироваться посредством вышеописанного способа кодирования изображений.[282] For example, the encoding equipment may generate bitstream information or encoded information by encoding image information including all or parts of the above-described pieces of information (or syntax elements). Additionally, the encoding equipment may output the information in the form of a bitstream. Additionally, the bitstream or encoded information may be transmitted to the decoding equipment via a network or a storage medium. Further, the bitstream or encoded information may be stored in a computer-readable storage medium, and the bitstream or encoded information may be generated by the above-described image encoding method.
[283] Фиг. 13 и 14 схематично иллюстрируют способ декодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.[283] FIG. 13 and 14 schematically illustrate a video/image decoding method and an example of related components according to the embodiment(s) of the present document.
[284] Способ, раскрытый на фиг. 13, может осуществляться посредством оборудования декодирования, раскрытого на фиг. 3 или фиг. 14. В частности, например, S1300 по фиг. 14 может выполняться посредством энтропийного декодера 310 оборудования декодирования по фиг. 14, и S1310 и S1320 по фиг. 13 могут выполняться посредством остаточного процессора 320 оборудования декодирования по фиг. 14. Дополнительно, хотя не проиллюстрировано на фиг. 13, энтропийный декодер 310 оборудования декодирования по фиг. 14 может извлекать связанную с прогнозированием информацию или остаточную информацию из потока битов, остаточный процессор 320 оборудования декодирования может извлекать остаточные выборки из остаточной информации, модуль 330 прогнозирования оборудования декодирования может извлекать прогнозные выборки из связанной с прогнозированием информации, и сумматор 340 оборудования декодирования может извлекать восстановленный блок или восстановленный кадр из остаточных выборок или прогнозных выборок. Способ, раскрытый на фиг. 13, может включать в себя вышеописанные варианты осуществления настоящего документа.[284] The method disclosed in FIG. 13 may be performed by the decoding equipment disclosed in FIG. 3 or fig. 14. In particular, for example, the S1300 of FIG. 14 may be performed by the
[285] Ссылаясь на фиг. 13, оборудование декодирования может получать информацию типа внутреннего прогнозирования для текущего блока и связанной остаточной информации из потока битов (S1300). Например, оборудование декодирования может получать информацию типа внутреннего прогнозирования или связанную остаточную информацию посредством синтаксического анализа или декодирования потока битов. Здесь, поток битов может называться "кодированной информацией (изображений)".[285] Referring to FIG. 13, the decoding equipment can obtain intra prediction type information for the current block and associated residual information from the bit stream (S1300). For example, the decoding equipment may obtain intra prediction type information or associated residual information by parsing or decoding the bitstream. Here, the bit stream may be referred to as "encoded information (pictures)".
[286] Например, оборудование декодирования может получать связанную с прогнозированием информацию из потока битов, и связанная с прогнозированием информация может включать в себя информацию режима внутреннего прогнозирования и/или информацию типа внутреннего прогнозирования. Например, оборудование декодирования может формировать прогнозные выборки для текущего блока.[286] For example, the decoding equipment may obtain prediction related information from the bitstream, and the prediction related information may include intra prediction mode information and/or intra prediction type information. For example, the decoding hardware may generate predictive samples for the current block.
[287] Информация режима внутреннего прогнозирования может представлять режим внутреннего прогнозирования, который должен применяться к текущему блоку, из режимов внутреннего прогнозирования. Например, режимы внутреннего прогнозирования могут включать в себя режимы внутреннего прогнозирования номер 0-66. Например, режим внутреннего прогнозирования номер 0 может представлять планарный режим, и режим внутреннего прогнозирования номер 1 может представлять DC-режим. Дополнительно, режимы внутреннего прогнозирования номер 2-66 могут представляться как режимы направленного или углового внутреннего прогнозирования и могут представлять направления для ссылки. Дополнительно, режимы внутреннего прогнозирования номер 0 и номер 1 могут представляться как режимы ненаправленного или неуглового внутреннего прогнозирования. Подробное пояснение означенного приведено со ссылкой на фиг. 5.[287] The intra prediction mode information may represent the intra prediction mode to be applied to the current block from the intra prediction modes. For example, intra prediction modes may include intra prediction modes number 0-66. For example, intra
[288] Дополнительно, информация типа внутреннего прогнозирования может представлять информацию относительно того, следует применять тип нормального внутреннего прогнозирования с использованием опорной линии, смежной с текущим блоком, режим на основе множественной опорной линии (MRL) с использованием опорной линии, которая не является смежной с текущим блоком, режим на основе внутренних субсегментов (ISP), выполняющий субсегментацию для текущего блока, или матричное внутреннее прогнозирование (MIP) с использованием матрицы.[288] Additionally, the intra prediction type information may represent information as to whether to apply a normal intra prediction type using a reference line adjacent to the current block, a multiple reference line (MRL) based mode using a reference line that is not adjacent to the current block, an intra-subsegment based (ISP) mode performing sub-segmentation for the current block, or matrix intra prediction (MIP) using a matrix.
[289] Например, оборудование декодирования может получать связанную остаточную информацию из потока битов. Здесь, связанная остаточная информация может представлять информацию, используемую для того, чтобы извлекать остаточные выборки, и может включать в себя информацию относительно остаточных выборок, связанную с (обратным) преобразованием информацию и/или связанную с (обратным) квантованием информацию. Например, связанная остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.[289] For example, the decoding equipment may obtain the associated residual information from the bit stream. Here, the associated residual information may represent information used to extract the residual samples, and may include information regarding the residual samples, (inverse) transform-related information, and/or (inverse) quantization-related information. For example, the associated residual information may include information regarding quantized transform coefficients.
[290] Например, информация типа внутреннего прогнозирования может включать в себя MIP-флаг, представляющий то, применяется или нет MIP к текущему блоку. Дополнительно, например, информация типа внутреннего прогнозирования может включать в себя связанную с режимом на основе внутренних субсегментов (ISP) информацию относительно субсегментации ISP для текущего блока. Например, связанная с ISP информация может включать в себя ISP-флаг, представляющий то, применяется или нет ISP к текущему блоку, или флаг ISP-сегментации, представляющий направление сегментации. Дополнительно, например, информация типа внутреннего прогнозирования может включать в себя MIP-флаг и связанную с ISP информацию. Например, MIP-флаг может представлять синтаксический элемент intra_mip_flag. Дополнительно, например, ISP-флаг может представлять синтаксический элемент intra_subpartitions_mode_flag, и флаг ISP-сегментации может представлять синтаксический элемент intra_subpartitions_split_flag.[290] For example, the intra prediction type information may include a MIP flag representing whether or not MIP is applied to the current block. Further, for example, the intra prediction type information may include intra-sub-segment (ISP) mode-related information regarding the ISP sub-segmentation for the current block. For example, the ISP related information may include an ISP flag representing whether or not an ISP is applied to the current block, or an ISP segmentation flag representing a segmentation direction. Further, for example, the intra prediction type information may include a MIP flag and ISP related information. For example, a MIP flag may represent the intra_mip_flag syntax element. Additionally, for example, an ISP flag may represent an intra_subpartitions_mode_flag syntax element, and an ISP segmentation flag may represent an intra_subpartitions_split_flag syntax element.
[291] Например, связанная остаточная информация может включать в себя информацию индекса низкочастотного неразделимого преобразования (LFNST), представляющую информацию относительно неразделимого преобразования для низкочастотных коэффициентов преобразования текущего блока. Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага или размера текущего блока. Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага или информации относительно текущего блока. Здесь, информация относительно текущего блока может включать в себя по меньшей мере одно из размера текущего блока, информации древовидной структуры, представляющей одиночное дерево или сдвоенное дерево, флага LFNST-активации или связанной с ISP информации. Например, MIP-флаг может представлять собой одно из множества условий для определения того, включает или нет связанная остаточная информация в себя информацию LFNST-индекса, и посредством других условий, таких как размер текущего блока, в дополнение к MIP-флагу, связанная остаточная информация может включать в себя информацию LFNST-индекса. Тем не менее, в дальнейшем в этом документе, пояснение приводится для MIP-флага. Здесь, информация LFNST-индекса может представляться как информация индекса преобразования. Дополнительно, информация LFNST-индекса может представляться как синтаксический элемент st_idx или синтаксический элемент lfnst_idx.[291] For example, the associated residual information may include low frequency inseparable transform (LFNST) index information representing information regarding the inseparable transform for the low frequency transform coefficients of the current block. Additionally, for example, the associated residual information may include LFNST index information based on a MIP flag or a current block size. Additionally, for example, the associated residual information may include LFNST index information based on a MIP flag or information regarding the current block. Here, the information regarding the current block may include at least one of the size of the current block, tree structure information representing a single tree or a double tree, an LFNST activation flag, or ISP related information. For example, the MIP flag may be one of a plurality of conditions for determining whether or not the associated residual information includes LFNST index information, and through other conditions such as the size of the current block, in addition to the MIP flag, the associated residual information may include LFNST index information. However, later in this document, an explanation is provided for the MIP flag. Here, the LFNST index information may be represented as transformation index information. Additionally, the LFNST index information may be represented as a st_idx syntax element or an lfnst_idx syntax element.
[292] Например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага, представляющего то, что MIP не применяется. Дополнительно, например, связанная остаточная информация может не включать в себя информацию LFNST-индекса на основе MIP-флага, представляющего то, что MIP применяется. Таким образом, в случае если MIP-флаг представляет то, что MIP применяется к текущему блоку (например, в случае если значение синтаксического элемента intra_mip_flag равно 1), связанная остаточная информация может не включать в себя информацию LFNST-индекса, и в случае, если MIP-флаг представляет то, что MIP не применяется к текущему блоку (например, в случае если значение синтаксического элемента intra_mip_flag равно 0), связанная остаточная информация может включать в себя информацию LFNST-индекса.[292] For example, the associated residual information may include LFNST index information based on a MIP flag representing that MIP is not applied. Additionally, for example, the associated residual information may not include LFNST index information based on a MIP flag representing that MIP is applied. Thus, in the case where the MIP flag represents that the MIP is applied to the current block (for example, in the case where the value of the intra_mip_flag syntax element is 1), the associated residual information may not include LFNST index information, and in the case where The MIP flag represents that the MIP is not applied to the current block (eg, in case the value of the intra_mip_flag syntax element is 0), the associated residual information may include LFNST index information.
[293] Дополнительно, например, связанная остаточная информация может включать в себя информацию LFNST-индекса на основе MIP-флага и связанной с ISP информации. Например, в случае если MIP-флаг представляет то, что MIP не применяется к текущему блоку (например, в случае если значение синтаксического элемента intra_mip_flag равно 0), связанная остаточная информация может включать в себя информацию LFNST-индекса со ссылкой на связанную с ISP информацию (IntraSubPartitionsSplitType). Здесь, IntraSubPartitionsSplitType может представлять то, что ISP не применяется (ISP_NO_SPLIT), ISP применяется в горизонтальном направлении (ISP_HOR_SPLIT), или ISP применяется в вертикальном направлении (ISP_VER_SPLIT), и он может извлекаться на основе ISP-флага или флага ISP-сегментации.[293] Additionally, for example, the associated residual information may include LFNST index information based on the MIP flag and ISP related information. For example, in case the MIP flag represents that the MIP is not applied to the current block (for example, in case the value of the intra_mip_flag syntax element is 0), the associated residual information may include LFNST index information with reference to the ISP related information (IntraSubPartitionsSplitType). Here, IntraSubPartitionsSplitType may represent that ISP is not applied (ISP_NO_SPLIT), ISP is applied in horizontal direction (ISP_HOR_SPLIT), or ISP is applied in vertical direction (ISP_VER_SPLIT), and it may be derived based on ISP flag or ISP segmentation flag.
[294] Например, поскольку MIP-флаг представляет то, что MIP применяется к текущему блоку, информация LFNST-индекса может логически выводиться или извлекаться для использования в случае, если связанная остаточная информация не включает в себя информацию LFNST-индекса, т.е. в случае, если информация LFNST-индекса не передается в служебных сигналах. Например, информация LFNST-индекса может извлекаться на основе по меньшей мере одного из информации индекса опорной линии для текущего блока, информации режима внутреннего прогнозирования текущего блока, информации размера текущего блока и MIP-флага.[294] For example, since the MIP flag represents that the MIP is applied to the current block, the LFNST index information may be inferred or retrieved for use in case the associated residual information does not include LFNST index information, i. in case the LFNST index information is not signaled. For example, the LFNST index information may be derived based on at least one of the reference line index information for the current block, the intra prediction mode information of the current block, the current block size information, and the MIP flag.
[295] Дополнительно, например, информация LFNST-индекса может включать в себя LFNST-флаг, представляющий то, применяется или нет неразделимое преобразование для низкочастотных коэффициентов преобразования текущего блока, и/или флаг индекса ядра преобразования, представляющий ядро преобразования, применяемое к текущему блоку, из возможных вариантов ядер преобразования. Таким образом, хотя информация LFNST-индекса может представлять информацию относительно неразделимого преобразования для низкочастотных коэффициентов преобразования текущего блока на основе одного синтаксического элемента или одного фрагмента информации, она также может представлять информацию на основе двух синтаксических элементов или двух фрагментов информации. Например, LFNST-флаг может представляться как синтаксический элемент st_flag или синтаксический элемент lfnst_flag, и флаг индекса ядра преобразования может представляться как синтаксический элемент st_idx_flag, синтаксический элемент st_kernel_flag, синтаксический элемент lfnst_idx_flag или синтаксический элемент lfnst_kernel_flag. Здесь, флаг индекса ядра преобразования может включаться в информацию LFNST-индекса на основе LFNST-флага, представляющего то, что неразделимое преобразование применяется, и MIP-флага, представляющего то, что MIP не применяется. Таким образом, в случае если LFNST-флаг представляет то, что неразделимое преобразование применяется, и MIP-флаг представляет то, что MIP применяется, информация LFNST-индекса может включать в себя флаг индекса ядра преобразования.[295] Additionally, for example, the LFNST index information may include an LFNST flag representing whether or not an inseparable transform is applied to the low-frequency transform coefficients of the current block, and/or a transform kernel index flag representing a transform kernel applied to the current block. , from possible variants of transformation kernels. Thus, while the LFNST index information may represent inseparable transform information for the low frequency transform coefficients of the current block based on one syntax element or one piece of information, it may also represent information based on two syntax elements or two pieces of information. For example, an LFNST flag may be represented as a st_flag syntax element or an lfnst_flag syntax element, and a transformation kernel index flag may be represented as a st_idx_flag syntax element, a st_kernel_flag syntax element, an lfnst_idx_flag syntax element, or an lfnst_kernel_flag syntax element. Here, a transform kernel index flag may be included in the LFNST index information based on the LFNST flag representing that a nonseparable transform is applied and the MIP flag representing that MIP is not applied. Thus, in case the LFNST flag represents that an inseparable transform is applied and the MIP flag represents that a MIP is applied, the LFNST index information may include a transform kernel index flag.
[296] Например, поскольку MIP-флаг представляет то, что MIP применяется к текущему блоку, LFNST-флаг и флаг индекса ядра преобразования могут логически выводиться или извлекаться в случае, если связанная остаточная информация не включает в себя LFNST-флаг и флаг индекса ядра преобразования, т.е. LFNST-флаг и флаг индекса ядра преобразования не передаются в служебных сигналах. Например, LFNST-флаг и флаг индекса ядра преобразования могут извлекаться на основе по меньшей мере одного из информации индекса опорной линии для текущего блока, информации режима внутреннего прогнозирования текущего блока, информации размера текущего блока и MIP-флага.[296] For example, since the MIP flag represents that the MIP is applied to the current block, the LFNST flag and the transform kernel index flag can be inferred or extracted in case the associated residual information does not include the LFNST flag and the kernel index flag. transformations, i.e. The LFNST flag and the transform kernel index flag are not signaled. For example, the LFNST flag and the transform kernel index flag may be derived based on at least one of the reference line index information for the current block, the intra prediction mode information of the current block, the current block size information, and the MIP flag.
[297] Например, в случае если связанная остаточная информация включает в себя информацию LFNST-индекса, информация LFNST-индекса может представляться через преобразование в двоичную форму. Например, информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может извлекаться через преобразование в двоичную форму усеченным кодом Райса (TR) на основе MIP-флага, представляющего то, что MIP не применяется, и информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может извлекаться через преобразование в двоичную форму кодом фиксированной длины (FL) на основе MIP-флага, представляющего то, что MIP применяется. Таким образом, в случае если MIP-флаг представляет то, что MIP не применяется к текущему блоку (например, в случае если синтаксический элемент intra_mip_flag равен 0 или представляет собой "ложь"), информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может извлекаться через преобразование в двоичную форму на основе TR, и в случае, если MIP-флаг представляет то, что MIP применяется к текущему блоку (например, в случае если синтаксический элемент intra_mip_flag равен 1 или представляет собой "истина"), информация LFNST-индекса (например, синтаксический элемент st_idx или синтаксический элемент lfnst_idx) может извлекаться через преобразование в двоичную форму на основе FL.[297] For example, in the case where the associated residual information includes LFNST index information, the LFNST index information may be represented via binarization. For example, LFNST index information (e.g., st_idx syntax element or lfnst_idx syntax element) can be retrieved through truncated Rice (TR) binarization based on a MIP flag representing that MIP is not applied, and LFNST index information ( for example, the st_idx syntax element or the lfnst_idx syntax element) can be retrieved via fixed length (FL) code binarization based on a MIP flag representing that the MIP is applied. Thus, in case the MIP flag represents that the MIP does not apply to the current block (e.g., in the event that the intra_mip_flag syntax element is 0 or false), the LFNST index information (e.g., the st_idx syntax element or the syntax element element lfnst_idx) can be retrieved via TR-based binarization, and in case the MIP flag represents that the MIP is applied to the current block (for example, in case the intra_mip_flag syntax element is equal to 1 or is "true"), LFNST index information (eg, st_idx syntax element or lfnst_idx syntax element) can be retrieved via FL-based binarization.
[298] Дополнительно, например, в случае если связанная остаточная информация включает в себя информацию LFNST-индекса, и информация LFNST-индекса включает в себя LFNST-флаг и флаг индекса ядра преобразования, LFNST-флаг и флаг индекса ядра преобразования могут извлекаться через преобразование в двоичную форму кодом фиксированной длины (FL).[298] Additionally, for example, in the case where the associated residual information includes LFNST index information, and the LFNST index information includes a LFNST flag and a transformation core index flag, the LFNST flag and a transformation core index flag can be retrieved via a transformation. to binary form with a fixed length (FL) code.
[299] Например, информация LFNST-индекса может извлекать возможные варианты через вышеописанное преобразование в двоичную форму, может сравнивать элементы разрешения, представленные посредством синтаксического анализа или декодирования потока битов, с возможными вариантами, и за счет этого информация LFNST-индекса может получаться.[299] For example, the LFNST index information can extract possibilities through the above-described binarization, can compare bins represented by bitstream parsing or decoding with the options, and thereby LFNST index information can be obtained.
[300] Например, (первый) элемент разрешения из строки элементов разрешения LFNST-флага может извлекаться на основе контекстного кодирования, и контекстное кодирование может выполняться на основе значения приращения индекса контекста для LFNST-флага. Здесь, контекстное кодирование представляет собой кодирование, выполняемое на основе контекстной модели, и может называться "регулярным кодированием". Дополнительно, контекстная модель может представляться посредством индекса ctsIdx контекста, и индекс контекста может извлекаться на основе приращения ctxInc индекса контекста и смещения ctxIdxOffset индекса контекста. Например, значение приращения индекса контекста может извлекаться в качестве одного из возможных вариантов, включающих в себя 0 и 1. Например, значение приращения индекса контекста может извлекаться на основе MTS-индекса (например, синтаксического элемента mts_idx или синтаксического элемента tu_mts_idx), представляющего набор ядер преобразования, который должен использоваться для текущего блока, из наборов ядер преобразования, и информации типа дерева, представляющей структуру сегментации текущего блока. Здесь, информация типа дерева может представлять одиночное дерево, представляющее то, что структуры сегментации компонента сигнала яркости и компонент сигнала цветности текущего блока равны друг другу, или сдвоенное дерево, представляющее то, что структуры сегментации компонента сигнала яркости и компонент сигнала цветности текущего блока отличаются друг от друга.[300] For example, the (first) permission element from the string of permission elements of the LFNST flag may be derived based on the context encoding, and the context encoding may be performed based on the increment value of the context index for the LFNST flag. Here, context encoding is encoding performed based on a context model, and may be referred to as "regular encoding". Additionally, the context model may be represented by the context index ctsIdx, and the context index may be derived based on the increment ctxInc of the context index and the offset ctxIdxOffset of the context index. For example, the context index increment value may be retrieved as one of the options including 0 and 1. For example, the context index increment value may be derived based on an MTS index (e.g., the mts_idx syntax element or the tu_mts_idx syntax element) representing a set of cores. a transformation to be used for the current block, from sets of transformation kernels, and tree type information representing the segmentation structure of the current block. Here, the tree type information may represent a single tree representing that the segmentation structures of the luminance signal component and the chrominance signal component of the current block are equal to each other, or a dual tree representing that the segmentation structures of the luminance signal component and the chrominance signal component of the current block are different from each other. from friend.
[301] Например, (первый) элемент разрешения из строки элементов разрешения флага индекса ядра преобразования может извлекаться на основе обходного кодирования. Здесь, обходное кодирование может представлять то, что контекстное кодирование выполняется на основе регулярного распределения вероятностей, и эффективность кодирования может повышаться посредством опускания процедуры обновления контекстного кодирования.[301] For example, the (first) ROI from the ROI string of the transform kernel index flag can be extracted based on the bypass encoding. Here, bypass coding may represent that context coding is performed based on a regular probability distribution, and coding efficiency may be improved by omitting the context coding update procedure.
[302] Оборудование декодирования может извлекать коэффициенты преобразования для текущего блока на основе связанной остаточной информации (S1310). Например, связанная остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования, и оборудование декодирования может извлекать квантованные коэффициенты преобразования для текущего блока на основе информации относительно квантованных коэффициентов преобразования. Например, оборудование декодирования может извлекать коэффициенты преобразования для текущего блока посредством выполнения деквантования квантованных коэффициентов преобразования.[302] The decoding equipment may derive transform coefficients for the current block based on the associated residual information (S1310). For example, the associated residual information may include information regarding the quantized transform coefficients, and the decoding equipment may derive quantized transform coefficients for the current block based on the information regarding the quantized transform coefficients. For example, the decoding equipment may derive transform coefficients for the current block by performing dequantization of the quantized transform coefficients.
[303] Оборудование декодирования может формировать остаточные выборки текущего блока на основе коэффициентов преобразования (S1320). Например, оборудование декодирования может формировать остаточные выборки из коэффициентов преобразования на основе информации LFNST-индекса. Например, в случае если информация LFNST-индекса включается в связанную остаточную информацию, или информация LFNST-индекса логически выводится или извлекается, LFNST может выполняться относительно коэффициентов преобразования в соответствии с информацией LFNST-индекса, и модифицированные коэффициенты преобразования могут извлекаться. После этого, оборудование декодирования может формировать остаточные выборки на основе модифицированных коэффициентов преобразования. Дополнительно, например, в случае если информация LFNST-индекса не включается в связанную остаточную информацию, либо представляется то, что LFNST не выполняется, оборудование декодирования может не выполнять LFNST относительно коэффициентов преобразования, но может формировать остаточные выборки на основе коэффициентов преобразования.[303] The decoding equipment may generate residual samples of the current block based on the transform coefficients (S1320). For example, the decoding equipment may generate residual samples from the transform coefficients based on the LFNST index information. For example, in case LFNST index information is included in the associated residual information, or LFNST index information is inferred or extracted, LFNST may be performed on transform coefficients according to the LFNST index information, and modified transform coefficients may be extracted. Thereafter, the decoding equipment may generate residual samples based on the modified transform coefficients. Additionally, for example, in the event that LFNST index information is not included in the associated residual information, or LFNST appears not to be performed, the decoding equipment may not perform LFNST on the transform coefficients, but may generate residual samples based on the transform coefficients.
[304] Хотя не проиллюстрировано на фиг. 13, например, оборудование декодирования может формировать восстановленные выборки на основе прогнозных выборок и остаточных выборок. Дополнительно, например, восстановленный блок и восстановленный кадр могут извлекаться на основе восстановленных выборок.[304] Although not illustrated in FIG. 13, for example, the decoding hardware may generate reconstructed samples based on the predictive samples and the residual samples. Additionally, for example, the reconstructed block and the reconstructed frame may be derived based on the reconstructed samples.
[305] Например, оборудование декодирования может получать информацию изображений, включающую в себя все или части вышеописанных фрагментов информации (или синтаксических элементов), посредством декодирования потока битов или кодированной информации. Дополнительно, поток битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных и может инструктировать осуществление вышеописанного способа декодирования.[305] For example, the decoding equipment can obtain image information including all or parts of the above-described pieces of information (or syntax elements) by decoding the bit stream or encoded information. Additionally, the bitstream or encoded information may be stored in a computer-readable storage medium and may cause the decoding method described above to be performed.
[306] Хотя способы описываются на основе блок-схемы последовательности операций способа, на которой этапы или блоки перечисляются в последовательности в вышеописанных вариантах осуществления, этапы настоящего документа не ограничены определенным порядком, и определенный этап может выполняться на другом этапе или в другом порядке либо одновременно относительно того, что описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы блок-схем последовательности операций способа не являются единственно возможными, и другой этап может включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия.[306] Although the methods are described based on a flowchart in which steps or blocks are listed in sequence in the above-described embodiments, the steps of this document are not limited to a certain order, and a certain step may be performed in a different step or in a different order, or simultaneously. regarding what is described above. Additionally, those skilled in the art will appreciate that the steps in the flowchart are not the only ones possible, and another step may be included, or one or more steps in the flowchart may be removed without affecting the scope of the present disclosure.
[307] Вышеуказанный способ согласно настоящему раскрытию может осуществляться в форме программного обеспечения, и оборудования кодирование и/или оборудование декодирования согласно настоящему раскрытию могут включаться в устройство для выполнения обработки изображений, например, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.[307] The above method according to the present disclosure may be implemented in the form of software, and the encoding equipment and/or decoding equipment according to the present disclosure may be included in an apparatus for performing image processing, such as a television, computer, smartphone, set-top box, display device, and etc.
[308] Когда варианты осуществления настоящего раскрытия реализуются посредством программного обеспечения, вышеуказанный способ может реализовываться посредством модуля (процесса или функции), который выполняет вышеуказанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может устанавливаться внутри или снаружи процессора и может соединяться с процессором через различные известные средства. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Другими словами, варианты осуществления согласно настоящему раскрытию могут реализовываться и выполняться на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, проиллюстрированные на соответствующих чертежах, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно реализации (например, информация относительно инструкций) или алгоритмы могут сохраняться на цифровом носителе хранения данных.[308] When embodiments of the present disclosure are implemented by software, the above method may be implemented by a module (process or function) that performs the above function. The module may be stored in a storage device and executed by a processor. The storage device may be installed inside or outside the processor and may be connected to the processor through various known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic, 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. In other words, embodiments according to the present disclosure may be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional modules illustrated in the respective drawings may be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, implementation information (eg, information regarding instructions) or algorithms may be stored on a digital storage medium.
[309] Помимо этого, оборудование декодирования и оборудование кодирования, к которым применяется вариант(ы) осуществления настоящего документа, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов и устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, поставщик услуг на основе технологии "видео по запросу (VoD)", видеоустройство поверх сетей (OTT), поставщик услуг потоковой передачи по Интернету, трехмерное видеоустройство, устройство в стиле виртуальной реальности (VR), устройство в стиле дополненной реальности (AR), телефонное видеоустройство, терминал в транспортном средстве (например, терминал в транспортном средстве (в том числе в автономном транспортном средстве), терминал в воздушном судне или терминал в морском судне) и медицинское видеоустройство; и могут использоваться для того, чтобы обрабатывать сигнал изображения или данные. Например, OTT-видеоустройство может включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC и цифровое записывающее видеоустройство (DVR).[309] In addition, the decoding equipment and encoding equipment to which the embodiment(s) of this document 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, video chatting device and real-time communication device, such as video communication, mobile streaming device, storage media, video recording camera, video-on-demand (VoD) service provider, video device over networks (OTT), service provider Internet streaming device, 3D video device, virtual reality (VR) style device, augmented reality (AR) style device, telephone video device, in-vehicle terminal (e.g., in-vehicle terminal (including autonomous vehicle), aircraft terminal or ship terminal) and medical video device; and may be used to process the image signal or data. For example, an OTT video device may include a game console, a Blu-ray player, an Internet TV, a home theater system, a smartphone, a tablet PC, and a digital video recorder (DVR).
[310] Помимо этого, способ обработки, к которому применяется вариант(ы) осуществления настоящего документа, может формироваться в форме программы, выполняемой посредством компьютера, и может сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно варианту(ам) осуществления настоящего документа, также могут сохраняться на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются компьютерно-читаемые данные. Компьютерно-читаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Компьютерно-читаемый носитель записи также включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или передаваться через сеть проводной или беспроводной связи.[310] In addition, the processing method to which the embodiment(s) of the present document is applied may be formed in the form of a program executable by a computer and may be stored in a computer-readable recording medium. The multimedia data having the data structure according to the embodiment(s) of the present document may also be stored in 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. The computer-readable recording medium also 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.
[311] Помимо этого, вариант(ы) осуществления настоящего документа может осуществляться в качестве компьютерного программного продукта на основе программного кода, и программный код может выполняться на компьютере согласно варианту(ам) осуществления настоящего документа. Программный код может сохраняться на компьютерно-читаемом носителе.[311] In addition, the embodiment(s) of the present document may be implemented as a computer program product based on the program code, and the program code may be executed on the computer according to the embodiment(s) of the present document. The program code may be stored on a computer-readable medium.
[312] Фиг. 15 представляет пример системы потоковой передачи контента, к которой может применяться вариант осуществления настоящего документа.[312] FIG. 15 shows an example of a content streaming system to which an embodiment of the present document may be applied.
[313] Ссылаясь на фиг. 15, система потоковой передачи контента, к которой применяются варианты осуществления настоящего документа, в общем, может включать в себя сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[313] Referring to FIG. 15, the content streaming system to which the embodiments of the present document apply may generally include an encoding server, a streaming server, a web server, a media storage, a user device, and a media input device.
[314] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае если устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться.[314] 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.
[315] Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяются варианты осуществления настоящего документа. Кроме того, потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[315] The bit stream may be generated by an encoding method or a bit stream generation method to which the embodiments of the present document apply. In addition, the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[316] Потоковый сервер передает мультимедийные данные в абонентское устройство на основе запроса пользователя через веб-сервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.[316] 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.
[317] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.[317] The streaming server may receive content from a media store and/or an encoding server. For example, in case the content is received from the encoding server, the content may be received in real time. In this case, the streaming server may keep the bit stream for a predetermined period of time to smoothly provide the streaming service.
[318] Например, абонентское устройство может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п.[318] For example, the subscriber equipment may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), a navigation device, a stylus tablet PC, a tablet PC, an ultrabook, a wearable device (e.g., watch terminal (smart watch), glasses terminal (smart glasses), head-mounted display (HMD)), digital TV, desktop computer, digital signage system, etc.
[319] Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.[319] Each of the servers in the content streaming system can operate as a distributed server, in which case, data received by each server can be processed in a distributed manner.
[320] Пункты формулы изобретения в настоящем описании могут комбинироваться различными способами. Например, технические признаки в пунктах формулы изобретения на способ настоящего описания могут комбинироваться с возможностью реализовываться или выполняться в оборудовании, и технические признаки в пунктах формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе. Дополнительно, технические признаки в пункте(ах) формулы изобретения на способ и пункте(ах) формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в оборудовании. Дополнительно, технические признаки в пункте(ах) формулы изобретения на способ и пункте(ах) формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе.[320] the Claims in the present description can be combined in various ways. For example, the technical features in the method claims of the present disclosure can be combined with the ability to be implemented or performed in equipment, and the technical features in the equipment claims can be combined with the ability to be implemented or performed in the method. Additionally, the technical features in the method claim(s) and the equipment claim(s) can be combined with the ability to be implemented or performed in the equipment. Additionally, the technical features in the method claim(s) and the equipment claim(s) can be combined with the ability to be implemented or performed in the method.
Claims (59)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/834,946 | 2019-04-16 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2021131540A Division RU2781175C1 (en) | 2019-04-16 | 2020-04-16 | Conversion for matrix internal prediction when encoding images |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2022125466A RU2022125466A (en) | 2022-10-20 |
RU2795799C2 true RU2795799C2 (en) | 2023-05-11 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120134412A1 (en) * | 2009-08-06 | 2012-05-31 | Youji Shibahara | Encoding method, decoding method, encoding device and decoding device |
WO2017058615A1 (en) * | 2015-09-29 | 2017-04-06 | Qualcomm Incorporated | Non-separable secondary transform for video coding with reorganizing |
US9661338B2 (en) * | 2010-07-09 | 2017-05-23 | Qualcomm Incorporated | Coding syntax elements for adaptive scans of transform coefficients for video coding |
WO2018166429A1 (en) * | 2017-03-16 | 2018-09-20 | Mediatek Inc. | Method and apparatus of enhanced multiple transforms and non-separable secondary transform for video coding |
WO2018174402A1 (en) * | 2017-03-21 | 2018-09-27 | 엘지전자 주식회사 | Transform method in image coding system and apparatus for same |
WO2018236051A1 (en) * | 2017-06-21 | 2018-12-27 | 엘지전자 주식회사 | Method and device for decoding image according to intra-prediction in image coding system |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120134412A1 (en) * | 2009-08-06 | 2012-05-31 | Youji Shibahara | Encoding method, decoding method, encoding device and decoding device |
US9661338B2 (en) * | 2010-07-09 | 2017-05-23 | Qualcomm Incorporated | Coding syntax elements for adaptive scans of transform coefficients for video coding |
WO2017058615A1 (en) * | 2015-09-29 | 2017-04-06 | Qualcomm Incorporated | Non-separable secondary transform for video coding with reorganizing |
WO2018166429A1 (en) * | 2017-03-16 | 2018-09-20 | Mediatek Inc. | Method and apparatus of enhanced multiple transforms and non-separable secondary transform for video coding |
WO2018174402A1 (en) * | 2017-03-21 | 2018-09-27 | 엘지전자 주식회사 | Transform method in image coding system and apparatus for same |
WO2018236051A1 (en) * | 2017-06-21 | 2018-12-27 | 엘지전자 주식회사 | Method and device for decoding image according to intra-prediction in image coding system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11831912B2 (en) | Transform for matrix-based intra-prediction in image coding | |
JP7375152B2 (en) | Video coding using conversion index | |
JP7387925B2 (en) | Transformations in intra-prediction-based video coding | |
RU2795799C2 (en) | Transformation for matrix intra prediction in image coding | |
RU2781175C1 (en) | Conversion for matrix internal prediction when encoding images | |
RU2795696C2 (en) | Image encoding transformation based on internal prediction | |
RU2781079C1 (en) | Transformation when encoding images based on internal prediction | |
RU2792223C1 (en) | Information coding regarding a set of transformation kernels | |
RU2783336C1 (en) | Bdpcm-based method for encoding images and apparatus therefor | |
RU2815810C2 (en) | Encoding information on set of transformation kernels | |
RU2820843C1 (en) | Bdpcm-based image encoding method and device for this | |
RU2806813C2 (en) | Method and device for image coding based on bdpcm | |
RU2808004C2 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
RU2793777C1 (en) | Method and device for internal prediction based on internal subsegments in image coding system | |
RU2780814C1 (en) | Method for encoding images based on conversion and a device for this |