RU2812762C1 - Adaptive colour conversion alarms for cu level and tu level - Google Patents

Adaptive colour conversion alarms for cu level and tu level Download PDF

Info

Publication number
RU2812762C1
RU2812762C1 RU2021131591A RU2021131591A RU2812762C1 RU 2812762 C1 RU2812762 C1 RU 2812762C1 RU 2021131591 A RU2021131591 A RU 2021131591A RU 2021131591 A RU2021131591 A RU 2021131591A RU 2812762 C1 RU2812762 C1 RU 2812762C1
Authority
RU
Russia
Prior art keywords
flag
act
encoded
predetermined
tree type
Prior art date
Application number
RU2021131591A
Other languages
Russian (ru)
Inventor
Лиэнь-Фэй ЧЭНЬ
Сян Ли
Шань ЛЮ
Original Assignee
TEНСЕНТ АМЕРИКА ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TEНСЕНТ АМЕРИКА ЭлЭлСи filed Critical TEНСЕНТ АМЕРИКА ЭлЭлСи
Application granted granted Critical
Publication of RU2812762C1 publication Critical patent/RU2812762C1/en

Links

Abstract

FIELD: video encoding and decoding.
SUBSTANCE: signalling a coding unit (CU) level enable flag and a transform unit (TU) level encoded luminance flag for an adaptive colour transform (ACT) encoded block. A method and device are provided for receiving video data, obtaining a CU, determining whether a CU flag is set to a predetermined flag state, determining whether a CU tree type is set to a predetermined tree type, determining whether an ACT flag should be signalled based on any from whether the CU flag is set to a predetermined flag state and whether the tree type of the CU is set to a predetermined tree type, and encoding video data based on whether the ACT flag is signalled.
EFFECT: increased efficiency of encoding.
12 cl, 15 dwg, 4 tbl

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУCROSS REFERENCE TO RELATED APPLICATION

[1] Настоящая заявка испрашивает приоритет предварительной заявки US 63/037,170, поданной 10 июня 2020 г., и заявки US 17/319,328, поданной 13 мая 2021 г., которые настоящим явным образом полностью включены посредством ссылки в настоящую заявку.[1] This application claims priority to provisional application US 63/037,170, filed June 10, 2020, and US 17/319,328, filed May 13, 2021, which are hereby expressly incorporated by reference into this application in their entirety.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART

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

[2] Настоящее раскрытие относится к сигнализации флага включения уровня единицы кодирования (CU) и кодированного флага яркости уровня единицы преобразования (TU) для кодированного блока с режимом адаптивного преобразования цвета (ACT).[2] The present disclosure relates to the signaling of a coding unit (CU) level enable flag and a transform unit (TU) level coded luminance flag for an adaptive color transform (ACT) mode coded block.

2. Описание уровня техники2. Description of the state of the art

[3] ITU-T VCEG (Q6 / 16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) опубликовали стандарт H.265/HEVC (высокоэффективное кодирование видео) в 2013 г. (версия 1), 2014 г. (версия 2), 2015 г. (версия 3), и 2016 (версия 4). В 2015 году эти две стандартные организации совместно сформировали JVET (Joint Video Exploration Team, Объединенная группа по исследованию видео), чтобы изучить потенциал разработки следующего стандарта видео кодирования, выходящего за рамки HEVC. В октябре 2017 года они объявили совместный конкурс предложений по сжатию видео с возможностями, выходящими за рамки HEVC (CfP). К 15 февраля 2018 г. было подано в общей сложности 22 ответа CfP по стандартному динамическому диапазону (SDR), 12 ответов CfP по расширенному динамическому диапазону (HDR) и 12 ответов CfP по категориям видео 360 градусов, соответственно. В апреле 2018 года все полученные ответы CfP были оценены на 122-м MPEG/10-м JVET заседании. В результате этой встречи JVET официально запустила процесс стандартизации кодирования видео следующего поколения за пределами HEVC. Новый стандарт получил название Versatile Video Coding (VVC), a JVET была переименована в Joint Video Expert Team (Объединенная группа экспертов по видео).[3] ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) published the H.265/HEVC (High Efficiency Video Coding) standard in 2013 (version 1), 2014 . (version 2), 2015 (version 3), and 2016 (version 4). In 2015, these two standards organizations jointly formed JVET (Joint Video Exploration Team) to explore the potential of developing the next video encoding standard beyond HEVC. In October 2017, they launched a joint call for proposals for video compression with capabilities beyond HEVC (CfP). By February 15, 2018, a total of 22 CfP responses had been submitted for standard dynamic range (SDR), 12 CfP responses for high dynamic range (HDR), and 12 CfP responses for 360 degree video categories, respectively. In April 2018, all CfP responses received were evaluated at the 122nd MPEG/10th JVET meeting. As a result of this meeting, JVET officially launched the standardization process for next generation video encoding beyond HEVC. The new standard was called Versatile Video Coding (VVC), and JVET was renamed the Joint Video Expert Team.

[4] Однако существуют технические проблемы, например, если кодированный блок CU не имеет коэффициента, тогда сигнализация режима ACT может быть избыточной или CU с режимом ACT должен иметь один или более одного коэффициентов в кодированном блоке CU. Для интер-блока с режимом ACT, если cu_coded_flag должна быть 1, чтобы представлять, что CU имеет по меньшей мере один коэффициент в единице преобразования, то нет соответствующего ограничения для интра-CU с режимом ACT, и только интра-блок с режимом ACT должен быть выведен равным 1, если оба кодированных флага TU каналов цветности равны нулю. Кроме того, cu_act_enabled_flag должен сигнализироваться дважды на основе другого режима предсказания текущего блока CU. По существу, здесь описаны, например, технические решения таких проблем.[4] However, there are technical issues, for example, if the CU coded block does not have a coefficient, then ACT mode signaling may be redundant, or a CU with ACT mode must have one or more than one coefficients in the CU coded block. For an ACT-mode inter-unit, if cu_coded_flag must be 1 to represent that the CU has at least one coefficient in the conversion unit, then there is no corresponding constraint for the ACT-mode intra-CU, and only the ACT-mode intra-unit must be output equal to 1 if both encoded chroma channel TU flags are zero. In addition, cu_act_enabled_flag must be signaled twice based on a different prediction mode of the current CU. As such, technical solutions to such problems are described here, for example.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯDISCLOSURE OF THE INVENTION

[5] Согласно примерным вариантам осуществленя, включены способ и устройство, содержащие память, конфигурированную для хранения компьютерного программного кода, и процессор или процессоры, конфигурированные для доступа к компьютерному программному коду и работы в соответствии с инструкциями компьютерного программного кода. Код компьютерной программы включает в себя первый код получения, конфигурированный для побуждения по меньшей мере одного процессора получать видеоданные, второй код получения, конфигурированный для побуждения по меньшей мере одного процессора получать блок единицы кодирования (CU) видеоданных, первый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли флаг блока CU в предварительно определенное состояние флага, второй код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли тип дерева блока CU в предварительно определенный тип дерева, третий код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева, и код кодирования, конфигурированный для побуждения по меньшей мере одного процессора кодировать видеоданные на основе того, сигнализируется ли флаг ACT.[5] According to exemplary embodiments, a method and apparatus are included, comprising a memory configured to store computer program code, and a processor or processors configured to access the computer program code and operate in accordance with instructions of the computer program code. The computer program code includes a first acquisition code configured to cause at least one processor to obtain video data, a second acquisition code configured to cause at least one processor to obtain a coding unit (CU) block of video data, a first determination code configured to cause at least one processor determines whether a flag of the CU is set to a predetermined flag state, a second determination code configured to cause the at least one processor to determine whether the tree type of the CU is set to a predetermined tree type, a third determination code configured to cause at least one processor determines whether to signal an adaptive color transform (ACT) flag based on any of whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined tree type, and an encoding code configured to cause the at least one processor to encode video data based on whether the ACT flag is signaled.

[6] Согласно примерному варианту осуществления, определение, следует ли сигнализировать флаг ACT, основано только на том, установлен ли флаг блока CU в предварительно определенное состояние флага.[6] According to an exemplary embodiment, determining whether the ACT flag should be signaled is based only on whether the CU flag is set to a predetermined flag state.

[7] Согласно примерному варианту осуществления, определение, следует ли сигнализировать флаг ACT, основано как на том, установлен ли флаг блока CU в предварительно определенное состояние флага, так и на том, установлен ли тип дерева блока CU в предварительно определенный тип дерева.[7] According to an exemplary embodiment, determining whether the ACT flag should be signaled is based on both whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined tree type.

[8] Согласно примерному варианту осуществления, предварительно определенный тип дерева указывает тип единичного дерева, а не тип двойного дерева.[8] According to an exemplary embodiment, the predefined tree type indicates a single tree type rather than a double tree type.

[9] Согласно примерному варианту осуществления, определение, следует ли сигнализировать флаг адаптивного цветового преобразования (ACT), выполняется независимо от того, является ли режим предсказания CU интра-режимом.[9] According to an exemplary embodiment, determining whether the adaptive color transformation (ACT) flag should be signaled is performed regardless of whether the CU prediction mode is intra-mode.

[10] Согласно примерному варианту осуществления, компьютерный программный код дополнительно включает в себя четвертый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, равны ли оба кодированных флага единицы преобразования (TU) нулю, и кодируется ли CU в режиме ACT.[10] According to an exemplary embodiment, the computer program code further includes a fourth determination code configured to cause the at least one processor to determine whether both encoded transform unit (TU) flags are zero, and whether the CU is encoded in ACT mode.

[11] Согласно примерному варианту осуществления, кодированные флаги TU являются флагами каналов цветности.[11] According to an exemplary embodiment, the encoded TU flags are chroma channel flags.

[12] Согласно примерному варианту осуществления, компьютерный программный код дополнительно содержит пятый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, должен ли кодированный флаг TU яркости быть выведен равным 1, на основе определения, что оба кодированных флага TU равны нулю и что CU кодирована в режиме ACT.[12] According to an exemplary embodiment, the computer program code further comprises a fifth determination code configured to cause the at least one processor to determine whether a coded luminance flag TU should be output equal to 1 based on determining that both coded TU flags are zero and that the CU is coded in ACT mode.

[13] Согласно примерным вариантам осуществления, определение, что кодированный флаг TU яркости должен быть выведен равным 1, выполняется независимо от того, является ли режим предсказания CU интра-режимом.[13] According to exemplary embodiments, determining that the encoded luminance flag TU should be output equal to 1 is performed regardless of whether the CU prediction mode is intra-mode.

[14] Согласно примерным вариантам осуществления, кодирование видеоданных дополнительно основано на определении, должен ли кодированный флаг TU яркости быть выведен равным 1.[14] According to exemplary embodiments, encoding of video data is further based on determining whether the encoded luminance flag TU should be output equal to 1.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[15] Дополнительные признаки, сущность и различные преимущества раскрытого объекта изобретения будут более понятны из следующего подробного описания и прилагаемых чертежей, на которых изображено следующее.[15] Additional features, spirit and various advantages of the disclosed subject matter will be better understood from the following detailed description and the accompanying drawings, in which the following are depicted.

[16] Фиг. 1 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.[16] FIG. 1 is a simplified illustration of a schematic diagram in accordance with embodiments.

[17] Фиг. 2 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.[17] FIG. 2 is a simplified illustration of a schematic diagram in accordance with embodiments.

[18] Фиг. 3 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.[18] FIG. 3 is a simplified illustration of a schematic diagram in accordance with embodiments.

[19] Фиг. 4 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.[19] FIG. 4 is a simplified illustration of a schematic diagram in accordance with embodiments.

[20] Фиг. 5 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[20] FIG. 5 is a simplified illustration of a diagram in accordance with embodiments.

[21] Фиг. 6 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[21] FIG. 6 is a simplified illustration of a diagram in accordance with embodiments.

[22] Фиг. 7 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[22] FIG. 7 is a simplified illustration of a diagram in accordance with embodiments.

[23] Фиг. 8 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[23] FIG. 8 is a simplified illustration of a diagram in accordance with embodiments.

[24] Фиг. 9А представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[24] FIG. 9A is a simplified diagram illustration in accordance with embodiments.

[25] Фиг. 9 В представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[25] FIG. 9B is a simplified illustration of a diagram in accordance with embodiments.

[26] Фиг. 10 представляет собой упрощенную иллюстрацию блок-схемы в соответствии с вариантами осуществления.[26] FIG. 10 is a simplified illustration of a block diagram in accordance with embodiments.

[27] Фиг. 11 представляет собой упрощенную иллюстрацию блок-схемы в соответствии с вариантами осуществления.[27] FIG. 11 is a simplified illustration of a block diagram in accordance with embodiments.

[28] Фиг. 12 представляет собой упрощенную иллюстрацию блок-схемы в соответствии с вариантами осуществления.[28] FIG. 12 is a simplified illustration of a block diagram in accordance with embodiments.

[29] Фиг. 13 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[29] FIG. 13 is a simplified diagram illustration in accordance with embodiments.

[30] Фиг. 14 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.[30] FIG. 14 is a simplified diagram illustration in accordance with embodiments.

[31] Фиг. 15 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.[31] FIG. 15 is a simplified illustration of a schematic diagram in accordance with embodiments.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[32] Предлагаемые признаки, обсуждаемые ниже, могут быть использованы по отдельности или скомбинированы в любом порядке. Кроме того, варианты осуществления могут быть реализованы схемами обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров выполняют программу, которая хранится на невременном машиночитаемом носителе.[32] The proposed features discussed below can be used individually or combined in any order. In addition, embodiments may be implemented by processing circuits (eg, one or more processors or one or more integrated circuits). In one example, one or more processors executes a program that is stored on a non-transitory computer-readable medium.

[33] На фиг. 1 проиллюстрирована упрощенная блок-схема системы (100) связи согласно варианту осуществления настоящего раскрытия. Система 100 связи может включать в себя по меньшей мере два терминала 102 и 103, соединенных между собой через сеть 105. Для однонаправленной передачи данных первый терминал 103 может кодировать видеоданные в локальном местоположении для передачи другому терминалу 102 через сеть 105. Второй терминал 102 может принимать кодированные видеоданные другого терминала из сети 105, декодировать кодированные данные и отображать восстановленные видеоданные. Однонаправленная передача данных может быть обычным явлением в приложениях обслуживания мультимедиа и т.п.[33] In FIG. 1 illustrates a simplified block diagram of a communication system (100) according to an embodiment of the present disclosure. Communications system 100 may include at least two terminals 102 and 103 interconnected via network 105. For unidirectional data transmission, first terminal 103 may encode video data at a local location for transmission to another terminal 102 via network 105. Second terminal 102 may receive encoded video data of another terminal from the network 105, decode the encoded data, and display the recovered video data. Unidirectional data transfer may be common in media serving applications and the like.

[34] На фиг. 1 показана вторая пара терминалов 101 и 104, обеспечивающая поддержку двунаправленной передачи кодированного видео, которая может происходить, например, во время видеоконференц-связи. Для двунаправленной передачи данных каждый терминал 101 и 104 может кодировать видеоданные, захваченные в локальном местоположении, для передачи на другой терминал через сеть 105. Каждый терминал 101 и 104 также может принимать кодированные видеоданные, переданные другим терминалом, может декодировать кодированные данные и может отображать восстановленные видеоданные на локальном устройстве отображения.[34] In FIG. 1 shows a second pair of terminals 101 and 104 that provide support for bidirectional encoded video transmission, which may occur, for example, during video conferencing. For bidirectional data transmission, each terminal 101 and 104 may encode video data captured at a local location for transmission to another terminal via network 105. Each terminal 101 and 104 may also receive encoded video data transmitted by the other terminal, may decode the encoded data, and may display the reconstructed data. video data on the local display device.

