RU2799066C1 - Способ и устройство для кодирования видео - Google Patents
Способ и устройство для кодирования видео Download PDFInfo
- Publication number
- RU2799066C1 RU2799066C1 RU2021128296A RU2021128296A RU2799066C1 RU 2799066 C1 RU2799066 C1 RU 2799066C1 RU 2021128296 A RU2021128296 A RU 2021128296A RU 2021128296 A RU2021128296 A RU 2021128296A RU 2799066 C1 RU2799066 C1 RU 2799066C1
- Authority
- RU
- Russia
- Prior art keywords
- maximum number
- candidates
- merge
- geometric
- pps
- Prior art date
Links
Images
Abstract
Изобретения относятся к средствам для кодирования видео. Технический результат заключается в повышении эффективности кодирования видео. Декодируют, из кодированного битового потока видео, информацию кодирования для текущего изображения, которая указывает, что режим геометрического слияния включен для более высокого уровня кодирования, чем уровень изображения текущего изображения, и максимальное количество кандидатов на слияние удовлетворяет условию. Определяют максимальное количество кандидатов на слияние в режиме геометрического слияния на основании информации о максимальном количестве кандидатов режима геометрического слияния в информации кодирования кодированного битового потока видео. Информация о максимальном количестве кандидатов режима геометрического слияния указывает отношение между максимальным количеством кандидатов на слияние в режиме геометрического слияния и максимальным количеством кандидатов на слияние. Определение максимального количества кандидатов на слияние в режиме геометрического слияния выполняют путем вычитания значения, указанного информацией о максимальном количестве кандидатов режима геометрического слияния, из максимального количества кандидатов на слияние. 3 н. и 16 з.п. ф-лы, 24 ил.
Description
ВКЛЮЧЕНИЕ ПОСРЕДСТВОМ ССЫЛКИ
[1] Настоящая заявка испрашивает приоритет по патентной заявке США №17/087 224 «СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО», поданной 2 ноября 2020 г., в которой испрашивается приоритет по предварительной заявке США №62/954 473, "СИГНАЛИЗИРОВАНИЕ МАКСИМАЛЬНОГО КОЛИЧЕСТВА КАНДИДАТОВ ТРЕУГОЛЬНОГО СЛИЯНИЯ", поданной 28 декабря 2019 года. Полное раскрытие предшествующих заявок полностью включено в настоящее описание посредством ссылки.
Область техники, к которой относится изобретение
[2] Настоящее изобретение описывает варианты осуществления, в основном относящиеся к кодированию видео.
УРОВЕНЬ ТЕХНИКИ
[3] Описание уровня техники, представленное в данном документе, предназначено для общего представления контекста изобретения. Работа названных здесь изобретателей, в той мере, в какой она описана в этом разделе описания уровня техники, а также аспекты описания, которые в противном случае не могут считаться предшествующим уровнем техники на момент подачи заявки, ни прямо, ни косвенно не признаются в качестве предшествующего уровня техники в отношении настоящего изобретения.
[4] Кодирование и декодирование видео могут выполняться с использованием интер-кадрового предсказания с компенсацией движения. Несжатое цифровое видео может включать в себя серию изображений, при этом каждое изображение имеет пространственный размер, например, 1920x1080 отсчетов сигнала яркости и связанных отсчетов сигнала цветности. Серия изображений может иметь фиксированную или переменную частоту изображений (неофициально также известную как частота кадров), например, 60 изображений в секунду или 60 Гц. Несжатое видео имеет значительные требования к битрейту. Например, для видео 1080р60 4:2:0 с частотой 8 бит на отсчет (разрешение 1920x1080 отсчетов яркости при частоте кадров 60 Гц) требуется полоса пропускания, близкая к 1,5 Гбит/с.Час такого видео требует более 600 ГБ дискового пространства.
[5] Одной из целей кодирования и декодирования видео может быть уменьшение избыточности входного видеосигнала посредством сжатия. Сжатие может помочь снизить вышеупомянутые требования к полосе пропускания или пространству для хранения, в некоторых случаях на два порядка или более. Могут использоваться как сжатие без потерь, так и сжатие с потерями, а также их комбинация. Сжатие без потерь относится к методам, при которых из сжатого исходного сигнала может быть восстановлена точная копия исходного сигнала. При использовании сжатия с потерями восстановленный сигнал может не быть идентичным исходному сигналу, но искажение между исходным и восстановленным сигналами достаточно мало, чтобы сделать восстановленный сигнал полезным для предполагаемого применения. В случае видео широко применяется сжатие с потерями. Допустимая степень искажения зависит от приложения; например, пользователи определенных потребительских приложений потоковой передачи могут допускать более высокие искажения, чем пользователи приложений распределения телевидения. Достижимая степень сжатия может отражать следующее: более высокое разрешаемое/допустимое искажение может привести к более высокой степени сжатия.
[6] Компенсация движения может представлять собой технологию сжатия с потерями и может относиться к технологиям, в которых блок отсчетных данных из ранее восстановленного изображения или его части (опорное изображение) после пространственного сдвига в направлении, указанном посредством вектора движения (далее ВД), используется для предсказания нового восстановленного изображения или части изображения. В некоторых случаях опорное изображение может быть таким же, как восстанавливаемое в настоящее время изображение. MV могут иметь два измерения X и Y или три измерения, причем третье является показателем используемого опорного изображения (последнее, косвенно, может быть измерением времени).
[7] В некоторых методах сжатия видео MV, применимый к определенной области отсчетных данных, может быть предсказан из других MV, например, из тех, которые относятся к другой области отсчетных данных, пространственно смежных с восстанавливаемой областью и предшествующих этому MV в порядке декодирования. Это может существенно уменьшить объем данных, необходимых для кодирования MV, тем самым устраняя избыточность и увеличивая степень сжатия. Предсказание MV может работать эффективно, например, потому что при кодировании входного видеосигнала, полученного с камеры (известного как естественное видео), существует статистическая вероятность того, что области, большие, чем область, к которой применим отдельный MV, перемещаются в аналогичном направлении и, следовательно, в некоторых случаях могут быть предсказаны с использованием аналогичного вектора движения, полученного из MV соседней области. Это приводит к тому, что MV, найденный для данной области, аналогичен или совпадает с MV, предсказанным из окружающих MV, и который, в свою очередь, может быть представлен после энтропийного кодирования в меньшем количестве битов, чем то, которое было бы использовано при кодировании MB напрямую. В некоторых случаях предсказание MV может быть примером сжатия без потерь сигнала (а именно: MV), полученного из исходного сигнала (а именно: потока отсчетов). В других случаях само предсказание MV может быть с потерями, например, из-за ошибок округления при вычислении предиктора из нескольких окружающих MV.
[8] Различные механизмы прогнозирования MV описаны в H.265/HEVC (ITU-T Rec. Н.265, «High Efficiency Video Coding», декабрь 2016 г. ). Из множества механизмов предсказания MV, которые предлагает Н.265, здесь описывается метод, далее именуемый «пространственным слиянием».
[9] Как показано на фиг. 1, текущий блок (101) содержит отсчеты, которые были обнаружены кодером во время процесса поиска движения как предсказываемые из предыдущего блока того же размера, который был пространственно сдвинут.Вместо того, чтобы кодировать этот MV напрямую, MV может быть получен из метаданных, связанных с одним или несколькими опорными изображениями, например, из самого последнего (в порядке декодирования) опорного изображения, с использованием MV, связанного с одним из пяти окружающих отсчетов, обозначенных А0, А1 и В0, Bl, В2 (от 102 до 106 соответственно). В Н.265 предсказание MV может использовать предикторы из того же опорного изображения, который использует соседний блок.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[10] Аспекты изобретения относятся к способам и устройствам для кодирования и/или декодирования видео. В некоторых примерах устройство для декодирования видео включает в себя схему обработки. Схема обработки может декодировать из кодированного битового потока видео информацию кодирования для текущего изображения. Информация кодирования может указывать, что режим геометрического слияния включен для уровня кодирования, более высокого, чем уровень изображения текущего изображения, и максимальное количество кандидатов на слияние удовлетворяет условию. Схема обработки может определять на основе параметра уровня изображения, сигнализированного для текущего изображения в кодированном битовом потоке видео, максимальное количество кандидатов на слияние в режиме геометрического слияния на основе параметра уровня изображения и максимального количества кандидатов на слияние. Максимальное количество кандидатов на слияние в режиме геометрического слияния может быть от (i) 0 или (ii) одно из 2 до максимального количества кандидатов на слияние. Параметр уровня изображения может указывать максимальное количество кандидатов на слияние в режиме геометрического слияния. Режим геометрического слияния отключен для текущего изображения на основании того, что максимальное количество кандидатов на слияние в режиме геометрического слияния равно 0, и режим геометрического слияния включен для текущего изображения на основании того, что максимальное количество кандидатов на слияние в режиме геометрического слияния не равно 0.
[11] В варианте осуществления режим геометрического слияния представляет собой режим разделения треугольника (ТРМ), и максимальное количество кандидатов слияния в режиме геометрического слияния представляет собой максимальное количество кандидатов на слияние ТРМ.
[12] В варианте осуществления уровень кодирования является уровнем последовательности.
[13] В варианте осуществления условием является то, что максимальное количество кандидатов на слияние больше или равно 2.
[14] В варианте осуществления условием является то, что максимальное количество кандидатов на слияние больше или равно 2. Схема обработки может определять максимальное количество кандидатов на слияние ТРМ путем вычитания параметра уровня изображения из максимального количества кандидатов на слияние.
[15] В варианте осуществления параметр уровня набора параметров изображения (PPS), который указывает, что максимальное количество кандидатов на слияние ТРМ сигнализируется в кодированном битовом потоке видео для PPS, связанного с текущим изображением. Параметр уровня PPS равен (i) одному из значений от 0 до (максимальное количество кандидатов на слияние - 1) или (ii) (максимальное количество кандидатов на слияние + 1).
[16] В варианте осуществления параметр уровня набора параметров изображения (PPS), указывающий максимальное количество кандидатов на слияние ТРМ, не сигнализируется в кодированном битовом потоке видео для PPS, связанного с текущим изображением.
[17] В варианте осуществления кодированный битовый поток видео включает в себя заголовок изображения для текущего изображения. Параметр уровня изображения сигнализируется в заголовке изображения на основании того, что ТРМ включен для уровня последовательности, и максимальное количество кандидатов на слияние больше или равно 2, причем сигнализирование параметра уровня изображения не зависит от параметра уровня PPS.
[18] В варианте осуществления кодированный битовый поток видео включает в себя набор параметров изображения (PPS), связанный с текущим изображением. Параметр уровня PPS, указывающий максимальное количество кандидатов на слияние ТРМ, сигнализируется в PPS по меньшей мере на основании флага уровня PPS, указывающего, что параметр уровня PPS должен быть сигнализирован.
[19] В варианте осуществления кодированный битовый поток видео включает в себя заголовок изображения для текущего изображения. Параметр уровня изображения сигнализируется в заголовке изображения на основании того, что ТРМ включен для уровня последовательности, максимальное количество кандидатов на слияние больше или равно 2, и флаг уровня PPS указывает, что параметр уровня PPS не должен быть сигнализирован.
[20] В варианте осуществления кодированный битовый поток видео включает в себя набор параметров изображения (PPS), связанный с текущим изображением. Параметр уровня PPS, указывающий максимальное количество кандидатов на слияние ТРМ, сигнализируется в PPS по меньшей мере на основании того, что ТРМ включен для уровня последовательности.
[21] В некоторых примерах устройство для декодирования видео включает в себя схему обработки. Схема обработки может декодировать из кодированного битового потока видео информацию кодирования для текущего изображения. Информация кодирования может указывать, что режим геометрического слияния включен на уровне последовательности, параметр уровня набора параметров изображения (PPS) в PPS равен 0, и максимальное количество кандидатов на слияние. Параметр уровня PPS может указывать максимальное количество кандидатов на слияние в режиме геометрического слияния. Схема обработки может декодировать параметр уровня изображения, сигнализируемого для текущего изображения в кодированном битовом потоке видео, на основе максимального количества кандидатов на слияние, удовлетворяющих условию, причем параметр уровня изображения указывает максимальное количество кандидатов на слияние в режиме геометрического слияния.
[22] В варианте осуществления режим геометрического слияния представляет собой режим разделения треугольника (ТРМ), и максимальное количество кандидатов слияния в режиме геометрического слияния представляет собой максимальное количество кандидатов на слияние ТРМ.
[23] В варианте осуществления условием является одно из (i) максимальное количество кандидатов на слияние больше 2 и (ii) максимальное количество кандидатов на слияние больше или равно 3.
[24] В варианте осуществления максимальное количество кандидатов на слияние равно 2 и не удовлетворяет условию, и параметр уровня изображения не сигнализируется в кодированном битовом потоке видео. Схема обработки может определить, что максимальное количество кандидатов на слияние ТРМ равно 2.
[25] Аспекты изобретения также относятся к невременному машиночитаемому носителю, на котором хранятся инструкции, которые при исполнении компьютером для декодирования видео побуждают компьютер выполнять способ декодирования и/или кодирования видео.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[26] Дополнительные признаки, сущность и различные преимущества раскрытого объекта изобретения будут более понятны из следующего подробного описания и прилагаемых чертежей, на которых изображено следующее:
[27] - на фиг. 1 показана схематическая иллюстрация текущего блока и окружающих его кандидатов на пространственное слияние в одном примере;
[28] - на фиг. 2 показана схематическая иллюстрация упрощенной блок-схемы системы (200) связи в соответствии с вариантом осуществления.
[29] - на фиг. 3 показана схематическая иллюстрация упрощенной блок-схемы системы (300) связи в соответствии с вариантом осуществления;
[30] - на фиг. 4 показана схематическая иллюстрация упрощенной блок-схемы декодера в соответствии с вариантом осуществления;
[31] - на фиг. 5 показана схематическая иллюстрация упрощенной блок-схемы кодера в соответствии с вариантом осуществления;
[32] - на фиг. 6 показана блок-схема кодера в соответствии с другим вариантом осуществления;
[33] - на фиг. 7 показана блок-схема декодера в соответствии с другим вариантом осуществления;
[34] - на фиг. 8А-8В показаны примеры интер-кадрового предсказания на основе разбиения на треугольник согласно варианту осуществления изобретения;
[35] - на фиг. 9 показан примерный режим геометрического слияния;
[36] - на фиг. 10 показан примерный контроль уровня последовательности ТРМ;
[37] - на фиг. 11 показан примерный синтаксис набора параметров изображения (PPS);
[38] - на фиг. 12 показан примерный синтаксис заголовка изображения;
[39] - на фиг. 13 показан примерный синтаксис заголовка изображения;
[40] - на фиг. 14 показан примерный синтаксис заголовка изображения;
[41] - на фиг. 15 показан примерный синтаксис PPS;
[42] - на фиг. 16А показан примерный синтаксис заголовка изображения;
[43] - на фиг. 16В показан примерный синтаксис, который неприменим, когда сигнализация параметра уровня изображения не зависит от параметра уровня PPS;
[44] - на фиг. 7 показан примерный синтаксис PPS;
[45] - на фиг. 8 показан примерный синтаксис заголовка изображения;
[46] - на фиг. 9 показан примерный синтаксис PPS;
[47] - на фиг. 20 показана блок-схема, описывающая процесс (2000) согласно варианту осуществления изобретения.
[48] - на фиг. 21 показана блок-схема, описывающая процесс (2100) согласно варианту осуществления изобретения;
[49] - на фиг. 22 показана схематическая иллюстрация компьютерной системы в соответствии с одним вариантом осуществления.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[50] На фиг. 2 проиллюстрирована упрощенная блок-схема системы (200) связи согласно варианту осуществления настоящего изобретения. Система (200) связи включает в себя множество оконечных устройств, которые могут связываться друг с другом, например, через сеть (250). Например, система (200) связи включает в себя первую пару оконечных устройств (210) и (220), соединенных между собой через сеть (250). В примере с фиг. 2 первая пара оконечных устройств (210) и (220) выполняет однонаправленную передачу данных. Например, оконечное устройство (210) может кодировать видеоданные (например, поток видеоизображений, которые захватываются оконечным устройством (210)) для передачи другому оконечному устройству (220) через сеть (250). Кодированные видеоданные могут быть переданы в форме одного или более кодированных битовых потоков видео. Оконечное устройство (220) может принимать кодированные видеоданные из сети (250), декодировать кодированные видеоданные для восстановления видеоизображений и отображать видеоизображения в соответствии с восстановленными видеоданными. Однонаправленная передача данных может быть обычным явлением в приложениях обслуживания мультимедиа и т.п.
[51] В другом примере система (200) связи включает в себя вторую пару оконечных устройств (230) и (240), которые выполняют двунаправленную передачу кодированных видеоданных, которая может происходить, например, во время видеоконференц-связи. Для двунаправленной передачи данных, в примере, каждое оконечное устройство из оконечных устройств (230) и (240) может кодировать видеоданные (например, поток видеоизображений, которые захватываются оконечным устройством) для передачи на другое оконечное устройство из оконечных устройств (230) и (240) через сеть (250). Каждое оконечное устройство из оконечных устройств (230) и (240) также может принимать кодированные видеоданные, переданные другим оконечным устройством из оконечных устройств (230) и (240), и может декодировать кодированные видеоданные для восстановления видеоизображений и может отображать видеоизображения на доступном устройстве отображения в соответствии с восстановленными видеоданными.
[52] В примере с фиг. 2 оконечные устройства (210), (220), (230) и (240) могут быть проиллюстрированы как серверы, персональные компьютеры и смартфоны, но принципы настоящего раскрытия не могут быть ограничены этим. Варианты осуществления настоящего изобретения находят применение в портативных компьютерах, планшетных компьютерах, медиаплеерах и/или специализированном оборудовании для видеоконференц-связи. Сеть (250) представляет собой любое количество сетей, которые передают кодированные видеоданные между оконечными устройствами (210), (220), (230) и (240), включая, например, проводные (соединенные проводами) и/или беспроводные сети связи. Сеть (250) связи может обмениваться данными в каналах с коммутацией каналов и/или с коммутацией пакетов. Репрезентативные сети включают в себя телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. Для целей настоящего описания архитектура и топология сети (250) могут быть несущественными для работы настоящего изобретения, если это не объясняется в данном документе ниже.
[53] На фиг. 3 проиллюстрировано, в качестве примера применения для раскрытого объекта изобретения, размещение видеокодера и видеодекодера в среде потоковой передачи. Раскрытый объект изобретения может быть в равной степени применим к другим приложениям с поддержкой видео, включая, например, видеоконференц-связь, цифровое телевидение, хранение сжатого видео на цифровых носителях, включая CD, DVD, карту памяти и т.п., и так далее.
[54] Система потоковой передачи может включать в себя подсистему (313) захвата, которая может включать в себя источник (301) видео, например цифровую камеру, создавая, например, поток (302) видеоизображений, которые не сжаты. В примере поток видеоизображений (302) включает в себя отсчеты, снятые цифровой камерой. Поток видеоизображений (302), изображенный жирной линией, чтобы подчеркнуть большой объем данных по сравнению с кодированными видеоданными (304) (или кодированными битовыми потоками видео), может обрабатываться электронным устройством (320), которое включает в себя видео кодер (303), подключенный к источнику (301) видео. Видеокодер (303) может включать в себя аппаратное обеспечение, программное обеспечение или их комбинацию для включения или реализации аспектов раскрытого объекта изобретения, как более подробно описано ниже. Кодированные видеоданные (304) (или кодированный битовый поток видео (304)), изображенные тонкой линией, чтобы подчеркнуть меньший объем данных по сравнению с потоком видеоизображений (302), могут быть сохранены на сервере потоковой передачи (305) для будущего использования. Одна или более клиентских подсистем потоковой передачи, таких как клиентские подсистемы (306) и (308) на фиг. 3, могут получить доступ к потоковому серверу (305) для извлечения копий (307) и (309) кодированных видеоданных (304). Клиентская подсистема (306) может включать в себя видеодекодер (310), например, в электронном устройстве (330). Видеодекодер (310) декодирует входящую копию (307) кодированных видеоданных и создает исходящий поток видеоизображений (311), которые могут быть визуализированы на дисплее (312) (например, экране дисплея) или другом устройстве визуализации (не показано). В некоторых системах потоковой передачи кодированные видеоданные (304), (307) и (309) (например, битовые потоки видео) могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видео. Примеры этих стандартов включают Рекомендацию МСЭ-Т Н.265. В одном примере разрабатываемый стандарт кодирования видео неофициально известен как универсальное кодирование видео (VVC). Раскрытый объект изобретения может использоваться в контексте VVC.
[55] Следует отметить, что электронные устройства (320) и (330) могут включать в себя другие компоненты (не показаны). Например, электронное устройство (320) может включать в себя видеодекодер (не показан), а электронное устройство (330) также может включать в себя видеокодер (не показан).
[56] На фиг. 4 показана блок-схема видеодекодера (410) согласно варианту осуществления настоящего раскрытия. Видеодекодер (410) может быть включен в электронное устройство (430). Электронное устройство (430) может включать в себя приемник (431) (например, приемную схему). Видеодекодер (410) может использоваться вместо видеодекодера (310) в примере с фиг. 3.
[57] Приемник (431) может принимать одну или более кодированных видеопоследовательностей, которые должны быть декодированы видеодекодером (410); в том же или другом варианте осуществления по одной кодированной видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может быть принята из канала (401), который может быть аппаратной/программной связью с устройством хранения, в котором хранятся кодированные видеоданные. Приемник (431) может принимать закодированные видеоданные с другими данными, например, закодированными аудиоданными и/или потоками вспомогательных данных, которые могут быть отправлены их соответствующим использующим объектам (не изображены). Приемник (431) может отделять кодированную видеопоследовательность от других данных. Для борьбы с дрожанием в сети между приемником (431) и энтропийным декодером/парс ером (420) (далее «парсер (420)») может быть подключена буферная память (415). В некоторых приложениях буферная память (415) является частью видеодекодера (410). В других случаях она может находиться снаружи видеодекодера (410) (не показано). В других случаях может иметься буферная память (не изображена) снаружи видеодекодера (410), например, для борьбы с дрожанием сети, и, кроме того, другая буферная память (415) внутри видеодекодера (410), например, для обработки времени воспроизведения. Когда приемник (431) принимает данные от устройства хранения/пересылки с достаточной полосой пропускания и управляемостью или из изосинхронной сети, буферная память (415) может не понадобиться или может быть небольшой. Для использования в пакетных сетях наилучшего качества, таких как Интернет, может потребоваться буферная память (415), которая может быть сравнительно большой и может быть предпочтительно адаптивного размера, и может по меньшей мере частично быть реализована в операционной системе или аналогичных элементах (не изображены) снаружи видеодекодера (410).
[58] Видеодекодер (410) может включать в себя парсер (420) для восстановления символов (421) из кодированной видеопоследовательности. Категории этих символов включают в себя информацию, используемую для управления работой видеодекодера (410), и потенциально информацию для управления устройством визуализации, таким как устройство визуализации (412) (например, экран дисплея), которое не является неотъемлемой частью электронного устройство (430), но может быть подключено к электронному устройству (430), как показано на фиг. 4. Управляющая информация для устройства (устройств) визуализации может быть в форме фрагментов набора параметров дополнительной расширенной информации (сообщения SEI) или информации о пригодности видео (VUI) (не изображены). Парсер (420) может выполнять парсинг/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование закодированной видеопоследовательности может осуществляться в соответствии с технологией или стандартом видеокодирования и может следовать различным принципам, включая кодирование переменной длины, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и так далее. Парсер (420) может извлекать из кодированной видеопоследовательности набор параметров подгруппы по меньшей мере для одной из подгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Подгруппы могут включать в себя группы изображений (GOP), изображения, тайлы, слайсы, макроблоки, единицы кодирования (CU), блоки, единицы преобразования (TU), единицы предсказания (PU) и так далее. Парсер (420) также может извлекать из кодированной видеопоследовательности информацию, такую как коэффициенты преобразования, значения параметров квантователя, векторы движения и так далее.
[59] Парсер (420) может выполнять операцию энтропийного декодирования/парсинга видеопоследовательности, принятой из буферной памяти (415), чтобы создавать символы (421).
[60] Восстановление символов (421) может включать в себя множество различных модулей в зависимости от типа кодированного видеоизображения или его частей (таких как: интер- и интраизображение, интер- и интраблок) и других факторов. Какие модули задействованы и как, можно контролировать с помощью управляющей информации подгруппы, парсинг которой был выполнен из кодированной видеопоследовательности с помощью парсера (420). Поток такой информации управления подгруппой между парсером (420) и множеством модулей ниже не показан для ясности.
[61] Помимо уже упомянутых функциональных блоков, видеодекодер (410) может быть концептуально подразделен на ряд функциональных модулей, как описано ниже. В практическом осуществлении, работающем в условиях коммерческих ограничений, многие из этих модулей тесно взаимодействуют друг с другом и могут быть, по меньшей мере частично, интегрированы друг в друга. Однако для целей описания раскрытого объекта изобретения уместно концептуальное подразделение на функциональные модули, приведенные ниже.
[62] Первым модулем является модуль (451) масштабирования/обратного преобразования. Модуль (451) масштабирования/обратного преобразования принимает квантованный коэффициент преобразования, а также управляющую информацию, включая то, какое преобразование использовать, размер блока, коэффициент квантования, матрицы масштабирования квантования и так далее, в виде символа(ов) (421) от парсера (420). Модуль (451) масштабирования/обратного преобразования может выводить блоки, содержащие значения отсчетов, которые могут быть введены в агрегатор (455).
[63] В некоторых случаях выходные отсчеты модуля (451) масштабирования/обратного преобразования могут относиться к интра-кодированному блоку; то есть к блоку, который не использует информацию предсказания из ранее восстановленных изображений, но может использовать информацию предсказания из ранее восстановленных частей текущего изображения. Такая информация предсказания может быть предоставлена модулем (452) внутрикадрового предсказания. В некоторых случаях модуль (452) внутрикадрового предсказания генерирует блок того же размера и формы, что и восстанавливаемый блок, используя окружающую уже восстановленную информацию, извлеченную из буфера (458) текущих изображений. Буфер (458) текущих изображений буферизует, например, частично восстановленное текущее изображение и/или полностью восстановленное текущее изображение. Агрегатор (455) в некоторых случаях добавляет для каждого отсчета информацию предсказания, сгенерированную модулем (452) интра- предсказания, к информации выходных отсчетов, предоставляемой модулем (451) масштабирования/обратного преобразования.
[64] В других случаях выходные отсчеты модуля (451) масштабирования/обратного преобразования могут относиться к интеркодированному блоку и потенциально блоку с компенсацией движения. В таком случае модуль (453) предсказания с компенсацией движения может обращаться к памяти (457) опорных изображений, чтобы извлекать отсчеты, используемые для предсказания. После компенсации движения выбранных отсчетов в соответствии с символами (421), относящимися к блоку, эти отсчеты могут быть добавлены агрегатором (455) к выходу модуля (451) масштабирования/обратного преобразования (в данном случае называемые остаточными отсчетами или остаточным сигналом), чтобы генерировать информацию о выходных отсчетах. Адреса в памяти (457) опорных изображений, откуда модуль (453) предсказания с компенсацией движения выбирает отсчеты предсказания, могут управляться векторами движения, доступными модулю (453) предсказания с компенсацией движения в форме символов (421), которые могут иметь, например, компоненты X, Y и опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти (457) опорных изображений, когда используются точные векторы движения суботсчетов, механизмы предсказания вектора движения и так далее.
[65] Выходные отсчеты агрегатора (455) могут подвергаться различным методам петлевой фильтрации в модуле (456) петлевого фильтра. Технологии сжатия видео могут включать в себя технологии внутрипетлевой фильтрации, которые управляются параметрами, включенными в кодированную видеопоследовательность (также называемую битовым потоком кодированного видео) и предоставляемые модулю (456) петлевой фильтрации как символы (421) из парсера (420), но также могут реагировать на метаинформацию, полученную во время декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также реагировать на ранее восстановленные и отфильтрованные петлей значения отсчетов.
[66] Выходной сигнал модуля (456) петлевого фильтра может быть потоком отсчетов, который может быть выведен на устройство (412) визуализации, а также сохранен в памяти (457) опорных изображений для использования в будущем межкадровом предсказании.
[67] Определенные кодированные изображения после полного восстановления могут использоваться в качестве опорных изображений для будущего предсказания. Например, после того, как кодированное изображение, соответствующее текущему изображению, полностью восстановлено, и кодированное изображение было идентифицировано как опорное изображение (например, парсером (420)), буфер (458) текущих изображений может стать частью памяти (457) опорных изображений, и буфер свежего текущего изображения может быть перераспределен перед началом восстановления следующего кодированного изображения.
[68] Видеодекодер (410) может выполнять операции декодирования согласно заранее определенной технологии сжатия видео в стандарте, таком как Рекомендации МСЭ-Т Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или стандартом сжатия видео, в том смысле, что кодированная видеопоследовательность соответствует как синтаксису технологии или стандарту сжатия видео, так и профилям, задокументированным в технологии или стандарте сжатия видео. В частности, профиль может выбирать определенные инструменты как единственные инструменты, доступные для использования в этом профиле, из всех инструментов, доступных в технологии или стандарте сжатия видео. Также для соответствия может быть необходимым, чтобы сложность кодированной видеопоследовательности находилась в пределах границ, определенных уровнем технологии или стандарта сжатия видео. В некоторых случаях уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту дискретизации восстановления (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и так далее. Пределы, установленные уровнями, в некоторых случаях могут быть дополнительно ограничены с помощью спецификаций гипотетического эталонного декодера (HRD) и метаданных для управления буфером HRD, сигнализируемых в кодированной видеопоследовательности.
[69] В варианте осуществления приемник (431) может принимать дополнительные (избыточные) данные с кодированным видео. Дополнительные данные могут быть включены как часть кодированной видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером (410) для правильного декодирования данных и/или для более точного восстановления исходных видеоданных. Дополнительные данные могут быть в форме, например, временных, пространственных слоев или слоев улучшения отношения сигнал/шум (SNR), избыточных слайсов, избыточных изображений, кодов прямого исправления ошибок и так далее.
[70] На фиг. 5 показана блок-схема видеодекодера (503) согласно варианту осуществления настоящего раскрытия. Видеокодер (503) включен в электронное устройство (520). Электронное устройство (520) включает в себя передатчик (540) (например, передающую схему). Видеокодер (503) может использоваться вместо видеокодера (303) в примере с фиг. 3.
[71] Видеокодер (503) может принимать отсчеты видео от источника (501) видео (который не является частью электронного устройства (520) в примере с фиг. 5), который может захватывать видеоизображение(я) для кодирования с помощью видеокодера (503). В другом примере источник (501) видео является частью электронного устройства (520).
[72] Источник (501) видео может предоставить исходную видеопоследовательность для кодирования видео кодером (503) в форме цифрового потока отсчетов видео, который может иметь любую подходящую битовую глубину (например: 8 бит, 10 бит, 12 бит,…), любое цветовое пространство (например, ВТ.601 Y CrCB, RGB,…) и любую подходящую структуру дискретизации (например, Y CrCb 4: 2: 0, Y CrCb 4: 4: 4). В системе обслуживания мультимедиа источник (501) видео может быть запоминающим устройством, хранящим предварительно подготовленное видео. В системе видеоконференц-связи источник (501) видео может быть камерой, которая фиксирует информацию локального изображения в виде видеопоследовательности. Видеоданные могут быть предоставлены как множество отдельных изображений, которые при последовательном просмотре передают движение. Сами изображения могут быть организованы как пространственный массив пикселей, в котором каждый пиксель может содержать один или более отсчетов в зависимости от используемой структуры дискретизации, цветового пространства и т.д. Специалист в данной области техники может легко понять взаимосвязь между пикселями и отсчетами. Описание ниже ориентировано на отсчеты.
[73] Согласно варианту осуществления видеокодер (503) может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность (543) в реальном времени или с любыми другими временными ограничениями, как того требует приложение. Обеспечение соответствующей скорости кодирования - одна из функций контроллера (550). В некоторых вариантах осуществления контроллер (550) управляет другими функциональными модулями, как описано ниже, и функционально связан с другими функциональными модулями. Связь не изображена для ясности. Параметры, устанавливаемые контроллером (550), могут включать в себя параметры, относящиеся к управлению скоростью (пропуск изображения, квантователь, значение лямбда методов оптимизации скорость-искажение, …), размеру изображения, макету группы изображений (GOP), максимальному диапазону поиска вектора движения и так далее. Контроллер (550) может быть конфигурирован так, чтобы иметь другие подходящие функции, которые относятся к видеокодеру (503), оптимизированному для определенной конструкции системы.
[74] В некоторых вариантах осуществления видеокодер (503) сконфигурирован для работы в контуре кодирования. В качестве упрощенного описания, в примере контур кодирования может включать в себя кодер (530) источника (например, ответственный за создание символов, таких как поток символов, на основе входного изображения для кодирования, и опорного изображения (изображений), а также (локальный) декодер (533), встроенный в видеокодер (503). Декодер (533) восстанавливает символы для создания данных отсчетов аналогично тому, как (удаленный) декодер также может создавать (поскольку любое сжатие между символами и кодированным битовым потоком видео не имеет потерь в технологиях сжатия видео, рассматриваемых в раскрытом объекте изобретения). Восстановленный поток отсчетов (данные отсчетов) вводится в память опорных изображений (534). Поскольку декодирование потока символов приводит к результатам с точностью до бита, независимо от местоположения декодера (локально или удаленно), содержимое в памяти опорных изображений (534) также является точным до бита между локальным кодером и удаленным кодером. Другими словами, часть предсказания кодера «видит» в качестве отсчетов опорного изображения точно такие же значения отсчетов, которые бы «видел» декодер при использовании предсказания во время декодирования. Этот фундаментальный принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может поддерживаться, например, из-за ошибок канала) также используется в некоторых смежных областях техники.
[75] Работа «локального» декодера (533) может быть такой же, как у «удаленного» декодера, такого как видеодекодер (410), который уже был подробно описан выше в описании к фиг. 4. Кратко ссылаясь также на фиг. 4, однако, поскольку символы доступны, и кодирование/декодирование символов в закодированную видеопоследовательность энтропийным кодером (545) и парсером (420) может быть без потерь, части энтропийного декодирования видеодекодера (410), включая буферную память (415) и парсер (420), не могут быть полностью реализованы в локальном декодере (533).
[76] На этом этапе можно сделать наблюдение, что любая технология декодирования, кроме парсинга/энтропийного декодирования, которая присутствует в декодере, также обязательно должна присутствовать в, по существу, идентичной функциональной форме в соответствующем кодере. По этой причине раскрытый объект изобретения фокусируется на работе декодера. Описание технологий кодирования может быть сокращено, поскольку они являются инверсией полностью описанных технологий декодирования. Только в некоторых областях требуется более подробное описание, которое приводится ниже.
[77] Во время работы в некоторых примерах исходный кодер (530) может выполнять кодирование с предсказанием с компенсацией движения, которое кодирует входное изображение с предсказанием со ссылкой на одно или более ранее кодированных изображений из видеопоследовательности, которые были обозначены как «опорные изображения». Таким образом, механизм (532) кодирования кодирует различия между блоками пикселей входного изображения и блоками пикселей опорного изображения (изображений), которые могут быть выбраны в качестве эталона(ов) предсказания для входного изображения.
[78] Локальный видеодекодер (533) может декодировать кодированные видеоданные изображений, которые могут быть обозначены как опорные изображения, на основе символов, созданных кодером (530) источника. Операции механизма (532) кодирования могут быть предпочтительно процессами с потерями. Когда кодированные видеоданные могут быть декодированы в видеодекодере (не показан на фиг.5), восстановленная видеопоследовательность обычно может быть копией исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер (533) копирует процессы декодирования, которые могут выполняться видеодекодером на опорных изображениях, и может вызывать сохранение восстановленных опорных изображений в кэше (534) опорных изображений. Таким образом, видеокодер (503) может локально хранить копии восстановленных опорных изображений, которые имеют общий контент, в качестве восстановленных опорных изображений, которые будут получены видеодекодером на дальнем конце (при отсутствии ошибок передачи).
[79] Предиктор (535) может выполнять поиски с предсказанием для механизма (532) кодирования. То есть, для нового изображения, которое должно быть закодировано, предиктор (535) может искать в памяти (534) опорных изображений данные отсчетов (в качестве кандидатов блоков опорных пикселей) или определенные метаданные, такие как векторы движения опорных изображений, формы блоков и так далее, которые могут служить подходящим эталоном предсказания для новых изображений. Предиктор (535) может работать на основе блока отсчетов "блок-за-пикселем", чтобы найти соответствующие эталоны предсказания. В некоторых случаях, как определено результатами поиска, полученными предиктором (535), входное изображение может иметь эталоны предсказания, взятые из множества опорных изображений, сохраненных в памяти (534) опорных изображений.
[80] Контроллер (550) может управлять операциями кодирования кодера (530) источника, включая, например, установку параметров и параметров подгруппы, используемых для кодирования видеоданных.
[81] Выходные сигналы всех вышеупомянутых функциональных модулей могут подвергаться энтропийному кодированию в энтропийном кодере (545). Энтропийный кодер (545) переводит символы, сгенерированные различными функциональными модулями, в закодированную видеопоследовательность путем сжатия без потерь символов согласно таким технологиям, как кодирование Хаффмана, кодирование с переменной длиной, арифметическое кодирование и так далее.
[82] Передатчик (540) может буферизовать кодированную видеопоследовательность(и), созданную энтропийным кодером (545), чтобы подготовиться к передаче через канал (560) связи, который может быть аппаратным/программным соединением с устройством хранения, которое будет хранить кодированные видеоданные. Передатчик (540) может объединять кодированные видеоданные из видеокодера (503) с другими данными, подлежащими передаче, например, кодированными аудиоданными и/или потоками вспомогательных данных (источники не показаны).
[83] Контроллер (550) может управлять работой видеокодера (503). Во время кодирования контроллер (550) может назначить каждому кодированному изображению определенный тип кодированного изображения, что может повлиять на методы кодирования, которые могут быть применены к соответствующему изображению. Например, изображения часто могут быть отнесены к одному из следующих типов изображений:
[84] Интра-изображение (I-изображение) может быть таким, которое можно кодировать и декодировать без использования какого-либо другого изображения в последовательности в качестве источника предсказания. Некоторые видеокодеки допускают различные типы интра-изображений, включая, например, изображения с независимым обновлением декодера («IDR»). Специалисту в области техники известны эти варианты I-изображений и их соответствующие применения и особенности.
[85] Изображение с предсказанием (Р-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.
[86] Изображение с двунаправленным предсказанием (В-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Аналогично, изображения с множественным предсказанием могут использовать более двух опорных изображений и связанных метаданных для восстановления одного блока.
[87] Исходные изображения обычно могут быть пространственно разделены на множество блоков отсчетов (например, блоки из 4x4, 8x8, 4x8 или 16x16 отсчетов каждый) и закодированы на поблочной основе. Блоки могут кодироваться с предсказанием со ссылкой на другие (уже кодированные) блоки, как определено назначением кодирования, применяемым к соответствующим изображениям блоков. Например, блоки I-изображений могут кодироваться без предсказания или они могут кодироваться с предсказанием со ссылкой на уже кодированные блоки одного и того же изображения (пространственное предсказание или интрапредсказание). Пиксельные блоки Р-изображений могут кодироваться с предсказанием, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки В-изображений могут кодироваться с предсказанием, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения.
[88] Видеокодер (503) может выполнять операции кодирования в соответствии с заранее определенной технологией или стандартом кодирования видео, такой как Рекомендации МСЭ-Т Н.265. В своей работе видеокодер (503) может выполнять различные операции сжатия, включая операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Кодированные видеоданные, следовательно, могут соответствовать синтаксису, заданному используемой технологией или стандартом кодирования видео.
[89] В варианте осуществления передатчик (540) может передавать дополнительные данные с кодированным видео. Исходный кодер (530) может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные слои/слои улучшения SNR, другие формы избыточных данных, такие как избыточные изображения и слайсы, сообщения SEI, фрагменты набора параметров VUI и так далее.
[90] Видео может быть захвачено как множество исходных изображений (видеоизображений) во временной последовательности. Внутрикадровое предсказание (часто сокращенно называемое интрапредсказанием) использует пространственную корреляцию в данном изображении, а интер-кадровое предсказание использует (временную или другую) корреляцию между изображениями. В примере конкретное изображение при кодировании/декодировании, называемое текущим изображением, разделяется на блоки. Когда блок в текущем изображении подобен опорному блоку в ранее кодированном и все еще буферизованном опорном изображении в видео, блок в текущем изображении может быть кодирован вектором, который называется вектором движения. Вектор движения указывает на опорный блок в опорном изображении и может иметь третье измерение, идентифицирующее опорное изображение, в случае использования множества опорных изображений.
[91] В некоторых вариантах осуществления при интер-кадровом предсказании может использоваться метод двойного предсказания. Согласно методу двойного предсказания, используются два опорных изображения, такие как первое опорное изображение и второе опорное изображение, которые оба предшествуют в порядке декодирования текущему изображению в видео (но могут быть в прошлом и будущем, соответственно, в порядке отображения). Блок в текущем изображении может быть кодирован первым вектором движения, который указывает на первый опорный блок в первом опорном изображении, и вторым вектором движения, который указывает на второй опорный блок во втором опорном изображении. Блок может быть предсказан комбинацией первого опорного блока и второго опорного блока.
[92] Кроме того, в интер-кадровом предсказании может использоваться метод режима слияния для повышения эффективности кодирования.
[93] Согласно некоторым вариантам осуществления изобретения, предсказания, такие как интер-кадровые предсказания и внутрикадровые предсказания, выполняются в единице блоков. Например, в соответствии со стандартом HEVC, изображение в последовательности видеоизображений разделяется на единицы дерева кодирования (CTU) для сжатия, причем CTU в изображении имеют одинаковый размер, например 64x64 пикселей, 32x32 пикселей или 16x16 пикселей. В общем, CTU включает в себя три блока дерева кодирования (СТВ), которые представляют собой один СТВ яркости и два СТВ цветности. Каждая CTU может быть рекурсивно разделена на квадродерево на одну или множество единиц кодирования (CU). Например, CTU размером 64x64 пикселей можно разделить на одну CU из 64x64 пикселей, или 4 CU из 32x32 пикселей, или 16 CU из 16x16 пикселей. В примере каждая CU анализируется для определения типа предсказания для CU, такого как тип интерпредсказания или тип интрапредсказания. CU разделяется на одну или более единиц предсказания (PU) в зависимости от временной и/или пространственной предсказуемости. Обычно каждая PU включает в себя блок предсказания яркости (РВ) и два РВ цветности. В варианте осуществления операция предсказания при кодировании (кодировании/декодировании) выполняется в единицах блоков предсказания. Используя блок предсказания яркости в качестве примера блока предсказания, блок предсказания включает в себя матрицу значений (например, значений яркости) для пикселей, такую как 8x8 пикселей, 16x16 пикселей, 8x16 пикселей, 16x8 пикселей и т.п.
[94] На фиг. 6 показана схему видеокодера (603) согласно другому варианту осуществления раскрытия. Видеокодер (603) конфигурирован для приема блока обработки (например, блока предсказания) из значений отсчетов в текущем видеоизображении в последовательности видеоизображений и кодирования блока обработки в кодированное изображение, которое является частью кодированной видеопоследовательности. В одном примере видеокодер (603) используется вместо видеокодера (303) на примере с фиг. 3.
[95] В примере HEVC видеокодер (603) принимает матрицу значений отсчетов для блока обработки, такого как блок предсказания из 8x8 отсчетов и т.п. Видеокодер (603) определяет, кодируется ли блок обработки лучше всего при использовании интра-режима, интер-режима или режима двойного предсказания, использующего, например, оптимизацию скорости-искажения. Когда блок обработки должен быть кодирован в интра-режиме, видеокодер (603) может использовать метод интрапредсказания для кодирования блока обработки в кодированное изображение; а когда блок обработки должен быть кодирован в интер-режиме или режиме двойного предсказания, видеокодер (603) может использовать метод интер предсказания или двойного предсказания, соответственно, для кодирования блока обработки в кодированное изображение. В некоторых технологиях кодирования видео, режим слияния может быть подрежимом интер-кадрового предсказания, в котором вектор движения выводят из одного или более предикторов вектора движения без преимущества кодированного компонента вектора движения вне предикторов. В некоторых других технологиях кодирования видео может присутствовать компонент вектора движения, применимый к рассматриваемому блоку. В одном примере видеокодер (603) включает в себя другие компоненты, такие как модуль выбора режима (не показан), для определения режима блоков обработки.
[96] На примере с фиг. 6 видеокодер (603) включает в себя интер-кодер (630), интра-кодер (622), вычислитель (623) остатка, переключатель (626), кодер (624) остатка, общий контроллер (621) и энтропийный кодер (625), соединенные вместе, как показано на фиг.6.
[97] Интеркодер (630) конфигурирован для приема отсчетов текущего блока (например, блока обработки), сравнения блока с одним или более опорными блоками в опорных изображениях (например, блоков в предыдущих изображениях и последующих изображениях), генерации информации интерпредсказания (например, описания избыточной информации согласно методу интеркодирования, векторов движения, информации режима слияния) и вычисления результатов интерпредсказания (например, предсказанный блок) на основе информации интерпредсказания с использованием любого подходящего метода. В некоторых примерах опорные изображения являются декодированными опорными изображениями, которые декодируются на основе кодированной видеоинформации.
[98] Интракодер (622) конфигурирован для приема отсчетов текущего блока (например, блока обработки), в некоторых случаях сравнения блока с блоками, уже кодированными в том же изображении, генерации квантованных коэффициентов после преобразования, а в некоторых случаях также информации интрапредсказания (например, информации направления интрапредсказания согласно одному или более методов интракодирования). В одном примере интра-кодер (622) также вычисляет результаты интра-предсказания (например, предсказанный блок) на основе информации интрапредсказания и опорных блоков в одном и том же изображении.
[99] Общий контроллер (621) конфигурирован для определения общих данных управления и управления другими компонентами видеокодера (603) на основе общих данных управления. В одном примере общий контроллер (621) определяет режим блока и подает управляющий сигнал на переключатель (626) на основе режима. Например, когда режим является интра-режимом, общий контроллер (621) управляет переключателем (626), чтобы выбрать результат интра-режима для использования вычислителем (623) остатка, и управляет энтропийным кодером (625), чтобы выбрать информацию интрапредсказания и включить информацию интрапредсказания в битовый поток; и когда режимом является интер-режим, общий контроллер (621) управляет переключателем (626), чтобы выбрать результат интерпредсказания для использования вычислителем (623) остатка, и управляет энтропийным кодером (625), чтобы выбрать информацию интерпредсказания и включить информацию интерпредсказания в битовый поток.
[100] Вычислитель (623) остатка конфигурирован для вычисления разницы (данных остатка) между принятым блоком и результатами предсказания, выбранными из интракодера (622) или интеркодера (630). Кодер (624) остатка конфигурирован для работы на основе данных остатка, чтобы кодировать данные остатка, чтобы генерировать коэффициенты преобразования. В одном примере кодер (624) остатка конфигурирован для преобразования данных остатка из пространственной области в частотную область и генерации коэффициентов преобразования. Коэффициенты преобразования затем подвергаются обработке квантования для получения квантованных коэффициентов преобразования. В различных вариантах осуществления видеокодер (603) также включает в себя декодер (628) остатка. Декодер (628) остатка конфигурирован для выполнения обратного преобразования и генерации декодированных данных остатка. Декодированные данные остатка могут подходящим образом использоваться интракодером (622) и интеркодером (630). Например, интеркодер (630) может генерировать декодированные блоки на основе декодированных данных остатка и информации интерпредсказания, а интракодер (622) может генерировать декодированные блоки на основе декодированных данных остатка и информации интрапредсказания. Декодированные блоки соответствующим образом обрабатываются для генерирования декодированных изображений, и декодированные изображения могут быть буферизованы в схеме памяти (не показана) и использоваться в качестве опорных изображений в некоторых примерах.
[101] Энтропийный кодер (625) конфигурирован для форматирования битового потока, чтобы включить в него кодированный блок. Энтропийный кодер (625) конфигурирован для включения различной информации в соответствии с подходящим стандартом, таким как стандарт HEVC. В одном примере энтропийный кодер (625) конфигурирован для включения общих данных управления, выбранной информации предсказания (например, информации интрапредсказания или информации интерпредсказания), информации остатка и другой подходящей информации в битовом потоке. Следует отметить, что согласно раскрытому объекту изобретения при кодировании блока в подрежиме слияния либо интер-режима, либо режима двойного предсказания информация остатка отсутствует.
[102] На фиг. 7 показана схема видеодекодера (710) согласно другому варианту осуществления раскрытия. Видеодекодер (710) конфигурирован для приема кодированных изображений, которые являются частью кодированной видеопоследовательности, и декодирования кодированных изображений для создания восстановленных изображений. В одном примере видеодекодер (710) используется вместо видеодекодера (310) в примере с фиг. 3.
[103] В примере с фиг. 7 видеодекодер (710) включает в себя энтропийный декодер (771), интердекодер (780), декодер (773) остатка, модуль (774) восстановления и интрадекодер (772), соединенные вместе, как показано на фиг.7.
[104] Энтропийный декодер (771) может быть конфигурирован для восстановления из кодированного изображения определенных символов, которые представляют элементы синтаксиса, из которых состоит кодированное изображение. Такие символы могут включать в себя, например, режим, в котором кодируется блок (такой как, например, интра-режим, интер-режим, режим двойного предсказания, причем последние два в подрежиме слияния или другом подрежиме), информацию предсказания (такую как, например, информация интра-предсказания или информация интерпредсказания), которая может идентифицировать определенный отсчет или метаданные, которые используются для предсказания интра-декодером (772) или интер-декодером (780), соответственно, остаточную информацию в форме, например, квантованных коэффициентов преобразования и т.п.В одном примере, когда режимом предсказания является интер-режим или режим двунаправленного предсказания, информация интерпредсказания предоставляется в интер-декодер (780); а когда тип предсказания является типом интра-предсказания, информация интра-предсказания предоставляется в интра-декодер (772). Остаточная информация может подвергаться обратному квантованию и предоставляется декодеру (773) остатка.
[105] Интер-декодер (780) конфигурирован для приема информации интерпредсказания и генерации результатов интер-предсказания на основе информации интерпредсказания.
[106] Интра-декодер (772) конфигурирован для приема информации интрапредсказания и генерации результатов предсказания на основе информации интрапредсказания.
[107] Декодер (773) остатка конфигурирован для выполнения обратного квантования для извлечения деквантованных коэффициентов преобразования, и обработки деквантованных коэффициентов преобразования для преобразования остатка из частотной области в пространственную область. Декодер (773) остатка может также потребовать определенную управляющую информацию (чтобы включить параметр квантователя (QP)), и эта информация может быть предоставлена энтропийным декодером (771) (путь данных не показан, поскольку это может быть только управляющая информация малого объема).
[108] Модуль (774) восстановления конфигурирован для объединения в пространственной области остатка, выводимого декодером (773) остатка, и результатов предсказания (выводимых модулями интер- или интра-предсказания, в зависимости от случая) для формирования восстановленного блока, который может быть частью восстановленного изображения, которое, в свою очередь, может быть частью восстановленного видео. Следует отметить, что другие подходящие операции, такие как операция деблокирования и т.п., могут выполняться для улучшения визуального качества.
[109] Следует отметить, что видеокодеры (303), (503) и (603) и видеодекодеры (310), (410) и (710) могут быть реализованы с использованием любого подходящего метода. В варианте осуществления видеокодеры (303), (503) и (603) и видеодекодеры (310), (410) и (710) могут быть реализованы с использованием одной или более интегральных схем. В другом варианте осуществления видеокодеры (303), (503) и (503) и видеодекодеры (310), (410) и (710) могут быть реализованы с использованием одного или более процессоров, которые выполняют программные инструкции.
[110] Аспекты изобретения относятся к технологиям кодирования видео, таким как сигнализация максимального количества кандидатов на слияние треугольников для режима разделения треугольника (ТРМ) или режима геометрического слияния (GEO), который, например, выходит за рамки HEVC и используется в VVC.
[111] Разделение на треугольник для интер-кадрового предсказания может быть описано ниже. ТРМ может поддерживаться для интер-кадрового предсказания, например, в VVC. В примере ТРМ применяется только к CU размером 8x8 или больше. ТРМ может сигнализироваться с использованием флага уровня CU в качестве своего рода режима слияния, с другими режимами слияния, включая обычный режим слияния, режим слияния с режимом разности векторов движения (MMVD), режим комбинированного внутреннего и внутреннего предсказания (СИР), режим слияния субблоков и/или тому подобное.
[112] На фиг.8А-8В показаны примеры интер-кадрового предсказания на основе разбиения на треугольник согласно варианту осуществления изобретения; Когда используется ТРМ, CU (800) может быть равномерно разделен на два треугольных раздела (также называемых треугольными разделами или разделами) (например, раздел 1 (811) и раздел 2 (812) на фиг. 8А, а также перегородку 1 (821) и перегородку 2 (822) на фиг.8В) с использованием либо диагонального разделения, либо антидиагонального разделения. Перегородки (811) - (812) разделены линией (810). Перегородки (821) - (822) разделены линией (820). Каждый треугольный раздел в CU (800) интер-предсказывается с использованием информации о движении соответствующего треугольного раздела. В примере для каждого треугольного раздела разрешено только единичное предсказание, и, таким образом, каждый треугольный раздел имеет один MV и один ссылочный индекс. Ограничение движения с единичным предсказанием может применяться, чтобы гарантировать, что для каждого CU используются только два предсказания с компенсацией движения, что аналогично двойному предсказанию, применяемому к CU.
[113] Если ТРМ используется для текущего CU, дополнительно может сигнализироваться флаг, указывающий направление треугольного разделения (например, диагональное разделение или антидиагональное разделение) и два индекса слияния (по одному для каждого раздела). Параметр, указывающий максимальное количество кандидатов на слияние ТРМ, может сигнализироваться в явной форме на уровне набора параметров изображения (PPS), уровне заголовка изображения (РН) или т.п. После предсказания отсчетов в каждом из треугольных разделов (например, в разделах (811) -(812) на фиг.8А или в разделах (821) - (822) на фиг.8В) значения отсчетов по диагонали или антидиагональных краях можно отрегулировать с помощью обработки наложения с адаптивными весами. После получения сигнала предсказания для CU (800) процесс преобразования и процесс квантования могут быть дополнительно применены к CU (800), как и в других режимах предсказания.
[114] Режим геометрического слияния (также называемый режимом геометрического разделения), может поддерживать множество различных методик разделения. На фиг. 9 показан примерный режим геометрического слияния. В режиме геометрического слияния CU (900) может быть разделен на два раздела, разделы 1-2 разделены линией или краем (910). Каждый из двух разделов может иметь любую подходящую форму, например треугольник, трапецию, пятиугольник и т.п.
[115] Когда линия (910) является линией (810) или линией (820), режим геометрического слияния - это ТРМ. В одном примере ТРМ является примером режима геометрического слияния, а режим геометрического слияния включает ТРМ. Описания (варианты осуществления, примеры и т.п.) ТРМ в изобретении могут быть соответствующим образом адаптированы к режиму геометрического слияния, например, путем замены ТРМ режимом геометрического слияния. Описания (варианты осуществления, примеры и т.п.) для режима геометрического слияния в изобретении могут быть соответствующим образом адаптированы к ТРМ, например, путем замены режима геометрического слияния на ТРМ.
[116] ТРМ можно контролировать на высоком уровне. Высокий уровень может относиться к уровню изображения, уровню PPS, уровню последовательности или уровню видео, который связан с заголовком изображения (РН), PPS, набором параметров последовательности (SPS) или набором параметров видео (VPS). В примере высокий уровень не относится к уровню суб-изображения (например, уровню слайса).
[117] ТРМ может управляться (например, включаться или отключаться) на уровне последовательности с использованием элемента синтаксиса SPS. На фиг. 10 показан примерный контроль уровня последовательности ТРМ. Флаг треугольника на уровне последовательности (например, sps_triangle_enabled_flag) может указывать, может ли компенсация движения на основе треугольной формы использоваться для интеркадрового предсказания. Флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag), равный 0, может указывать, что синтаксис ограничен таким образом, что никакая компенсация движения на основе треугольной формы не используется в видеопоследовательности кодированного уровня (CLVS), а параметры или элементы синтаксиса (например, merge_triangle_split_dir, merge_triangle_idx0 и merge_triangle_idx1), относящиеся к ТРМ, не присутствуют в синтаксисе единицы кодирования CLVS. Флаг треугольника на уровне последовательности (например, sps_triangle_enabled_flag), который равен 1, может указывать, что компенсация движения на основе треугольной формы может использоваться в CLVS.
[118] Параметр, указывающий максимальное количество кандидатов на слияние ТРМ, может быть явно сигнализирован на высоком уровне (например, уровень PPS в PPS, уровень изображения в РН или другой высокий уровень). Фиг. 11 иллюстрирует примерную полезную нагрузку необработанной последовательности байтов (RBSP) PPS, в которой максимальное количество кандидатов на слияние ТРМ может быть передано в PPS. В примере параметр уровня PPS или параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand _plus1) явно сигнализируется в PPS, чтобы указать максимальное количество кандидатов на слияние ТРМ. Фиг. 12 иллюстрирует примерную RBSP заголовка изображения, в которой максимальное количество кандидатов на слияние ТРМ может сообщаться в заголовке изображения. В примере параметр уровня заголовка изображения или параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) явно сообщается в заголовке изображения, чтобы указать максимальное количество кандидатов на слияние ТРМ.
[119] Параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), равный 0, может указывать, что параметр уровня изображения (например, pic_max_num_merge_candminus_max_num_triangle_cand) присутствует в PHs, относящихся к PPS (например, сигнализируемых PPS) слайсов. Параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), который больше 0, может указывать на то, что параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) не пресутствует (например, не сигнализируется) в РН, ссылающихся на PPS. Значение параметра уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) может находиться в диапазоне от 0 до MaxNumMergeCand - 1, где MaxNumMergeCand - максимальное количество кандидатов на слияние в списке кандидатов на слияние для обычного режима слияния. Когда параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) отсутствует, параметр уровня PPS может быть выведен равным 0.
[120] Параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle cand) может указывать максимальное количество треугольных кандидатов в режим слияния (MaxNumTriangleMergeCand), поддерживаемых в слайсах, связанных с заголовком изображения, вычтенных из максимального количества кандидатов на слияние (MaxNumMergeCand).
[121] В примере, когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) отсутствует (например, не сигнализируется), флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, a MaxNumMergeCand больше или равно 2, параметр уровня изображения (например, picmax_num_merge_cand_minus_max_num_triangle_cand) предполагается равным (pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1).
[122] Максимальное количество кандидатов в треугольный режим слияния (MaxNumTriangleMergeCand) может быть определено на основе MaxNumMergeCand и параметра уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand). В примере MaxNumTriangleMergeCand определяется с помощью уравнения. 1. MaxNumTriangleMergeCand=MaxNumMergeCand pic_max_num_merge_cand_minus_max_num_triangle_cand (Ур. 1)
[123] В примере, когда присутствует параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand), значение MaxNumTriangleMergeCand находится в диапазоне от 2 до MaxNumMergeCand включительно. Например, если MaxNumMergeCand равно 4, диапазон равен [2, 3, 4], а MaxNumTriangleMergeCand - одно из 2, 3 и 4.
[124] Когда параметр уровня изображения (например,
pic_max_num_merge_cand_minus_max_num_triangle_cand) отсутствует, и выполняется одно из двух условий, MaxNumTriangleMergeCand устанавливается равным 0. Два условия включают в себя (i) флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 0, и (ii) MaxNumMergeCand меньше 2.
[125] В примере, когда MaxNumTriangleMergeCand равно 0, ТРМ не разрешен для слайсов, связанных с РН.
[126] Параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) и MaxNumMergeCandNum могут использоваться для определения. Можно указать значение MaxNumTriangleMergeCand, не превышающее значение MaxNumMergeCand. Значение MaxNumTriangleMergeCand может варьироваться, например, в зависимости от конкретных приложений. Сигнализация PPS может быть эффективной, когда значение MaxNumTriangleMergeCand не меняется часто и, следовательно, не нужно сигнализировать для каждого изображения. С другой стороны, сигнализация заголовка изображения может быть эффективной, когда MaxNumTriangleMergeCand изменяется чаще, например, от одного изображения к другому.
[127] Параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), параметр уровня изображения (например, pic_max_num_merge_cand_minusmax_num_triangle__cand), значение MaxNumMergeCand и флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) может использоваться для определения значения MaxNumTriangleMergeCand. Значение параметра уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) может находиться в диапазоне от 0 до (значение MaxNumMergeCand - 1).
[128] В примере параметр уровня PPS анализируется или выводится как 0, флаг треугольника уровня последовательности равен 0, указывая, что ТРМ отключен, параметр уровня изображения отсутствует, а значение MaxNumTriangleMergeCand равно 0 независимо от значение MaxNumMergeCand.
[129] В примере параметр уровня PPS анализируется или выводится как 0, флаг треугольника уровня последовательности равен 1, указывая, что ТРМ включен, параметр уровня изображения отсутствует, а значение MaxNumTriangleMergeCand равно 0, когда значение MaxNumMergeCand меньше 2.
[130] В примере параметр уровня PPS анализируется или выводится равным 0, флаг треугольника уровня последовательности равен 1, указывая, что ТРМ включен, параметр уровня изображения присутствует и проанализирован, а значение MaxNumTriangleMergeCand равно (MaxNumMergeCand - значение параметра уровня изображения) (например, MaxNumMergeCand -pic_max_num_merge_cand_minus_max_num_triangle_cand), когда значение MaxNumMergeCand больше или равно 2. Значение MaxNumTriangleMergeCand может находиться в диапазоне от 2 до MaxNumMergeCand включительно.
[131] В примере параметр уровня PPS анализируется или выводится как 0, флаг треугольника уровня последовательности равен 0, указывая, что ТРМ отключен, параметр уровня изображения отсутствует, а значение MaxNumTriangleMergeCand равно 0 независимо от значения MaxNumMergeCand.
[132] В примере параметр уровня PPS анализируется или выводится как 0, флаг треугольника уровня последовательности равен 1, указывая, что ТРМ включен, параметр уровня изображения отсутствует, а значение MaxNumTriangleMergeCand равно 0, когда значение MaxNumMergeCand меньше 2.
[133] В примере параметр уровня PPS анализируется и не равен 0, флаг треугольника уровня последовательности равен 1, что указывает на то, что ТРМ включен, параметр уровня изображения отсутствует и предполагается (значение PPS- параметр уровня - 1) (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 - 1), а значение MaxNumTriangleMergeCand равно (MaxNumMergeCand - (значение параметра PPS-level) - 1)) (например, MaxNumMergeCand (pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 - 1)), когда значение MaxNumMergeCand больше или равно 2.
[134] Разработка сигнализации о максимальном количестве кандидатов на слияние треугольников может быть сложной задачей. Когда значение MaxNumMergeCand равно 2, флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, а параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus_cand_plus_plus_ cand_max_max_max_max_cand_max_cand_max_cand_cand_plus1) равен 0, параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) может сигнализироваться в заголовок изображения (см. фиг. 12) и может быть впоследствии пропарсирован. Однако, как описано выше, когда присутствует pic_max_num_merge_cand_minus_max_num_triangle_cand, значение MaxNumTriangleMergeCand находится в диапазоне от 2 до MaxNumMergeCand включительно. Таким образом, MaxNumTriangleMergeCand может быть выведено равным 2, поскольку значение MaxNumMergeCand также равно 2. Соответственно, анализ pic_max_num_merge_cand_minus_max_num_triangle_cand может быть избыточным.
[135] Согласно аспектам изобретения, параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) сигнализируется в заголовке изображения и декодируется только тогда, когда флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, MaxNumMergeCand больше 2, и параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) равен 0, как показано на фиг. 13. В качестве альтернативы параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) сигнализируется в заголовке изображения и декодируется только тогда, когда флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, MaxNumMergeCand больше или равен 3, и параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) равен 0, как показано на фиг. 14.
[136] Фиг. 13 иллюстрирует примерный синтаксис заголовка изображения, где максимальное количество кандидатов на слияние ТРМ сигнализируется в заголовке изображения с использованием параметра уровня заголовка изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand). Блок (1310) на фиг. 13 указывает различие между синтаксисом (например, MaxNumMergeCand больше или равно 2), показанным на фиг. 12, и синтаксисом (например, MaxNumMergeCand больше 2), показанным на фиг. 13.
[137] Параметр уровня заголовка изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) может указывать максимальное количество треугольных кандидатов в режим слияния (MaxNumTriangleMergeCand), поддерживаемых в слайсах, связанных с заголовком изображения, вычтенных из максимального количества кандидатов на слияние (MaxNumMergeCand).
[138] В примере, когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) отсутствует (например, не сигнализируется), флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, a MaxNumMergeCand больше или равно 2, параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) предполагается равным (pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1-1).
[139] Максимальное количество кандидатов в треугольный режим слияния (MaxNumTriangleMergeCand) может быть определено на основе MaxNumMergeCand и параметра уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand). В примере MaxNumTriangleMergeCand определяется с помощью уравнения. 1.
[140] В примере, когда присутствует параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand), значение MaxNumTriangleMergeCand находится в диапазоне от 2 до MaxNumMergeCand включительно. Согласно аспектам изобретения, когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) отсутствует и MaxNumMergeCand равен 2, MaxNumTriangleMergeCand равен 2.
[141] Когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) отсутствует, и выполняется одно из двух условий, MaxNumTriangleMergeCand устанавливается равным 0. Как указано выше, два условия включают в себя (i) флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 0, и (ii) MaxNumMergeCand меньше 2.
[142] В примере, когда MaxNumTriangleMergeCand равно 0, ТРМ не разрешен для слайсов, связанных с заголовком изображений.
[143] Фиг. 14 иллюстрирует примерный синтаксис заголовка изображения, где максимальное количество кандидатов на слияние ТРМ сигнализируется в заголовке изображения, например с использованием параметра уровня заголовка изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand). Блок (1410) на фиг. 14 указывает различие между синтаксисом (например, MaxNumMergeCand больше или равно 2), показанным на фиг. 12, и синтаксисом (например, MaxNumMergeCand больше или равным 3), показанным на фиг. 14.
[144] В общем, информация кодирования для текущего изображения может быть декодирована из кодированного битового потока видео. Информация кодирования может указывать, что режим геометрического слияния включен на уровне последовательности, а параметр уровня PPS в PPS, указывающий, что максимальное количество кандидатов на слияние в режиме геометрического слияния, равен 0. Например, режим геометрического слияния - это ТРМ. Кроме того, информация кодирования может указывать максимальное количество кандидатов на слияние. Когда максимальное количество кандидатов на слияние удовлетворяет условию, параметр уровня изображения, сообщаемый для текущего изображения в кодированном битовом потоке видео, может быть декодирован. Параметр уровня изображения может указывать максимальное количество кандидатов на слияние в режиме геометрического слияния. В примере максимальное количество кандидатов на слияние в режиме геометрического слияния - это максимальное количество кандидатов на слияние ТРМ.
[145] В примере, когда максимальное количество кандидатов на слияние не удовлетворяет условию, параметр уровня изображения, о котором не сообщается в битовом потоке кодированного видео, не декодируется. В примере параметр уровня изображения не передается в сигнале в кодированном битовом потоке видео, и максимальное количество кандидатов на слияние равно 2 и не удовлетворяет условию, таким образом, максимальное количество кандидатов слияния ТРМ определяется равным 2.
[146] В примере условием является одно из (i) максимальное количество кандидатов на слияние больше 2 и (ii) максимальное количество кандидатов на слияние больше или равно 3.
[147] В некоторых примерах, когда флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, a MaxNumMergeCand больше или равен 2, ТРМ не может быть отключен для определенных изображений. Следовательно, уровню изображения не хватает гибкости, например, в управлении ТРМ (например, отключение ТРМ для определенных изображений).
[148] В варианте осуществления, когда ТРМ отключен на уровне последовательности, параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) не должен декодироваться для уменьшения служебных данных сигнализации. В некоторых примерах (например, фиг. 11), независимо от управления уровнем последовательности ТРМ, параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) декодируется, когда флаг (например, constant_slice_header_params_params_enabled_flag), например, на уровне последовательности может быть относительно низким.
[149] Согласно аспектам изобретения информация кодирования для текущего изображения может быть декодирована из кодированного битового потока видео. Информация кодирования может указывать, что режим геометрического слияния включен для уровня кодирования, более высокого, чем уровень изображения текущего изображения, и максимальное количество кандидатов на слияние (например, для режима стандартного слияния) удовлетворяет условию. Уровень кодирования, который выше уровня изображения, может быть уровнем последовательности. Условием может включать то, что максимальное количество кандидатов на слияние больше или равно 2.
[150] Когда параметр уровня изображения, указывающий максимальное количество кандидатов на слияние в режиме геометрического слияния (например, MaxNumTriangleMergeCand), сигнализируется для текущего изображения в кодированном битовом потоке видео, максимальное количество кандидатов на слияние в режиме геометрического слияния для текущего изображения может быть определено на основе параметра уровня изображения и максимального количества кандидатов на слияние (MaxNumMergeCand). Согласно аспектам изобретения максимальное количество кандидатов на слияние в режиме геометрического слияния может находиться в диапазоне, включающем от 0, и поддиапазоне от 2 до максимального количества кандидатов на слияние, включительно. В примере, если MaxNumMergeCand равно 4, поддиапазон составляет от 2 до 4. Диапазон включает от 0 и от 2 до 4 или [0, 2, 3, 4]. В качестве альтернативы, максимальное количество кандидатов на слияние в режиме геометрического слияния может быть (i) 0 или (ii) одно из 2 до максимального количества кандидатов на слияние. В примере, если MaxNumMergeCand равно 4, максимальное количество кандидатов на слияние в режиме геометрического слияния может быть 0, 2, 3 или 4.
[151] В примере, режим геометрического слияния - это ТРМ, и максимальное количество кандидатов на слияние в режиме геометрического слияния это максимальное количество кандидатов на слияние ТРМ. Параметром уровня изображения может быть pic_max_num_merge_cand_minus_max_num_triangle_cand.
[152] Когда максимальное количество кандидатов на слияние в режиме геометрического слияния (например, максимальное количество кандидатов на слияние ТРМ) равно 0, режим геометрического слияния (например, ТРМ) отключается для текущего изображения. Когда максимальное количество кандидатов на слияние в режиме геометрического слияния (например, максимальное количество кандидатов на слияние ТРМ) не равно 0 (например, больше 0), режим геометрического слияния (например, ТРМ) включается для текущего изображения.
[153] Максимальное количество кандидатов на слияние ТРМ может быть определено путем вычитания параметра уровня изображения из максимального количества кандидатов на слияние, например, используя уравнение. (1).
[154] Приведенное выше описание может поддерживать функцию отключения ТРМ для определенных изображений, когда ТРМ включен на уровне последовательности, и MaxNumMergeCand больше или равно 2. Таким образом, поддерживается гибкость на уровне изображения.
[155] В варианте осуществления, когда присутствует pic_max_num_merge_cand_minus_max_num_triangle_cand (например, сигнализируется), значение MaxNumTriangleMergeCand может находиться в диапазоне от 0, 2 до MaxNumMergeCand включительно.
[156] Следовательно, когда присутствует pic_max_num_merge_cand_minus_max_num_triangle_cand, значение pic_max_num_merge_cand_minus_max_num_triangle_cand может быть равно значению MaxNumMergeCand. Таким образом, значение MaxNumTriangleMergeCand может быть 0, что является элементом управления уровнем изображения для отключения ТРМ на уровне изображения.
[157] Параметр уровня PPS или параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), который указывает, что максимальное количество кандидатов на слияние ТРМ, может сигнализироваться в кодированном битовом потоке видео для PPS, связанного с текущим изображением. Параметр уровня PPS может быть равен (i) одному из значений от 0 до (максимальное количество кандидатов на слияние - 1) или (ii) (максимальное количество кандидатов на слияние + 1). Например, когда MaxNumMergeCand равно 4, параметр уровня PPS может быть 0, 1, 2, 3 или 5.
[158] Параметр уровня PPS может находиться в диапазоне, включая поддиапазон от 0 до (максимальное количество кандидатов на слияние - 1) и (максимальное количество кандидатов на слияние + 1) включительно. В примере со ссылкой на элементы синтаксиса на фиг. 11, параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) должен находиться в диапазоне от 0 до (MaxNumMergeCand - 1) и (MaxNumMergeCand+1) включительно. Например, когда MaxNumMergeCand равно 4, поддиапазон для параметра уровня PPS составляет от 0 до 3, а диапазон для параметра уровня PPS - от 0 до 3 и 5. В качестве альтернативы, диапазон для параметра уровня PPS включает [0, 1, 2, 3, 5].
[159] В варианте осуществления параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), который указывает максимальное количество кандидатов на слияние ТРМ (например, для PPS, ассоциированного с текущим изображением), не передается в битовом потоке кодированного видео. Например, как показано на фиг. 15 прямоугольник (1510) указывает, что pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 удален из RBSP PPS на фиг. 11, чтобы иметь простой контроль над ТРМ, когда ТРМ должен быть отключен на уровне изображения.
[160] Как показано на фиг. 16А, кодированный битовый поток видео может включать в себя заголовок изображения для текущего изображения. Параметр уровня изображения может сигнализироваться в заголовке изображения, когда ТРМ включен для уровня последовательности (например, флаг треугольника уровня последовательности, такой как sps_triangle_enabled_flag, равен 1), а максимальное количество кандидатов на слияние больше или равно 2. Сигнализация параметра уровня изображения может быть независимой от параметра уровня PPS.
[161] Поле (1610) указывает, что сигнализация параметра уровня изображения может быть независимой от параметра уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1). Кроме того, как указано блоком (1620) на фиг. 16В, следующее описание: «когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num triangle_cand) отсутствует (например, не сигнализируется), флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 1, a MaxNumMergeCand больше или равен 2, параметр уровня изображения (например, pic max_num_merge_cand_minus_max_num_triangle_cand) предполагается равным (pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 - 1)" не применяется, когда сигнализация параметра уровня изображения не зависит от параметра уровня PPS (например, pps_max_num_merge_cand_minus_max_num triangle_cand_plus1).
[162] Параметр уровня изображения (например, pic_max_num_merge_cand_minus_max num_triangle_cand) может указывать максимальное количество треугольных кандидатов в режим слияния (MaxNumTriangleMergeCand), поддерживаемых в слайсах, связанных с заголовком изображения, вычтенных из максимального количества кандидатов на слияние (MaxNumMergeCand).
[163] Максимальное количество кандидатов в треугольный режим слияния (MaxNumTriangleMergeCand) может быть определено на основе MaxNumMergeCand и параметра уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand), например, с использованием уравнения 1.
[164] В примере, когда присутствует параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand), значение MaxNumTriangleMergeCand находится в диапазоне от 2 до MaxNumMergeCand включительно.
[165] Когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) отсутствует, и выполняется одно из двух условий, MaxNumTriangleMergeCand устанавливается равным 0. Два условия включают в себя (i) флаг треугольника уровня последовательности (например, sps_triangle_enabled_flag) равен 0, и (ii) MaxNumMergeCand меньше 2.
[166] В примере, когда MaxNumTriangleMergeCand равно 0, ТРМ не разрешен для слайсов с РН.
[167] Кодированный битовый поток видео может включать в себя PPS, связанный с текущим изображением. Параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1), указывающий максимальное количество кандидатов на слияние ТРМ, может быть передан в PPS (например, PPS RBSP на фиг. 17) на основе, по меньшей мере, флага уровня PPS (например, pps_max_num_triangle_merge_cand_present_flag), указывающего, что параметр уровня PPS должен сигнализироваться. На фиг. 17 блоком (1610) указано, что флаг уровня PPS (например, pps_max_num_triangle_merge_cand_present_flag) сигнализируется в RBSP PPS. Как указано в блоке (1620), когда флаг уровня PPS (например, pps_max_num_triangle_merge_cand_present_flag) является истинным (например, имеет значение 1), параметр уровня PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1) может быть сигнализирован в RBSP PPS. На фиг. 17, в примере, параметр уровня PPS сигнализируется, когда флаг уровня PPS (например, pps_max_num_triangle_merge cand_present_flag) является истинным, и флаг (например, constant_slice_header_params_enabled_flag) является истинным.
[168] Флаг уровня PPS (например, pps_max_num_triangle_merge_cand_present_flag) может указывать присутствие элемента синтаксиса (например, pps_max_num_merge_cand_minus_max_num_triangle_cand) в битовом потоке (например, битовом потоке кодированного видео). Когда pps_max_num_triangle_merge_cand_present_flag равно 1, может присутствовать pps_max_num_merge_cand_minus_max_num_triangle_cand. Когда pps_max_num_triangle_merge_cand_present_flag равно 0, pps_max_num_merge_cand_minus_max_num_triangle_cand отсутствует. Когда pps_max_num_triangle_merge_cand_present_flag отсутствует, pps_max_num_triangle_merge_cand_present_flag может быть выведен равным 0. Когда значение sps_triangle_enabled_flag равно 0, для соответствия битового потока требуется, чтобы значение pps_max_num_triangle_merge_cand_present_flag было равно 0.
[169] pps_max_num_merge_cand_minus_max_num_triangle_cand может указывать максимальное количество кандидатов слияния ТРМ, поддерживаемых в изображениях, упомянутых в PPS. Например, максимальное количество кандидатов на слияние ТРМ получается с помощью уравнения. 1.
[170] Когда pps_max_num_merge_cand_minus_max_num_triangle_cand отсутствует, pps_max_num_merge_cand_minus_max_num_triangle_cand может быть выведено равным 0.
[171] Как показано на фиг. 18, кодированный битовый поток видео может включать в себя заголовок изображения для текущего изображения. Параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) может сигнализироваться в заголовке изображения (например, RBSP заголовка изображения на фиг. 18), когда ТРМ включен для уровня последовательности (флаг треугольника уровня последовательности, например sps_triangle_enabled_flag равно 1), максимальное количество кандидатов на слияние больше или равно 2 (MaxNumMergeCand ≥2), а флаг уровня PPS (например, pps_max_num_triangle_merge_cand_present_flag) указывает, что параметр уровня PPS не должен сигнализироваться (например, pps_max_num_triangle_merge_cand_present_flag равен 0), как показано блоком (1810).
[172] Параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle_cand) может указывать максимальное количество кандидатов на слияние ТРМ, поддерживаемых в слайсах, связанных с РН. В примере максимальное количество кандидатов на слияние ТРМ получается с помощью уравнения. 1.
[173] Когда параметр уровня изображения (например, pic_max_num_merge_cand_minus_max_num_triangle cand) отсутствует, можно сделать вывод, что параметр уровня изображения равен значению параметра PPS (например, pps_max_num_merge_cand_minus_max_num_triangle_cand).
[174] Максимальное количество кандидатов на слияние ТРМ (MaxNumTriangleMergeCand) может быть получено следующим образом: (i) если spstriangle_enabled_flag равно 1, a MaxNumMergeCand больше или равно 2, MaxNumTriangleMergeCand можно определить с помощью уравнения. 1; (ii) в противном случае MaxNumTriangleMergeCand можно установить равным 0.
[175] Когда MaxNumTriangleMergeCand равно 0, ТРМ не разрешен для слайсов с РН.
[176] Как показано на фиг. 9, кодированный битовый поток видео может включать в себя PPS, связанный с текущим изображением. Параметр уровня PPS (например, pps_max_num_merge_cand_minus_maxnum_triangle_cand), указывающий максимальное количество кандидатов на слияние ТРМ, может сигнализироваться в PPS (например, RBSP PPS на фиг. 9) на основании по меньшей мере того, что ТРМ включен для уровня последовательности.
[177] Блок (1910) указывает, что флаг включения/отключения ТРМ уровня последовательности может использоваться для определения того, следует ли декодировать элемент синтаксиса (например, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1). Флаг включения/отключения ТРМ на уровне последовательности может быть sps_triangle_enabled_flag.
[178] На фиг. 20 показана блок-схема, описывающая процесс (2000) согласно варианту осуществления изобретения. Процесс (2000) может использоваться в параметрах сигнализации, указывающих максимальное количество кандидатов на слияние в режиме геометрического слияния для режима геометрического слияния. В различных вариантах осуществления процесс (2000) выполняется схемой обработки, например схемой обработки в оконечных устройствах (210), (220), (230) и (240), причем схема обработки выполняет функции видеокодера (303), схема обработки выполняет функции видеодекодера (310), схема обработки выполняет функции видеодекодера (410), схема обработки выполняет функции видеокодера (503), и т.п.В некоторых вариантах осуществления процесс (2000) реализован в программных инструкциях, таким образом, когда схема обработки выполняет программные инструкции, схема обработки выполняет процесс (2000). Процесс начинается на (S2001) и переходит на (S2010).
[179] На (S2010) информация кодирования для текущего изображения может быть декодирована из кодированного битового потока видео. Информация кодирования может указывать, что режим геометрического слияния включен для уровня кодирования, более высокого, чем уровень изображения текущего изображения, и максимальное количество кандидатов на слияние удовлетворяет условию.
[180] На этапе (S2020), когда для текущего изображения в кодированном битовом потоке видео передается сигнал о параметре уровня изображения, максимальное количество кандидатов на слияние в режиме геометрического слияния может быть определено на основе параметра уровня изображения и максимального количества кандидатов на слияние. Максимальное количество кандидатов на слияние в режиме геометрического слияния может быть от (i) 0 или (ii) одно из 2 до максимального количества кандидатов на слияние. В примере, режим геометрического слияния - это ТРМ, и максимальное количество кандидатов на слияние в режиме геометрического слияния - это максимальное количество кандидатов на слияние ТРМ. Параметр уровня изображения может указывать максимальное количество кандидатов на слияние в режиме геометрического слияния. Режим геометрического слияния отключен для текущего изображения на основании того, что максимальное количество кандидатов на слияние в режиме геометрического слияния равно 0. Режим геометрического слияния может быть включен для текущего изображения на основании того, что максимальное количество кандидатов на слияние в режиме геометрического слияния не равно 0.
[181] В примере, на этапе (S2030), может быть определено, равно ли 0 максимальное количество кандидатов на слияние в режиме геометрического слияния. Если максимальное количество кандидатов на слияние в режиме геометрического слияния определено равным 0, процесс (2000) переходит к (S2040). В противном случае процесс (2000) переходит к (S2050).
[182] На (S2040) режим геометрического слияния может быть отключен для текущего изображения. Процесс (2000) переходит к (S2099) и завершается.
[183] На (S2050) режим геометрического слияния может быть включен для текущего изображения. Процесс (2000) переходит к (S2099) и завершается.
[184] Процесс (2000) можно соответствующим образом адаптировать. Этап(ы) в процессе (2000) может быть изменен и/или опущен. Может быть добавлен дополнительные этап(ы). Может быть использован любой подходящий порядок реализации.
[185] На фиг. 21 показана блок-схема, описывающая процесс (2100) согласно варианту осуществления изобретения. Процесс (2100) может использоваться в параметрах сигнализации, указывающих максимальное количество кандидатов на слияние в режиме геометрического слияния для режима геометрического слияния. В различных вариантах осуществления процесс (2100) выполняется схемой обработки, например схемой обработки в оконечных устройствах (210), (220), (230) и (240), причем схема обработки выполняет функции видеокодера (303), схема обработки выполняет функции видеодекодера (310), схема обработки выполняет функции видеодекодера (410), схема обработки выполняет функции видеокодера (503), и т.п.В некоторых вариантах осуществления процесс (2100) реализован в программных инструкциях, таким образом, когда схема обработки выполняет программные инструкции, схема обработки выполняет процесс (2100). Процесс начинается с (S2101) и переходит Ha(S2110).
[186] На (S2110) информация кодирования для текущего изображения может быть декодирована из кодированного битового потока видео. Информация кодирования может указывать, что режим геометрического слияния включен на уровне последовательности, параметр уровня набора параметров изображения (PPS) в PPS равен 0, и максимальное количество кандидатов на слияние. Параметр уровня PPS может указывать максимальное количество кандидатов на слияние в режиме геометрического слияния. В примере, режим геометрического слияния - это ТРМ, и максимальное количество кандидатов на слияние в режиме геометрического слияния - это максимальное количество кандидатов на слияние ТРМ.
[187] На (S2120) параметр уровня изображения, сообщаемый для текущего изображения в кодированном битовом потоке видеоданных, может быть декодирован, когда максимальное количество кандидатов на слияние удовлетворяет условию. Параметр уровня изображения может указывать максимальное количество кандидатов на слияние в режиме геометрического слияния. Режим геометрического слияния представляет собой режим разделения треугольника (ТРМ), и максимальное количество кандидатов слияния в режиме геометрического слияния представляет собой максимальное количество кандидатов на слияние ТРМ. Условием является одно из (i) максимальное количество кандидатов на слияние больше 2 и (ii) максимальное количество кандидатов на слияние больше или равно 3. Процесс (2100) переходит к (S2199) и завершается.
[188] Процесс (2100) можно соответствующим образом адаптировать. Этап(ы) в процессе (2100) может быть изменен и/или опущен. Может быть добавлен дополнительный этап(ы). Может быть использован любой подходящий порядок реализации. Например, когда максимальное количество кандидатов на слияние не удовлетворяет условию, параметр уровня изображения не декодируется.
[189] Варианты осуществления настоящего изобретения можно использовать по отдельности или комбинировать в любом порядке. Кроме того, каждый из способов (или вариантов осуществления), кодера и декодера может быть реализован схемой обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров выполняют программу, которая хранится на невременном машиночитаемом носителе.
[190] Методы, описанные выше, могут быть реализованы в виде компьютерного программного обеспечения с использованием машиночитаемых инструкций и физически сохранены на одном или более машиночитаемых носителях. Например, на фиг.22 показана компьютерная система (2200), подходящая для реализации определенных вариантов осуществления раскрытого объекта изобретения.
[191] Компьютерное программное обеспечение может быть кодировано с использованием любого подходящего машинного кода или компьютерного языка, который может быть объектом сборки, компиляции, связывания или подобных механизмов для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и т.п., одним или более центральными процессорами компьютера (CPU), графическими процессорами (GPU) и т.п.
[192] Инструкции могут исполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства Интернета вещей и т.п.
[193] Компоненты, показанные на фиг.22 для компьютерной системы (2200), являются примерными по своей сущности и не предназначены для предложения каких-либо ограничений в отношении объема использования или функциональных возможностей компьютерного программного обеспечения, реализующего варианты осуществления настоящего раскрытия. Конфигурация компонентов также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, проиллюстрированных в примерном варианте осуществления компьютерной системы (2200).
[194] Компьютерная система (2200) может включать в себя определенные устройства ввода с человеко-машинным интерфейсом. Такое устройство ввода с человеко-машинным интерфейсом может реагировать на ввод одним или более пользователями-людьми посредством, например, тактильного ввода (например, нажатия клавиш, смахивания, движения управляющей перчатки), звукового ввода (например, голоса, хлопков в ладоши), визуального ввода (например: жестов), обонятельного ввода (не изображен). Устройства с человеко-машинным интерфейсом также могут использоваться для захвата определенных носителей, не обязательно напрямую связанных с сознательным вводом человеком, таких как звук (например, речь, музыка, окружающий звук), изображения (например, сканированные изображения, фотографические изображения, полученные из камеры для неподвижных изображений), видео (например, двухмерное видео, трехмерное видео, включая стереоскопическое видео).
[195] Устройства ввода с человеко-машинным интерфейсом могут включать в себя одно или более из следующих элементов (только по одному из каждого изображенного): клавиатура (2201), мышь (2202), трекпад (2203), сенсорный экран (2210), управляющая перчатка (не показана), джойстик (2205)), микрофон (2206), сканер (2207), камера (2208).
[196] Компьютерная система (2200) также может включать в себя определенные устройства вывода с человеко-машинным интерфейсом. Такие устройства вывода с человеко-машинным интерфейсом могут стимулировать чувства одного или более пользователе й-люд ей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода с человеко-машинным интерфейсом могут включать в себя тактильные устройства вывода (например, тактильную обратную связь от сенсорного экрана (2210), управляющей перчатки (не показана) или джойстика (2205), но также могут иметься устройства тактильной обратной связи, которые не служат в качестве устройств ввода), устройства вывода звука (например: динамики (2209), наушники (не показаны)), устройства вывода изображения (например, экраны (2210), включая ЭЛТ-экраны, ЖК-экраны, плазменные экраны, OLED-экраны, каждое из которых имеет или не имеет возможности ввода с сенсорного экрана, каждое с возможностью тактильной обратной связи или без нее - некоторые из которых могут быть способны выводить двухмерный визуальный вывод или более, чем трехмерный вывод с помощью таких средств, как стереографический вывод; очки виртуальной реальности (не изображены), голографические дисплеи и дымовые баки (не изображены)) и принтеры (не изображены).
[197] Компьютерная система (2200) также может включать в себя доступные для человека устройства хранения и связанные с ними носители, такие как оптические носители, включая CD/DVD ROM/RW (2220) с CD/DVD или подобные носители (2221), флэш-накопитель (2222), съемный жесткий диск или твердотельный накопитель (2223), унаследованные магнитные носители, такие как лента и дискета (не показаны), специализированные устройства на основе ROM/ASIC/PLD, такие как защитные ключи (не показаны) и т.п.
[198] Специалисты в данной области также должны понимать, что термин «машиночитаемый носитель», используемый в связи с раскрытым в настоящем документе объектом изобретения, не охватывает среды передачи, несущие волны или другие временные сигналы.
[199] Компьютерная система (2200) также может включать в себя интерфейс к одной или более коммуникационным сетям. Сети могут быть, например, беспроводными, проводными, оптическими. Кроме того, сети могут быть локальными, глобальными, городскими, автомобильными и промышленными, работающими в реальном времени, устойчивыми к задержкам и т.д. Примеры сетей включают в себя локальные сети, такие как Ethernet, беспроводные LAN, сотовые сети, включая GSM, 3G, 4G, 5G, LTE и т.п., проводные телевизионные или беспроводные глобальные цифровые сети, включая кабельное телевидение, спутниковое телевидение и наземное телевещание, автомобильное и промышленное оборудование, включая CAN-шину и т.д. Некоторым сетям обычно требуются внешние сетевые интерфейсные адаптеры, которые подключены к определенным портам данных общего назначения или периферийным шинам (2249) (например, к портам USB компьютерной системы (2200)); другие обычно интегрированы в ядро компьютерной системы (2200) путем присоединения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему ПК или интерфейс сотовой сети в компьютерную систему смартфона). Используя любую из этих сетей, компьютерная система (2200) может связываться с другими объектами. Такая связь может быть однонаправленной, только для приема (например, широковещательное телевидение), однонаправленной только для отправки (например, CAN-шина на определенные устройства с CAN-шиной) или двунаправленной, например, для других компьютерных систем, использующих локальную или глобальную цифровую сеть. В каждой из этих сетей и сетевых интерфейсов могут использоваться определенные протоколы и стеки протоколов, как описано выше.
[200] Вышеупомянутые устройства человеко-машинного интерфейса, доступные человеку устройства хранения и сетевые интерфейсы могут быть присоединены к ядру (2240) компьютерной системы (2200).
[201] Ядро (2240) может включать в себя один или несколько центральных процессоров (CPU) (2241), графических процессоров (GPU) (2242), специализированных программируемых процессоров в виде программируемых вентильных областей (FPGA) (2243), аппаратного обеспечения (2244) и т.д. Эти устройства, наряду с постоянной памятью (ROM) (2245), памятью с произвольным доступом (2246), внутренними запоминающими устройствами, такими как внутренние жесткие диски, не доступные пользователю, твердотельные накопители и т.п.(2247), могут быть подключены через системную шину (2248). В некоторых компьютерных системах системная шина (2248) может быть доступна в виде одного или более физических разъемов для обеспечения возможности расширения за счет дополнительных ЦП, ГП и т.п.Периферийные устройства могут быть подключены либо непосредственно к системной шине (2248) ядра, либо через периферийную шину (2249). Архитектуры для периферийной шины включают PCI, USB и т.п.
[202] CPU (2241), GPU (2242), FGPA (2243) и ускорители (2244) могут исполнять определенные инструкции, которые в сочетании могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в ПЗУ (2245) или ОЗУ (2246). Переходные данные также могут храниться в ОЗУ (2246), тогда как постоянные данные могут храниться, например, во внутреннем ЗУ большой емкости (2247). Быстрое хранение и извлечение на любое из запоминающих устройств могут быть обеспечены за счет использования кэш-памяти, которая может быть тесно связана с одним или более ЦП (2241), ГП (2242), ЗУ большой емкости (2247), ПЗУ (2245), ОЗУ (2246) и т.п.
[203] Машиночитаемый носитель может содержать компьютерный код для выполнения различных операций, реализуемых компьютером. Носители и компьютерный код могут быть специально спроектированными и сконструированными для целей настоящего изобретения, или они могут быть хорошо известными и доступными для специалистов в области компьютерного программного обеспечения.
[204] В качестве примера, а не ограничения, компьютерная система, имеющая архитектуру (2200) и, в частности, ядро (2240), может обеспечивать функциональность за счет процессора (ов) (включая CPU, GPU, FPGA, ускорители и т.п.), исполняющего программное обеспечение, воплощенное на одном или нескольких материальных машиночитаемых носителях. Такие машиночитаемые носители могут быть носителями, связанными с доступным для пользователя ЗУ большой емкости, как описано выше, а также определенным хранилищем ядра (2240), которые имеют невременной характер, например, внутренним ЗУ (2247) большой емкости ядра или ПЗУ (2245). Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром (2240). Машиночитаемый носитель может включать в себя одно или более запоминающих устройств или микросхем в соответствии с конкретными потребностями. Программное обеспечение может заставить ядро (2240) и, в частности, процессоры в нем (включая CPU, GPU, FGPA и т.п.) выполнять определенные процессы или определенные части конкретных процессов, описанных в данном документе, включая определение структур данных, хранящихся в RAM (2246), и изменение таких структур данных в соответствии с процессами, определенными программным обеспечением. В дополнение или в качестве альтернативы, компьютерная система может обеспечивать функциональность в результате логики, встроенной в аппаратную схему или иным образом воплощенной в схеме (например, ускоритель (2244)), которая может работать вместо или вместе с программным обеспечением для выполнения определенных процессов или отдельных частей конкретных процессов, описанных в данном документе. Ссылка на программное обеспечение может включать в себя логику и наоборот, где это применимо. Ссылка на машиночитаемый носитель может включать в себя схему (например, интегральную схему (1С)), хранящую программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или и то, и другое, где это применимо. Настоящее изобретение включает в себя любую подходящую комбинацию аппаратного и программного обеспечения.
Приложение А: Сокращения
JEM: объединенная исследовательская модель
VVC: универсальное кодирование видео
BMS: набор тестов
MV: вектор движения
HEVC: высокоэффективное видеокодирование
SEI: дополнительная расширенная информация
VUI: информация о свойствах видео
GOPs: группы изображений
TUs: единицы преобразования,
PUs: единицы предсказания
CTUs: единицы дерева кодирования
CTBs: блоки дерева кодирования
PBs: блоки предсказания
HRD: гипотетический эталонный декодер
SNR: соотношение сигнал-шум
CPUs (ЦП): центральные процессоры
GPUs (ГП): графические процессоры
CRT (ЭЛТ): электронно-лучевая трубка
LCD (ЖКД): жидкокристаллический дисплей
OLED: органический светоизлучающий диод
CD: компакт-диск
DVD: цифровой видеодиск
ROM (ПЗУ): постоянное запоминающее устройство
RAM (ОЗУ): оперативное запоминающее устройство
ASIC: специализированная интегральная схема
PLD: программируемое логическое устройство
LAN: локальная сеть
GSM: глобальная система мобильной связи
LTE: долгосрочное развитие
CANBus (CAN-шина): шина локальной сети контроллера
USB: универсальная последовательная шина
PCI: соединение периферийных компонентов
FPGA (ППВМ): программируемые пользователем вентильные матрицы
SSD: твердотельный накопитель
1С: интегральная схема
CU: единица кодирования
[205] Хотя это описание раскрывает несколько примерных вариантов осуществления, существуют изменения, перестановки и различные заменяющие эквиваленты, которые попадают в объем изобретения. Таким образом, будет принято во внимание, что специалисты в данной области техники смогут разработать многочисленные системы и способы, которые, хотя явно не показаны или не описаны здесь, воплощают принципы изобретения и, таким образом, находятся в рамках его сущности и объема.
Claims (41)
1. Способ декодирования видео в декодере, отличающийся тем, что содержит следующие этапы:
декодирование (S2010), из кодированного битового потока видео, информации кодирования для текущего изображения, причем информация кодирования указывает, что режим геометрического слияния включен для более высокого уровня кодирования, чем уровень изображения текущего изображения, и максимальное количество кандидатов на слияние удовлетворяет условию; и
определение максимального количества кандидатов на слияние в режиме геометрического слияния на основании информации о максимальном количестве кандидатов режима геометрического слияния в информации кодирования кодированного битового потока видео, причем информация о максимальном количестве кандидатов режима геометрического слияния указывает отношение между максимальным количеством кандидатов на слияние в режиме геометрического слияния и максимальным количеством кандидатов на слияние, при этом
определение максимального количества кандидатов на слияние в режиме геометрического слияния включает в себя определение максимального количества кандидатов на слияние в режиме геометрического слияния путем вычитания значения, указанного информацией о максимальном количестве кандидатов режима геометрического слияния, из максимального количества кандидатов на слияние.
2. Способ по п. 1, в котором режим геометрического слияния представляет собой режим разделения треугольника (ТРМ) и максимальное количество кандидатов на слияние в режиме геометрического слияния представляет собой максимальное количество кандидатов на слияние ТРМ.
3. Способ по п. 2, в котором уровень кодирования является уровнем последовательности.
4. Способ по п. 2, в котором условием является то, что максимальное количество кандидатов на слияние больше или равно 2.
5. Способ по п. 3, в котором условием является то, что максимальное количество кандидатов на слияние больше или равно 2; и
информация о максимальном количестве кандидатов режима геометрического слияния включена в параметр уровня изображения.
6. Способ по п. 5, в котором
параметр уровня набора параметров изображения (PPS), который указывает, что максимальное количество кандидатов на слияние ТРМ сигнализируется в кодированном битовом потоке видео для PPS, связанного с текущим изображением; и
параметр уровня PPS равен (i) числу в диапазоне, ограниченном 0 и (максимальное количество кандидатов на слияние - 1) или (ii) (максимальное количество кандидатов на слияние + 1).
7. Способ по п. 5, в котором параметр уровня набора параметров изображения (PPS), указывающий максимальное количество кандидатов на слияние ТРМ, не сигнализируется в кодированном битовом потоке видео для PPS, связанного с текущим изображением.
8. Способ по п. 7, в котором
кодированный битовый поток видео включает в себя заголовок изображения для текущего изображения; и
информация о максимальном количестве кандидатов режима геометрического слияния сигнализируется в заголовке изображения на основании того, что ТРМ включен для уровня последовательности, и максимальное количество кандидатов на слияние больше или равно 2, причем сигнализирование информации о максимальном количестве кандидатов режима геометрического слияния не зависит от параметра уровня PPS.
9. Способ по п. 5, в котором
кодированный битовый поток видео включает в себя набор параметров изображения (PPS), связанный с текущим изображением; и
параметр уровня PPS, указывающий максимальное количество кандидатов на слияние ТРМ, сигнализируется в PPS, по меньшей мере, на основании флага уровня PPS, указывающего, что параметр уровня PPS должен быть сигнализирован.
10. Способ по п. 9, в котором кодированный битовый поток видео включает в себя заголовок изображения для текущего изображения; и
информация о максимальном количестве кандидатов режима геометрического слияния сигнализируется в заголовке изображения на основании того, что ТРМ включен для уровня последовательности, максимальное количество кандидатов на слияние больше или равно 2, и флаг уровня PPS указывает, что параметр уровня PPS не должен быть сигнализирован.
11. Способ по п. 5, в котором
кодированный битовый поток видео включает в себя набор параметров изображения (PPS), связанный с текущим изображением; и
параметр уровня PPS, указывающий максимальное количество кандидатов на слияние ТРМ, сигнализируется в PPS, по меньшей мере, на основании того, что ТРМ включен для уровня последовательности.
12. Способ декодирования видео в декодере, отличающийся тем, что содержит следующие этапы:
декодирование (S2100), из кодированного битового потока видео, информации кодирования для текущего изображения, причем информация кодирования указывает, что режим геометрического слияния включен на уровне последовательности, информации о максимальном количестве кандидатов режима геометрического слияния, и максимального количества кандидатов на слияние, причем информация о максимальном количестве кандидатов режима геометрического слияния указывает отношение между максимальным количеством кандидатов на слияние в режиме геометрического слияния и максимальным количеством кандидатов на слияние; и
определение максимального количества кандидатов на слияние в режиме геометрического слияния на основании вычитания значения, указанного информацией о максимальном количестве кандидатов режима геометрического слияния, из максимального количества кандидатов на слияние.
13. Способ по п. 12, в котором режим геометрического слияния представляет собой режим разделения треугольника (ТРМ) и максимальное количество кандидатов на слияние в геометрическом режиме слияния представляет собой максимальное количество кандидатов на слияние ТРМ.
14. Способ по п. 12, в котором
максимальное количество кандидатов на слияние равно 2, и информация о максимальном количестве кандидатов режима геометрического слияния не сигнализируется в кодированном битовом потоке видео; и
способ дополнительно включает определение того, что максимальное количество кандидатов на слияние в режиме геометрического слияния равно 2.
15. Устройство декодирования видео, отличающееся тем, что содержит схему обработки, конфигурированную для:
декодирования, из кодированного битового потока видео, информации кодирования для текущего изображения, причем информация кодирования указывает, что режим геометрического слияния включен для более высокого уровня кодирования, чем уровень изображения текущего изображения, и максимальное количество кандидатов на слияние удовлетворяет условию; и
определения максимального количества кандидатов на слияние в геометрическом режиме слияния на основании информации о максимальном количестве кандидатов режима геометрического слияния в информации кодирования кодированного битового потока видео, причем информация о максимальном количестве кандидатов режима геометрического слияния указывает отношение между максимальным количеством кандидатов на слияние в режиме геометрического слияния и максимальным количеством кандидатов на слияние, при этом
максимальное количество кандидатов на слияние в режиме геометрического слияния определяется путем вычитания значения, указанного информацией о максимальном количестве кандидатов режима геометрического слияния, из максимального количества кандидатов на слияние.
16. Устройство по п. 15, в котором режим геометрического слияния представляет собой режим разделения треугольника (ТРМ), и максимальное количество кандидатов на слияние в режиме геометрического слияния представляет собой максимальное количество кандидатов на слияние ТРМ.
17. Устройство по п. 16, в котором уровень кодирования является уровнем последовательности.
18. Устройство по п. 16, в котором условием является то, что максимальное количество кандидатов на слияние больше или равно 2.
19. Устройство по п. 17, в котором
условием является то, что максимальное количество кандидатов на слияние больше или равно 2; и
информация о максимальном количестве кандидатов режима геометрического слияния включена в параметр уровня изображения.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/954,473 | 2019-12-28 | ||
US17/087,224 | 2020-11-02 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023117005A Division RU2023117005A (ru) | 2019-12-28 | 2020-12-09 | Cпособ и устройство для кодирования видео |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2799066C1 true RU2799066C1 (ru) | 2023-07-03 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150264374A1 (en) * | 2014-03-14 | 2015-09-17 | Vid Scale, Inc. | Systems and methods for rgb video coding enhancement |
RU2586035C2 (ru) * | 2010-07-09 | 2016-06-10 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для кодирования видео посредством использования слияния блоков и способ и устройство для декодирования видео посредством использования слияния блоков |
US20170332099A1 (en) * | 2016-05-13 | 2017-11-16 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
US20190124336A1 (en) * | 2010-05-04 | 2019-04-25 | Lg Electronics Inc. | Method and Apparatus for Processing a Video Signal |
WO2019240493A1 (ko) * | 2018-06-12 | 2019-12-19 | 한국전자통신연구원 | 문맥 적응적 이진 산술 부호화 방법 및 장치 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190124336A1 (en) * | 2010-05-04 | 2019-04-25 | Lg Electronics Inc. | Method and Apparatus for Processing a Video Signal |
RU2586035C2 (ru) * | 2010-07-09 | 2016-06-10 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для кодирования видео посредством использования слияния блоков и способ и устройство для декодирования видео посредством использования слияния блоков |
US20150264374A1 (en) * | 2014-03-14 | 2015-09-17 | Vid Scale, Inc. | Systems and methods for rgb video coding enhancement |
US20170332099A1 (en) * | 2016-05-13 | 2017-11-16 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
WO2019240493A1 (ko) * | 2018-06-12 | 2019-12-19 | 한국전자통신연구원 | 문맥 적응적 이진 산술 부호화 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200121904A (ko) | 비디오 디코딩을 위한 방법 및 장치 | |
US20200037002A1 (en) | Constraints on coding unit partition | |
KR20200125687A (ko) | 디코더 측 mv 도출 및 리파인먼트를 위한 개선 | |
KR20200116524A (ko) | 비디오 코딩을 위한 방법 및 장치 | |
KR20200128149A (ko) | 비디오 코딩을 위한 방법 및 장치 | |
KR20210049930A (ko) | 비디오 디코딩을 위한 방법 및 장치 | |
AU2023200251B2 (en) | Method and apparatus for video coding | |
WO2020023204A1 (en) | Method and apparatus for motion vector prediction using spatial and temporal combination | |
KR20200139215A (ko) | 서브-블록 기반 시간 움직임 벡터 예측을 위한 방법 및 장치 | |
KR20210036408A (ko) | 비디오 코딩을 위한 방법 및 장치 | |
JP2023154040A (ja) | ビデオコーディングのための方法および装置 | |
AU2024205764A1 (en) | Method and apparatus for video coding | |
US10904555B2 (en) | Method and apparatus for video coding | |
KR20200121369A (ko) | 비디오 코딩을 위한 방법 및 장치 | |
RU2799066C1 (ru) | Способ и устройство для кодирования видео | |
RU2801586C1 (ru) | Способ и устройство сигнализации флагов режима пропускания | |
RU2780424C1 (ru) | Способ и устройство для кодирования видео | |
RU2793708C1 (ru) | Способ и устройство для передачи размера списка кандидатов-предикторов для внутрикадровой компенсации блока | |
RU2804382C1 (ru) | Способ и устройство для кодирования видео | |
RU2777498C1 (ru) | Способ и устройство для кодирования видео | |
RU2801430C1 (ru) | Способ и устройство для режима кодирования на основе палитры под структурой локального двойственного дерева | |
RU2779931C1 (ru) | Способ и устройство для передачи информации о размере списка кандидатов предсказателя | |
RU2782435C1 (ru) | Способ и устройство кодирования или декодирования видео | |
RU2801587C1 (ru) | Способ и устройство для кодирования видео |