СИГНАЛИЗАЦИЯ, СВЯЗАННАЯ С АДАПТИВНЫМ ПРЕОБРАЗОВАНИЕМ ЦВЕТА, ДЛЯ УРОВНЯ CU И УРОВНЯ TU Российский патент 2024 года по МПК H04N19/70 H04N19/186 H04N19/12 H04N19/96 

Описание патента на изобретение RU2812762C1

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ

[1] Настоящая заявка испрашивает приоритет предварительной заявки US 63/037,170, поданной 10 июня 2020 г., и заявки US 17/319,328, поданной 13 мая 2021 г., которые настоящим явным образом полностью включены посредством ссылки в настоящую заявку.

УРОВЕНЬ ТЕХНИКИ

1. Область техники, к которой относится изобретение

[2] Настоящее раскрытие относится к сигнализации флага включения уровня единицы кодирования (CU) и кодированного флага яркости уровня единицы преобразования (TU) для кодированного блока с режимом адаптивного преобразования цвета (ACT).

2. Описание уровня техники

[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 (Объединенная группа экспертов по видео).

[4] Однако существуют технические проблемы, например, если кодированный блок CU не имеет коэффициента, тогда сигнализация режима ACT может быть избыточной или CU с режимом ACT должен иметь один или более одного коэффициентов в кодированном блоке CU. Для интер-блока с режимом ACT, если cu_coded_flag должна быть 1, чтобы представлять, что CU имеет по меньшей мере один коэффициент в единице преобразования, то нет соответствующего ограничения для интра-CU с режимом ACT, и только интра-блок с режимом ACT должен быть выведен равным 1, если оба кодированных флага TU каналов цветности равны нулю. Кроме того, cu_act_enabled_flag должен сигнализироваться дважды на основе другого режима предсказания текущего блока CU. По существу, здесь описаны, например, технические решения таких проблем.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

[5] Согласно примерным вариантам осуществленя, включены способ и устройство, содержащие память, конфигурированную для хранения компьютерного программного кода, и процессор или процессоры, конфигурированные для доступа к компьютерному программному коду и работы в соответствии с инструкциями компьютерного программного кода. Код компьютерной программы включает в себя первый код получения, конфигурированный для побуждения по меньшей мере одного процессора получать видеоданные, второй код получения, конфигурированный для побуждения по меньшей мере одного процессора получать блок единицы кодирования (CU) видеоданных, первый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли флаг блока CU в предварительно определенное состояние флага, второй код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли тип дерева блока CU в предварительно определенный тип дерева, третий код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева, и код кодирования, конфигурированный для побуждения по меньшей мере одного процессора кодировать видеоданные на основе того, сигнализируется ли флаг ACT.

[6] Согласно примерному варианту осуществления, определение, следует ли сигнализировать флаг ACT, основано только на том, установлен ли флаг блока CU в предварительно определенное состояние флага.

[7] Согласно примерному варианту осуществления, определение, следует ли сигнализировать флаг ACT, основано как на том, установлен ли флаг блока CU в предварительно определенное состояние флага, так и на том, установлен ли тип дерева блока CU в предварительно определенный тип дерева.

[8] Согласно примерному варианту осуществления, предварительно определенный тип дерева указывает тип единичного дерева, а не тип двойного дерева.

[9] Согласно примерному варианту осуществления, определение, следует ли сигнализировать флаг адаптивного цветового преобразования (ACT), выполняется независимо от того, является ли режим предсказания CU интра-режимом.

[10] Согласно примерному варианту осуществления, компьютерный программный код дополнительно включает в себя четвертый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, равны ли оба кодированных флага единицы преобразования (TU) нулю, и кодируется ли CU в режиме ACT.

[11] Согласно примерному варианту осуществления, кодированные флаги TU являются флагами каналов цветности.

[12] Согласно примерному варианту осуществления, компьютерный программный код дополнительно содержит пятый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, должен ли кодированный флаг TU яркости быть выведен равным 1, на основе определения, что оба кодированных флага TU равны нулю и что CU кодирована в режиме ACT.

[13] Согласно примерным вариантам осуществления, определение, что кодированный флаг TU яркости должен быть выведен равным 1, выполняется независимо от того, является ли режим предсказания CU интра-режимом.

[14] Согласно примерным вариантам осуществления, кодирование видеоданных дополнительно основано на определении, должен ли кодированный флаг TU яркости быть выведен равным 1.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[15] Дополнительные признаки, сущность и различные преимущества раскрытого объекта изобретения будут более понятны из следующего подробного описания и прилагаемых чертежей, на которых изображено следующее.

[16] Фиг. 1 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.

[17] Фиг. 2 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.

[18] Фиг. 3 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.

[19] Фиг. 4 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.

[20] Фиг. 5 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[21] Фиг. 6 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[22] Фиг. 7 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[23] Фиг. 8 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[24] Фиг. 9А представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[25] Фиг. 9 В представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[26] Фиг. 10 представляет собой упрощенную иллюстрацию блок-схемы в соответствии с вариантами осуществления.

[27] Фиг. 11 представляет собой упрощенную иллюстрацию блок-схемы в соответствии с вариантами осуществления.

[28] Фиг. 12 представляет собой упрощенную иллюстрацию блок-схемы в соответствии с вариантами осуществления.

[29] Фиг. 13 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[30] Фиг. 14 представляет собой упрощенную иллюстрацию диаграммы в соответствии с вариантами осуществления.

[31] Фиг. 15 представляет собой упрощенную иллюстрацию схематической диаграммы в соответствии с вариантами осуществления.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

[32] Предлагаемые признаки, обсуждаемые ниже, могут быть использованы по отдельности или скомбинированы в любом порядке. Кроме того, варианты осуществления могут быть реализованы схемами обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров выполняют программу, которая хранится на невременном машиночитаемом носителе.

[33] На фиг. 1 проиллюстрирована упрощенная блок-схема системы (100) связи согласно варианту осуществления настоящего раскрытия. Система 100 связи может включать в себя по меньшей мере два терминала 102 и 103, соединенных между собой через сеть 105. Для однонаправленной передачи данных первый терминал 103 может кодировать видеоданные в локальном местоположении для передачи другому терминалу 102 через сеть 105. Второй терминал 102 может принимать кодированные видеоданные другого терминала из сети 105, декодировать кодированные данные и отображать восстановленные видеоданные. Однонаправленная передача данных может быть обычным явлением в приложениях обслуживания мультимедиа и т.п.

[34] На фиг. 1 показана вторая пара терминалов 101 и 104, обеспечивающая поддержку двунаправленной передачи кодированного видео, которая может происходить, например, во время видеоконференц-связи. Для двунаправленной передачи данных каждый терминал 101 и 104 может кодировать видеоданные, захваченные в локальном местоположении, для передачи на другой терминал через сеть 105. Каждый терминал 101 и 104 также может принимать кодированные видеоданные, переданные другим терминалом, может декодировать кодированные данные и может отображать восстановленные видеоданные на локальном устройстве отображения.

[35] Как показано на фиг. 1, терминалы 101, 102, 103 и 104 могут быть изображены как серверы, персональные компьютеры и смартфоны, но принципы настоящего раскрытия этим не ограничиваются. Варианты осуществления настоящего изобретения находят применение в портативных компьютерах, планшетных компьютерах, медиаплеерах и/или специализированном оборудовании для видеоконференц-связи. Сеть 105 представляет любое количество сетей, которые передают кодированные видеоданные между терминалами 101, 102, 103 и 104, включая, например, сети проводной и/или беспроводной связи. Сеть 105 связи может обмениваться данными в каналах с коммутацией каналов и/или с коммутацией пакетов. Характерные сети включают в себя телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. Для целей настоящего обсуждения архитектура и топология сети 105 могут быть несущественными для работы настоящего раскрытия, если это не объясняется в данном документе ниже.

[36] На фиг. 2 проиллюстрировано, в качестве примера применения для раскрытого объекта изобретения, размещение видеокодера и видеодекодера в потоковой среде. Раскрытый объект изобретения может быть в равной степени применим к другим приложениям с поддержкой видео, включая, например, видеоконференц-связь, цифровое телевидение, хранение сжатого видео на цифровых носителях, включая CD, DVD, карту памяти и т.п., и так далее.

[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 видео могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видео. Примеры этих стандартов отмечены выше и описаны ниже.

[38] Фиг. 3 может быть функциональной блок-схемой видеодекодера 300 согласно варианту осуществления настоящего раскрытия.

[39] Приемник 302 может принимать одну или более кодированных видеопоследовательностей, которые должны быть декодированы декодером 300; в таком же или другом варианте осуществления по одной кодированной

видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может быть принята из канала 301, который может быть аппаратным/программным соединением с устройством хранения, в котором хранятся кодированные видеоданные. Приемник 302 может принимать кодированные видеоданные с другими данными, например, кодированными аудиоданными и/или потоками вспомогательных данных, которые могут быть отправлены их соответствующим использующим объектам (не изображены). Приемник 302 может отделять кодированную видеопоследовательность от других данных. Для борьбы с дрожанием в сети между приемником 302 и энтропийным декодером/парсером 304 (далее «парсер») может быть подключена буферная память 303. Когда приемник 302 принимает данные от устройства хранения/пересылки с достаточной полосой пропускания и управляемостью или из изосинхронной сети, буфер 303 может не понадобиться или может быть небольшим. Для использования в пакетных сетях наилучшего качества, таких как Интернет, может потребоваться буфер 303, который может быть сравнительно большим и может быть предпочтительно адаптивного размера.

[40] Видеодекодер 300 может включать в себя парсер 304 для восстановления символов 313 из энтропийно кодированной видеопоследовательности. Категории этих символов включают в себя информацию, используемую для управления работой декодера 300, и потенциально информацию для управления устройством визуализации, таким как дисплей 312, который не является неотъемлемой частью декодера, но может быть подключен к нему. Управляющая информация для устройства (устройств) визуализации может быть в форме дополнительной информации улучшения (сообщения SEI) или фрагментов набора параметров информации о пригодности видео (не изображены). Парсер 304 может выполнять парсинг/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование кодированной видеопоследовательности может осуществляться в соответствии с технологией или стандартом кодирования видео и может следовать принципам, хорошо известным специалистам в уровне техники, включая кодирование переменной длины, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и так далее. Парсер 304 может извлекать из кодированной видеопоследовательности набор параметров субгруппы по меньшей мере для одной из субгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Субгруппы могут включать в себя группы изображений (GOP), изображения, тайлы, слайсы, макроблоки, единицы кодирования (CU), блоки, единицы преобразования (TU), единицы предсказания (PU) и так далее. Энтропийный декодер/парсер также может извлекать из кодированной видеопоследовательности информацию, такую как коэффициенты преобразования, значения параметров квантователя, векторы движения и так далее.

[41] Парсер 304 может выполнять операцию энтропийного декодирования/парсинга видеопоследовательности, принятой из буфера 303, так чтобы создавать символы 313. Парсер 304 может принимать кодированные данные и выборочно декодировать определенные символы 313. Кроме того, парсер 304 может определять, должны ли конкретные символы 313 быть предоставлены в модуль 306 предсказания с компенсацией движения, модуль 305 масштабирования/обратного преобразования, модуль 307 интрапредсказания или петлевой фильтр 311.

[42] Восстановление символов 313 может включать в себя множество различных модулей в зависимости от типа кодированного видеоизображения или его частей (таких как: интер- и интраизображение, интер- и интраблок) и других факторов. Какие модули задействованы и как, можно контролировать с помощью управляющей информации субгруппы, парсинг которой был выполнен из кодированной видеопоследовательности посредством парсера 304. Поток такой управляющей информации субгруппы между парсером 304 и множеством модулей ниже не показан для ясности.

[43] Помимо уже упомянутых функциональных модулей, декодер 300 может быть концептуально подразделен на ряд функциональных модулей, как описано ниже. В практическом осуществлении, работающем в условиях коммерческих ограничений, многие из этих модулей тесно взаимодействуют друг с другом и могут быть, по меньшей мере частично, интегрированы друг в друга. Однако для целей описания раскрытого объекта изобретения уместно концептуальное подразделение на функциональные модули, приведенные ниже.

[44] Первым модулем является модуль 305 масштабирования/обратного преобразования. Модуль 305 масштабирования/обратного преобразования принимает квантованный коэффициент преобразования, а также управляющую информацию, включая то, какое преобразование использовать, размер блока, коэффициент квантования, матрицы масштабирования квантования и так далее, в виде символа(ов) 313 от парсера 304. Он может выводить блоки, содержащие значения отсчетов, которые могут быть введены в агрегатор 310.

[45] В некоторых случаях выходные отсчеты модуля 305 масштабирования/обратного преобразования могут относиться к интракодированному блоку; то есть к блоку, который не использует информацию предсказания из ранее восстановленных изображений, но может использовать информацию предсказания из ранее восстановленных частей текущего изображения. Такая информация предсказания может быть предоставлена модулем 307 внутрикадрового предсказания. В некоторых случаях модуль 307 внутрикадрового предсказания генерирует блок того же размера и формы, что и восстанавливаемый блок, используя окружающую уже восстановленную информацию, извлеченную из текущего (частично восстановленного) изображения 309. Агрегатор 310 в некоторых случаях добавляет для каждого отсчета информацию предсказания, сгенерированную модулем 307 интрапредсказания, к информации выходных отсчетов, предоставляемой модулем 305 масштабирования/обратного преобразования.

[46] В других случаях выходные отсчеты модуля 305 масштабирования/обратного преобразования могут относиться к интеркодированному блоку и потенциально блоку с компенсацией движения. В таком случае модуль 306 предсказания с компенсацией движения может обращаться к памяти 308 опорных изображений, чтобы извлекать отсчеты, используемые для предсказания. После компенсации движения выбранных отсчетов в соответствии с символами 313, относящимися к блоку, эти отсчеты могут быть добавлены агрегатором 310 к выходу модуля масштабирования/обратного преобразования (в данном случае называемые остаточными отсчетами или остаточным сигналом), чтобы генерировать информацию о выходных отсчетах. Адреса в памяти опорных изображений, откуда модуль предсказания с компенсацией движения выбирает отсчеты предсказания, могут управляться векторами движения, доступными модулю предсказания с компенсацией движения в форме символов 313, которые могут иметь, например, компоненты X, Y и опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти опорных изображений, когда используются точные векторы движения суботсчетов, механизмы предсказания вектора движения и так далее.

[47] Выходные отсчеты агрегатора 310 могут подвергаться различным методам петлевой фильтрации в модуле 311 петлевого фильтра. Технологии сжатия видео могут включать в себя технологии внутрипетлевой фильтрации, которые управляются параметрами, включенными в битовый поток кодированного видео и предоставляются модулю 311 петлевой фильтрации как символы 313 из парсера 304, но также могут реагировать на метаинформацию, полученную во время декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также реагировать на ранее восстановленные и отфильтрованные посредством петлевой фильтрации значения отсчетов.

[48] Выходной сигнал модуля 311 петлевого фильтра может быть потоком отсчетов, который может быть выведен на устройство 312 визуализации, а также сохранен в памяти 557 опорных изображений для использования в будущем межкадровом предсказании.

[49] Определенные кодированные изображения после полного восстановления могут использоваться в качестве опорных изображений для будущего предсказания. После того, как кодированное изображение полностью восстановлено и кодированное изображение было идентифицировано как опорное изображение (например, парсером 304), текущее опорное изображение 309 может стать частью буфера 308 опорных изображений, и свежая память текущих изображений может быть перераспределена перед началом восстановления следующего кодированного изображения.

[50] Видеодекодер 300 может выполнять операции декодирования согласно заранее определенной технологии сжатия видео, которая может быть задокументирована в стандарте, таком как Рекомендации ITU-T Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или стандартом сжатия видео, в том смысле, что она соответствует синтаксису технологии или стандарта сжатия видео, как указано в документе или стандарте технологии сжатия видео и, в частности, в их документе профилей. Также для соответствия может быть необходимым, чтобы сложность кодированной видеопоследовательности находилась в пределах границ, определенных уровнем технологии или стандарта сжатия видео. В некоторых случаях уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту дискретизации восстановления (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и так далее. Пределы, установленные уровнями, в некоторых случаях могут быть дополнительно ограничены с помощью спецификаций гипотетического эталонного декодера (HRD) и метаданных для управления буфером HRD, сигнализируемых в кодированной видеопоследовательности.

[51] В варианте осуществления приемник 302 может принимать дополнительные (избыточные) данные с кодированным видео. Дополнительные данные могут быть включены как часть кодированной видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером 300 для правильного декодирования данных и/или для более точного восстановления исходных видеоданных. Дополнительные данные могут быть в форме, например, временных, пространственных слоев или слоев улучшения отношения сигнал/шум (SNR), избыточных слайсов, избыточных изображений, кодов прямого исправления ошибок и так далее.

[52] Фиг. 4 может быть функциональной блок-схемой видеокодера 400 согласно варианту осуществления настоящего раскрытия.

[53] Кодер 400 может принимать отсчеты видео от источника 401 видео (который не является частью кодера), который может захватывать видеоизображение(я) для кодирования кодером 400.

[54] Источник 401 видео может предоставлять исходную видеопоследовательность для кодирования кодером (303) в форме цифрового потока отсчетов видео, который может иметь любую подходящую битовую глубину (например: 8 бит, 10 бит, 12 бит, …), любое цветовое пространство (например, ВТ.601 Y CrCB, RGB, …) и любую подходящую структуру отсчетов (например, Y CrCb 4:2:0, Y CrCb 4:4:4). В системе обслуживания мультимедиа источник 401 видео может быть запоминающим устройством, хранящим предварительно подготовленное видео. В системе видеоконференц-связи источник 401 видео может быть камерой, которая захватывает информацию о локальном изображении в виде видеопоследовательности. Видеоданные могут быть предоставлены как множество отдельных изображений, которые при последовательном просмотре передают движение. Сами изображения могут быть организованы как пространственный массив пикселей, в котором каждый пиксель может содержать один или более отсчетов в зависимости от используемой структуры дискретизации, цветового пространства и т.д. Специалист в данной области техники может легко понять взаимосвязь между пикселями и отсчетами. Описание ниже ориентировано на отсчеты.

[55] Согласно варианту осуществления кодер 400 может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность 410 в реальном времени или с любыми другими временными ограничениями, как того требует приложение. Обеспечение соответствующей скорости кодирования - одна из функций контроллера 402. Контроллер управляет другими функциональными модулями, как описано ниже, и функционально связан с этими модулями. Связь не изображена для ясности. Параметры, устанавливаемые контроллером, могут включать в себя параметры, относящиеся к управлению скоростью (пропуск изображения, квантователь, значение лямбда методов оптимизации скорость-искажение, …), размеру изображения, макету группы изображений (GOP), максимальному диапазону поиска вектора движения и так далее. Специалист в данной области техники может легко определить другие функции контроллера 402, поскольку они могут относиться к видеокодеру 400, оптимизированному для определенной конструкции системы.

[56] Некоторые видеокодеры работают в том, что специалист в данной области легко распознает как «петля кодирования». В качестве упрощенного описания петля кодирования может состоять из кодирующей части кодера 402 (далее «кодер источника») (ответственной за создание символов на основе входного изображения, которое должно быть кодировано, и опорного изображения(й)), и (локального) декодера 406, встроенного в кодер 400, который восстанавливает символы для создания данных отсчетов, которые (удаленный) декодер также может создать (поскольку любое сжатие между символами и кодированным битовым потоком видео не имеет потерь в технологиях сжатия видео, рассматриваемых в раскрытом объекте). Этот восстановленный поток отсчетов вводится в память 405 опорных изображений. Поскольку декодирование потока символов приводит к результатам с точностью до бита, независимо от местоположения декодера (локально или удаленно), содержимое буфера опорных изображений также является точным до бита между локальным кодером и удаленным кодером. Другими словами, часть предсказания кодера «видит» в качестве отсчетов опорного изображения точно такие же значения отсчетов, которые декодер «видел» бы при использовании предсказания во время декодирования. Этот фундаментальный принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может поддерживаться, например, из-за ошибок канала) хорошо известен специалисту в данной области техники.

[57] Работа «локального» декодера 406 может быть такой же, как у «удаленного» декодера 300, который уже был подробно описан выше со ссылкой на фиг. 3. Кратко ссылаясь также на фиг. 4, однако, поскольку символы доступны и кодирование и/или декодирование символов в кодированную видеопоследовательность энтропийным кодером 408 и парсером 304 может осуществляться без потерь, части энтропийного декодирования декодера 300, включая канал 301, приемник 302, буфер 303 и парсер 304, не могут быть полностью реализованы в локальном декодере 406.

[58] На этом этапе можно сделать наблюдение, что любая технология декодирования, кроме синтаксического анализа (парсинга)/энтропийного декодирования, которая присутствует в декодере, также обязательно должна присутствовать в по существу идентичной функциональной форме в соответствующем кодере. Описание технологий кодирования может быть сокращено, поскольку они являются инверсией полностью описанных технологий декодирования. Только в некоторых областях требуется более подробное описание, которое приводится ниже.

[59] В качестве части своей работы кодер 403 источника может выполнять кодирование с предсказанием с компенсацией движения, которое кодирует входной кадр с предсказанием со ссылкой на один или более ранее кодированных кадров из видеопоследовательности, которые были обозначены как «опорные кадры». Таким образом, механизм 407 кодирования кодирует различия между блоками пикселей входного кадра и блоками пикселей опорного кадра(ов), которые могут быть выбраны в качестве эталона(ов) предсказания для входного кадра.

[60] Локальный видеодекодер 406 может декодировать кодированные видеоданные кадров, которые могут быть обозначены как опорные кадры, на основе символов, созданных кодером 403 источника. Операции механизма 407 кодирования могут быть предпочтительно процессами с потерями. Когда кодированные видеоданные могут быть декодированы в видеодекодере (не показан на фиг. 4), восстановленная видеопоследовательность обычно может быть копией исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер 406 копирует процессы декодирования, которые могут выполняться видеодекодером на опорных кадрах, и может вызывать сохранение восстановленных опорных кадров в кэше 405 опорных изображений. Таким образом, кодер 400 может локально хранить копии восстановленных опорных кадров, которые имеют общее содержимое, в качестве восстановленных опорных кадров, которые будут получены видеодекодером на дальнем конце (при отсутствии ошибок передачи).

[61] Предиктор 404 может выполнять поиски с предсказанием для механизма 407 кодирования. То есть, для нового изображения, которое должно быть кодировано, предиктор 404 может искать в памяти 405 опорных изображений данные отсчетов (в качестве кандидатов блоков опорных пикселей) или определенные метаданные, такие как векторы движения опорных изображений, формы блоков и так далее, которые могут служить подходящим эталоном предсказания для новых изображений. Предиктор 404 может работать на основе блока отсчетов "блок-за-пикселем", чтобы найти соответствующие эталоны предсказания. В некоторых случаях, как определено результатами поиска, полученными предиктором 404, входное изображение может иметь эталоны предсказания, взятые из множества опорных изображений, сохраненных в памяти 405 опорных изображений.

[62] Контроллер 402 может управлять операциями кодирования видеокодера 403, включая, например, установку параметров и параметров субгруппы, используемых для кодирования видеоданных.

[63] Выходные сигналы всех вышеупомянутых функциональных модулей могут подвергаться энтропийному кодированию в энтропийном кодере 408. Энтропийный кодер переводит символы, сгенерированные различными функциональными модулями, в кодированную видеопоследовательность путем сжатия без потерь символов согласно технологиям, известным специалистам в данной области техники, как, например, кодирование Хаффмана, кодирование переменной длины, арифметическое кодирование и так далее.

[64] Передатчик 409 может буферизовать кодированную видеопоследовательность(и), созданную энтропийным кодером 408, чтобы подготовить ее к передаче через канал 411 связи, который может быть аппаратным/программным соединением с запоминающим устройством, которое будет хранить кодированные видеоданные. Передатчик 409 может объединять кодированные видеоданные из видеокодера 403 с другими данными, подлежащими передаче, например, кодированными аудиоданными и/или потоками вспомогательных данных (источники не показаны).

[65] Контроллер 402 может управлять работой кодера 400. Во время кодирования контроллер 405 может назначить каждому кодированному изображению определенный тип кодированного изображения, что может повлиять на методы кодирования, которые могут быть применены к соответствующему изображению. Например, изображения часто могут быть отнесены к одному из следующих типов кадров:

[66] Интра-изображение (1-изображение) может быть таким, которое можно кодировать и декодировать без использования какого-либо другого кадра в последовательности в качестве источника предсказания. Некоторые видеокодеки допускают различные типы интра-изображений, включая, например, изображения с независимым обновлением декодера. Специалисту в области техники известны эти варианты I-изображений и их соответствующие применения и особенности.

[67] Изображение с предсказанием (Р-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.

[68] Изображение с двунаправленным предсказанием (В-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Аналогично, изображения с множественным предсказанием могут использовать более двух опорных изображений и связанных метаданных для восстановления одного блока.

[69] Исходные изображения обычно могут быть пространственно подразделены на множество блоков отсчетов (например, блоки по 4x4, 8x8, 4x8 или 16x16 отсчетов каждый) и кодированы на поблочной основе. Блоки могут кодироваться с предсказанием со ссылкой на другие (уже кодированные) блоки, как определено назначением кодирования, применяемым к соответствующим изображениям блоков. Например, блоки I-изображений могут кодироваться без предсказания или они могут кодироваться с предсказанием со ссылкой на уже кодированные блоки одного и того же изображения (пространственное предсказание или интрапредсказание). Пиксельные блоки Р-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки В-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения.

[70] Видеокодер 400 может выполнять операции кодирования в соответствии с заранее определенной технологией или стандартом кодирования видео, такой как Рекомендация ITU-T Н.265. В своей работе видеокодер 400 может выполнять различные операции сжатия, включая операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Кодированные видеоданные, следовательно, могут соответствовать синтаксису, заданному используемой технологией или стандартом кодирования видео.

[71] В варианте осуществления передатчик 409 может передавать дополнительные данные с кодированным видео. Кодер 403 источника может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные слои/слои улучшения SNR, другие формы избыточных данных, такие как избыточные изображения и слайсы, сообщения дополнительной информации улучшения (SEI), фрагменты набора параметров информации о пригодности видео (VUI) и так далее.

[72] На фиг. 5 показаны режимы внутреннего предсказания, используемые в HEVC и JEM. Для захвата произвольных направлений краев, представленных в естественном видео, количество направленных интрарежимов увеличено с 33, как используется в HEVC, до 65. Дополнительные направленные режимы в JEM поверх HEVC показаны пунктирными стрелками на фиг. 1(b), а планарный режим и режим DC остаются такими же. Эти более плотные направленные режимы интрапредсказания применяются для всех размеров блоков и для интрапредсказания как яркости, так и цветности. Как показано на фиг. 5, режимы направленного интрапредсказания, обозначенные пунктирными стрелками, которые связаны с индексом режима нечетного интрапредсказания, называются режимами нечетного интрапредсказания. Режимы направленного интрапредсказания, обозначенные сплошными стрелками, которые связаны с индексом режима четного интрапредсказания, называются режимами четного интрапредсказания. В данном документе режимы направленного интрапредсказания, обозначенные сплошными или пунктирными стрелками на фиг. 5, также называются угловыми режимами.

[73] В JEM используется всего 67 режимов интрапредсказания для интрапредсказания яркости. Для кодирования интрарежима строится список наиболее вероятных режимов (МРМ) размера 6 на основе интрарежимов соседних блоков. Если интрарежим не входит в список МРМ, сигнализируется флаг, указывающий, принадлежит ли интрарежим выбранным режимам. В JEM-3.0 есть 16 выбранных режимов, которые выбираются одинаково как каждый четвертый угловой режим. В JVET-D0114 и JVET-G0060 получают 16 вторичных МРМ для замены однородно выбранных режимов.

[74] На фиг. 6 показаны N эталонных ярусов, используемых для внутринаправленных режимов. Есть единица 611 блока, сегмент А 601, сегмент В 602, сегмент С 603, сегмент D 604, сегмент Е 605, сегмент F 606, первый опорный ярус 610, второй опорный ярус 609, третий опорный ярус 608 и четвертый опорный ярус 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).

[76] В JEM для компонента яркости соседние отсчеты, используемые для генерации отсчетов с интрапредсказанием, фильтруются перед процессом генерации. Фильтрация управляется заданным режимом интрапредсказания и размером блока преобразования. Если режим интрапредсказания - DC или размер блока преобразования равен 4x4, соседние отсчеты не фильтруются. Если расстояние между заданным режимом интрапредсказания и вертикальным режимом (или горизонтальным режимом) больше, чем заданный порог, процесс фильтрации активируется. Для фильтрации соседних отсчетов используются фильтр [1, 2, 1] и билинейные фильтры.

[77] Способ комбинации позиционно-зависимого интрапредсказания (PDPC) -это способ интрапредсказания, который вызывает комбинацию нефильтрованных граничных опорных отсчетов и интрапредсказания в стиле HEVC с фильтрованными граничными опорными отсчетами. Каждый отсчет предсказания pred [х] [у], расположенный в (х, у), вычисляется следующим образом:

где Rx-1, R-1,y представляют собой нефильтрованные опорные отсчеты, расположенные вверху и слева от текущего отсчета (х, у), соответственно, a R-1,-1 представляет нефильтрованный опорный отсчет, расположенный в верхнем левом углу текущего блока. Веса рассчитываются следующим образом:

[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.

[79] Фиг. 8 иллюстрирует диаграмму 800 локальной компенсации освещенности (LIC) и основана на линейной модели для изменений освещенности с использованием коэффициента масштабирования а и смещения b. И она включается или выключается адаптивно для каждой кодированной в интер-режиме единицы кодирования (CU).

[80] Когда LIC применяется для CU, метод наименьших квадратов ошибок используется для получения параметров а и b с использованием соседних отсчетов текущей CU и их соответствующих опорных отсчетов. Более конкретно, как показано на фиг. 8, используются субдискретизированные (субдискретизация 2:1) соседние отсчеты CU и соответствующие отсчеты (идентифицированные информацией о движении текущей CU или суб-CU) в опорном изображении. Параметры IC выводятся и применяются для каждого направления предсказания отдельно.

[81] Когда CU кодируется с режимом слияния, флаг LIC копируется из соседних блоков аналогично копированию информации о движении в режиме слияния; в противном случае для CU сигнализируется флаг LIC, чтобы указать, применяется LIC или нет.

[82] Фиг. 9А иллюстрирует режимы 900 интрапредсказания, используемые в HEVC. В HEVC имеется всего 35 режимов интрапредсказания, среди которых режим 10 горизонтальный режим, режим 26 - вертикальный режим, а режим 2, режим 18 и режим 34 - диагональные режимы. Режимы интрапредсказания сигнализируются посредством трех наиболее вероятных режимов (МРМ) и 32 оставшихся режимов.

[83] На фиг. 9 В показано, в вариантах осуществления VVC, что имеется всего 87 режимов интрапредсказания, где режим 18 горизонтальный режим, режим 50 вертикальный режим, а режим 2, режим 34 и режим 66 диагональные режимы. Режимы -1 ~ -10 и режимы 67 ~ 76 называются режимами широкоугольного интрапредсказания (WAIP).

[84] Отсчет предсказания (х, у), расположенный в позиции (х, у), предсказывается с использованием режима интрапредсказания (DC, планарный, угловой) и линейной комбинации опорных отсчетов согласно выражению PDPC:

где Rx,-1, R-1,y представляют собой опорные отсчеты, расположенные вверху и слева от текущего отсчета (х, у), соответственно, a R-1,-1 представляет опорный отсчет, расположенный в верхнем левом углу текущего блока.

[85] Для режима DC веса рассчитываются следующим образом для блока с размерами ширина и высота:

с nScale=(log2 (ширина) - 2+log2 (высота) - 2+2) >> 2, где wT обозначает весовой коэффициент для опорного отсчета, расположенного в опорной строке выше с той же горизонтальной координатой, wL обозначает весовой коэффициент для опорного отсчета, расположенного в левой опорной строке с той же вертикальной координатой, а wTL обозначает весовой коэффициент для верхнего левого опорного отсчета текущего блока, nScale указывает, насколько быстро весовые коэффициенты уменьшаются вдоль оси (wL, уменьшающийся слева вправо или wT, уменьшающийся сверху вниз), а именно скорость уменьшения весового коэффициента, и это то же самое по оси х (слева направо) и оси у (сверху вниз) в текущем варианте. И 32 обозначает начальные весовые коэффициенты для соседних отсчетов, и начальный весовой коэффициент также является верхним (левым или верхним левым) весами, назначенными верхнему левому отсчету в текущем СВ, и весовые коэффициенты соседних отсчетов в процессе PDPC должны быть равны или меньше этого начального весового коэффициента.

[86] Для планарного режима wTL=0, в то время как для горизонтального режима wTL=wT и для вертикального режима wTL=wL. Веса PDPC можно рассчитать только с добавлением и сдвигом. Значение pred (х,у) можно вычислить за один шаг, используя уравнение 1.

[87] Предлагаемые здесь способы можно использовать по отдельности или комбинировать в любом порядке. Кроме того, каждый из способов (или вариантов осуществления), кодера и декодера может быть реализован схемами обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров выполняют программу, которая хранится на невременном машиночитаемом носителе. В дальнейшем термин «блок» может интерпретироваться как блок предсказания, блок кодирования или единица кодирования, то есть 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.

[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 имеется более одного коэффициента.

[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, как указано выше.

[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.

[92] Для вариантов осуществления с tu_y_coded_flag текущего блока CU, который может намеренно не сигнализироваться, когда кодированные флаги TU обоих каналов цветности равны 0, а флаг ACT равен 1, см. таблицу 1, где, среди прочего, …CuPredMode[chType][x0][y0]=MODE_INTRA "&& !cu_act_enabled_flag"… включен с сигнализацией на уровне TU для ACT:

[93] Согласно вариантам осуществления с состоянием сигнализации cu_act_enabled_flag для текущего блока CU, включая sps_act_enabled_flag и tree type, только согласно примерным вариантам осуществления, как показано в таблице 2 относительно сигнализации cuactenabledflag в уровне CU для 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.

[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 имеется более одного коэффициента.

[96] Затем на этапе S106 может быть реализована дополнительная обработка, описанная в данном документе, а также петля до этапа S301, описанного выше. В качестве альтернативы на этапе S302, если определено, что флаг sps_act_enabled не включает в себя такую включенную индикацию, то на этапе S307 может быть определено, есть ли указание, относящееся к флагу предсказания PLT, а если нет, то на этапе S808 определение значения флага general_merge_flag. Если такие значения на этапах S302, S307 и S308 установлены соответственно, как показано на фиг. 8, то обработка может установить на этапе S309 cu_coded_flag, описанный выше.

[97] Соответственно, такие варианты осуществления решают различные технические проблемы, когда, например, если кодированный блок CU не имеет какого-либо коэффициента, режим ACT больше не должен сигнализироваться, в результате чего, соответственно, CU с режимом ACT должна иметь один или более чем один коэффициент в кодированном блоке CU, а для интерблока с режимом ACT cu_coded_flag должен быть 1, чтобы представлять, что CU имеет по крайней мере один коэффициент в единице преобразования, тем самым решая отсутствующие ограничения для интра-CU с режимом ACT.

[98] Такие функции представляют собой полезные инструменты кодирования, например, для видео в формате RGB. Например, см. иллюстрацию 1300 на фиг. 13, на которой проиллюстрированы поток 1301 кодирования и поток 1302 декодирования, где проиллюстрировано внутрипетлевое ACT, принятое в модели кодирования экрана (SCM) (например, модель тестирования программного обеспечения кодирующего расширения содержимого экрана HEVC), где ACT проиллюстрировано как работающее в остаточном домене, а флаг уровня CU может сигнализироваться, чтобы указать использование преобразования цветового пространства. Такое цветовое преобразование, используемое в SCM, может быть, согласно примерным вариантам осуществления, следующим:

[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, тем самым предпочтительно по меньшей мере избегая такой ненужной или иным образом избыточной сигнализации согласно примерным вариантам осуществления.

[100] Согласно примерным вариантам осуществления, основные преобразования, используемые для преобразований цветового пространства, могут относиться к следующим матрицам прямого и обратного преобразования цвета YCgCo, как описано ниже, где применимо. Например:

[101] Дополнительно, чтобы компенсировать изменение динамического диапазона остаточных сигналов до и после преобразования цвета, к остаточным сигналам преобразования могут применяться регулировки QP, например (-5, -5, -3). С другой стороны, как показано в (1), прямое и обратное преобразование цвета может потребоваться для доступа к остаткам всех трех компонентов. Соответственно, в вариантах осуществления настоящей заявки имеется техническое усовершенствование, позволяющее отключать ACT в следующих сценариях, где доступны не все остатки трех компонентов. Например, ка раскрыто на фиг. 10-12 и в описании, существует случай разделения отдельного дерева, такой, что когда применяется отдельное дерево, отсчеты яркости и цветности внутри одной CTU разделяются различными структурами, что может привести к тому, что CU только в дереве яркости содержит компонент яркости, a CU в дереве цветности содержат только два компонента цветности, а также есть случай интрапредсказания субраздела (ISP), в котором субраздел ISP может применяться только к яркости, в то время как сигналы цветности кодируются без разделения, и в такой конструкции ISP, за исключением последних субразделов ISP, другие субразделы содержат только компонент яркости согласно вариантам осуществления.

[102] Соответственно, может существовать такая сигнализация уровня CU для ACT, где сигнализация, относящаяся к ACT уровня CU, может быть включена в соответствии с таблицами синтаксиса кодирования, такими как приведенные выше таблицы и/или таблица 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.

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

[106] Кроме того, для примерного tu_у_coded_flag блока ACT кодированный флаг TU для компонента яркости может быть описан следующим образом:

[107] Соответственно, кодированный флаг TU яркости может быть выведен равным 1, когда кодированный флаг TU каналов цветности равен нулю, а текущая CU является интраблоком и кодируется с режимом ACT.

[108] Как описано в данном документе, может существовать один или более аппаратных компонентов процессора и компьютера, таких как буферы, арифметические логические модули, инструкции памяти, конфигурированные для определения или хранения предварительно определенных значений дельты (разностей) между значениями, описанными в данном документе, согласно примерным вариантам осуществления.

[109] Соответственно, с помощью описанных здесь иллюстративных вариантов осуществления указанные выше технические проблемы могут быть успешно решены одним или более из этих технических решений. То есть, согласно вариантам осуществления, для решения одной или более различных технических проблем в этом раскрытии описаны новые технические аспекты, в которых разделитель блока доступа (AUD) может преимущественно сигнализироваться, чтобы указать, какие значения slice_type присутствуют в слайсах кодированных изображений в единице доступа, содержащей единицу NAL разделителя единицы доступа. Pic_type может использоваться для определения, является ли AU независимой или зависимой от внешней AU. Кроме того, утверждается, что такая новая сигнализация синтаксического элемента является предпочтительной для индикации AU произвольного доступа и устойчивости обнаружения границы AU соответственно согласно примерным вариантам осуществления и, следовательно, предпочтительной, например, для повышения точности и эффективности.

[110] Методы, описанные выше, могут быть реализованы в виде компьютерного программного обеспечения с использованием машиночитаемых инструкций и физически сохранены на одном или более машиночитаемых носителях, или могут представлять собой конкретным образом конфигурированные один или более аппаратных процессоров. Например, на фиг. 12 показана компьютерная система 1200, подходящая для реализации определенных вариантов осуществления раскрытого объекта изобретения.

[111] Компьютерное программное обеспечение может быть кодировано с использованием любого подходящего машинного кода или компьютерного языка, который может быть объектом сборки, компиляции, связывания или подобных механизмов для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и и т.п., центральными процессорами компьютера (CPU), графическими процессорами (GPU) и т.п.

[112] Инструкции могут исполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства Интернета вещей и т.п.

[113] Компоненты, показанные на фиг. 15 для компьютерной системы 1500, являются примерными по своей природе и не предназначены для предложения каких-либо ограничений в отношении объема использования или функциональных возможностей компьютерного программного обеспечения, реализующего варианты осуществления настоящего изобретения. Конфигурация компонентов также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, проиллюстрированных в примерном варианте осуществления компьютерной системы 1500.

[114] Компьютерная система 1500 может включать в себя определенные устройства ввода с человеко-машинным интерфейсом. Такое устройство ввода с человеко-машинным интерфейсом может реагировать на ввод одним или более пользователями-людьми посредством, например, тактильного ввода (например, нажатия клавиш, смахивания, движения управляющей перчатки), звукового ввода (например, голоса, хлопков в ладоши), визуального ввода (например: жестов), обонятельного ввода (не изображен). Устройства с человеко-машинным интерфейсом также могут использоваться для захвата определенных носителей, не обязательно напрямую связанных с сознательным вводом человеком, таких как звук (например, речь, музыка, окружающий звук), изображения (например, сканированные изображения, фотографические изображения, полученные из камеры для неподвижных изображений), видео (например, двухмерное видео, трехмерное видео, включая стереоскопическое видео).

[115] Устройства ввода с человеко-машинным интерфейсом могут включать в себя одно или более из (только одно из каждого изображенного): клавиатура 1501, мышь 1502, трекпад 1503, сенсорный экран 1510, джойстик 1505, микрофон 1506, сканер 1508, камера 1507.

[116] Компьютерная система 1500 также может включать в себя определенные устройства вывода с человеко-машинным интерфейсом. Такие устройства вывода с человеко-машинным интерфейсом могут стимулировать чувства одного или более пользователей-людей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода с человеко-машинным интерфейсом могут включать в себя тактильные устройства вывода (например, тактильную обратную связь от сенсорного экрана 1510 или джойстика 1505, но также могут иметься устройства тактильной обратной связи, которые не служат в качестве устройств ввода), устройства вывода звука (например: динамики 1509, наушники (не изображены)), устройства вывода изображения (например, экраны 1510, включая ЭЛТ-экраны, ЖК-экраны, плазменные экраны, OLED-экраны, каждое из которых имеет или не имеет возможности ввода с сенсорного экрана, каждое с возможностью тактильной обратной связи или без нее -некоторые из которых могут быть способны выводить двухмерный визуальный вывод или более, чем трехмерный вывод с помощью таких средств, как стереографический вывод; очки виртуальной реальности (не изображены), голо графические дисплеи и дымовые баки (не изображены)) и принтеры (не изображены).

[117] Компьютерная система 1500 также может включать в себя доступные для человека устройства хранения и связанные с ними носители, такие как оптические носители, включая CD/DVD ROM/RW 1520 с CD/DVD или подобными носителями 1521, флэш-накопитель 1522, съемный жесткий диск или твердотельный накопитель 1523, ранее разработанные магнитные носители, такие как лента и дискета (не изображены), специализированные устройства на основе ROM/ASIC/PLD, такие как защитные ключи (не изображены) и т.п.

[118] Специалисты в данной области также должны понимать, что термин «машиночитаемый носитель», используемый в связи с раскрытым в настоящем документе объектом изобретения, не охватывает среды передачи, несущие волны или другие временные сигналы.

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

[120] Вышеупомянутые устройства человеко-машинного интерфейса, доступные человеку устройства хранения и сетевые интерфейсы могут быть присоединены к ядру 1540 компьютерной системы 1500.

[121] Ядро 1540 может включать в себя один или несколько центральных процессоров (CPU) 1541, графических процессоров (GPU) 1542, графических адаптеров 1517, специализированных программируемых процессоров в виде программируемых вентильных матриц (ППВМ) 1543, аппаратные ускорители 1544 для определенных задач, и т.д. Эти устройства, наряду с постоянной памятью (ROM) 1545, памятью с произвольным доступом 1546, внутренними запоминающими устройствами, такими как внутренние жесткие диски, не доступные пользователю, твердотельные накопители и т.п. 1547, могут быть подключены через системную шину 1548. В некоторых компьютерных системах системная шина 1548 может быть доступна в виде одного или более физических разъемов для обеспечения возможности расширения за счет дополнительных ЦП, ГП и т.п. Периферийные устройства могут быть подключены либо непосредственно к системной шине 1548 ядра, либо через периферийную шину 1551. Архитектуры для периферийной шины включают PCI, USB и т.п.

[122] ЦП 1541, ГП 1542, ППВМ 1543 и ускорители 1544 могут выполнять определенные инструкции, которые в комбинации могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в ROM 1545 или RAM 1546. Переходные данные также могут храниться в RAM 1546, тогда как постоянные данные могут храниться, например, во внутреннем ЗУ большой емкости 1547. Быстрое хранение и извлечение на любое из запоминающих устройств могут быть доступны посредством использования кэш-памяти, которая может быть тесно связана с одним или более ЦП 1541, ГП 1542, ЗУ 1547 большой емкости, ПЗУ 1545, ОЗУ 1546 и т.п.

[123] Машиночитаемый носитель может содержать компьютерный код для выполнения различных операций, реализуемых компьютером. Носители и компьютерный код могут быть специально спроектированными и сконструированными для целей настоящего изобретения, или они могут быть хорошо известными и доступными для специалистов в области компьютерного программного обеспечения.

[124] В качестве примера, но не ограничения, компьютерная система, имеющая архитектуру 1500 и, в частности, ядро 1540, может обеспечивать функциональность за счет процессора(ов) (включая ЦП, ГП, ППВМ, ускорители и т.п.), исполняющего программное обеспечение, воплощенное на одном или более материальных машиночитаемых носителях. Такие машиночитаемые носители могут быть носителями, связанными с доступным для пользователя ЗУ большой емкости, как описано выше, а также определенными запоминающими устройствами ядра 1540, которые имеют невременную природу, такими как внутреннее ЗУ 1547 большой емкости или ПЗУ 1545. Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром 1540. Машиночитаемый носитель может включать в себя одно или более запоминающих устройств или микросхем в соответствии с конкретными потребностями. Программное обеспечение может побуждать ядро 1540 и, в частности, процессоры в нем (включая CPU, GPU, FPGA и т.п.) выполнять определенные процессы или определенные части конкретных процессов, описанных в данном документе, включая определение структур данных, хранящихся в RAM 1546 и изменение таких структур данных в соответствии с процессами, определенными программным обеспечением. В дополнение или в качестве альтернативы, компьютерная система может обеспечивать функциональность в результате логики, встроенной в аппаратную схему или иным образом воплощенной в схеме (например, ускоритель 1544), которая может работать вместо или вместе с программным обеспечением для выполнения определенных процессов или отдельных частей конкретных процессов, описанных в данном документе. Ссылка на программное обеспечение может включать в себя логику и наоборот, где это применимо. Ссылка на машиночитаемый носитель может включать в себя схему (например, интегральную схему (1С)), хранящую программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или и то, и другое, где это применимо. Настоящее изобретение включает в себя любую подходящую комбинацию аппаратного и программного обеспечения.

[125] Хотя это описание раскрывает несколько примерных вариантов осуществления, существуют изменения, перестановки и различные заменяющие эквиваленты, которые попадают в объем изобретения. Таким образом, будет принято во внимание, что специалисты в данной области техники смогут разработать многочисленные системы и способы, которые, хотя явно не показаны или не описаны здесь, воплощают принципы раскрытия и, таким образом, находятся в пределах его сущности и объема правовой охраны.

Похожие патенты RU2812762C1

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ ВИДЕО 2020
  • Чжао Синь
  • Сюй Сяочжун
  • Ли Сян
  • Лю Шань
RU2782435C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО 2020
  • Чэнь Лиэнь-Фэй
  • Ли Сян
  • Ли Гуйчунь
  • Лю Шань
RU2801587C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО 2020
  • Ли Лин
  • Ли Сян
  • Ли Гуйчунь
  • Лю Шань
RU2799066C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО 2021
  • Ли Гуйчунь
  • Ли Сян
  • Сюй Сяочжун
  • Лю Шань
RU2810318C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО 2021
  • Ли Гуйчунь
  • Ли Сян
  • Сюй Сяочжун
  • Лю Шань
RU2820768C2
ПРЕОБРАЗОВАНИЕ ЦВЕТА ДЛЯ ВИДЕОКОДИРОВАНИЯ 2020
  • Ли Лин
  • Чжао Синь
  • Ли Сян
  • Лю Шань
RU2782437C1
СПОСОБ И УСТРОЙСТВО СИГНАЛИЗАЦИИ ФЛАГОВ РЕЖИМА ПРОПУСКАНИЯ 2021
  • Сюй Сяочжун
  • Ли Гуйчунь
  • Лю Шань
RU2801586C1
СПОСОБ СИГНАЛИЗИРОВАНИЯ НАБОРА ВЫХОДНЫХ СЛОЕВ В МАСШТАБИРУЕМОМ ВИДЕО ПОТОКЕ 2020
  • Чой Беондоо
  • Венгер Штефан
  • Лю Шань
RU2787850C1
СИГНАЛИЗИРОВАНИЕ ПЕРЕДИСКРЕТИЗАЦИИ ОПОРНОГО ИЗОБРАЖЕНИЯ С ИНДИКАЦИЕЙ ПОСТОЯННОГО РАЗМЕРА ОКНА В БИТОВОМ ПОТОКЕ ВИДЕО 2020
  • Чой Беондоо
  • Венгер Штефан
  • Лю Шань
RU2815415C2
СИГНАЛИЗИРОВАНИЕ ПЕРЕДИСКРЕТИЗАЦИИ ОПОРНОГО ИЗОБРАЖЕНИЯ С ИНДИКАЦИЕЙ ПОСТОЯННОГО РАЗМЕРА ОКНА В БИТОВОМ ПОТОКЕ ВИДЕО 2020
  • Чой Беондоо
  • Венгер Штефан
  • Лю Шань
RU2794483C1

Иллюстрации к изобретению RU 2 812 762 C1

Реферат патента 2024 года СИГНАЛИЗАЦИЯ, СВЯЗАННАЯ С АДАПТИВНЫМ ПРЕОБРАЗОВАНИЕМ ЦВЕТА, ДЛЯ УРОВНЯ CU И УРОВНЯ TU

Изобретение относится к области кодирования и декодирования, в частности к сигнализации флага включения уровня единицы кодирования (CU) и кодированного флага яркости уровня единицы преобразования (TU) для кодированного блока с режимом адаптивного преобразования цвета (ACT). Технический результат заключается в повышении эффективности кодирования. Предложены способ и устройство для получения видеоданных, получения блока CU, определения, установлен ли флаг блока CU в предварительно определенное состояние флага, определения, установлен ли тип дерева блока CU в предварительно определенный тип дерева, определения, следует ли сигнализировать флаг ACT, на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева, и кодирования видеоданных на основе того, сигнализируется ли флаг ACT. 3 н. и 9 з.п. ф-лы, 15 ил., 4 табл.

Формула изобретения RU 2 812 762 C1

1. Способ кодирования видео, выполняемый по меньшей мере одним процессором, содержащий следующие этапы:

получение видеоданных;

получение блока единицы кодирования (CU) видеоданных;

определение, установлен ли флаг блока CU в предварительно определенное состояние флага;

определение, установлен ли тип дерева блока CU в предварительно определенный тип дерева;

определение, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева; и

кодирование видеоданных на основе того, сигнализируется ли флаг ACT;

причем способ дополнительно содержит:

определение, равны ли нулю оба кодированных флага единицы преобразования (TU) и кодируется ли CU с режимом ACT; и

определение, что кодированный флаг TU яркости должен быть выведен равным 1, на основании определения, что оба кодированных флага TU равны нулю и что CU кодирована с режимом ACT.

2. Способ по п.1, в котором определение, следует ли сигнализировать флаг ACT, основано как на том, установлен ли флаг блока CU в предварительно определенное состояние флага, так и на том, установлен ли тип дерева блока CU в предварительно определенный тип дерева.

3. Способ по п.1, в котором предварительно определенный тип дерева указывает тип единичного дерева, и в котором предварительно определенное состояние флага содержит sps_act_enabled_flag, равное 1.

4. Способ по п.1, в котором кодированные флаги TU являются флагами каналов цветности.

5. Способ по п.1, в котором определение, что кодированный флаг TU яркости должен быть выведен равным 1, реализуется независимо от того, является ли режим предсказания CU интра-режимом.

6. Способ по п.5, в котором кодирование видеоданных дополнительно основано на определении, должен ли кодированный флаг TU яркости выводиться равным 1.

7. Устройство для кодирования видео, выполняемого по меньшей мере одним процессором, содержащее:

по меньшей мере одну память, конфигурированную для хранения компьютерного программного кода;

по меньшей мере один процессор, конфигурированный для доступа к компьютерному программному коду и работы в соответствии с инструкциями компьютерного программного кода, причем компьютерный программный код включает в себя:

первый код получения, конфигурированный для побуждения по меньшей мере одного процессора получать видеоданные;

второй код получения, конфигурированный для побуждения по меньшей мере одного процессора получать блок единицы кодирования (CU) видеоданных;

первый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли флаг блока CU в предварительно определенное состояние флага;

второй код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, установлен ли тип дерева блока CU в предварительно определенный тип дерева;

третий код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева; и

код кодирования, конфигурированный для побуждения по меньшей мере одного процессора кодировать видеоданные на основе того, сигнализируется ли флаг ACT;

причем компьютерный программный код дополнительно содержит:

четвертый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, равны ли нулю оба кодированных флага единицы преобразования (TU), и кодируется ли CU в режиме ACT;

пятый код определения, конфигурированный для побуждения по меньшей мере одного процессора определять, должен ли кодированный флаг TU яркости быть выведен равным 1, на основе определения, что оба кодированных флага TU равны нулю и что CU кодирована в режиме ACT.

8. Устройство по п.7, в котором определение, следует ли сигнализировать флаг ACT, основано как на том, установлен ли флаг блока CU в предварительно определенное состояние флага, так и на том, установлен ли тип дерева блока CU в предварительно определенный тип дерева.

9. Устройство по п.7, в котором предварительно определенный тип дерева указывает тип единичного дерева, и в котором предварительно определенное состояние флага содержит sps_act_enabled_flag, равное 1.

10. Устройство по п.7, в котором кодированные флаги TU являются флагами каналов цветности.

11. Устройство по п.7, в котором определение, что кодированный флаг TU яркости должен быть выведен равным 1, выполняется независимо от того, является ли режим предсказания CU интра-режимом.

12. Невременный машиночитаемый носитель, хранящий программу, побуждающую компьютер выполнять процесс, причем процесс содержит:

получение видеоданных;

получение блока единицы кодирования (CU);

определение, установлен ли флаг блока CU в предварительно определенное состояние флага;

определение, установлен ли тип дерева блока CU в предварительно определенный тип дерева;

определение, следует ли сигнализировать флаг адаптивного преобразования цвета (ACT), на основе любого из того, установлен ли флаг блока CU в предварительно определенное состояние флага и установлен ли тип дерева блока CU в предварительно определенный тип дерева; и

кодирование видеоданных на основе того, сигнализируется ли флаг ACT;

причем процесс дополнительно содержит:

определение, равны ли нулю оба кодированных флага единицы преобразования (TU), и кодируется ли CU в режиме ACT; и

определение, должен ли кодированный флаг TU яркости быть выведен равным 1, на основе определения, что оба кодированных флага TU равны нулю и что CU кодирована в режиме ACT.

Документы, цитированные в отчете о поиске Патент 2024 года RU2812762C1

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

RU 2 812 762 C1

Авторы

Чэнь Лиэнь-Фэй

Ли Сян

Лю Шань

Даты

2024-02-02Публикация

2021-06-01Подача