[35] Как показано на фиг. 1, терминалы 101, 102, 103 и 104 могут быть изображены как серверы, персональные компьютеры и смартфоны, но принципы настоящего раскрытия этим не ограничиваются. Варианты осуществления настоящего изобретения находят применение в портативных компьютерах, планшетных компьютерах, медиаплеерах и/или специализированном оборудовании для видеоконференц-связи. Сеть 105 представляет любое количество сетей, которые передают кодированные видеоданные между терминалами 101, 102, 103 и 104, включая, например, сети проводной и/или беспроводной связи. Сеть 105 связи может обмениваться данными в каналах с коммутацией каналов и/или с коммутацией пакетов. Характерные сети включают в себя телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. Для целей настоящего обсуждения архитектура и топология сети 105 могут быть несущественными для работы настоящего раскрытия, если это не объясняется в данном документе ниже.[35] As shown in FIG. 1, terminals 101, 102, 103, and 104 may be depicted as servers, personal computers, and smartphones, but the principles of the present disclosure are not limited to these. Embodiments of the present invention find use in laptop computers, tablet computers, media players, and/or specialized videoconferencing equipment. Network 105 represents any number of networks that transmit encoded video data between terminals 101, 102, 103 and 104, including, for example, wired and/or wireless communication networks. Communications network 105 may communicate over circuit-switched and/or packet-switched channels. Representative networks include telecommunications networks, local area networks, wide area networks, and/or the Internet. For purposes of this discussion, the architecture and topology of network 105 may not be essential to the operation of the present disclosure unless explained below herein.

[36] На фиг. 2 проиллюстрировано, в качестве примера применения для раскрытого объекта изобретения, размещение видеокодера и видеодекодера в потоковой среде. Раскрытый объект изобретения может быть в равной степени применим к другим приложениям с поддержкой видео, включая, например, видеоконференц-связь, цифровое телевидение, хранение сжатого видео на цифровых носителях, включая CD, DVD, карту памяти и т.п., и так далее.[36] In FIG. 2 illustrates, as an example of an application for the disclosed subject matter, the placement of a video encoder and a video decoder in a streaming environment. The disclosed subject matter may be equally applicable to other video-enabled applications including, for example, video conferencing, digital television, compressed video storage on digital media including CD, DVD, memory card, etc., and so on. .

[37] Система 200 потоковой передачи может включать в себя подсистему 203 захвата, которая может включать в себя источник 201 видео, такой как цифровая камера, создающий, например, поток 213 несжатых отсчетов видео. Этот поток 213 отсчетов может быть выделен как большой объем данных по сравнению с кодированными битовыми потоками битов и может быть обработан кодером 202, подключенным к камере 201. Кодер 202 может включать в себя аппаратное обеспечение, программное обеспечение или их комбинацию для включения или реализации аспектов раскрытого объекта изобретения, как более подробно описано ниже. Кодированный битовый поток 204 видео, который может быть выделен как меньший объем данных по сравнению с потоком отсчетов, может быть сохранен на сервере 205 потоковой передачи для будущего использования. Один или более клиентов 212 и 207 потоковой передачи могут получить доступ к серверу 205 потоковой передачи для извлечения копий 208 и 206 кодированного битового потока 204 видео. Клиент 212 может включать в себя видеодекодер 211, который декодирует входящую копию кодированного битового потока 208 видео и создает исходящий поток 210 отсчетов видео, который может отображаться на дисплее 209 или другом устройстве визуализации (не изображено). В некоторых системах потоковой передачи битовые потоки 204, 206 и 208 видео могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видео. Примеры этих стандартов отмечены выше и описаны ниже.[37] The streaming system 200 may include a capture subsystem 203, which may include a video source 201, such as a digital camera, producing, for example, a stream 213 of uncompressed video samples. This sample stream 213 may be allocated as a large amount of data relative to the encoded bit streams and may be processed by an encoder 202 coupled to camera 201. Encoder 202 may include hardware, software, or a combination thereof to enable or implement aspects of the disclosed subject matter of the invention, as described in more detail below. The encoded video bitstream 204, which can be allocated as a smaller amount of data compared to the sample stream, can be stored on the streaming server 205 for future use. One or more streaming clients 212 and 207 may access the streaming server 205 to retrieve copies 208 and 206 of the encoded video bitstream 204 . Client 212 may include a video decoder 211 that decodes an incoming copy of the encoded video bitstream 208 and produces an outgoing video sample stream 210 that can be displayed on a display 209 or other rendering device (not shown). In some streaming systems, video bitstreams 204, 206 and 208 may be encoded according to certain video encoding/compression standards. Examples of these standards are noted above and described below.

[38] Фиг. 3 может быть функциональной блок-схемой видеодекодера 300 согласно варианту осуществления настоящего раскрытия.[38] FIG. 3 may be a functional block diagram of a video decoder 300 according to an embodiment of the present disclosure.

[39] Приемник 302 может принимать одну или более кодированных видеопоследовательностей, которые должны быть декодированы декодером 300; в таком же или другом варианте осуществления по одной кодированной[39] Receiver 302 may receive one or more encoded video sequences to be decoded by decoder 300; in the same or another embodiment, one coded

видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может быть принята из канала 301, который может быть аппаратным/программным соединением с устройством хранения, в котором хранятся кодированные видеоданные. Приемник 302 может принимать кодированные видеоданные с другими данными, например, кодированными аудиоданными и/или потоками вспомогательных данных, которые могут быть отправлены их соответствующим использующим объектам (не изображены). Приемник 302 может отделять кодированную видеопоследовательность от других данных. Для борьбы с дрожанием в сети между приемником 302 и энтропийным декодером/парсером 304 (далее «парсер») может быть подключена буферная память 303. Когда приемник 302 принимает данные от устройства хранения/пересылки с достаточной полосой пропускания и управляемостью или из изосинхронной сети, буфер 303 может не понадобиться или может быть небольшим. Для использования в пакетных сетях наилучшего качества, таких как Интернет, может потребоваться буфер 303, который может быть сравнительно большим и может быть предпочтительно адаптивного размера.video sequences at a time, where the decoding of each encoded video sequence is independent of other encoded video sequences. The encoded video sequence may be received from channel 301, which may be a hardware/software connection to a storage device in which the encoded video data is stored. Receiver 302 may receive encoded video data with other data, such as encoded audio data and/or ancillary data streams, which may be sent to their respective using entities (not shown). Receiver 302 may separate the encoded video sequence from other data. To combat network jitter, a buffer memory 303 may be connected between receiver 302 and entropy decoder/parser 304 (“parser”). When receiver 302 receives data from a storage/forwarding device with sufficient bandwidth and controllability or from an iso-synchronous network, the buffer 303 may not be needed or may be small. For use on best quality packet networks, such as the Internet, a buffer 303 may be required, which may be relatively large and may preferably be of an adaptive size.

[40] Видеодекодер 300 может включать в себя парсер 304 для восстановления символов 313 из энтропийно кодированной видеопоследовательности. Категории этих символов включают в себя информацию, используемую для управления работой декодера 300, и потенциально информацию для управления устройством визуализации, таким как дисплей 312, который не является неотъемлемой частью декодера, но может быть подключен к нему. Управляющая информация для устройства (устройств) визуализации может быть в форме дополнительной информации улучшения (сообщения SEI) или фрагментов набора параметров информации о пригодности видео (не изображены). Парсер 304 может выполнять парсинг/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование кодированной видеопоследовательности может осуществляться в соответствии с технологией или стандартом кодирования видео и может следовать принципам, хорошо известным специалистам в уровне техники, включая кодирование переменной длины, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и так далее. Парсер 304 может извлекать из кодированной видеопоследовательности набор параметров субгруппы по меньшей мере для одной из субгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Субгруппы могут включать в себя группы изображений (GOP), изображения, тайлы, слайсы, макроблоки, единицы кодирования (CU), блоки, единицы преобразования (TU), единицы предсказания (PU) и так далее. Энтропийный декодер/парсер также может извлекать из кодированной видеопоследовательности информацию, такую как коэффициенты преобразования, значения параметров квантователя, векторы движения и так далее.[40] Video decoder 300 may include a parser 304 for recovering symbols 313 from the entropy encoded video sequence. Categories of these symbols include information used to control the operation of the decoder 300, and potentially information to control a visualization device, such as a display 312, that is not integral to the decoder, but may be connected to it. The control information for the rendering device(s) may be in the form of additional enhancement information (SEI messages) or video suitability information parameter set portions (not shown). Parser 304 may parse/entropy decode the received encoded video sequence. Encoding of the encoded video sequence may be performed in accordance with a video encoding technology or standard and may follow principles well known to those skilled in the art, including variable length encoding, Huffman encoding, arithmetic encoding with or without context sensitivity, and so on. Parser 304 may extract from the encoded video sequence a set of subgroup parameters for at least one of the subgroups of pixels in the video decoder based on at least one parameter corresponding to the group. Subgroups may include groups of pictures (GOPs), pictures, tiles, slices, macroblocks, coding units (CUs), blocks, transform units (TUs), prediction units (PUs), and so on. An entropy decoder/parser can also extract information from the encoded video sequence, such as transform coefficients, quantizer parameter values, motion vectors, and so on.

[41] Парсер 304 может выполнять операцию энтропийного декодирования/парсинга видеопоследовательности, принятой из буфера 303, так чтобы создавать символы 313. Парсер 304 может принимать кодированные данные и выборочно декодировать определенные символы 313. Кроме того, парсер 304 может определять, должны ли конкретные символы 313 быть предоставлены в модуль 306 предсказания с компенсацией движения, модуль 305 масштабирования/обратного преобразования, модуль 307 интрапредсказания или петлевой фильтр 311.[41] Parser 304 may perform an entropy decoding/parsing operation on a video sequence received from buffer 303 so as to create symbols 313. Parser 304 may receive encoded data and selectively decode specific symbols 313. Additionally, parser 304 may determine whether specific symbols should 313 be provided to motion compensated prediction module 306, upscaling/demapping module 305, intraprediction module 307, or loop filter 311.

[42] Восстановление символов 313 может включать в себя множество различных модулей в зависимости от типа кодированного видеоизображения или его частей (таких как: интер- и интраизображение, интер- и интраблок) и других факторов. Какие модули задействованы и как, можно контролировать с помощью управляющей информации субгруппы, парсинг которой был выполнен из кодированной видеопоследовательности посредством парсера 304. Поток такой управляющей информации субгруппы между парсером 304 и множеством модулей ниже не показан для ясности.[42] Symbol recovery 313 may include a variety of different modules depending on the type of video image or portions thereof encoded (such as: inter- and intra-picture, inter- and intrablock) and other factors. Which modules are engaged and how can be controlled by subgroup control information parsed from the encoded video sequence by parser 304. The flow of such subgroup control information between parser 304 and the plurality of modules is not shown below for clarity.

[43] Помимо уже упомянутых функциональных модулей, декодер 300 может быть концептуально подразделен на ряд функциональных модулей, как описано ниже. В практическом осуществлении, работающем в условиях коммерческих ограничений, многие из этих модулей тесно взаимодействуют друг с другом и могут быть, по меньшей мере частично, интегрированы друг в друга. Однако для целей описания раскрытого объекта изобретения уместно концептуальное подразделение на функциональные модули, приведенные ниже.[43] In addition to the functional modules already mentioned, the decoder 300 can be conceptually divided into a number of functional modules, as described below. In a practical implementation operating under commercial constraints, many of these modules interact closely with each other and can be at least partially integrated into each other. However, for purposes of describing the disclosed subject matter, it is appropriate to conceptually subdivide it into functional modules as follows.

[44] Первым модулем является модуль 305 масштабирования/обратного преобразования. Модуль 305 масштабирования/обратного преобразования принимает квантованный коэффициент преобразования, а также управляющую информацию, включая то, какое преобразование использовать, размер блока, коэффициент квантования, матрицы масштабирования квантования и так далее, в виде символа(ов) 313 от парсера 304. Он может выводить блоки, содержащие значения отсчетов, которые могут быть введены в агрегатор 310.[44] The first module is a scale/inverse module 305. The scaling/inverse transform module 305 receives the quantized transform factor, as well as control information, including which transform to use, block size, quantization factor, quantization scaling matrices, and so on, as symbol(s) 313 from parser 304. It may output blocks containing sample values that can be entered into the aggregator 310.

[45] В некоторых случаях выходные отсчеты модуля 305 масштабирования/обратного преобразования могут относиться к интракодированному блоку; то есть к блоку, который не использует информацию предсказания из ранее восстановленных изображений, но может использовать информацию предсказания из ранее восстановленных частей текущего изображения. Такая информация предсказания может быть предоставлена модулем 307 внутрикадрового предсказания. В некоторых случаях модуль 307 внутрикадрового предсказания генерирует блок того же размера и формы, что и восстанавливаемый блок, используя окружающую уже восстановленную информацию, извлеченную из текущего (частично восстановленного) изображения 309. Агрегатор 310 в некоторых случаях добавляет для каждого отсчета информацию предсказания, сгенерированную модулем 307 интрапредсказания, к информации выходных отсчетов, предоставляемой модулем 305 масштабирования/обратного преобразования.[45] In some cases, the output samples of the scaling/demapping module 305 may refer to an intra-coded block; that is, to a block that does not use prediction information from previously reconstructed images, but may use prediction information from previously reconstructed portions of the current image. Such prediction information may be provided by intra-frame prediction module 307. In some cases, intra-frame prediction module 307 generates a block of the same size and shape as the block being reconstructed using surrounding already reconstructed information extracted from the current (partially reconstructed) image 309. Aggregator 310 in some cases adds, for each sample, prediction information generated by the module 307 intraprediction, to the output sample information provided by the scaling/inverse transform module 305.

[46] В других случаях выходные отсчеты модуля 305 масштабирования/обратного преобразования могут относиться к интеркодированному блоку и потенциально блоку с компенсацией движения. В таком случае модуль 306 предсказания с компенсацией движения может обращаться к памяти 308 опорных изображений, чтобы извлекать отсчеты, используемые для предсказания. После компенсации движения выбранных отсчетов в соответствии с символами 313, относящимися к блоку, эти отсчеты могут быть добавлены агрегатором 310 к выходу модуля масштабирования/обратного преобразования (в данном случае называемые остаточными отсчетами или остаточным сигналом), чтобы генерировать информацию о выходных отсчетах. Адреса в памяти опорных изображений, откуда модуль предсказания с компенсацией движения выбирает отсчеты предсказания, могут управляться векторами движения, доступными модулю предсказания с компенсацией движения в форме символов 313, которые могут иметь, например, компоненты X, Y и опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти опорных изображений, когда используются точные векторы движения суботсчетов, механизмы предсказания вектора движения и так далее.[46] In other cases, the output samples of the scaling/demapping module 305 may relate to an intercoded block and potentially a motion compensated block. In such a case, motion compensated prediction module 306 may access reference image memory 308 to retrieve samples used for prediction. After motion compensation of the selected samples in accordance with the symbols 313 associated with the block, these samples can be added by the aggregator 310 to the output of the scaler/inverter (here called residual samples or residual signal) to generate information about the output samples. The addresses in the reference picture memory from which the motion-compensated prediction module selects prediction samples may be controlled by motion vectors available to the motion-compensated prediction module in the form of symbols 313, which may have, for example, X, Y, and reference picture components. Motion compensation may also include interpolation of sample values retrieved from reference image memory, where precise subsample motion vectors, motion vector prediction mechanisms, and so on are used.

[47] Выходные отсчеты агрегатора 310 могут подвергаться различным методам петлевой фильтрации в модуле 311 петлевого фильтра. Технологии сжатия видео могут включать в себя технологии внутрипетлевой фильтрации, которые управляются параметрами, включенными в битовый поток кодированного видео и предоставляются модулю 311 петлевой фильтрации как символы 313 из парсера 304, но также могут реагировать на метаинформацию, полученную во время декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также реагировать на ранее восстановленные и отфильтрованные посредством петлевой фильтрации значения отсчетов.[47] The output samples of aggregator 310 may be subject to various loop filtering techniques in loop filter module 311. Video compression technologies may include intra-loop filtering technologies that are controlled by parameters included in the encoded video bitstream and provided to loop filtering module 311 as symbols 313 from parser 304, but may also respond to meta-information obtained during decoding of previous ones (in decoding order). ) parts of a coded image or coded video sequence, as well as respond to sample values previously restored and filtered through loop filtering.

[48] Выходной сигнал модуля 311 петлевого фильтра может быть потоком отсчетов, который может быть выведен на устройство 312 визуализации, а также сохранен в памяти 557 опорных изображений для использования в будущем межкадровом предсказании.[48] The output of loop filter module 311 may be a stream of samples, which may be output to renderer 312 and also stored in reference picture memory 557 for use in future inter-frame prediction.

[49] Определенные кодированные изображения после полного восстановления могут использоваться в качестве опорных изображений для будущего предсказания. После того, как кодированное изображение полностью восстановлено и кодированное изображение было идентифицировано как опорное изображение (например, парсером 304), текущее опорное изображение 309 может стать частью буфера 308 опорных изображений, и свежая память текущих изображений может быть перераспределена перед началом восстановления следующего кодированного изображения.[49] Certain encoded images, after complete reconstruction, can be used as reference images for future prediction. After a coded picture has been fully recovered and the coded picture has been identified as a reference picture (eg, by parser 304), the current reference picture 309 may become part of the reference picture buffer 308, and fresh current picture memory can be reallocated before the next coded picture can be restored.

[50] Видеодекодер 300 может выполнять операции декодирования согласно заранее определенной технологии сжатия видео, которая может быть задокументирована в стандарте, таком как Рекомендации ITU-T Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или стандартом сжатия видео, в том смысле, что она соответствует синтаксису технологии или стандарта сжатия видео, как указано в документе или стандарте технологии сжатия видео и, в частности, в их документе профилей. Также для соответствия может быть необходимым, чтобы сложность кодированной видеопоследовательности находилась в пределах границ, определенных уровнем технологии или стандарта сжатия видео. В некоторых случаях уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту дискретизации восстановления (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и так далее. Пределы, установленные уровнями, в некоторых случаях могут быть дополнительно ограничены с помощью спецификаций гипотетического эталонного декодера (HRD) и метаданных для управления буфером HRD, сигнализируемых в кодированной видеопоследовательности.[50] Video decoder 300 may perform decoding operations according to a predefined video compression technology, which may be documented in a standard such as ITU-T Recommendation H.265. The encoded video sequence may conform to the syntax specified by a video compression technology or standard in use, in the sense that it matches the syntax of the video compression technology or standard as specified in the video compression technology document or standard and, in particular, in its profiles document. It may also be necessary for compliance to ensure that the complexity of the encoded video sequence is within the boundaries defined by the technology level or video compression standard. In some cases, levels limit the maximum image size, the maximum frame rate, the maximum reconstruction sampling rate (measured, for example, in megasamples per second), the maximum reference image size, and so on. The limits set by the layers can in some cases be further limited by hypothetical reference decoder (HRD) specifications and HRD buffer management metadata signaled in the encoded video sequence.

[51] В варианте осуществления приемник 302 может принимать дополнительные (избыточные) данные с кодированным видео. Дополнительные данные могут быть включены как часть кодированной видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером 300 для правильного декодирования данных и/или для более точного восстановления исходных видеоданных. Дополнительные данные могут быть в форме, например, временных, пространственных слоев или слоев улучшения отношения сигнал/шум (SNR), избыточных слайсов, избыточных изображений, кодов прямого исправления ошибок и так далее.[51] In an embodiment, receiver 302 may receive additional (redundant) coded video data. Additional data may be included as part of the encoded video sequence(s). The additional data may be used by video decoder 300 to correctly decode the data and/or to more accurately reconstruct the original video data. The additional data may be in the form of, for example, temporal, spatial or signal-to-noise ratio (SNR) enhancement layers, redundant slices, redundant images, forward error correction codes, and so on.

[52] Фиг. 4 может быть функциональной блок-схемой видеокодера 400 согласно варианту осуществления настоящего раскрытия.[52] FIG. 4 may be a functional block diagram of a video encoder 400 according to an embodiment of the present disclosure.

[53] Кодер 400 может принимать отсчеты видео от источника 401 видео (который не является частью кодера), который может захватывать видеоизображение(я) для кодирования кодером 400.[53] Encoder 400 may receive video samples from video source 401 (which is not part of the encoder), which may capture video image(s) for encoding by encoder 400.

[54] Источник 401 видео может предоставлять исходную видеопоследовательность для кодирования кодером (303) в форме цифрового потока отсчетов видео, который может иметь любую подходящую битовую глубину (например: 8 бит, 10 бит, 12 бит, …), любое цветовое пространство (например, ВТ.601 Y CrCB, RGB, …) и любую подходящую структуру отсчетов (например, Y CrCb 4:2:0, Y CrCb 4:4:4). В системе обслуживания мультимедиа источник 401 видео может быть запоминающим устройством, хранящим предварительно подготовленное видео. В системе видеоконференц-связи источник 401 видео может быть камерой, которая захватывает информацию о локальном изображении в виде видеопоследовательности. Видеоданные могут быть предоставлены как множество отдельных изображений, которые при последовательном просмотре передают движение. Сами изображения могут быть организованы как пространственный массив пикселей, в котором каждый пиксель может содержать один или более отсчетов в зависимости от используемой структуры дискретизации, цветового пространства и т.д. Специалист в данной области техники может легко понять взаимосвязь между пикселями и отсчетами. Описание ниже ориентировано на отсчеты.[54] Video source 401 may provide a source video sequence for encoding by encoder 303 in the form of a digital video sample stream, which may have any suitable bit depth (eg: 8 bits, 10 bits, 12 bits, ...), any color space (eg , VT.601 Y CrCB, RGB, ...) and any suitable reading structure (for example, Y CrCb 4:2:0, Y CrCb 4:4:4). In a multimedia serving system, video source 401 may be a storage device storing pre-prepared video. In a video conferencing system, video source 401 may be a camera that captures local image information as a video sequence. Video data may be provided as many individual images that, when viewed sequentially, convey motion. The images themselves can be organized as a spatial array of pixels, in which each pixel can contain one or more samples depending on the sampling structure used, color space, etc. One skilled in the art can readily understand the relationship between pixels and samples. The description below is oriented towards readings.

[55] Согласно варианту осуществления кодер 400 может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность 410 в реальном времени или с любыми другими временными ограничениями, как того требует приложение. Обеспечение соответствующей скорости кодирования - одна из функций контроллера 402. Контроллер управляет другими функциональными модулями, как описано ниже, и функционально связан с этими модулями. Связь не изображена для ясности. Параметры, устанавливаемые контроллером, могут включать в себя параметры, относящиеся к управлению скоростью (пропуск изображения, квантователь, значение лямбда методов оптимизации скорость-искажение, …), размеру изображения, макету группы изображений (GOP), максимальному диапазону поиска вектора движения и так далее. Специалист в данной области техники может легко определить другие функции контроллера 402, поскольку они могут относиться к видеокодеру 400, оптимизированному для определенной конструкции системы.[55] In an embodiment, encoder 400 may encode and compress images of the original video sequence into encoded video sequence 410 in real time or with any other timing constraints as required by the application. Providing an appropriate encoding rate is one of the functions of the controller 402. The controller controls other functional modules, as described below, and is operatively coupled to these modules. The connection is not depicted for clarity. Parameters set by the controller may include parameters related to speed control (image skip, quantizer, lambda value of rate-distortion optimization methods, ...), image size, group of picture (GOP) layout, maximum motion vector search range, and so on . Other functions of controller 402 may be readily apparent to one skilled in the art as they may relate to video encoder 400 optimized for a particular system design.

[56] Некоторые видеокодеры работают в том, что специалист в данной области легко распознает как «петля кодирования». В качестве упрощенного описания петля кодирования может состоять из кодирующей части кодера 402 (далее «кодер источника») (ответственной за создание символов на основе входного изображения, которое должно быть кодировано, и опорного изображения(й)), и (локального) декодера 406, встроенного в кодер 400, который восстанавливает символы для создания данных отсчетов, которые (удаленный) декодер также может создать (поскольку любое сжатие между символами и кодированным битовым потоком видео не имеет потерь в технологиях сжатия видео, рассматриваемых в раскрытом объекте). Этот восстановленный поток отсчетов вводится в память 405 опорных изображений. Поскольку декодирование потока символов приводит к результатам с точностью до бита, независимо от местоположения декодера (локально или удаленно), содержимое буфера опорных изображений также является точным до бита между локальным кодером и удаленным кодером. Другими словами, часть предсказания кодера «видит» в качестве отсчетов опорного изображения точно такие же значения отсчетов, которые декодер «видел» бы при использовании предсказания во время декодирования. Этот фундаментальный принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может поддерживаться, например, из-за ошибок канала) хорошо известен специалисту в данной области техники.[56] Some video encoders operate in what one skilled in the art would readily recognize as a "coding loop". As a simplified description, an encoding loop may consist of an encoding portion of an encoder 402 (hereinafter "source encoder") (responsible for generating symbols based on the input image to be encoded and the reference image(s)), and a (local) decoder 406, built into the encoder 400, which reconstructs the symbols to create sample data that the (remote) decoder can also create (since any compression between the symbols and the encoded video bitstream is lossless in the video compression technologies discussed in the disclosed subject matter). This reconstructed stream of samples is entered into reference image memory 405. Since decoding a symbol stream produces bit-accurate results regardless of the location of the decoder (locally or remotely), the contents of the reference picture buffer are also bit-accurate between the local encoder and the remote encoder. In other words, the prediction portion of the encoder "sees" as reference picture samples exactly the same sample values that the decoder would "see" using prediction during decoding. This fundamental principle of reference picture synchronicity (and the resulting drift if synchronicity cannot be maintained, for example due to channel errors) is well known to one skilled in the art.

[57] Работа «локального» декодера 406 может быть такой же, как у «удаленного» декодера 300, который уже был подробно описан выше со ссылкой на фиг. 3. Кратко ссылаясь также на фиг. 4, однако, поскольку символы доступны и кодирование и/или декодирование символов в кодированную видеопоследовательность энтропийным кодером 408 и парсером 304 может осуществляться без потерь, части энтропийного декодирования декодера 300, включая канал 301, приемник 302, буфер 303 и парсер 304, не могут быть полностью реализованы в локальном декодере 406.[57] The operation of the "local" decoder 406 may be the same as that of the "remote" decoder 300, which has already been described in detail above with reference to FIG. 3. Briefly referring also to FIG. 4, however, since symbols are available and encoding and/or decoding of symbols into a coded video sequence by entropy encoder 408 and parser 304 can be lossless, the entropy decoding portions of decoder 300, including channel 301, receiver 302, buffer 303, and parser 304 cannot be are fully implemented in the local 406 decoder.

[58] На этом этапе можно сделать наблюдение, что любая технология декодирования, кроме синтаксического анализа (парсинга)/энтропийного декодирования, которая присутствует в декодере, также обязательно должна присутствовать в по существу идентичной функциональной форме в соответствующем кодере. Описание технологий кодирования может быть сокращено, поскольку они являются инверсией полностью описанных технологий декодирования. Только в некоторых областях требуется более подробное описание, которое приводится ниже.[58] At this point, the observation can be made that any decoding technology other than parsing/entropy decoding that is present in the decoder must also be present in substantially identical functional form in the corresponding encoder. The description of encoding technologies may be shortened because they are the inverse of the fully described decoding technologies. Only some areas require more detailed description, which is given below.

[59] В качестве части своей работы кодер 403 источника может выполнять кодирование с предсказанием с компенсацией движения, которое кодирует входной кадр с предсказанием со ссылкой на один или более ранее кодированных кадров из видеопоследовательности, которые были обозначены как «опорные кадры». Таким образом, механизм 407 кодирования кодирует различия между блоками пикселей входного кадра и блоками пикселей опорного кадра(ов), которые могут быть выбраны в качестве эталона(ов) предсказания для входного кадра.[59] As part of its operation, source encoder 403 may perform motion-compensated predictive encoding that predictively encodes the input frame with reference to one or more previously encoded frames from the video sequence that have been designated “reference frames.” Thus, encoding engine 407 encodes differences between blocks of pixels of the input frame and blocks of pixels of the reference frame(s) that can be selected as prediction reference(s) for the input frame.

[60] Локальный видеодекодер 406 может декодировать кодированные видеоданные кадров, которые могут быть обозначены как опорные кадры, на основе символов, созданных кодером 403 источника. Операции механизма 407 кодирования могут быть предпочтительно процессами с потерями. Когда кодированные видеоданные могут быть декодированы в видеодекодере (не показан на фиг. 4), восстановленная видеопоследовательность обычно может быть копией исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер 406 копирует процессы декодирования, которые могут выполняться видеодекодером на опорных кадрах, и может вызывать сохранение восстановленных опорных кадров в кэше 405 опорных изображений. Таким образом, кодер 400 может локально хранить копии восстановленных опорных кадров, которые имеют общее содержимое, в качестве восстановленных опорных кадров, которые будут получены видеодекодером на дальнем конце (при отсутствии ошибок передачи).[60] Local video decoder 406 may decode encoded frame video data, which may be referred to as reference frames, based on the symbols generated by source encoder 403. The operations of the encoding engine 407 may preferably be lossy processes. When the encoded video data can be decoded in a video decoder (not shown in FIG. 4), the reconstructed video sequence can usually be a copy of the original video sequence with some errors. Local video decoder 406 copies decoding processes that may be performed by the video decoder on reference frames and may cause the reconstructed reference frames to be stored in reference picture cache 405 . Thus, encoder 400 can locally store copies of reconstructed reference frames that have common content as reconstructed reference frames that will be received by the far-end video decoder (assuming no transmission errors).

[61] Предиктор 404 может выполнять поиски с предсказанием для механизма 407 кодирования. То есть, для нового изображения, которое должно быть кодировано, предиктор 404 может искать в памяти 405 опорных изображений данные отсчетов (в качестве кандидатов блоков опорных пикселей) или определенные метаданные, такие как векторы движения опорных изображений, формы блоков и так далее, которые могут служить подходящим эталоном предсказания для новых изображений. Предиктор 404 может работать на основе блока отсчетов "блок-за-пикселем", чтобы найти соответствующие эталоны предсказания. В некоторых случаях, как определено результатами поиска, полученными предиктором 404, входное изображение может иметь эталоны предсказания, взятые из множества опорных изображений, сохраненных в памяти 405 опорных изображений.[61] Predictor 404 may perform predictive searches for encoding engine 407. That is, for a new image to be encoded, predictor 404 may search reference picture memory 405 for sample data (as reference pixel block candidates) or certain metadata such as reference picture motion vectors, block shapes, and so on, which may serve as a suitable prediction standard for new images. Predictor 404 may operate on a block-by-pixel basis of samples to find appropriate prediction templates. In some cases, as determined by the search results obtained by the predictor 404, the input image may have prediction patterns taken from a plurality of reference images stored in the reference image memory 405.

[62] Контроллер 402 может управлять операциями кодирования видеокодера 403, включая, например, установку параметров и параметров субгруппы, используемых для кодирования видеоданных.[62] The controller 402 may control the encoding operations of the video encoder 403, including, for example, setting parameters and subgroup parameters used to encode video data.

[63] Выходные сигналы всех вышеупомянутых функциональных модулей могут подвергаться энтропийному кодированию в энтропийном кодере 408. Энтропийный кодер переводит символы, сгенерированные различными функциональными модулями, в кодированную видеопоследовательность путем сжатия без потерь символов согласно технологиям, известным специалистам в данной области техники, как, например, кодирование Хаффмана, кодирование переменной длины, арифметическое кодирование и так далее.[63] The output signals of all of the above functional modules may be entropy encoded in an entropy encoder 408. The entropy encoder translates the symbols generated by the various functional modules into an encoded video sequence by lossless symbol compression according to techniques known to those skilled in the art, such as, Huffman coding, variable length coding, arithmetic coding and so on.

[64] Передатчик 409 может буферизовать кодированную видеопоследовательность(и), созданную энтропийным кодером 408, чтобы подготовить ее к передаче через канал 411 связи, который может быть аппаратным/программным соединением с запоминающим устройством, которое будет хранить кодированные видеоданные. Передатчик 409 может объединять кодированные видеоданные из видеокодера 403 с другими данными, подлежащими передаче, например, кодированными аудиоданными и/или потоками вспомогательных данных (источники не показаны).[64] Transmitter 409 may buffer the encoded video sequence(s) generated by entropy encoder 408 to prepare it for transmission via communication link 411, which may be a hardware/software connection to a storage device that will store the encoded video data. Transmitter 409 may combine encoded video data from video encoder 403 with other data to be transmitted, such as encoded audio data and/or ancillary data streams (sources not shown).

[65] Контроллер 402 может управлять работой кодера 400. Во время кодирования контроллер 405 может назначить каждому кодированному изображению определенный тип кодированного изображения, что может повлиять на методы кодирования, которые могут быть применены к соответствующему изображению. Например, изображения часто могут быть отнесены к одному из следующих типов кадров:[65] The controller 402 may control the operation of the encoder 400. During encoding, the controller 405 may assign each encoded image a specific encoded image type, which may affect the encoding techniques that can be applied to the corresponding image. For example, images can often be classified into one of the following frame types:

[66] Интра-изображение (1-изображение) может быть таким, которое можно кодировать и декодировать без использования какого-либо другого кадра в последовательности в качестве источника предсказания. Некоторые видеокодеки допускают различные типы интра-изображений, включая, например, изображения с независимым обновлением декодера. Специалисту в области техники известны эти варианты I-изображений и их соответствующие применения и особенности.[66] An intra-picture (1-picture) may be one that can be encoded and decoded without using any other frame in the sequence as a prediction source. Some video codecs allow different types of intra-pictures, including, for example, pictures with independent decoder update. One skilled in the art is aware of these variants of I-images and their respective applications and features.

[67] Изображение с предсказанием (Р-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.[67] A prediction picture (P-picture) may be one that can be encoded and decoded using intra-prediction or inter-prediction using at most one motion vector and a reference index to predict the sample values of each block.

[68] Изображение с двунаправленным предсказанием (В-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Аналогично, изображения с множественным предсказанием могут использовать более двух опорных изображений и связанных метаданных для восстановления одного блока.[68] A bidirectional prediction picture (B picture) may be one that can be encoded and decoded using intra prediction or inter prediction using at most two motion vectors and reference indices to predict the sample values of each block. Likewise, multi-prediction images can use more than two reference images and associated metadata to reconstruct a single block.

[69] Исходные изображения обычно могут быть пространственно подразделены на множество блоков отсчетов (например, блоки по 4x4, 8x8, 4x8 или 16x16 отсчетов каждый) и кодированы на поблочной основе. Блоки могут кодироваться с предсказанием со ссылкой на другие (уже кодированные) блоки, как определено назначением кодирования, применяемым к соответствующим изображениям блоков. Например, блоки I-изображений могут кодироваться без предсказания или они могут кодироваться с предсказанием со ссылкой на уже кодированные блоки одного и того же изображения (пространственное предсказание или интрапредсказание). Пиксельные блоки Р-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки В-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения.[69] Source images can typically be spatially divided into multiple blocks of samples (eg, blocks of 4x4, 8x8, 4x8, or 16x16 samples each) and encoded on a block-by-block basis. Blocks may be predictively encoded with reference to other (already encoded) blocks, as determined by the encoding assignment applied to the corresponding block images. For example, I-picture blocks may be encoded without prediction, or they may be predictively encoded with reference to already encoded blocks of the same image (spatial prediction or intra-prediction). P-picture pixel blocks may be encoded without prediction, by spatial prediction, or by temporal prediction with reference to one previously encoded reference picture. Blocks of B pictures may be encoded without prediction, by spatial prediction, or by temporal prediction with reference to one or two previously encoded reference pictures.

[70] Видеокодер 400 может выполнять операции кодирования в соответствии с заранее определенной технологией или стандартом кодирования видео, такой как Рекомендация ITU-T Н.265. В своей работе видеокодер 400 может выполнять различные операции сжатия, включая операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Кодированные видеоданные, следовательно, могут соответствовать синтаксису, заданному используемой технологией или стандартом кодирования видео.[70] Video encoder 400 may perform encoding operations in accordance with a predefined video encoding technology or standard, such as ITU-T Recommendation H.265. In operation, video encoder 400 may perform various compression operations, including predictive encoding operations, that exploit temporal and spatial redundancy in the input video sequence. The encoded video data may therefore follow the syntax specified by the video encoding technology or standard being used.

[71] В варианте осуществления передатчик 409 может передавать дополнительные данные с кодированным видео. Кодер 403 источника может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные слои/слои улучшения SNR, другие формы избыточных данных, такие как избыточные изображения и слайсы, сообщения дополнительной информации улучшения (SEI), фрагменты набора параметров информации о пригодности видео (VUI) и так далее.[71] In an embodiment, transmitter 409 may transmit additional data with encoded video. Source encoder 403 may include such data as part of the encoded video sequence. The additional data may include temporal/spatial/SNR enhancement layers, other forms of redundant data such as redundant images and slices, additional enhancement information (SEI) messages, video suitability information (VUI) parameter set fragments, and so on.

[72] На фиг. 5 показаны режимы внутреннего предсказания, используемые в HEVC и JEM. Для захвата произвольных направлений краев, представленных в естественном видео, количество направленных интрарежимов увеличено с 33, как используется в HEVC, до 65. Дополнительные направленные режимы в JEM поверх HEVC показаны пунктирными стрелками на фиг. 1(b), а планарный режим и режим DC остаются такими же. Эти более плотные направленные режимы интрапредсказания применяются для всех размеров блоков и для интрапредсказания как яркости, так и цветности. Как показано на фиг. 5, режимы направленного интрапредсказания, обозначенные пунктирными стрелками, которые связаны с индексом режима нечетного интрапредсказания, называются режимами нечетного интрапредсказания. Режимы направленного интрапредсказания, обозначенные сплошными стрелками, которые связаны с индексом режима четного интрапредсказания, называются режимами четного интрапредсказания. В данном документе режимы направленного интрапредсказания, обозначенные сплошными или пунктирными стрелками на фиг. 5, также называются угловыми режимами.[72] In FIG. Figure 5 shows the intra prediction modes used in HEVC and JEM. To capture arbitrary edge directions present in natural video, the number of directional intra-modes is increased from 33, as used in HEVC, to 65. Additional directional modes in JEM over HEVC are shown with dashed arrows in FIG. 1(b), and the planar mode and DC mode remain the same. These denser directional intraprediction modes apply to all block sizes and to both luma and chrominance intraprediction. As shown in FIG. 5, the directed intra prediction modes indicated by the dotted arrows, which are associated with the odd intra prediction mode index, are called odd intra prediction modes. Directed intraprediction modes, indicated by solid arrows, which are associated with the even intraprediction mode index are called even intraprediction modes. Herein, the directed intraprediction modes indicated by solid or dotted arrows in FIG. 5 are also called corner modes.

[73] В JEM используется всего 67 режимов интрапредсказания для интрапредсказания яркости. Для кодирования интрарежима строится список наиболее вероятных режимов (МРМ) размера 6 на основе интрарежимов соседних блоков. Если интрарежим не входит в список МРМ, сигнализируется флаг, указывающий, принадлежит ли интрарежим выбранным режимам. В JEM-3.0 есть 16 выбранных режимов, которые выбираются одинаково как каждый четвертый угловой режим. В JVET-D0114 и JVET-G0060 получают 16 вторичных МРМ для замены однородно выбранных режимов.[73] JEM uses a total of 67 intraprediction modes for brightness intraprediction. To encode the intramode, a list of most probable modes (MPM) of size 6 is constructed based on the intramodes of neighboring blocks. If the intramode is not included in the MPM list, a flag is signaled indicating whether the intramode belongs to the selected modes. JEM-3.0 has 16 selectable modes, which are selected equally as every fourth corner mode. In JVET-D0114 and JVET-G0060, 16 secondary MRMs are obtained to replace uniformly selected modes.

[74] На фиг. 6 показаны N эталонных ярусов, используемых для внутринаправленных режимов. Есть единица 611 блока, сегмент А 601, сегмент В 602, сегмент С 603, сегмент D 604, сегмент Е 605, сегмент F 606, первый опорный ярус 610, второй опорный ярус 609, третий опорный ярус 608 и четвертый опорный ярус 607.[74] In FIG. Figure 6 shows the N reference tiers used for intradirectional modes. There is a block unit 611, segment A 601, segment B 602, segment C 603, segment D 604, segment E 605, segment F 606, first support tier 610, second support tier 609, third support tier 608 and fourth support tier 607.

[75] Как в HEVC, так и в JEM, а также в некоторых других стандартах, таких как H.264/AVC, опорные отсчеты, используемые для предсказания текущего блока, ограничены ближайшей опорной линией (строкой или столбцом). В способе интрапредсказания со множеством опорных линий количество опорных линий-кандидатов (строка или столбцы) увеличивается с единицы (то есть ближайшей) до N для в нутринаправ ленных режимов, где N является целым числом, большим или равным единице. На фиг. 2 в качестве примера используется единица предсказания (PU) 4x4, чтобы показать концепцию способа внутринаправленного предсказания со множеством опорных линий. Внутринаправленный режим может произвольно выбрать один из N эталонных ярусов для генерации предикторов. Другими словами, предсказатель р(х,у) генерируется из одного из опорных отсчетов SI, S2,… и SN. Флаг сигнализируется, чтобы указать, какой опорный ярус выбран для внутринаправленного режима. Если N установлено как 1, способ внутринаправленного предсказания такой же, как традиционный способ в JEM 2.0. Как показано на фиг. 6, опорные линии 610, 609, 608 и 607 состоят из шести сегментов 601, 602, 603, 604, 605 и 606 вместе с верхним левым опорным отсчетом. В этом документе опорный ярус также называется опорной линией. Координата верхнего левого пикселя в текущем блоке равна (0,0), а верхнего левого пикселя в 1-й опорной строке - (-1, -1).[75] In both HEVC and JEM, as well as some other standards such as H.264/AVC, the reference samples used to predict the current block are limited to the nearest reference line (row or column). In the multi-reference line intra-prediction method, the number of candidate reference lines (row or columns) is increased from one (i.e., the closest) to N for intra-guided modes, where N is an integer greater than or equal to one. In fig. 2 uses a 4x4 prediction unit (PU) as an example to show the concept of a multi-reference line intra-prediction method. The intradirectional mode can randomly select one of the N reference tiers to generate predictors. In other words, the predictor p(x,y) is generated from one of the reference samples SI, S2,... and SN. A flag is signaled to indicate which reference tier is selected for intradirectional mode. If N is set to 1, the intra-prediction method is the same as the traditional method in JEM 2.0. As shown in FIG. 6, reference lines 610, 609, 608 and 607 consist of six segments 601, 602, 603, 604, 605 and 606 along with an upper left reference reference. In this document, the reference tier is also called the reference line. The coordinate of the top left pixel in the current block is (0,0), and the coordinate of the top left pixel in the 1st reference row is (-1, -1).

[76] В JEM для компонента яркости соседние отсчеты, используемые для генерации отсчетов с интрапредсказанием, фильтруются перед процессом генерации. Фильтрация управляется заданным режимом интрапредсказания и размером блока преобразования. Если режим интрапредсказания - DC или размер блока преобразования равен 4x4, соседние отсчеты не фильтруются. Если расстояние между заданным режимом интрапредсказания и вертикальным режимом (или горизонтальным режимом) больше, чем заданный порог, процесс фильтрации активируется. Для фильтрации соседних отсчетов используются фильтр [1, 2, 1] и билинейные фильтры.[76] In JEM, for the luminance component, neighboring samples used to generate intrapredictive samples are filtered before the generation process. Filtering is controlled by the specified intraprediction mode and transform block size. If the intraprediction mode is DC or the transform block size is 4x4, adjacent samples are not filtered. If the distance between the specified intra-prediction mode and the vertical mode (or horizontal mode) is greater than the specified threshold, the filtering process is activated. To filter neighboring samples, the [1, 2, 1] filter and bilinear filters are used.

[77] Способ комбинации позиционно-зависимого интрапредсказания (PDPC) -это способ интрапредсказания, который вызывает комбинацию нефильтрованных граничных опорных отсчетов и интрапредсказания в стиле HEVC с фильтрованными граничными опорными отсчетами. Каждый отсчет предсказания pred [х] [у], расположенный в (х, у), вычисляется следующим образом:[77] A position-dependent intraprediction combination (PDPC) method is an intraprediction method that causes a combination of unfiltered boundary reference samples and HEVC-style intraprediction with filtered boundary reference samples. Each prediction sample pred[x][y] located at (x, y) is calculated as follows:

где Rx-1, R-1,y представляют собой нефильтрованные опорные отсчеты, расположенные вверху и слева от текущего отсчета (х, у), соответственно, a R-1,-1 представляет нефильтрованный опорный отсчет, расположенный в верхнем левом углу текущего блока. Веса рассчитываются следующим образом:where R x-1 , R -1,y represent the unfiltered reference samples located above and to the left of the current sample (x, y), respectively, and R -1 , -1 represents the unfiltered reference sample located in the upper left corner of the current block. The weights are calculated as follows:

[78] Фиг. 7 иллюстрирует диаграмму 700, на которой веса PDPC режима DC (wL, wT, wTL) для позиций (0, 0) и (1, 0) внутри одного блока 4x4. Если PDPC применяется к DC, планарному, горизонтальному и вертикальному интрарежимам, не требуются дополнительные граничные фильтры, такие как граничный фильтр режима DC HEVC или краевые фильтры горизонтального/вертикального режима. Фиг. 7 иллюстрирует определение эталонных отсчетов Rx,-1, R-l,y и R-1,-1 для PDPC, примененных к правому верхнему диагональному режиму. Отсчет предсказания pred (х', у') расположена в (х', у') в блоке предсказания. Координата х опорного отсчета Rx, -1 задается как: х=х'+у'+1, а координата у опорного отсчета R-1, у аналогичным образом определяется выражением: у=х'+у'+1.[78] FIG. 7 illustrates a diagram 700 of DC mode PDPC weights (wL, wT, wTL) for positions (0, 0) and (1, 0) within one 4x4 block. When PDPC is applied to DC, planar, horizontal and vertical intra modes, no additional edge filters such as DC HEVC mode edge filter or horizontal/vertical mode edge filters are required. Fig. 7 illustrates the definition of reference samples Rx,-1, R-l,y and R-1,-1 for PDPC applied to the upper right diagonal mode. The prediction reference pred(x', y') is located at (x', y') in the prediction block. The x-coordinate of the reference reference Rx, -1 is given as: x=x'+y'+1, and the y-coordinate of the reference reference R-1, y is similarly determined by the expression: y=x'+y'+1.

[79] Фиг. 8 иллюстрирует диаграмму 800 локальной компенсации освещенности (LIC) и основана на линейной модели для изменений освещенности с использованием коэффициента масштабирования а и смещения b. И она включается или выключается адаптивно для каждой кодированной в интер-режиме единицы кодирования (CU).[79] FIG. 8 illustrates a local illuminance compensation (LIC) chart 800 and is based on a linear model for illuminance changes using a scaling factor a and an offset b. And it is turned on or off adaptively for each inter-mode coded coding unit (CU).

[80] Когда LIC применяется для CU, метод наименьших квадратов ошибок используется для получения параметров а и b с использованием соседних отсчетов текущей CU и их соответствующих опорных отсчетов. Более конкретно, как показано на фиг. 8, используются субдискретизированные (субдискретизация 2:1) соседние отсчеты CU и соответствующие отсчеты (идентифицированные информацией о движении текущей CU или суб-CU) в опорном изображении. Параметры IC выводятся и применяются для каждого направления предсказания отдельно.[80] When LIC is applied to a CU, the least squares error method is used to obtain the parameters a and b using the neighboring samples of the current CU and their corresponding reference samples. More specifically, as shown in FIG. 8, subsampled (2:1 downsampled) adjacent CU samples and corresponding samples (identified by the motion information of the current CU or sub-CU) in the reference image are used. IC parameters are derived and applied for each prediction direction separately.

[81] Когда CU кодируется с режимом слияния, флаг LIC копируется из соседних блоков аналогично копированию информации о движении в режиме слияния; в противном случае для CU сигнализируется флаг LIC, чтобы указать, применяется LIC или нет.[81] When a CU is encoded with merge mode, the LIC flag is copied from neighboring blocks in a similar manner to copying motion information in merge mode; otherwise, the LIC flag is signaled to the CU to indicate whether LIC is applied or not.

[82] Фиг. 9А иллюстрирует режимы 900 интрапредсказания, используемые в HEVC. В HEVC имеется всего 35 режимов интрапредсказания, среди которых режим 10 горизонтальный режим, режим 26 - вертикальный режим, а режим 2, режим 18 и режим 34 - диагональные режимы. Режимы интрапредсказания сигнализируются посредством трех наиболее вероятных режимов (МРМ) и 32 оставшихся режимов.[82] FIG. 9A illustrates intra prediction modes 900 used in HEVC. HEVC has a total of 35 intraprediction modes, including mode 10 horizontal mode, mode 26 vertical mode, and mode 2, mode 18 and mode 34 diagonal modes. The intraprediction modes are signaled by three most probable modes (MPMs) and 32 remaining modes.

[83] На фиг. 9 В показано, в вариантах осуществления VVC, что имеется всего 87 режимов интрапредсказания, где режим 18 горизонтальный режим, режим 50 вертикальный режим, а режим 2, режим 34 и режим 66 диагональные режимы. Режимы -1 ~ -10 и режимы 67 ~ 76 называются режимами широкоугольного интрапредсказания (WAIP).[83] In FIG. 9B shows, in the VVC embodiments, that there are a total of 87 intraprediction modes, where mode 18 is a horizontal mode, mode 50 is a vertical mode, and mode 2, mode 34, and mode 66 are diagonal modes. Modes -1~-10 and modes 67~76 are called wide-angle intraprediction (WAIP) modes.

[84] Отсчет предсказания (х, у), расположенный в позиции (х, у), предсказывается с использованием режима интрапредсказания (DC, планарный, угловой) и линейной комбинации опорных отсчетов согласно выражению PDPC:[84] The prediction sample (x, y) located at position (x, y) is predicted using the intra prediction mode (DC, planar, angular) and a linear combination of the reference samples according to the PDPC expression:

где Rx,-1, R-1,y представляют собой опорные отсчеты, расположенные вверху и слева от текущего отсчета (х, у), соответственно, a R-1,-1 представляет опорный отсчет, расположенный в верхнем левом углу текущего блока.where Rx,-1, R-1,y represent the reference samples located above and to the left of the current sample (x, y), respectively, and R-1,-1 represents the reference sample located in the upper left corner of the current block.

[85] Для режима DC веса рассчитываются следующим образом для блока с размерами ширина и высота:[85] For DC mode, the weights are calculated as follows for a block with dimensions width and height:

с nScale=(log2 (ширина) - 2+log2 (высота) - 2+2) >> 2, где wT обозначает весовой коэффициент для опорного отсчета, расположенного в опорной строке выше с той же горизонтальной координатой, wL обозначает весовой коэффициент для опорного отсчета, расположенного в левой опорной строке с той же вертикальной координатой, а wTL обозначает весовой коэффициент для верхнего левого опорного отсчета текущего блока, nScale указывает, насколько быстро весовые коэффициенты уменьшаются вдоль оси (wL, уменьшающийся слева вправо или wT, уменьшающийся сверху вниз), а именно скорость уменьшения весового коэффициента, и это то же самое по оси х (слева направо) и оси у (сверху вниз) в текущем варианте. И 32 обозначает начальные весовые коэффициенты для соседних отсчетов, и начальный весовой коэффициент также является верхним (левым или верхним левым) весами, назначенными верхнему левому отсчету в текущем СВ, и весовые коэффициенты соседних отсчетов в процессе PDPC должны быть равны или меньше этого начального весового коэффициента.with nScale=(log2 (width) - 2+log2 (height) - 2+2) >> 2, where wT denotes the weighting coefficient for the reference sample located in the reference row above with the same horizontal coordinate, wL denotes the weighting coefficient for the reference sample located in the left reference row with the same vertical coordinate, and wTL denotes the weight coefficient for the top left reference sample of the current block, nScale indicates how quickly the weight coefficients decrease along the axis (wL decreasing from left to right or wT decreasing from top to bottom), namely the rate of decrease of the weighting factor, and this is the same along the x-axis (from left to right) and y-axis (from top to bottom) in the current version. And 32 denotes the initial weights for neighboring samples, and the initial weight is also the top (left or top left) weights assigned to the top left sample in the current SV, and the weights of neighboring samples in the PDPC process must be equal to or less than this initial weight .

[86] Для планарного режима wTL=0, в то время как для горизонтального режима wTL=wT и для вертикального режима wTL=wL. Веса PDPC можно рассчитать только с добавлением и сдвигом. Значение pred (х,у) можно вычислить за один шаг, используя уравнение 1.[86] For planar mode wTL=0, while for horizontal mode wTL=wT and for vertical mode wTL=wL. PDPC weights can only be calculated with addition and shift. The value of pred(x,y) can be calculated in one step using Equation 1.

[87] Предлагаемые здесь способы можно использовать по отдельности или комбинировать в любом порядке. Кроме того, каждый из способов (или вариантов осуществления), кодера и декодера может быть реализован схемами обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров выполняют программу, которая хранится на невременном машиночитаемом носителе. В дальнейшем термин «блок» может интерпретироваться как блок предсказания, блок кодирования или единица кодирования, то есть CU.[87] The methods proposed herein can be used individually or combined in any order. In addition, each of the encoder and decoder methods (or embodiments) may be implemented by processing circuits (eg, one or more processors or one or more integrated circuits). In one example, one or more processors executes a program that is stored on a non-transitory computer-readable medium. In the following, the term "block" can be interpreted as a prediction block, coding block or coding unit, that is, CU.

[88] Фиг. 10 иллюстрирует примерные варианты осуществления блок-схемы 1000, так что на этапе S100 данные могут приниматься так, что на этапе S101 может определяться, реализовывать ли обработку для единицы, такой как единица кодирования и/или единица преобразования. Если да, на этапе S102 может быть определено, включает ли единица кодирования предсказание в интрарежиме. Если да, на этапе S103 может быть определено, включает ли единица кодирования флаг, указывающий, включен ли ACT SPS, и если в таком флаге есть такая индикация, на этапе S104, то также может быть определено, является ли тип дерева для единицы кодирования типом одиночного дерева или нет. Согласно примерным вариантам осуществления sps_act_enabled_flag, равный 1, указывает, что может использоваться адаптивное преобразование цвета, и cu_act_enabled_flag может присутствовать в синтаксисе единицы кодирования; sps_act_enabled_flag, равный 0, может указывать, что адаптивное преобразование цвета не может использоваться, и cu_act_enabled_flag может отсутствовать в синтаксисе единицы кодирования; и когда sps_act_enabled_flag отсутствует, он может быть выведен равным 0.[88] FIG. 10 illustrates exemplary embodiments of the flow chart 1000 such that in step S100, data can be received such that in step S101 it can be determined whether to implement processing for a unit such as an encoding unit and/or a transformation unit. If yes, in step S102 it can be determined whether the coding unit includes intra-mode prediction. If yes, in step S103 it can be determined whether the coding unit includes a flag indicating whether ACT SPS is enabled, and if such flag has such an indication, in step S104 it can also be determined whether the tree type for the coding unit is type single tree or not. According to exemplary embodiments, sps_act_enabled_flag equal to 1 indicates that adaptive color mapping may be used, and cu_act_enabled_flag may be present in the encoding unit syntax; sps_act_enabled_flag equal to 0 may indicate that adaptive color mapping cannot be used, and cu_act_enabled_flag may not be present in the encoding unit syntax; and when sps_act_enabled_flag is not present, it may be output to 0.

[89] Если на этапах S102, S103 и S104 определено, что интрарежим, флаг, указывающий включение ACT SPS, и что дерево является типом единичного дерева, то на этапе S105 обработка может установить флаг, указывающий, что ACT включен в этой единице кодирования на этапе S105. Согласно примерным вариантам осуществления cu_act_enabled_flag, равный 1, может указывать, что остатки текущей единицы кодируются кодированы в цветовом пространстве YCgCo; cu_act_enabled_flag, равный 0, может указывать, что остатки текущей единицы кодирования кодируются в исходном цветовом пространстве; а когда cu_act_enabled_flag отсутствует, он может быть выведен равным 0. Таким образом, на основе такого синтаксиса интерблок может быть кодирован в режиме ACT, если cu_coded_flag равен 1, что может быть интерпретировано как означающее, что режим ACT может быть включен для интерблока, если в текущей CU имеется более одного коэффициента.[89] If it is determined in steps S102, S103 and S104 that the intramode, flag indicating that ACT SPS is enabled, and that the tree is a single tree type, then in step S105, the processing may set a flag indicating that ACT is enabled in this coding unit on step S105. In exemplary embodiments, a cu_act_enabled_flag equal to 1 may indicate that the remainders of the current unit are encoded in the YCgCo color space; cu_act_enabled_flag equal to 0 may indicate that the remainder of the current coding unit is encoded in the original color space; and when cu_act_enabled_flag is not present, it can be output as 0. Thus, based on this syntax, an interblock can be encoded in ACT mode if cu_coded_flag is equal to 1, which can be interpreted to mean that ACT mode can be enabled for the interblock if the current CU has more than one coefficient.

[90] Затем на этапе S106 может быть реализована дополнительная обработка, описанная в данном документе, а также петля до этапа S101, описанного выше. В качестве альтернативы на этапе S102, если определено, что режим не установлен для интра, и/или на этапе S103, если определено, что флаг sps_act_enabled не включает в себя такую включенную индикацию, то на этапе S107 может быть определено, есть ли индикация относительно флага предсказания PLT, и если нет, то на этапе S108 определение значения general_merge_flag. Если такие значения на S102, S107 и S108 установлены, как описано ниже, то обработка может установить на этапе S109 cu_coded_flag, после чего на этапе S110 или из этапа S107 и S108, если в текущий момент установлен такой cu_coded_flag, на этапе S111 может быть определено, включает ли в себя единица кодирования флаг, указывающий, включен ли ACT SPS, и если имеется такая индикация в таком флаге, на этапе S112, тогда может быть определено, указывается ли теперь интрарежим, и если нет, обработка может перейти на этап S104, как указано выше.[90] The additional processing described herein may then be implemented in step S106, as well as looping back to step S101 described above. Alternatively, in step S102, if it is determined that the mode is not set for intra, and/or in step S103, if it is determined that the sps_act_enabled flag does not include such enabled indication, then in step S107 it can be determined whether there is an indication regarding prediction flag PLT, and if not, then in step S108, determining the value of general_merge_flag. If such values in S102, S107 and S108 are set as described below, the processing may set the cu_coded_flag in step S109, after which in step S110, or from steps S107 and S108 if such cu_coded_flag is currently set, in step S111 it can be determined whether the coding unit includes a flag indicating whether ACT SPS is enabled, and if there is such an indication in such a flag, in step S112, then it can be determined whether the intra mode is now indicated, and if not, processing can proceed to step S104, as mentioned above.

[91] Фиг. 11 иллюстрирует примерные варианты осуществления блок-схемы 1100, так что на этапе S100 данные могут приниматься так, что на этапе S101 может определяться, реализовывать ли обработку для единицы кодирования и/или единицы преобразования. Например, независимо от того, на этапе S201 или на этапе S202, имеется текущая CU в режиме предсказания интра (S201) или нет (S202), обработка может продолжаться на этапе S203, чтобы определить, когда оба кодированных флага TU каналов цветности равны нулю. Если это так, то на этапе S203, тогда с помощью проиллюстрированного Y' такого определения на этапе S203 может быть достаточно для перехода к этапу S204, чтобы вывести, что кодированный флаг TU яркости должен быть выведен равным 1, и, следовательно, такой вывод может быть сделан независимо от является ли текущий режим предсказания текущего блока CU MODE_INTRA или нет. Кроме того, в дополнение к такому положительному определению на этапе S203 может также быть, что оба кодированных флага TU каналов цветности равны нулю, кодируется ли также текущая CU в режиме ACT, и если да, то тогда можно перейти на этап S204, а не сразу после S203. Тем не менее, на этапе S204 после этого и с отрицательными определениями на этапе S203 обработка может продолжаться, как описано на любом из этапов S100 и S106, как описано выше. Согласно вариантам осуществления для блока кодирования с включенным ACT, tu_y_coded_flag может не сигнализироваться в битовом потоке и должен быть выведен равным 1, когда оба кодированных флага TU каналов цветности равны нулю. Кроме того, сигнал cu_act_enabled_flag может быть сигнализирован согласно таким примерным вариантам осуществления без проверки режима предсказания текущего блока CU (S201 и/или S202), так что в вариантах осуществления, например, для единицы кодирования, только два условия, sps_act_enabled_flag и treeType являются SINGLE_TREE, могут быть проверены для сигнализации cu_act_enabled_flag, и поэтому может быть достигнуто преимущество избежания условной сигнализации cu_act_enabled_flag дважды на основе режима предсказания, например, как описано ниже, а также показано на фиг. 12.[91] FIG. 11 illustrates exemplary embodiments of the flow chart 1100 such that, in step S100, data may be received such that, in step S101, it can be determined whether to implement processing for the encoding unit and/or transformation unit. For example, regardless of whether in step S201 or in step S202, the current CU is in the intra prediction mode (S201) or not (S202), processing may continue in step S203 to determine when both TU coded chroma channel flags are zero. If so, in step S203, then using the illustrated Y', such determination in step S203 may be sufficient to proceed to step S204 to deduce that the encoded luminance flag TU should be output equal to 1, and therefore such derivation may be done regardless of whether the current prediction mode of the current CU block is MODE_INTRA or not. Moreover, in addition to such a positive determination, in step S203 it may also be that both encoded chrominance channel TU flags are zero, whether the current CU is also encoded in ACT mode, and if so, then it can proceed to step S204 rather than immediately after S203. However, in step S204 thereafter and with negative determinations in step S203, processing can continue as described in any of steps S100 and S106 as described above. In embodiments, for an ACT-enabled encoding block, tu_y_coded_flag may not be signaled in the bitstream and should be output equal to 1 when both TU coded chroma channel flags are zero. Moreover, the cu_act_enabled_flag signal may be signaled according to such exemplary embodiments without checking the prediction mode of the current CU (S201 and/or S202), so that in the embodiments, for example, for a coding unit, only two conditions, sps_act_enabled_flag and treeType are SINGLE_TREE. can be checked for cu_act_enabled_flag signaling, and therefore the advantage of avoiding conditional cu_act_enabled_flag signaling twice based on the prediction mode can be achieved, for example, as described below and also shown in FIG. 12.

[92] Для вариантов осуществления с tu_y_coded_flag текущего блока CU, который может намеренно не сигнализироваться, когда кодированные флаги TU обоих каналов цветности равны 0, а флаг ACT равен 1, см. таблицу 1, где, среди прочего, …CuPredMode[chType][x0][y0]=MODE_INTRA "&& !cu_act_enabled_flag"… включен с сигнализацией на уровне TU для ACT:[92] For embodiments with the tu_y_coded_flag of the current CU, which may be intentionally not signaled when the TU coded flags of both chrominance channels are 0 and the ACT flag is 1, see Table 1 where, among other things, ...CuPredMode[chType][ x0][y0]=MODE_INTRA "&& !cu_act_enabled_flag"… enabled with TU level signaling for ACT:

[93] Согласно вариантам осуществления с состоянием сигнализации cu_act_enabled_flag для текущего блока CU, включая sps_act_enabled_flag и tree type, только согласно примерным вариантам осуществления, как показано в таблице 2 относительно сигнализации cuactenabledflag в уровне CU для ACT:[93] According to embodiments with the cu_act_enabled_flag signaling state for the current CU, including sps_act_enabled_flag and tree type, only according to exemplary embodiments, as shown in Table 2 regarding the cuactenabledflag signaling in the CU layer for the ACT:

[94] Например, фиг. 12 иллюстрирует примерные варианты осуществления блок-схемы 1200, так что на этапе S100 данные могут приниматься таким образом, что на этапе S301 может быть определено, реализовывать ли обработку для единицы кодирования и/или единицы преобразования. Если да, на этапе S302 он может быть определено, включает ли единица кодирования флаг, указывающий, включен ли ACT SPS, и если в таком флаге есть такая индикация, на этапе S304, тогда также может быть определено, является ли тип дерева для единицы кодирования типом единичного дерева. Согласно таким примерным вариантам осуществления sps_act_enabled_flag, равный 1, указывает, что может использоваться адаптивное преобразование цвета, и cu_act_enabled_flag может присутствовать в синтаксисе единицы кодирования; sps_act_enabled_flag, равный 0, указывает, что адаптивное преобразование цвета не может использоваться, и cu_act_enabled_flag может отсутствовать в синтаксисе единицы кодирования; и когда sps_act_enabled_flag отсутствует, он может быть выведен равным 0.[94] For example, FIG. 12 illustrates exemplary embodiments of a flowchart 1200 such that in step S100, data can be received such that in step S301 it can be determined whether to implement processing for the encoding unit and/or the transformation unit. If so, in step S302 it can be determined whether the coding unit includes a flag indicating whether ACT SPS is enabled, and if such flag has such an indication in step S304, then it can also be determined whether the tree type for the coding unit is type of single tree. According to such exemplary embodiments, sps_act_enabled_flag equal to 1 indicates that adaptive color mapping may be used, and cu_act_enabled_flag may be present in the encoding unit syntax; sps_act_enabled_flag equal to 0 indicates that adaptive color mapping cannot be used, and cu_act_enabled_flag may not be present in the encoding unit syntax; and when sps_act_enabled_flag is not present, it may be output to 0.

[95] Если на этапах S302 и S304 определено, что флаг указывает включение ACT SPS, и что дерево является типом единичного дерева, то на этапе S305 обработка может установить флаг, указывающий, что ACT включен в этой единице кодирования на этапе S305. Согласно примерным вариантам осуществления cu_act_enabled_flag, равный 1, может указывать, что остатки текущей единицы кодирования кодируются в цветовом пространстве YCgCo; cu_act_enabled_flag, равный 0, может указывать, что остатки текущей единицы кодирования кодируются в исходном цветовом пространстве; а когда cu_act_enabled_flag отсутствует, он может быть выведен равным 0. Таким образом, на основе такого синтаксиса интерблок может быть кодирован в режиме ACT, если cu_coded_flag равен 1, что может быть интерпретировано как означающее, что режим ACT может быть включен для интерблока, если в текущей CU имеется более одного коэффициента.[95] If it is determined in steps S302 and S304 that the flag indicates ACT SPS is enabled and that the tree is a single tree type, then in step S305 the processing may set a flag indicating that ACT is enabled in this encoding unit in step S305. In exemplary embodiments, a cu_act_enabled_flag equal to 1 may indicate that the remainders of the current coding unit are encoded in the YCgCo color space; cu_act_enabled_flag equal to 0 may indicate that the remainder of the current coding unit is encoded in the original color space; and when cu_act_enabled_flag is not present, it can be output as 0. Thus, based on this syntax, an interblock can be encoded in ACT mode if cu_coded_flag is equal to 1, which can be interpreted to mean that ACT mode can be enabled for the interblock if the current CU has more than one coefficient.

[96] Затем на этапе S106 может быть реализована дополнительная обработка, описанная в данном документе, а также петля до этапа S301, описанного выше. В качестве альтернативы на этапе S302, если определено, что флаг sps_act_enabled не включает в себя такую включенную индикацию, то на этапе S307 может быть определено, есть ли указание, относящееся к флагу предсказания PLT, а если нет, то на этапе S808 определение значения флага general_merge_flag. Если такие значения на этапах S302, S307 и S308 установлены соответственно, как показано на фиг. 8, то обработка может установить на этапе S309 cu_coded_flag, описанный выше.[96] The additional processing described herein may then be implemented in step S106, as well as looping back to step S301 described above. Alternatively, in step S302, if it is determined that the flag sps_act_enabled does not include such an enabled indication, then in step S307 it can be determined whether there is an indication related to the PLT prediction flag, and if not, in step S808 determining the value of the flag general_merge_flag. If such values are set in steps S302, S307 and S308 respectively, as shown in FIG. 8, the processing may set the cu_coded_flag described above in step S309.

[97] Соответственно, такие варианты осуществления решают различные технические проблемы, когда, например, если кодированный блок CU не имеет какого-либо коэффициента, режим ACT больше не должен сигнализироваться, в результате чего, соответственно, CU с режимом ACT должна иметь один или более чем один коэффициент в кодированном блоке CU, а для интерблока с режимом ACT cu_coded_flag должен быть 1, чтобы представлять, что CU имеет по крайней мере один коэффициент в единице преобразования, тем самым решая отсутствующие ограничения для интра-CU с режимом ACT.[97] Accordingly, such embodiments solve various technical problems where, for example, if a coded block of a CU does not have any coefficient, the ACT mode no longer needs to be signaled, whereby, accordingly, a CU with an ACT mode must have one or more than one coefficient in the CU coded block, and for an interblock with ACT mode, cu_coded_flag must be 1 to represent that the CU has at least one coefficient in the transform unit, thereby solving the missing restrictions for intra-CU with ACT mode.

[98] Такие функции представляют собой полезные инструменты кодирования, например, для видео в формате RGB. Например, см. иллюстрацию 1300 на фиг. 13, на которой проиллюстрированы поток 1301 кодирования и поток 1302 декодирования, где проиллюстрировано внутрипетлевое ACT, принятое в модели кодирования экрана (SCM) (например, модель тестирования программного обеспечения кодирующего расширения содержимого экрана HEVC), где ACT проиллюстрировано как работающее в остаточном домене, а флаг уровня CU может сигнализироваться, чтобы указать использование преобразования цветового пространства. Такое цветовое преобразование, используемое в SCM, может быть, согласно примерным вариантам осуществления, следующим:[98] Such functions are useful encoding tools, for example for RGB video. For example, see illustration 1300 in FIG. 13, which illustrates an encoding thread 1301 and a decoding thread 1302, wherein the intra-loop ACT adopted in a screen coding model (SCM) (e.g., HEVC screen content encoding extension software testing model) is illustrated, wherein the ACT is illustrated as operating in the residual domain, and A CU level flag may be signaled to indicate the use of color space conversion. Such color transformation used in SCM may be, according to exemplary embodiments, the following:

[99] Кроме того, на иллюстрации 1400 на фиг. 14 проиллюстрирован процесс декодирования согласно примерным вариантам осуществления с ACT таким образом, что с учетом вышеописанных вариантов осуществления и блок-схем, инструмент ACT в HEVC включен в структуру VVC для улучшения эффективности кодирования видео, посредством чего может применяться декодирование с помощью ACT. Как показано на фиг. 14, на иллюстрации 1400 показано, что преобразование цветового пространства может выполняться в остаточной области, и, в частности, может быть введен дополнительный модуль декодирования, а именно обратный ACT, например, после обратного преобразования, чтобы преобразовать остатки из домена YCgCo обратно в исходный домен. Соответственно, при просмотре описанных выше фиг. 10-12 среди других раскрытий, достигаются преимущества по сравнению с функциями в VVC, когда максимальный размер преобразования не меньше, чем ширина или высота одной единицы кодирования (CU), один листовой узел CU также может использоваться в качестве единицы обработки преобразования, и, следовательно, в описанных здесь вариантах осуществления, флаг ACT может сигнализироваться для одной CU, чтобы выбрать цветовое пространство для кодирования его остатков, и, следуя такой схеме HEVC ACT, для CU интер- и интраблочного копирования (IBC) ACT может быть включен только тогда, когда в CU имеется по крайней мере один ненулевой коэффициент, а для интра-CU ACT может быть включен только тогда, когда компоненты цветности выбирают один и тот же режим внутреннего предсказания компонента яркости, то есть режим DM, тем самым предпочтительно по меньшей мере избегая такой ненужной или иным образом избыточной сигнализации согласно примерным вариантам осуществления.[99] Additionally, in illustration 1400 of FIG. 14 illustrates a decoding process according to exemplary embodiments with ACT such that, in view of the above-described embodiments and flowcharts, an ACT tool in HEVC is included in a VVC structure to improve video encoding efficiency, whereby decoding with ACT can be applied. As shown in FIG. 14, illustration 1400 shows that color space conversion can be performed in the residual domain, and in particular, an additional decoding module, namely inverse ACT, can be introduced, for example, after the inverse conversion, to convert the residues from the YCgCo domain back to the original domain . Accordingly, when viewing the above-described FIGS. 10-12 among other disclosures, advantages are achieved over functions in VVC when the maximum transform size is not less than the width or height of one coding unit (CU), one CU leaf node can also be used as a transform processing unit, and hence In the embodiments described herein, the ACT flag may be signaled for one CU to select a color space for encoding its remainders, and following such a HEVC ACT scheme, for an inter- and intra-block copy (IBC) CU, ACT may be turned on only when there is at least one non-zero coefficient in the CU, and for intra-CU ACT can only be turned on when the chrominance components select the same luma component intra prediction mode, i.e. DM mode, thereby preferably at least avoiding such unnecessary or otherwise redundant signaling according to exemplary embodiments.

[100] Согласно примерным вариантам осуществления, основные преобразования, используемые для преобразований цветового пространства, могут относиться к следующим матрицам прямого и обратного преобразования цвета YCgCo, как описано ниже, где применимо. Например:[100] According to exemplary embodiments, the basic transformations used for color space transformations may relate to the following YCgCo forward and inverse color transformation matrices, as described below, where applicable. For example:

[101] Дополнительно, чтобы компенсировать изменение динамического диапазона остаточных сигналов до и после преобразования цвета, к остаточным сигналам преобразования могут применяться регулировки QP, например (-5, -5, -3). С другой стороны, как показано в (1), прямое и обратное преобразование цвета может потребоваться для доступа к остаткам всех трех компонентов. Соответственно, в вариантах осуществления настоящей заявки имеется техническое усовершенствование, позволяющее отключать ACT в следующих сценариях, где доступны не все остатки трех компонентов. Например, ка раскрыто на фиг. 10-12 и в описании, существует случай разделения отдельного дерева, такой, что когда применяется отдельное дерево, отсчеты яркости и цветности внутри одной CTU разделяются различными структурами, что может привести к тому, что CU только в дереве яркости содержит компонент яркости, a CU в дереве цветности содержат только два компонента цветности, а также есть случай интрапредсказания субраздела (ISP), в котором субраздел ISP может применяться только к яркости, в то время как сигналы цветности кодируются без разделения, и в такой конструкции ISP, за исключением последних субразделов ISP, другие субразделы содержат только компонент яркости согласно вариантам осуществления.[101] Additionally, to compensate for the change in dynamic range of the residual signals before and after color conversion, QP adjustments such as (-5, -5, -3) can be applied to the transform residual signals. On the other hand, as shown in (1), forward and backward color conversion may be required to access the residues of all three components. Accordingly, embodiments of the present application include a technical enhancement to enable ACT to be disabled in the following scenarios where not all remnants of the three components are available. For example, as disclosed in FIG. 10-12 and in the description, there is a case of separate tree splitting, such that when a separate tree is applied, the luma and chrominance samples within the same CTU are separated by different structures, which may cause the CU only in the luma tree to contain a luma component, and the CU in the chroma tree contain only two chroma components, and there is also the case of intra subpartition prediction (ISP), in which the ISP subpartition can only be applied to luma, while the chrominance signals are encoded without division, and in such an ISP design, except for the last ISP subpartitions , other subsections contain only a luminance component according to embodiments.

[102] Соответственно, может существовать такая сигнализация уровня CU для ACT, где сигнализация, относящаяся к ACT уровня CU, может быть включена в соответствии с таблицами синтаксиса кодирования, такими как приведенные выше таблицы и/или таблица 3:[102] Accordingly, there may be such CU level signaling for the ACT, where signaling related to the CU level ACT may be enabled in accordance with encoding syntax tables such as the above tables and/or Table 3:

[103] В вариантах осуществления sps_act_enabled_flag, равный 1, может указывать, что может использоваться адаптивное преобразование цвета, и cu_act_enabled_flag может присутствовать в синтаксисе единицы кодирования; a sps_act_enabled_flag, равный 0, может указывать, что адаптивное преобразование цвета не может использоваться, и cu_act_enabled_flag может отсутствовать в синтаксисе единицы кодирования; и когда sps_act_enabled_flag отсутствует, он может быть выведен равным 0. В вариантах осуществления cu_act_enabled_flag, равный 1, может указывать, что остатки текущей единицы кодирования кодируются в цветовом пространстве YCgCo; cu_act_enabled_flag, равный 0, может указывать, что остатки текущей единицы кодирования кодируются в исходном цветовом пространстве; а когда cu_act_enabled_flag отсутствует, он может быть выведен равным 0. Согласно примерным вариантам осуществления, на основе вышеупомянутого синтаксиса, интерблок может кодироваться в режиме ACT, если cu_coded_flag равен 1, и, таким образом, режим ACT может быть включен для интерблока в таком случае, как если имеется более одного коэффициента в текущей CU.[103] In embodiments, sps_act_enabled_flag equal to 1 may indicate that adaptive color mapping may be used, and cu_act_enabled_flag may be present in the coding unit syntax; a sps_act_enabled_flag equal to 0 may indicate that adaptive color mapping cannot be used, and cu_act_enabled_flag may not be present in the encoding unit syntax; and when sps_act_enabled_flag is not present, it may be output equal to 0. In embodiments, a cu_act_enabled_flag equal to 1 may indicate that the remainder of the current encoding unit is encoded in the YCgCo color space; cu_act_enabled_flag equal to 0 may indicate that the remainder of the current coding unit is encoded in the original color space; and when cu_act_enabled_flag is missing, it may be output as 0. According to exemplary embodiments, based on the above syntax, an interblock may be encoded in ACT mode if cu_coded_flag is 1, and thus, ACT mode may be enabled for the interblock in such a case, as if there is more than one coefficient in the current CU.

[104] Кроме того, может быть включен синтаксис в отношении сигнализации кодированного флага уровня яркости уровня TU для блока ACT, такой как кодированный флаг TU для трех цветовых каналов, согласно следующей таблице синтаксиса единиц преобразования, Таблица 4:[104] In addition, a syntax may be included with respect to signaling a coded TU level luminance level flag for an ACT block, such as a coded TU flag for three color channels, according to the following conversion unit syntax table, Table 4:

[105] Согласно примерным вариантам осуществления, кодированный флаг TU семантики, связанной с компонентом яркости, также может быть показан следующим образом: tu_у_coded_flag [х0] [у0], равный 1, может указывать, что блок преобразования яркости содержит один или более уровней коэффициентов преобразования, не равных 0, а индексы массива х0, у0 могут указывать местоположение (х0, у0) верхнего левого отсчета яркости рассматриваемого блока преобразования относительно верхнего левого отсчета яркости изображения, и когда tu_y_coded_flag [х0] [у0] отсутствует, его значение может быть выведено следующим образом: если cu_sbt_flag равно 1 и выполняется одно из следующих условий (a), (b), tu_у_coded_flag [х0] [у0] выводится равным 0 (a) subTuIndex равно 0 и cu_sbt_pos_flag может быть равно 1, (b) subTuIndex может быть равно 1 и cu_sbt_pos_flag может быть равно 0, в противном случае, если treeType равно DUAL_TREE_CHROMA, tu_y_coded_flag0 [х0] может быть выведено равным 0, и, кроме того, в противном случае tu_у_coded_flag [х0] [у0] может быть выведено равным 1. В таком синтаксисе и связанной семантике может не быть проверки состояния блока ACT для кодированного флага TU.[105] According to exemplary embodiments, the coded flag TU of the semantics associated with the luma component may also be shown as follows: tu_y_coded_flag [x0] [y0] equal to 1 may indicate that the luma transform block contains one or more levels of transform coefficients , not equal to 0, and the array indices x0, y0 can indicate the location (x0, y0) of the top left luminance sample of the transform block in question relative to the top left luminance sample of the image, and when tu_y_coded_flag [x0] [y0] is missing, its value can be inferred as follows way: if cu_sbt_flag is equal to 1 and one of the following conditions (a), (b) is true, tu_y_coded_flag [x0] [y0] is output equal to 0 (a) subTuIndex is equal to 0 and cu_sbt_pos_flag can be equal to 1, (b) subTuIndex can be equal to 1 and cu_sbt_pos_flag may be equal to 0, otherwise, if treeType is equal to DUAL_TREE_CHROMA, tu_y_coded_flag0 [x0] may be output equal to 0, and furthermore, otherwise, tu_y_coded_flag [x0] [y0] may be output equal to 1. In such syntax and associated semantics, there may be no ACT block state check for the encoded TU flag.

[106] Кроме того, для примерного tu_у_coded_flag блока ACT кодированный флаг TU для компонента яркости может быть описан следующим образом:[106] Additionally, for an example TU_coded_flag block ACT, the TU coded flag for the luminance component can be described as follows:

[107] Соответственно, кодированный флаг TU яркости может быть выведен равным 1, когда кодированный флаг TU каналов цветности равен нулю, а текущая CU является интраблоком и кодируется с режимом ACT.[107] Accordingly, the encoded luma TU flag can be output to be 1 when the encoded TU flag of the chrominance channels is zero and the current CU is an intrablock and is encoded with the ACT mode.

[108] Как описано в данном документе, может существовать один или более аппаратных компонентов процессора и компьютера, таких как буферы, арифметические логические модули, инструкции памяти, конфигурированные для определения или хранения предварительно определенных значений дельты (разностей) между значениями, описанными в данном документе, согласно примерным вариантам осуществления.[108] As described herein, there may be one or more processor and computer hardware components, such as buffers, arithmetic logic units, memory instructions, configured to determine or store predefined delta values (differences) between the values described herein , according to exemplary embodiments.

[109] Соответственно, с помощью описанных здесь иллюстративных вариантов осуществления указанные выше технические проблемы могут быть успешно решены одним или более из этих технических решений. То есть, согласно вариантам осуществления, для решения одной или более различных технических проблем в этом раскрытии описаны новые технические аспекты, в которых разделитель блока доступа (AUD) может преимущественно сигнализироваться, чтобы указать, какие значения slice_type присутствуют в слайсах кодированных изображений в единице доступа, содержащей единицу NAL разделителя единицы доступа. Pic_type может использоваться для определения, является ли AU независимой или зависимой от внешней AU. Кроме того, утверждается, что такая новая сигнализация синтаксического элемента является предпочтительной для индикации AU произвольного доступа и устойчивости обнаружения границы AU соответственно согласно примерным вариантам осуществления и, следовательно, предпочтительной, например, для повышения точности и эффективности.[109] Accordingly, by using the exemplary embodiments described herein, the above technical problems can be successfully solved by one or more of these technical solutions. That is, according to embodiments, to solve one or more different technical problems, this disclosure describes new technical aspects in which an access unit delimiter (AUD) may advantageously be signaled to indicate which slice_type values are present in slices of encoded pictures in an access unit. containing the access unit separator NAL unit. Pic_type can be used to determine whether the AU is independent or dependent on an external AU. It is further stated that such novel syntax element signaling is advantageous for random access AU indication and AU boundary detection robustness, respectively, according to exemplary embodiments, and is therefore advantageous, for example, for improving accuracy and efficiency.

[110] Методы, описанные выше, могут быть реализованы в виде компьютерного программного обеспечения с использованием машиночитаемых инструкций и физически сохранены на одном или более машиночитаемых носителях, или могут представлять собой конкретным образом конфигурированные один или более аппаратных процессоров. Например, на фиг. 12 показана компьютерная система 1200, подходящая для реализации определенных вариантов осуществления раскрытого объекта изобретения.[110] The methods described above may be implemented in computer software using computer readable instructions and physically stored on one or more computer readable media, or may be one or more hardware processors specifically configured. For example, in FIG. 12 illustrates a computer system 1200 suitable for implementing certain embodiments of the disclosed subject matter.

[111] Компьютерное программное обеспечение может быть кодировано с использованием любого подходящего машинного кода или компьютерного языка, который может быть объектом сборки, компиляции, связывания или подобных механизмов для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и и т.п., центральными процессорами компьютера (CPU), графическими процессорами (GPU) и т.п.[111] Computer software may be encoded using any suitable machine code or computer language that may be subject to assembly, compilation, linking, or similar mechanisms to create code containing instructions that can be executed directly or through interpretation, execution of microcode, and etc., computer central processing units (CPU), graphic processing units (GPU), etc.

[112] Инструкции могут исполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства Интернета вещей и т.п.[112] The instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, Internet of Things devices, and the like.

[113] Компоненты, показанные на фиг. 15 для компьютерной системы 1500, являются примерными по своей природе и не предназначены для предложения каких-либо ограничений в отношении объема использования или функциональных возможностей компьютерного программного обеспечения, реализующего варианты осуществления настоящего изобретения. Конфигурация компонентов также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, проиллюстрированных в примерном варианте осуществления компьютерной системы 1500.[113] The components shown in FIG. 15 for computer system 1500 are exemplary in nature and are not intended to suggest any limitations as to the scope of use or functionality of computer software implementing embodiments of the present invention. The configuration of components should also not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of computer system 1500.

[114] Компьютерная система 1500 может включать в себя определенные устройства ввода с человеко-машинным интерфейсом. Такое устройство ввода с человеко-машинным интерфейсом может реагировать на ввод одним или более пользователями-людьми посредством, например, тактильного ввода (например, нажатия клавиш, смахивания, движения управляющей перчатки), звукового ввода (например, голоса, хлопков в ладоши), визуального ввода (например: жестов), обонятельного ввода (не изображен). Устройства с человеко-машинным интерфейсом также могут использоваться для захвата определенных носителей, не обязательно напрямую связанных с сознательным вводом человеком, таких как звук (например, речь, музыка, окружающий звук), изображения (например, сканированные изображения, фотографические изображения, полученные из камеры для неподвижных изображений), видео (например, двухмерное видео, трехмерное видео, включая стереоскопическое видео).[114] The computer system 1500 may include certain human-machine interface input devices. Such a human-machine interface input device may respond to input from one or more human users through, for example, tactile input (e.g., keystrokes, swipes, control glove movement), audio input (e.g., voice, hand clapping), visual input (for example: gestures), olfactory input (not shown). Human-machine interface devices can also be used to capture certain media not necessarily directly related to conscious human input, such as sound (e.g. speech, music, ambient sound), images (e.g. scanned images, photographic images captured from a camera for still images), video (e.g. 2D video, 3D video, including stereoscopic video).

[115] Устройства ввода с человеко-машинным интерфейсом могут включать в себя одно или более из (только одно из каждого изображенного): клавиатура 1501, мышь 1502, трекпад 1503, сенсорный экран 1510, джойстик 1505, микрофон 1506, сканер 1508, камера 1507.[115] Human-machine interface input devices may include one or more of (only one of each illustrated): keyboard 1501, mouse 1502, trackpad 1503, touch screen 1510, joystick 1505, microphone 1506, scanner 1508, camera 1507 .

[116] Компьютерная система 1500 также может включать в себя определенные устройства вывода с человеко-машинным интерфейсом. Такие устройства вывода с человеко-машинным интерфейсом могут стимулировать чувства одного или более пользователей-людей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода с человеко-машинным интерфейсом могут включать в себя тактильные устройства вывода (например, тактильную обратную связь от сенсорного экрана 1510 или джойстика 1505, но также могут иметься устройства тактильной обратной связи, которые не служат в качестве устройств ввода), устройства вывода звука (например: динамики 1509, наушники (не изображены)), устройства вывода изображения (например, экраны 1510, включая ЭЛТ-экраны, ЖК-экраны, плазменные экраны, OLED-экраны, каждое из которых имеет или не имеет возможности ввода с сенсорного экрана, каждое с возможностью тактильной обратной связи или без нее -некоторые из которых могут быть способны выводить двухмерный визуальный вывод или более, чем трехмерный вывод с помощью таких средств, как стереографический вывод; очки виртуальной реальности (не изображены), голо графические дисплеи и дымовые баки (не изображены)) и принтеры (не изображены).[116] The computer system 1500 may also include certain human-machine interface output devices. Such human-machine interface output devices may stimulate the senses of one or more human users through, for example, tactile output, sound, light, and smell/taste. Such human-machine interface output devices may include haptic output devices (e.g., haptic feedback from a touch screen 1510 or joystick 1505, but there may also be haptic feedback devices that do not serve as input devices), audio output devices (eg: speakers 1509, headphones (not shown)), display devices (eg, screens 1510, including CRT screens, LCD screens, plasma screens, OLED screens, each with or without touch screen input capabilities , each with or without haptic feedback capability—some of which may be capable of producing two-dimensional visual output or more than three-dimensional output through means such as stereographic output; virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)) and printers (not shown).

[117] Компьютерная система 1500 также может включать в себя доступные для человека устройства хранения и связанные с ними носители, такие как оптические носители, включая CD/DVD ROM/RW 1520 с CD/DVD или подобными носителями 1521, флэш-накопитель 1522, съемный жесткий диск или твердотельный накопитель 1523, ранее разработанные магнитные носители, такие как лента и дискета (не изображены), специализированные устройства на основе ROM/ASIC/PLD, такие как защитные ключи (не изображены) и т.п.[117] Computer system 1500 may also include human accessible storage devices and associated media, such as optical media, including CD/DVD ROM/RW 1520 with CD/DVD or similar media 1521, flash drive 1522, removable 1523 hard drive or solid state drive, previously developed magnetic media such as tape and floppy disk (not shown), specialized ROM/ASIC/PLD based devices such as dongles (not shown), etc.

[118] Специалисты в данной области также должны понимать, что термин «машиночитаемый носитель», используемый в связи с раскрытым в настоящем документе объектом изобретения, не охватывает среды передачи, несущие волны или другие временные сигналы.[118] Those skilled in the art will also understand that the term "machine readable medium" as used in connection with the subject matter disclosed herein does not cover transmission media, carrier waves, or other time signals.

[119] Компьютерная система 1500 также может включать в себя интерфейс 1599 к одной или более коммуникационным сетям 1598. Сети 1598 могут быть, например, беспроводными, проводными, оптическими. Кроме того, сети 1598 могут быть локальными, глобальными, городскими, автомобильными и промышленными, работающими в реальном времени, устойчивыми к задержкам и т.д. Примеры сетей 1598 включают в себя локальные сети, такие как Ethernet, беспроводные LAN, сотовые сети, включая GSM, 3G, 4G, 5G, LTE и т.п., проводные телевизионные или беспроводные глобальные цифровые сети, включая кабельное телевидение, спутниковое телевидение и наземное телевещание, автомобильное и промышленное оборудование, включая CAN-шину и т.д. Некоторым сетям 1598 обычно требуются внешние сетевые интерфейсные адаптеры, которые подключены к определенным портам данных общего назначения или периферийным шинам (1550 и 1551) (например, к портам USB компьютерной системы 1500); другие обычно интегрированы в ядро компьютерной системы 1500 путем присоединения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему ПК или интерфейс сотовой сети в компьютерную систему смартфона). Используя любую из этих сетей 1598, компьютерная система 1500 может связываться с другими объектами. Такая связь может быть однонаправленной, только для приема (например, широковещательное телевидение), однонаправленной только для отправки (например, CAN-шина на определенные устройства с CAN-шиной) или двунаправленной, например, для других компьютерных систем, использующих локальную или глобальную цифровую сеть. В каждой из этих сетей и сетевых интерфейсов могут использоваться определенные протоколы и стеки протоколов, как описано выше.[119] Computer system 1500 may also include an interface 1599 to one or more communications networks 1598. Networks 1598 may be wireless, wired, optical, for example. Additionally, 1598 networks can be LAN, WAN, metro, automotive, industrial, real-time, latency tolerant, etc. Examples of networks 1598 include local area networks such as Ethernet, wireless LANs, cellular networks including GSM, 3G, 4G, 5G, LTE, and the like, wired television or wireless wide area digital networks including cable television, satellite television, and terrestrial television broadcasting, automotive and industrial equipment, including CAN bus, etc. Some 1598 networks typically require external network interface adapters that are connected to certain general purpose data ports or peripheral buses (1550 and 1551) (for example, the USB ports of a 1500 computer system); others are typically integrated into the core of the computer system 1500 by connecting to a system bus, as described below (for example, an Ethernet interface to a PC computer system or a cellular network interface to a smartphone computer system). Using any of these networks 1598, the computer system 1500 can communicate with other entities. Such communication may be unidirectional, receive only (for example, broadcast television), unidirectional, send only (for example, CAN bus to certain CAN bus devices), or bidirectional, such as for other computer systems using a local or wide area digital network . Each of these networks and network interfaces may use specific protocols and protocol stacks, as described above.

[120] Вышеупомянутые устройства человеко-машинного интерфейса, доступные человеку устройства хранения и сетевые интерфейсы могут быть присоединены к ядру 1540 компьютерной системы 1500.[120] The aforementioned human-machine interface devices, human-accessible storage devices, and network interfaces may be attached to the core 1540 of the computer system 1500.

[121] Ядро 1540 может включать в себя один или несколько центральных процессоров (CPU) 1541, графических процессоров (GPU) 1542, графических адаптеров 1517, специализированных программируемых процессоров в виде программируемых вентильных матриц (ППВМ) 1543, аппаратные ускорители 1544 для определенных задач, и т.д. Эти устройства, наряду с постоянной памятью (ROM) 1545, памятью с произвольным доступом 1546, внутренними запоминающими устройствами, такими как внутренние жесткие диски, не доступные пользователю, твердотельные накопители и т.п. 1547, могут быть подключены через системную шину 1548. В некоторых компьютерных системах системная шина 1548 может быть доступна в виде одного или более физических разъемов для обеспечения возможности расширения за счет дополнительных ЦП, ГП и т.п. Периферийные устройства могут быть подключены либо непосредственно к системной шине 1548 ядра, либо через периферийную шину 1551. Архитектуры для периферийной шины включают PCI, USB и т.п.[121] Core 1540 may include one or more central processing units (CPUs) 1541, graphics processing units (GPUs) 1542, graphics adapters 1517, specialized programmable gate array processors (FPGAs) 1543, hardware accelerators 1544 for specific tasks, etc. These devices, along with read-only memory (ROM) 1545, random access memory 1546, internal storage devices such as internal hard drives not accessible to the user, solid-state drives, and the like. 1547 may be connected via the 1548 system bus. On some computer systems, the 1548 system bus may be available as one or more physical connectors to allow expansion with additional CPUs, GPUs, and the like. Peripherals can be connected either directly to the 1548 core system bus or via the 1551 peripheral bus. Architectures for the peripheral bus include PCI, USB, etc.

[122] ЦП 1541, ГП 1542, ППВМ 1543 и ускорители 1544 могут выполнять определенные инструкции, которые в комбинации могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в ROM 1545 или RAM 1546. Переходные данные также могут храниться в RAM 1546, тогда как постоянные данные могут храниться, например, во внутреннем ЗУ большой емкости 1547. Быстрое хранение и извлечение на любое из запоминающих устройств могут быть доступны посредством использования кэш-памяти, которая может быть тесно связана с одним или более ЦП 1541, ГП 1542, ЗУ 1547 большой емкости, ПЗУ 1545, ОЗУ 1546 и т.п.[122] The CPU 1541, GPU 1542, FPGA 1543, and accelerators 1544 may execute certain instructions that, in combination, may constitute the aforementioned computer code. This computer code may be stored in ROM 1545 or RAM 1546. Transient data may also be stored in RAM 1546, while persistent data may be stored in, for example, internal mass storage 1547. Rapid storage and retrieval to either storage device may be available via using a cache memory that may be closely coupled to one or more of the CPU 1541, GPU 1542, mass storage device 1547, ROM 1545, RAM 1546, or the like.

[123] Машиночитаемый носитель может содержать компьютерный код для выполнения различных операций, реализуемых компьютером. Носители и компьютерный код могут быть специально спроектированными и сконструированными для целей настоящего изобретения, или они могут быть хорошо известными и доступными для специалистов в области компьютерного программного обеспечения.[123] A computer-readable medium may contain computer code for performing various computer-implemented operations. The media and computer code may be specifically designed and constructed for the purposes of the present invention, or they may be well known and available to those skilled in the computer software art.

[124] В качестве примера, но не ограничения, компьютерная система, имеющая архитектуру 1500 и, в частности, ядро 1540, может обеспечивать функциональность за счет процессора(ов) (включая ЦП, ГП, ППВМ, ускорители и т.п.), исполняющего программное обеспечение, воплощенное на одном или более материальных машиночитаемых носителях. Такие машиночитаемые носители могут быть носителями, связанными с доступным для пользователя ЗУ большой емкости, как описано выше, а также определенными запоминающими устройствами ядра 1540, которые имеют невременную природу, такими как внутреннее ЗУ 1547 большой емкости или ПЗУ 1545. Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром 1540. Машиночитаемый носитель может включать в себя одно или более запоминающих устройств или микросхем в соответствии с конкретными потребностями. Программное обеспечение может побуждать ядро 1540 и, в частности, процессоры в нем (включая CPU, GPU, FPGA и т.п.) выполнять определенные процессы или определенные части конкретных процессов, описанных в данном документе, включая определение структур данных, хранящихся в RAM 1546 и изменение таких структур данных в соответствии с процессами, определенными программным обеспечением. В дополнение или в качестве альтернативы, компьютерная система может обеспечивать функциональность в результате логики, встроенной в аппаратную схему или иным образом воплощенной в схеме (например, ускоритель 1544), которая может работать вместо или вместе с программным обеспечением для выполнения определенных процессов или отдельных частей конкретных процессов, описанных в данном документе. Ссылка на программное обеспечение может включать в себя логику и наоборот, где это применимо. Ссылка на машиночитаемый носитель может включать в себя схему (например, интегральную схему (1С)), хранящую программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или и то, и другое, где это применимо. Настоящее изобретение включает в себя любую подходящую комбинацию аппаратного и программного обеспечения.[124] By way of example, and not limitation, a computer system having architecture 1500, and in particular core 1540, may provide functionality through processor(s) (including CPU, GPU, FPGA, accelerators, and the like) executing software embodied on one or more tangible machine-readable media. Such computer-readable media may be media associated with a user-accessible mass storage device, as described above, as well as certain storage devices of the core 1540 that are non-transitory in nature, such as the internal mass storage device 1547 or the ROM 1545. Software implementing various embodiments implementation of the present invention may be stored in such devices and executed by the core 1540. The computer readable medium may include one or more storage devices or chips according to specific needs. Software may cause the core 1540 and, in particular, processors therein (including CPUs, GPUs, FPGAs, and the like) to perform certain processes or certain portions of specific processes described herein, including defining data structures stored in RAM 1546 and modifying such data structures according to processes defined by the software. In addition or alternatively, a computer system may provide functionality as a result of logic built into hardware circuitry or otherwise embodied in circuitry (e.g., accelerator 1544), which may operate instead of or in conjunction with software to perform certain processes or portions of specific processes described in this document. A reference to software may include logic and vice versa where applicable. Reference to a computer-readable medium may include circuitry (eg, an integrated circuit (IC)) storing software for execution, circuitry embodying logic for execution, or both, where applicable. The present invention includes any suitable combination of hardware and software.

[125] Хотя это описание раскрывает несколько примерных вариантов осуществления, существуют изменения, перестановки и различные заменяющие эквиваленты, которые попадают в объем изобретения. Таким образом, будет принято во внимание, что специалисты в данной области техники смогут разработать многочисленные системы и способы, которые, хотя явно не показаны или не описаны здесь, воплощают принципы раскрытия и, таким образом, находятся в пределах его сущности и объема правовой охраны.[125] Although this description discloses several exemplary embodiments, there are variations, permutations, and various substitute equivalents that fall within the scope of the invention. Thus, it will be appreciated that those skilled in the art will be able to develop numerous systems and methods that, although not explicitly shown or described herein, embody the principles of the disclosure and are thus within its spirit and scope of protection.

Claims (41)

1. Способ кодирования видео, выполняемый по меньшей мере одним процессором, содержащий следующие этапы:1. A video encoding method performed by at least one processor, comprising the following steps: получение видеоданных; receiving video data; получение блока единицы кодирования (CU) видеоданных;obtaining a coding unit (CU) block of video data; определение, установлен ли флаг блока CU в предварительно определенное состояние флага;determining whether a flag of the CU is set to a predetermined flag state; определение, установлен ли тип дерева блока CU в предварительно определенный тип дерева; determining whether the tree type of the CU is set to a predetermined tree type; определение, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева; иdetermining whether to signal an adaptive color conversion (ACT) flag based on either of whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined tree type; And кодирование видеоданных на основе того, сигнализируется ли флаг ACT;encoding video data based on whether the ACT flag is signaled; причем способ дополнительно содержит:wherein the method additionally contains: определение, равны ли нулю оба кодированных флага единицы преобразования (TU) и кодируется ли CU с режимом ACT; иdetermining whether both encoded transformation unit (TU) flags are zero and whether the CU is encoded with ACT mode; And определение, что кодированный флаг TU яркости должен быть выведен равным 1, на основании определения, что оба кодированных флага TU равны нулю и что CU кодирована с режимом ACT.determining that the encoded luminance flag TU should be output equal to 1, based on determining that both encoded TU flags are zero and that the CU is encoded with the ACT mode. 2. Способ по п.1, в котором определение, следует ли сигнализировать флаг ACT, основано как на том, установлен ли флаг блока CU в предварительно определенное состояние флага, так и на том, установлен ли тип дерева блока CU в предварительно определенный тип дерева.2. The method of claim 1, wherein determining whether the ACT flag should be signaled is based on both whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined tree type . 3. Способ по п.1, в котором предварительно определенный тип дерева указывает тип единичного дерева, и в котором предварительно определенное состояние флага содержит sps_act_enabled_flag, равное 1.3. The method of claim 1, wherein the predefined tree type indicates a single tree type, and wherein the predefined flag state comprises sps_act_enabled_flag equal to 1. 4. Способ по п.1, в котором кодированные флаги TU являются флагами каналов цветности.4. The method of claim 1, wherein the encoded TU flags are chroma channel flags. 5. Способ по п.1, в котором определение, что кодированный флаг TU яркости должен быть выведен равным 1, реализуется независимо от того, является ли режим предсказания CU интра-режимом.5. The method of claim 1, wherein determining that the encoded luminance flag TU should be output equal to 1 is implemented regardless of whether the CU prediction mode is an intra mode. 6. Способ по п.5, в котором кодирование видеоданных дополнительно основано на определении, должен ли кодированный флаг TU яркости выводиться равным 1.6. The method of claim 5, wherein the encoding of the video data is further based on determining whether the encoded luminance flag TU should be output equal to 1. 7. Устройство для кодирования видео, выполняемого по меньшей мере одним процессором, содержащее:7. A device for video encoding performed by at least one processor, comprising: по меньшей мере одну память, конфигурированную для хранения компьютерного программного кода;at least one memory configured to store computer program code; по меньшей мере один процессор, конфигурированный для доступа к компьютерному программному коду и работы в соответствии с инструкциями компьютерного программного кода, причем компьютерный программный код включает в себя:at least one processor configured to access and operate in accordance with the instructions of the computer program code, the computer program code including: первый код получения, конфигурированный для побуждения по меньшей мере одного процессора получать видеоданные; a first acquisition code configured to cause the at least one processor to receive video data; второй код получения, конфигурированный для побуждения по меньшей мере одного процессора получать блок единицы кодирования (CU) видеоданных;a second acquisition code configured to cause the at least one processor to obtain a coding unit (CU) block of video data; первый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли флаг блока CU в предварительно определенное состояние флага;a first determination code configured to cause the at least one processor to determine whether a CU flag is set to a predetermined flag state; второй код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли тип дерева блока CU в предварительно определенный тип дерева; a second determination code configured to cause the at least one processor to determine whether the tree type of the CU is set to a predetermined tree type; третий код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева; иa third determination code configured to cause the at least one processor to determine whether to signal an adaptive color conversion (ACT) flag based on either of whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined flag state. a certain type of tree; And код кодирования, конфигурированный для побуждения по меньшей мере одного процессора кодировать видеоданные на основе того, сигнализируется ли флаг ACT;encoding code configured to cause the at least one processor to encode video data based on whether the ACT flag is signaled; причем компьютерный программный код дополнительно содержит:wherein the computer program code further comprises: четвертый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, равны ли нулю оба кодированных флага единицы преобразования (TU), и кодируется ли CU в режиме ACT;a fourth determination code configured to cause the at least one processor to determine whether both encoded conversion unit (TU) flags are zero and whether the CU is encoded in ACT mode; пятый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, должен ли кодированный флаг TU яркости быть выведен равным 1, на основе определения, что оба кодированных флага TU равны нулю и что CU кодирована в режиме ACT.a fifth determination code configured to cause the at least one processor to determine whether the coded luminance flag TU should be output equal to 1 based on determining that both coded TU flags are zero and that the CU is coded in ACT mode. 8. Устройство по п.7, в котором определение, следует ли сигнализировать флаг ACT, основано как на том, установлен ли флаг блока CU в предварительно определенное состояние флага, так и на том, установлен ли тип дерева блока CU в предварительно определенный тип дерева.8. The apparatus of claim 7, wherein the determination of whether to signal the ACT flag is based on both whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined tree type . 9. Устройство по п.7, в котором предварительно определенный тип дерева указывает тип единичного дерева, и в котором предварительно определенное состояние флага содержит sps_act_enabled_flag, равное 1.9. The apparatus of claim 7, wherein the predetermined tree type indicates the type of the unit tree, and wherein the predetermined flag state comprises sps_act_enabled_flag equal to 1. 10. Устройство по п.7, в котором кодированные флаги TU являются флагами каналов цветности.10. The apparatus of claim 7, wherein the encoded TU flags are chroma channel flags. 11. Устройство по п.7, в котором определение, что кодированный флаг TU яркости должен быть выведен равным 1, выполняется независимо от того, является ли режим предсказания CU интра-режимом.11. The apparatus of claim 7, wherein determining that the encoded luminance flag TU should be output to 1 is performed regardless of whether the CU prediction mode is intra mode. 12. Невременный машиночитаемый носитель, хранящий программу, побуждающую компьютер выполнять процесс, причем процесс содержит:12. A non-transitory computer-readable medium storing a program causing a computer to execute a process, the process comprising: получение видеоданных; receiving video data; получение блока единицы кодирования (CU);getting a coding unit (CU) block; определение, установлен ли флаг блока CU в предварительно определенное состояние флага;determining whether a flag of the CU is set to a predetermined flag state; определение, установлен ли тип дерева блока CU в предварительно определенный тип дерева; determining whether the tree type of the CU is set to a predetermined tree type; определение, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева; иdetermining whether to signal an adaptive color conversion (ACT) flag based on either of whether the CU flag is set to a predetermined flag state and whether the CU tree type is set to a predetermined tree type; And кодирование видеоданных на основе того, сигнализируется ли флаг ACT;encoding video data based on whether the ACT flag is signaled; причем процесс дополнительно содержит:wherein the process additionally contains: определение, равны ли нулю оба кодированных флага единицы преобразования (TU), и кодируется ли CU в режиме ACT; иdetermining whether both encoded transformation unit (TU) flags are zero and whether the CU is encoded in ACT mode; And определение, должен ли кодированный флаг TU яркости быть выведен равным 1, на основе определения, что оба кодированных флага TU равны нулю и что CU кодирована в режиме ACT.determining whether the encoded luminance flag TU should be output equal to 1, based on determining that both encoded TU flags are zero and that the CU is encoded in ACT mode.
RU2021131591A 2020-06-10 2021-06-01 Adaptive colour conversion alarms for cu level and tu level RU2812762C1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63/037,170 2020-06-10
US17/319,328 2021-05-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2024102373A Division RU2824189C2 (en) 2020-06-10 2021-06-01 Signalling associated with adaptive colour transform for cu level and tu level

Publications (1)

Publication Number Publication Date
RU2812762C1 true RU2812762C1 (en) 2024-02-02

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EGILMEZ H. E. et al, Latency reduction in transformation process with TU-level signalling, JVET-R0236, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 18th Meeting: by teleconference, 15-24 April 2020. LIM W. et al, CE8-related: Modification of palette coding syntax structure, JVET-Q0435, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 17th Meeting: Brussels, 7-17 January 2020. US 2016100168 A1 - 2016.04.07. US 2020092546 A1 - 2020.03.19. US 2019182508 A1 - 2019.06.13. US 2014355689 A1 - 2014.12.04. US 10104378 B2 - 2018.10.16. RU 2627119 C2 - 2017.08.03. *

Similar Documents

Publication Publication Date Title
JP7391121B2 (en) Methods, apparatus, computer programs, and non-transitory computer-readable media for video encoding and decoding
JP7495564B2 (en) Method and apparatus for improving intra-inter prediction modes, and computer program product
US11310511B2 (en) Method and apparatus for video coding
JP7119234B2 (en) Method, apparatus and computer program for decoding using an integrated position dependent predictive combination process
JP7318087B2 (en) Method for generating mode list for multi-line intra prediction, its device and computer program
US20230118451A1 (en) Techniques for constraint flag signaling for range extension with residual rice coding extension
AU2023203151A1 (en) Method for access unit delimiter signaling
JP2024096982A (en) Decoupling transformation partitioning
US20230283796A1 (en) Determining applicability of intra block copy in semi-decoupled partitioning
JP7378485B2 (en) Improved header syntax for QT/BT/TT sizes
JP2023546962A (en) Encoding end-of-block flags between components
WO2021252222A1 (en) Adaptive colour transform related signalling for both of cu level and tu level
RU2812762C1 (en) Adaptive colour conversion alarms for cu level and tu level
RU2824189C2 (en) Signalling associated with adaptive colour transform for cu level and tu level
JP7266710B2 (en) Method, apparatus and computer program for video coding
RU2791938C1 (en) Transmission of interlayer prediction in video bit stream
RU2780424C1 (en) Method and apparatus for video encoding
RU2779911C1 (en) Signaling of scalability parameters in the video bitstream
RU2801586C1 (en) Method and device for signalling flag of pass mode
RU2783382C1 (en) Signalling of inter-layer prediction in a video bitstream
WO2023056107A1 (en) Techniques for constraint flag signaling for range extension with persistent rice adaptation