RU2803895C2 - Уточнение прогнозирования с компенсацией движения с помощью оптического потока - Google Patents
Уточнение прогнозирования с компенсацией движения с помощью оптического потока Download PDFInfo
- Publication number
- RU2803895C2 RU2803895C2 RU2022100377A RU2022100377A RU2803895C2 RU 2803895 C2 RU2803895 C2 RU 2803895C2 RU 2022100377 A RU2022100377 A RU 2022100377A RU 2022100377 A RU2022100377 A RU 2022100377A RU 2803895 C2 RU2803895 C2 RU 2803895C2
- Authority
- RU
- Russia
- Prior art keywords
- motion vector
- sample
- refinement
- determining
- prediction
- Prior art date
Links
Images
Abstract
Изобретение относится к кодированию видеосигналов. Технический результат – повышение эффективности кодирования при уменьшении сложности реализации. Для этого предложены средства для уточнения прогнозирования с компенсацией движения при кодировании видеосигналов на основе блоков. Прогнозирование с компенсацией движения используется для генерации прогнозируемых значений выборки в текущем блоке выборок. Значение разности прогнозирования и уточнение вектора движения для текущего блока передаются в битовом потоке. Для каждой выборки в текущем блоке рассчитывается пространственный градиент в выборке и скалярное произведение пространственного градиента и уточнения вектора движения. Скалярное произведение масштабируется на величину, определяемую значением разности прогнозирования, для получения значения разности выборки, и это значение разности выборки добавляется к прогнозируемому значению выборки для получения уточненного значения выборки. 6 н. и 18 з.п. ф-лы, 14 ил.
Description
Перекрестная ссылка на родственные заявки
Настоящая заявка представляет собой обычную заявку и испрашивает преимущество, согласно разделу 35 Свода законов США, §119(e), по предварительной заявке на патент США № 62/864,825, озаглавленной «Уточнение прогнозирования с компенсацией движения с помощью оптического потока», поданной 21 июня 2019 г., которая полностью включена в настоящий документ путем ссылки.
Предпосылки создания изобретения
Системы кодирования видеосигналов широко применяют для сжатия цифровых видеосигналов со снижением потребности в хранении и/или уменьшении ширины полосы пропускания таких сигналов. Среди различных типов систем кодирования видеосигналов, таких как системы на основе блоков, на основе вейвлетов и на основе объектов, в настоящее время чаще всего используют и развертывают гибридные системы кодирования видеосигналов на основе блоков. Примеры систем видеокодирования на основе блоков включают международные стандарты видеокодирования, такие как MPEG-1/2/4 часть 2, H.264/MPEG-4 часть 10 AVC, VC-1 и стандарт High Efficiency Video Coding (HEVC), который был разработан JCT-VC (Joint Collaborative Team on Video Coding (объединенной совместной группой по видеокодированию)), включавшей в себя группы ITU-T/SG16/Q.6/VCEG и ISO/IEC/MPEG.
В октябре 2017 г. группы ITU-T и ISO/IEC опубликовали совместное заявление о представлении предложений (CfP) по сжатию видеосигналов, позволяющих улучшить характеристики по сравнению с возможностями стандарта HEVC. В апреле 2018 г. на 10-м заседании JVET было рассмотрено и оценено 22 ответа на предложение CfP в категории стандартного динамического диапазона, демонстрирующее повышение эффективности сжатия по сравнению с HEVC приблизительно на 40%. На основании таких результатов оценки Объединенная группа экспертов по видеосигналам (JVET) запустила новый проект для разработки стандарта кодирования видеосигналов следующего поколения, который получил название Versatile Video Coding (VVC — универсальное кодирование видеосигналов). В том же месяце для демонстрации эталонной реализации стандарта VVC была создана эталонная кодовая база программного обеспечения, получившая название «тестовая модель VVC (VTM)». В первоначальной версии VTM-1.0 большинство модулей кодирования, включая внутреннее прогнозирование, внешнее прогнозирование, преобразование/обратное преобразование и квантование/деквантование, а также внутрипетлевые фильтры, соответствуют существующей структуре HEVC, за исключением того, что в VTM используется древовидная структура блочного разбиения множественного типа. При этом для упрощения оценки новых инструментов кодирования также была создана другая эталонная база программного обеспечения, получившая название «эталонный набор критериев» (BMS). В кодовой базе BMS в качестве эталона при оценке аналогичных технологий кодирования в процессе стандартизации VVC включен наследованный из Объединенной исследовательской модели (JEM) перечень инструментов кодирования, который обеспечивает более высокую эффективность кодирования и умеренную сложность реализации. В частности, в BMS-1.0 встроены девять инструментов кодирования JEM, включая 65 угловых направлений внутреннего прогнозирования, кодирование модифицированных коэффициентов, расширенное множественное преобразование (AMT) + 4 Ч 4 неразделимое вторичное преобразование (NSST), аффинную модель движения, обобщенный адаптивный контурный фильтр (GALF), усовершенствованное временное прогнозирование вектора движения (ATMVP), адаптивную точность вектора движения, уточнение вектора движения на стороне декодера (DMVR) и режим линейной цветовой модели (LM).
Изложение сущности изобретения
Варианты осуществления, описанные в настоящем документе, включают способы, используемые при кодировании и декодировании видеосигналов (в совокупности называются «кодированием»). Описаны системы и методы для уточнения прогнозирования с компенсацией движения при кодировании видеосигналов на основе блоков. Способ кодирования видеосигналов в соответствии с некоторыми вариантами осуществления включает в себя: использование прогнозирования с компенсацией движения, создание начального прогнозируемого значения выборки для по меньшей мере первого положения выборки в текущем блоке выборок; определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки; определение пространственного градиента значений выборки в первом положении выборки; определение значения разности выборки путем вычисления скалярного произведения пространственного градиента и уточнения вектора движения; и добавление значения разности выборки к исходному прогнозируемому значению выборки для получения уточненного значения выборки.
В некоторых вариантах осуществления способ реализуется декодером и определение уточнения вектора движения включает декодирование уточнения вектора движения из битового потока.
Некоторые варианты осуществления дополнительно включают в себя декодирование информации об уточнении прогнозирования из битового потока, причем определение значения разности выборки включает в себя масштабирование скалярного произведения с использованием количества, определяемого информацией об уточнении. Масштабирование скалярного произведения может включать в себя побитовое смещение скалярного произведения с использованием количества, определяемого информацией об уточнении.
В некоторых вариантах осуществления прогнозирование с компенсацией движения выполняется с использованием по меньшей мере одного вектора движения с начальным прогнозированием, а информация об уточнении прогнозирования включает в себя значение разности прогнозирования, представляющее собой разницу между начальным прогнозированием и уточнением прогнозирования.
В некоторых вариантах осуществления масштабирование скалярного произведения включает в себя сдвиг скалярного произведения вправо на количество битов, равное сумме значения разности прогнозирования и начального прогнозирования.
В некоторых вариантах осуществления способ реализуется кодером, определение уточнения вектора движения включает выбор уточнения вектора движения для значительного снижения ошибки прогнозирования в отношении входного видеоблока, и этот способ дополнительно включает в себя кодирование уточнения вектора движения в битовом потоке.
В некоторых вариантах осуществления уточнение вектора движения обозначается в битовом потоке в качестве индекса. В некоторых вариантах осуществления индекс может идентифицировать одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0). В некоторых других вариантах осуществления индекс может идентифицировать одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
В некоторых вариантах осуществления уточнение вектора движения связано со всеми положениями выборки в текущем блоке (или в текущем подблоке). В некоторых других вариантах осуществления уточнение вектора движения определяется по отдельности для каждой выборки и может отличаться для разных выборок.
Некоторые варианты осуществления включают в себя по меньшей мере один процессор, выполненный с возможностью реализации любого из способов, описанных в настоящем документе. В некоторых из таких вариантов осуществления предоставляется машиночитаемый носитель (например, энергонезависимый носитель), на котором хранятся инструкции для реализации любого из способов, описанных в настоящем документе.
Некоторые варианты осуществления включают машиночитаемый носитель (например, энергонезависимый носитель), на котором хранится видео, закодированное одним или более способами, описанными в настоящем документе.
Система кодера или декодера может содержать процессор и энергонезависимый машиночитаемый носитель, на котором хранятся инструкции для выполнения способов, описанных в настоящем документе.
Один или несколько из настоящих вариантов осуществления также включают машиночитаемый носитель данных, на котором хранятся инструкции для кодирования или декодирования видеоданных в соответствии с любым из способов, описанных выше. В настоящих вариантах осуществления также предоставляется машиночитаемый носитель данных (например, энергонезависимый носитель), на котором хранится битовый поток, генерируемый в соответствии со способами, описанными выше. В настоящих вариантах осуществления также предоставляются способ и устройство для передачи битового потока, сгенерированного в соответствии со способами, описанными выше. В настоящих вариантах осуществления также предоставляется компьютерный программный продукт, включающий инструкции по реализации любого из описанных способов.
Краткое описание графических материалов
На фиг. 1A представлена схема системы, иллюстрирующая пример системы связи, в которой могут быть реализованы один или более описанных вариантов осуществления;
На фиг. 1B представлена схема системы, иллюстрирующая пример модуля беспроводной передачи/приема (WTRU), который может быть использован в системе связи, проиллюстрированной на фиг. 1A, в соответствии с одним вариантом осуществления.
На фиг. 1C представлена функциональная блок-схема системы, используемой в некоторых вариантах осуществления, описанных в настоящем документе.
На фиг. 2A показана функциональная блок-схема видеокодера на основе блоков, такого как кодер, используемый для VVC.
На фиг. 2B представлена функциональная блок-схема видеодекодера на основе блоков, такого как декодер, используемый для VVC.
На фиг. 3A-3B показано прогнозирование с компенсацией движения.
На фиг. 4A показана аффинная модель движения с четырьмя параметрами.
На фиг. 4B проиллюстрировано выведение движения на уровне подблоков для аффинных блоков.
На фиг. 5 показан аффинный режим с шестью параметрами: V0, V1, and V2 — векторы движения контрольных точек; (MVx, MVy) — вектор движения подблока с центром в точке (x, y).
На фиг. 6 представлен вектор движения подблока VSB и уточнение пикселя .
На фиг. 7 показано использование соседних местоположений для обозначения дополнительных векторов движения.
На фиг. 8 представлена блок-схема, иллюстрирующая способы кодирования и декодирования, реализованные в некоторых вариантах осуществления, включая функции кодирования, которые могут быть реализованы как в кодере, так и в декодере.
На фиг. 9 представлена схема, иллюстрирующая пример системы связи.
Примеры устройств и сетей в соответствии с вариантами осуществления
На фиг. 1A представлена схема, иллюстрирующая пример системы 100 связи, в которой могут быть реализованы один или более описанных вариантов осуществления. Система 100 связи может представлять собой систему множественного доступа, от которой множество пользователей беспроводной связи получают содержимое, такое как голосовая информация, данные, видео, обмен сообщениями, широковещание и т. п. Система 100 связи может быть выполнена с возможностью предоставления множеству пользователей беспроводной связи доступа к такому содержимому посредством совместного использования системных ресурсов, включая ширину полосы пропускания беспроводного соединения. Например, в системах 100 связи может быть использован один или более способов доступа к каналу, таких как множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с временным разделением каналов (TDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с ортогональным частотным разделением каналов (OFDMA), FDMA с одной несущей (SC-FDMA), расширенное OFDM с безызбыточным расширенным дискретным преобразованием Фурье (DFT) с синхропакетом (ZT UW DTS-s OFDM), OFDM с синхропакетом (UW-OFDM), OFDM с фильтрацией ресурсного блока, блок фильтров с несколькими несущими (FBMC) и т. п.
Как показано на фиг. 1A, система 100 связи может включать в себя модули 102a, 102b, 102c, 102d беспроводной передачи/приема (WTRU), RAN 104/113, CN 106/115, коммутируемую телефонную сеть 108 общего пользования (PSTN), сеть Интернет 110 и другие сети 112, хотя следует понимать, что в описанных вариантах осуществления предполагается возможность применения любого количества WTRU, базовых станций, сетей и/или элементов сети. Каждый из WTRU 102a, 102b, 102c, 102d может представлять собой устройство любого типа, выполненное с возможностью функционирования и/или взаимодействия в среде беспроводной связи. Например, WTRU 102a, 102b, 102c, 102d, любой из которых может называться станцией и/или STA, могут быть выполнены с возможностью передачи и/или приема радиосигналов и могут включать в себя оборудование пользователя (UE), мобильную станцию, стационарный или мобильный абонентский модуль, абонентский модуль, пейджер, сотовый телефон, карманный персональный компьютер (PDA), смартфон, ноутбук, нетбук, персональный компьютер, беспроводной датчик, точку доступа или устройство Mi-Fi, устройство Интернета физических объектов (IoT), часы или другие носимые устройства, наголовный дисплей (HMD), транспортное средство, беспилотный радиоуправляемый летательный аппарат, медицинское устройство и приложения (например, применяемые в дистанционной хирургии), промышленное устройство и приложения (например, робот и/или другие беспроводные устройства, работающие в условиях промышленной и/или автоматизированной технологической цепочки), устройство, относящееся к бытовой электронике, устройство, работающее в коммерческой и/или промышленной беспроводной сети, и т.п. Любой из WTRU 102a, 102b, 102c и 102d можно взаимозаменяемо называть UE.
Системы 100 связи могут также включать в себя базовую станцию 114a и/или базовую станцию 114b. Каждая из базовых станций 114a, 114b может представлять собой устройство любого типа, выполненное с возможностью беспроводного взаимодействия с по меньшей мере одним из WTRU 102a, 102b, 102c, 102d для облегчения доступа к одной или более сетям связи, таким как CN 106/115, сеть Интернет 110 и/или другие сети 112. В качестве примера базовые станции 114a, 114b могут представлять собой базовые приемопередающие станции (BTS), станции Node-B, станции eNode B, станции Home Node B, станции Home eNode B, базовую станцию следующего поколения (gNB), NodeB на основании NR, контроллер пункта связи, точку доступа (AP), беспроводной маршрутизатор и т. п. Хотя каждая из базовых станций 114a, 114b показана как отдельный элемент, следует понимать, что базовые станции 114a, 114b могут включать в себя любое количество взаимно соединенных базовых станций и/или сетевых элементов.
Базовая станция 114a может быть частью RAN 104/113, которая может также включать в себя другие базовые станции и/или элементы сети (не показаны), такие как контроллер базовой станции (BSC), контроллер радиосети (RNC), ретрансляционные узлы и т. п. Базовая станция 114a и/или базовая станция 114b могут быть выполнены с возможностью передачи и/или приема радиосигналов на одной или более несущих частотах, которые могут называться сотой (не показана). Эти частоты могут относиться к лицензированному спектру, нелицензированному спектру или к сочетанию лицензированного и нелицензированного спектров. Сота может обеспечивать покрытие для беспроводного сервиса в конкретной географической зоне, которая может быть относительно фиксированной или которая может изменяться со временем. Сота может быть дополнительно разделена на сектора соты. Например, сота, связанная с базовой станцией 114a, может быть разделена на три сектора. Таким образом, в одном варианте осуществления базовая станция 114a может включать в себя три приемопередатчика, т. е. по одному для каждого сектора соты. В варианте осуществления в базовой станции 114a может быть использована технология «множественный вход — множественный выход» (MIMO) и может быть задействовано множество приемопередатчиков для каждого сектора соты. Например, для передачи и/или приема сигналов в требуемых пространственных направлениях можно использовать формирование лучей.
Базовые станции 114a, 114b могут обмениваться данными с одним или более из WTRU 102a, 102b, 102c, 102d посредством радиоинтерфейса 116, который может представлять собой любую подходящую систему беспроводной связи (например, для передачи сигналов в радиочастотном (РЧ), микроволновом спектре, спектре сантиметровых волн, спектре микрометровых волн, инфракрасном (ИК), ультрафиолетовом (УФ) спектре, спектре видимого света и т. д.). Радиоинтерфейс 116 может быть установлен с использованием любой подходящей технологии радиодоступа (RAT).
Более конкретно, как указано выше, система 100 связи может представлять собой систему множественного доступа, и в ней можно использовать одну или более схем доступа к каналу, например CDMA, TDMA, FDMA, OFDMA, SC-FDMA и т. п. Например, в базовой станции 114a в RAN 104/113 и WTRU 102a, 102b, 102c может быть реализована технология радиосвязи, такая как универсальный наземный доступ (UTRA) для универсальной системы мобильной связи (UMTS), в которой может быть установлен радиоинтерфейс 115/116/117 с использованием широкополосного CDMA (WCDMA). WCDMA может включать в себя протоколы связи, такие как высокоскоростной пакетный доступ (HSPA) и/или усовершенствованный HSPA (HSPA+). Протокол HSPA может включать в себя высокоскоростной пакетный доступ по нисходящей (DL) линии связи (HSDPA) и/или высокоскоростной пакетный доступ по восходящей (UL) линии связи (HSUPA).
В варианте осуществления в базовой станции 114a и WTRU 102a, 102b, 102c может быть реализована такая технология радиосвязи, как усовершенствованная сеть наземного радиодоступа UMTS (E-UTRA), которая может устанавливать радиоинтерфейс 116 с использованием стандарта долгосрочного развития сетей связи (LTE), и/или LTE-Advanced (LTE-A), и/или LTE-Advanced Pro (LTE-A Pro).
В варианте осуществления базовая станция 114a и WTRU 102a, 102b, 102c могут реализовывать такую технологию радиосвязи, как новая технология радиодоступа (NR Radio Access), которая может устанавливать радиоинтерфейс 116 с использованием технологии New Radio (NR).
В варианте осуществления в базовой станции 114a и WTRU 102a, 102b, 102c может быть реализовано множество технологий радиодоступа. Например, в совокупности в базовой станции 114a и WTRU 102a, 102b, 102c могут быть реализованы технологии радиодоступа LTE и NR, например, с использованием принципов двойного подключения (DC). Таким образом, радиоинтерфейс, используемый WTRU 102a, 102b, 102c, может характеризоваться применением множества типов технологий радиодоступа и/или передачами, отправляемыми на базовые станции / с базовых станций, относящихся к множеству типов (например, eNB и gNB).
В других вариантах осуществления в базовой станции 114a и WTRU 102a, 102b, 102c могут быть реализованы технологии радиосвязи, такие как IEEE 802.11 (т. е. WiFi), IEEE 802.16 (т. е. технология широкополосного доступа в микроволновом диапазоне (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, временный стандарт 2000 (IS-2000), временный стандарт 95 (IS-95), временный стандарт 856 (IS-856), глобальная система мобильной связи (GSM), развитие стандарта GSM с увеличенной скоростью передачи данных (EDGE), GSM EDGE (GERAN) и т. п.
Базовая станция 114b, показанная на фиг. 1A, может представлять собой, например, беспроводной маршрутизатор, станцию Home Node B, станцию Home eNode B или точку доступа, и в ней может быть использована любая подходящая RAT для облегчения обеспечения беспроводной связи в локализованной зоне, такой как коммерческое предприятие, жилое помещение, транспортное средство, учебное заведение, промышленный объект, воздушный коридор (например, для использования беспилотными радиоуправляемыми летательными аппаратами), проезжая часть и т. п. В одном варианте осуществления в базовой станции 114b и WTRU 102c, 102d может быть реализована технология радиосвязи, такая как IEEE 802.11, для создания беспроводной локальной сети (WLAN). В варианте осуществления в базовой станции 114b и WTRU 102c, 102d может быть реализована технология радиосвязи, такая как IEEE 802.15, для создания беспроводной персональной сети (WPAN). В еще одном варианте осуществления в базовой станции 114b и WTRU 102c, 102d можно использовать RAT на основе сот (например, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR и т. п.) для создания пикосоты или фемтосоты. Как показано на фиг. 1A, базовая станция 114b может иметь прямое соединение с сетью Интернет 110. Таким образом, для базовой станции 114b может не требоваться доступа к сети Интернет 110 посредством CN 106/115.
RAN 104/113 может обмениваться данными с CN 106/115, которая может представлять собой сеть любого типа, выполненную с возможностью предоставления услуг передачи голосовой информации, данных, приложений и/или голосовой связи по протоколу (VoIP) сети Интернет одному или более из WTRU 102a, 102b, 102c, 102d. К данным могут предъявляться различные требования по качеству обслуживания (QoS), например различные требования по производительности, требования к задержке, требования к отказоустойчивости, требования к надежности, требования к скорости передачи данных, требования к мобильности и т. п. Сеть CN 106/115 может предоставлять управление вызовами, услуги биллинга, услуги мобильной связи на основании местоположения, предварительно оплаченные вызовы, возможность связи с сетью Интернет, распределение видеосигналов и т. п. и/или выполнять функции высокоуровневой защиты, такие как аутентификация пользователей. Хотя на фиг. 1A это не показано, следует понимать, что RAN 104/113 и/или CN 106/115 могут прямо или косвенно обмениваться данными с другими RAN, в которых использована такая же RAT, что и RAN 104/113, или другая RAT. Например, в дополнение к соединению с RAN 104/113, в которой может быть использована технология радиосвязи NR, CN 106/115 может также обмениваться данными с другой RAN (не показана), использующей технологию радиосвязи GSM, UMTS, CDMA 2000, WiMAX, E-UTRA или WiFi.
CN 106/115 может также выступать в качестве шлюза для WTRU 102a, 102b, 102c, 102d, чтобы обеспечивать доступ к сети PSTN 108, сети Интернет 110 и/или другим сетям 112. PSTN 108 может включать в себя телефонные сети с коммутацией каналов, которые предоставляют традиционные услуги телефонной связи (POTS). Интернет 110 может включать в себя глобальную систему взаимно соединенных компьютерных сетей и устройств, которые используют распространенные протоколы связи, такие как протокол управления передачей (TCP), протокол пользовательских дейтаграмм (UDP) и/или протокол Интернета (IP) в наборе протоколов Интернета TCP/IP. Сети 112 могут включать в себя проводные и/или беспроводные сети связи, которые принадлежат другим поставщикам услуг и/или управляются ими. Например, сети 112 могут включать в себя другую CN, соединенную с одной или более RAN, в которых может быть использована такая же RAT, как и в RAN 104/113, или другая RAT.
Некоторые или все из WTRU 102a, 102b, 102c, 102d в системе 100 связи могут включать в себя многорежимные возможности (например, WTRU 102a, 102b, 102c, 102d могут включать в себя множество приемопередатчиков для связи с разными беспроводными сетями по разным беспроводным линиям связи). Например, WTRU 102c, показанный на фиг. 1A, может быть выполнен с возможностью взаимодействия с базовой станцией 114a, которая может использовать технологию радиосвязи на основе сот, а также с базовой станцией 114b, которая может использовать технологию радиосвязи IEEE 802.
На фиг. 1B представлена схема системы, иллюстрирующая пример WTRU 102. Как показано на фиг. 1B, WTRU 102 может включать в себя, помимо прочего, процессор 118, приемопередатчик 120, передающий/приемный элемент 122, динамик/микрофон 124, клавиатуру 126, дисплей/сенсорную панель 128, несъемное запоминающее устройство 130, съемное запоминающее устройство 132, источник 134 питания, набор 136 микросхем глобальной системы определения местоположения (GPS) и/или другие периферийные устройства 138. Следует понимать, что WTRU 102 может включать в себя любую подкомбинацию вышеперечисленных элементов и при этом соответствовать варианту осуществления.
Процессор 118 может представлять собой процессор общего назначения, процессор специального назначения, традиционный процессор, цифровой сигнальный процессор (DSP), множество микропроцессоров, один или более микропроцессоров, связанных с ядром DSP, контроллер, микроконтроллер, специализированные интегральные схемы (ASIC), схемы программируемых пользователем вентильных матриц (FPGA), интегральную схему (IC) любого другого типа, конечный автомат и т.п. Процессор 118 может выполнять кодирование сигналов, обработку данных, управление мощностью, обработку ввода/вывода и/или иметь любые другие функциональные возможности, необходимые WTRU 102 для функционирования в среде беспроводной связи. Процессор 118 может быть соединен с приемопередатчиком 120, который может быть соединен с передающим/приемным элементом 122. Хотя на фиг. 1B процессор 118 и приемопередатчик 120 показаны в виде отдельных компонентов, следует понимать, что процессор 118 и приемопередатчик 120 могут быть выполнены как единое целое и встроены в электронный блок или микросхему.
Передающий/приемный элемент 122 может быть выполнен с возможностью передачи сигналов на базовую станцию (например, базовую станцию 114a) или приема от нее сигналов по радиоинтерфейсу 116. Например, в одном варианте осуществления передающий/приемный элемент 122 может представлять собой антенну, выполненную с возможностью передачи и/или приема РЧ-сигналов. В варианте осуществления передающий/приемный элемент 122 может представлять собой излучатель/детектор, выполненный с возможностью передачи и/или приема, например, сигналов в ИК-, УФ-спектре или спектре видимого света. В еще одном варианте осуществления передающий/приемный элемент 122 может быть выполнен с возможностью передачи и/или приема сигналов как в РЧ-спектре, так и в спектре видимого света. Следует понимать, что передающий/приемный элемент 122 может быть выполнен с возможностью передачи и/или приема любой комбинации радиосигналов.
Хотя на фиг. 1B передающий/приемный элемент 122 показан в виде единственного элемента, WTRU 102 может включать в себя любое количество передающих/приемных элементов 122. Более конкретно, в WTRU 102 может быть использована технология MIMO. Таким образом, в одном варианте осуществления WTRU 102 может включать в себя два или более передающих/приемных элементов 122 (например, множество антенн) для передачи и приема радиосигналов по радиоинтерфейсу 116.
Приемопередатчик 120 может быть выполнен с возможностью модуляции сигналов, передаваемых посредством передающего/приемного элемента 122, а также демодуляции сигналов, принятых посредством передающего/приемного элемента 122. Как указано выше, WTRU 102 может иметь многорежимные возможности. Таким образом, приемопередатчик 120 может включать в себя множество приемопередатчиков, с помощью которых WTRU 102 получает возможность взаимодействия посредством множества RAT, таких как, например, NR и IEEE 802.11.
Процессор 118 WTRU 102 может быть соединен с динамиком/микрофоном 124, клавиатурой 126 и/или дисплеем/сенсорной панелью 128 (например, жидкокристаллическим дисплеем (LCD) или дисплеем на органических светодиодах (OLED)) и может принимать от них данные, вводимые пользователем. Процессор 118 может также выводить пользовательские данные на динамик/микрофон 124, клавиатуру 126 и/или дисплей/сенсорную панель 128. Кроме того, процессор 118 может иметь доступ к информации с подходящего запоминающего устройства любого типа, такого как несъемное запоминающее устройство 130 и/или съемное запоминающее устройство 132, и хранить на нем данные. Несъемное запоминающее устройство 130 может включать в себя оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), жесткий диск или запоминающее устройство любого другого типа. Съемное запоминающее устройство 132 может включать в себя карту модуля идентификации абонента (SIM), карту памяти, защищенную цифровую карту памяти (SD) и т. п. В других вариантах осуществления процессор 118 может осуществлять доступ к информации с запоминающего устройства, которое физически размещено не в WTRU 102, а, например, на сервере или домашнем компьютере (не показан), и хранить на нем данные.
Процессор 118 может принимать питание от источника 134 питания и может быть выполнен с возможностью управления питанием и/или распределения питания на другие компоненты в WTRU 102. Источник 134 питания может представлять собой любое подходящее устройство для подачи питания на WTRU 102. Например, источник 134 питания может включать в себя одну или более сухих батарей (например, никель-кадмиевых (NiCd), никель-цинковых (NiZn), никель-металл-гидридных (NiMH), литий-ионных (Li-ion) и т. п.), солнечных элементов, топливных элементов и т.п.
Процессор 118 может также быть соединен с набором 136 микросхем GPS, который может быть выполнен с возможностью предоставления информации о местоположении (например, долготы и широты) относительно текущего местоположения WTRU 102. Дополнительно или вместо информации от набора 136 микросхем GPS модуль WTRU 102 может принимать информацию о местоположении по радиоинтерфейсу 116 от базовой станции (например, от базовых станций 114a, 114b) и/или определять свое местоположение на основании синхронизации сигналов, принимаемых от двух или более соседних базовых станций. Следует понимать, что WTRU 102 может получать информацию о местоположении посредством любого подходящего способа определения местоположения и при этом соответствовать варианту осуществления.
Процессор 118 может быть дополнительно соединен с другими периферийными устройствами 138, которые могут включать в себя один или более программных и/или аппаратных модулей, которые обеспечивают дополнительные признаки, функциональные возможности и/или возможности по установлению проводной или беспроводной связи. Например, периферийные устройства 138 могут включать в себя акселерометр, электронный компас, спутниковый приемопередатчик, цифровую камеру (для фото- и/или видеосъемки), порт универсальной последовательной шины (USB), вибрационное устройство, телевизионный приемопередатчик, беспроводную гарнитуру, модуль Bluetooth®, радиомодуль с частотной модуляцией (FM), цифровой музыкальный проигрыватель, мультимедийный проигрыватель, модуль для воспроизведения видеоигр, Интернет-браузер, устройство виртуальной реальности и/или дополненной реальности (VR/AR), трекер активности и т. п. Периферийные устройства 138 могут включать в себя один или более датчиков, причем датчики могут представлять собой один или более из гироскопа, акселерометра, датчика Холла, магнитометра, датчика ориентации, датчика приближения, датчика температуры, датчика времени; датчика географического положения; высотомера, датчика освещенности, датчика касания, магнитометра, барометра, датчика жеста, биометрического датчика и/или датчика влажности.
WTRU 102 может включать в себя полнодуплексное радиоустройство, для которого передача и прием некоторых или всех сигналов, например, связанных с конкретными подкадрами как для UL (например, для передачи), так и для нисходящей линии связи (например, для приема), могут быть осуществлены совместно и/или одновременно. Полнодуплексное радиоустройство может включать в себя блок управления помехами для снижения уровня и/или по существу устранения собственных помех с помощью либо аппаратного обеспечения (например, дросселя), либо обработки сигнала с помощью процессора (например, отдельного процессора (не показан) или процессора 118). В варианте осуществления WRTU 102 может содержать полудуплексное радиоустройство для передачи и приема некоторых или всех сигналов (например, связанных с конкретными подкадрами либо для UL (например, для передачи), либо для нисходящей линии связи (например, для приема)).
Хотя WTRU описан на фиг. 1A–1B как беспроводной терминал, предполагается, что в определенных типовых вариантах осуществления с таким терминалом можно использовать (например, временно или постоянно) проводные интерфейсы связи с сетью связи.
В типовых вариантах осуществления другая сеть 112 может представлять собой WLAN.
С учетом фиг. 1A–1B и соответствующего описания одна или более или все из функций, описанных в настоящем документе, могут быть реализованы одним или более устройствами эмуляции (не показаны). Устройства эмуляции могут представлять собой одно или более устройств, выполненных с возможностью эмуляции одной или более или всех функций, описанных в настоящем документе. Например, устройства эмуляции можно применять для испытания других устройств и/или для моделирования функций сети и/или WTRU.
Устройства эмуляции могут быть выполнены с возможностью реализации одного или более испытаний других устройств в лабораторной среде и/или в сетевой среде оператора. Например, одно или более устройств эмуляции могут выполнять одну или более функций или все функции, при этом они полностью или частично реализованы и/или развернуты в качестве части проводной и/или беспроводной сети связи, для испытания других устройств в сети связи. Одно или более устройств эмуляции могут выполнять одну или более функций или все функции, при этом они временно реализованы/развернуты в качестве части проводной и/или беспроводной сети связи. Устройство эмуляции может быть непосредственно соединено с другим устройством для испытания и/или выполнения испытания с использованием беспроводной связи посредством канала беспроводной связи.
Одно или более устройств эмуляции могут выполнять одну или более функций, включая все функции, и при этом не быть реализованными/развернутыми в качестве части проводной и/или беспроводной сети связи. Например, устройства эмуляции можно использовать в сценарии испытания в испытательной лаборатории и/или в неразвернутой (например, испытательной) проводной и/или беспроводной сети связи для проведения испытания одного или более компонентов. Одно или более устройств эмуляции могут представлять собой испытательное оборудование. Для передачи и/или приема данных в устройствах эмуляции можно использовать прямое РЧ-соединение и/или беспроводные связи посредством РЧ-схемы (которая может, например, включать в себя одну или более антенн).
Примеры систем.
Некоторые варианты осуществления реализованы с использованием таких систем, как система, показанная на фиг. 1C. На фиг. 1C представлена блок-схема, иллюстрирующая пример системы, в которой реализованы различные аспекты и примеры. Система 1000 может быть реализована в виде устройства, включающего в себя различные компоненты, описанные ниже, с возможностью выполнения одного или более действий, описанных в настоящем документе. Примерами таких устройств являются, без ограничений, различные электронные устройства, такие как персональные компьютеры, ноутбуки, смартфоны, планшетные компьютеры, телевизионные приставки, цифровые телевизионные приемники, персональные системы видеозаписи, подключенные бытовые устройства и серверы. Элементы системы 1000 по отдельности или в комбинации могут быть реализованы в виде одной интегральной схемы (IC), множества IC и/или дискретных компонентов. Например, по меньшей мере в одном варианте осуществления элементы системы 1000 для обработки и работы кодера/декодера распределены по множеству IC и/или дискретных компонентов. В различных вариантах осуществления система 1000 подключена с возможностью связи с одной или несколькими другими системами или другими электронными устройствами, например, посредством шины связи или с помощью специальных портов ввода и/или вывода. В различных вариантах осуществления система 1000 выполнена с возможностью реализации одного или более аспектов, описанных в настоящем документе.
Система 1000 включает в себя по меньшей мере один процессор 1010, выполненный с возможностью исполнения загруженных в него команд для реализации, например, команд для реализации различных аспектов, описанных в настоящем документе. Процессор 1010 может включать в себя встроенное запоминающее устройство, интерфейс ввода/вывода и различные другие соединения и элементы, известные специалистам в данной области. Система 1000 включает в себя по меньшей мере одно запоминающее устройство 1020 (например, энергозависимое запоминающее устройство и/или энергонезависимое запоминающее устройство). Система 1000 включает в себя устройство хранения данных 1040, которое может включать в себя энергонезависимое запоминающее устройство и/или энергозависимое запоминающее устройство, включая, среди прочего, электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), постоянное запоминающее устройство (ПЗУ), программируемое постоянное запоминающее устройство (ППЗУ), оперативное запоминающее устройство (ОЗУ), динамическое оперативное запоминающее устройство (ДОЗУ), статическое оперативное запоминающее устройство (СОЗУ), флэш-память, магнитный диск и/или оптический диск. Устройство хранения данных 1040 может включать в себя, среди прочего, внутреннее устройство хранения данных, присоединенное устройство хранения данных (включая съемные и несъемные устройства хранения данных) и/или сетевое устройство хранения данных.
Система 1000 включает в себя модуль кодера/декодера 1030, выполненный, например, с возможностью обработки данных для предоставления закодированного или декодированного видеопотока, и модуль кодера/декодера 1030 может включать в себя собственный процессор и запоминающее устройство. Модуль кодера/декодера 1030 представляет собой модуль (модули), который может быть встроен в устройство для выполнения функций кодирования и/или декодирования. Как известно, устройство может включать в себя один или оба модуля кодирования и декодирования. Кроме того, модуль кодера/декодера 1030 может быть реализован в виде отдельного элемента системы 1000 или может быть встроен в процессор 1010 в виде комбинации аппаратного и программного обеспечения, как известно специалистам в данной области.
Программный код, подлежащий загрузке в процессор 1010 или кодер/декодер 1030 для выполнения различных аспектов, описанных в настоящем документе, может храниться в устройстве хранения данных 1040, а затем загружаться в запоминающее устройство 1020 для исполнения процессором 1010. В соответствии с различными вариантами осуществления в одном или нескольких элементах, в том числе в процессоре 1010, запоминающем устройстве 1020, устройстве хранения данных 1040 и модуле кодера/декодера 1030, могут храниться один или несколько различных элементов во время выполнения процессов, описанных в настоящем документе. Такие элементы, хранящиеся в устройствах, могут включать в себя, без ограничений, входной видеопоток, декодированный видеопоток или части декодированного видеопотока, битовый поток, матрицы, переменные, промежуточные или конечные результаты обработки уравнений, формул, операций и функциональной логики.
В некоторых вариантах осуществления запоминающее устройство внутри процессора 1010 и/или модуля кодера/декодера 1030 используется для хранения команд и для предоставления рабочей памяти, используемой для обработки данных во время кодирования или декодирования. Однако в других вариантах осуществления запоминающее устройство, являющееся внешним по отношению к устройству обработки (например, устройство обработки может представлять собой процессор 1010 или модуль кодера/декодера 1030), используется для одной или более из этих функций. Внешнее запоминающее устройство может представлять собой запоминающее устройство 1020 и/или устройство хранения данных 1040, например динамическое энергозависимое запоминающее устройство и/или энергонезависимую флэш-память. В нескольких вариантах осуществления внешняя энергонезависимая флэш-память используется для хранения операционной системы устройства, например, телевизора. По меньшей мере в одном варианте осуществления быстродействующее внешнее динамическое энергозависимое запоминающее устройство, например, ОЗУ, используют в качестве рабочего запоминающего устройства для операций кодирования и декодирования видеосигналов, например, MPEG-2 (аббревиатура «MPEG» относится к группе экспертов в области движущихся изображений Moving Picture Experts Group, группа стандартов MPEG-2 также известна как ISO/IEC 13818, а 13818-1 также имеет название H.222, и 13818-2 также имеет название H.262), HEVC (аббревиатура «HEVC» относится к методу высокоэффективного кодирования видеосигналов High Efficiency Video Coding, также известному как H.265 и MPEG-H Part 2) или VVC (Versatile Video Coding, новый стандарт, разработанный JVET, Объединенной группой экспертов по видеосигналам).
Ввод данных в элементы системы 1000 может осуществляться через различные устройства ввода, как указано в блоке 1130. Такие устройства ввода включают в себя, без ограничений, (i) радиочастотную (РЧ) часть, которая принимает РЧ-сигнал, передаваемый, например, по беспроводной связи с помощью передающей станции, (ii) терминал ввода компонента (COMP) (или набор терминалов ввода COMP), (iii) терминал ввода универсальной последовательной шины (USB) и/или (iv) терминал ввода мультимедийного интерфейса высокой четкости (HDMI). Другие примеры, не показанные на фиг. 1C, включают в себя составное видеоизображение.
В различных вариантах осуществления устройства ввода (блок 1130), снабжены соответствующими элементами обработки входных данных, которые известны специалистам в данной области. Например, РЧ-часть может быть связана с элементами, подходящими для (i) выбора желаемой частоты (это также называется выбором сигнала или ограничением полосы частот), (ii) преобразования выбранного сигнала с понижением частоты, (iii) ограничения полосы частот для получения более узкой полосы частот для выбора (в том числе) полосы частот сигнала, которая в определенных вариантах осуществления может называться каналом, (iv) демодулирования сигнала с пониженной частотой и ограниченной полосой частот, (v) выполнения коррекции ошибок и (vi) демультиплексирования для выбора желаемого потока пакетов данных. РЧ-часть в различных вариантах осуществления включает в себя один или более элементов для выполнения этих функций, например, селекторы частоты, селекторы сигнала, ограничители полосы частот, селекторы каналов, фильтры, понижающие преобразователи, демодуляторы, корректоры ошибок и демультиплексоры. РЧ-часть может включать в себя переключатель каналов, который выполняет различные из этих функций, включая, например, преобразование принятого сигнала с понижением частоты в более низкую частоту (например, промежуточную частоту или частоту, близкую к основной полосе частот) или в основную полосу частот. В одном варианте осуществления телевизионной приставки РЧ-часть и связанный с ней элемент обработки входных данных принимают РЧ-сигнал, передаваемый по проводу (например, кабелю), и выполняют выбор частоты путем фильтрации, преобразования с понижением частоты и повторной фильтрации для достижения требуемого диапазона частот. В рамках различных вариантов осуществления порядок описанных выше (и других) элементов изменяется, некоторые из этих элементов удаляются и/или добавляются другие элементы, выполняющие аналогичные или иные функции. Добавление элементов может включать в себя встраивание элементов между существующими элементами, например, добавление усилителей и аналого-цифрового преобразователя. В различных вариантах осуществления РЧ-часть включает в себя антенну.
Терминалы USB и/или HDMI могут дополнительно включать в себя соответствующие интерфейсные процессоры для подключения системы 1000 к другим электронным устройствам через соединения USB и/или HDMI. Следует понимать, что различные аспекты входной обработки, например, коррекция ошибок Рида-Соломона, при необходимости могут быть реализованы, например, в пределах отдельной входной обработки данных IC или в процессоре 1010. Аналогичным образом, аспекты обработки интерфейса USB или HDMI при необходимости могут быть реализованы в отдельных IC интерфейса или в процессоре 1010. Демодулированный, исправленный и демультиплексированный поток данных подают на различные элементы обработки, включая, например, процессор 1010 и кодер/декодер 1030, работающие в сочетании с элементами системы хранения информации для необходимой обработки потока данных, чтобы представить данные на устройстве вывода.
Различные элементы системы 1000 могут быть предусмотрены внутри интегрированного корпуса, и в пределах такого интегрированного корпуса различные элементы могут быть взаимно соединены и передавать данные между собой с помощью подходящей соединительной конструкции 1140, например, внутренней шины, известной специалистам в данной области, включая шину Inter-IC (I2C), проводов и печатных плат.
Система 1000 включает в себя интерфейс связи 1050, который обеспечивает связь с другими устройствами по каналу связи 1060. Интерфейс связи 1050 может включать в себя, среди прочего, приемопередатчик, выполненный с возможностью передачи и приема данных по каналу связи 1060. Интерфейс связи 1050 может включать в себя, без ограничений, модем или сетевую плату, а канал связи 1060 может быть реализован, например, в проводном и/или беспроводном варианте.
В различных вариантах осуществления данные передаются в систему 1000 с использованием беспроводной сети, такой как сеть Wi-Fi, например IEEE 802.11 (аббревиатура «IEEE» относится к Институту инженеров по электротехнике и электронике). Сигнал Wi-Fi в рамках этих вариантов осуществления принимается по каналу связи 1060 и интерфейсу связи 1050, которые выполнены с возможностью связи по Wi-Fi. Канал связи 1060 в рамках этих вариантов осуществления, как правило, соединен с точкой доступа или маршрутизатором, который обеспечивает доступ к внешним сетям, в том числе сети Интернет, для обеспечения возможности потоковой и иной передачи данных. В других вариантах осуществления потоковые данные поступают в систему 1000 с помощью телевизионной приставки, которая доставляет данные через соединение HDMI блока ввода 1130. В других вариантах осуществления потоковые данные поступают в систему 1000 с помощью РЧ-соединения блока ввода 1130. Как указано выше, в рамках различных вариантов осуществления не происходит потоковой передачи данных. Кроме того, в различных вариантах осуществления используются беспроводные сети, отличные от Wi-Fi, например, сотовая сеть или сеть Bluetooth.
Система 1000 может подавать выходной сигнал на различные устройства вывода, включая дисплей 1100, динамики 1110 и другие периферийные устройства 1120. Дисплей 1100 в различных вариантах осуществления включает в себя, например, сенсорный дисплей, дисплей на органических светодиодах (OLED), изогнутый дисплей и/или складываемый дисплей. Дисплей 1100 может быть предназначен для работы с телевизором, планшетным компьютером, ноутбуком, сотовым телефоном (мобильным телефоном) или другим устройством. Дисплей 1100 также может быть встроен в другие компоненты (например, как это реализовано в смартфоне) или может представлять собой отдельный компонент (например, внешний монитор на ноутбуке). В различных примерах вариантов осуществления другие периферийные устройства 1120 включают в себя, например, автономный цифровой видеодиск (или универсальный цифровой диск) («DVR» для обоих терминов), проигрыватель дисков, стереосистему и/или осветительную систему. В различных вариантах осуществления используются одно или более периферийных устройств 1120, которые обеспечивают выполнение функции, основанной на выходных данных системы 1000. Например, проигрыватель дисков выполняет функцию воспроизведения выходного сигнала системы 1000.
В различных вариантах осуществления управляющие сигналы передаются между системой 1000 и дисплеем 1100, динамиками 1110 или другими периферийными устройствами 1120 с использованием таких методов передачи сигналов, как AV.Link, Consumer Electronics Control (CEC) и других протоколов связи, которые обеспечивают возможность последовательного управления устройствами с вмешательством пользователя или без него. Устройства вывода могут быть соединены с возможностью связи с системой 1000 посредством выделенных соединений с помощью соответствующих интерфейсов 1070, 1080 и 1090. В альтернативном варианте осуществления устройства вывода могут быть подключены к системе 1000 с помощью канала связи 1060 посредством интерфейса связи 1050. Дисплей 1100 и динамики 1110 могут быть интегрированы в единый блок с другими компонентами системы 1000 в электронном устройстве, например, телевизоре. В различных вариантах осуществления интерфейс дисплея 1070 включает в себя драйвер дисплея, например, контроллер синхронизации (T Con).
В альтернативном варианте осуществления дисплей 1100 и динамик 1110 могут работать отдельно от одного или более других компонентов, например, если РЧ-часть блока ввода 1130 является частью отдельной телевизионной приставки. В различных вариантах осуществления, в которых дисплей 1100 и динамики 1110 являются внешними компонентами, выходной сигнал может выводиться через специальные выходные соединения, включая, например, порты HDMI, порты USB или выходы COMP.
Варианты осуществления могут быть реализованы с помощью компьютерного программного обеспечения, исполняемого процессором 1010, или аппаратного обеспечения, или с помощью комбинации аппаратного и программного обеспечения. В качестве примера, не имеющего ограничительного характера, варианты осуществления могут быть реализованы в виде одной или более интегральных схем. Запоминающее устройство 1020 может быть реализовано в соответствии с любым его типом, подходящим для технической среды, и может быть реализовано с использованием любой подходящей технологии хранения данных, в том числе оптических запоминающих устройств, магнитных запоминающих устройств, полупроводниковых запоминающих устройств, постоянных запоминающих устройств и съемных запоминающих устройств, в качестве примеров, не имеющих ограничительного характера. Процессор 1010 может быть реализован в соответствии с любым его типом, подходящим для технической среды, и может включать в себя один или более микропроцессоров, компьютеров общего назначения, компьютеров специального назначения и процессоров с многоядерной архитектурой, в качестве примеров, не имеющих ограничительного характера.
ПОДРОБНОЕ ОПИСАНИЕ
Кодирование видеосигналов на основе блоков
Аналогично HEVC, VVC построен на основе гибридной структуры кодирования видеосигналов на основе блоков. На фиг. 2A представлена блок-схема гибридной системы кодирования видеосигналов 200 на основе блоков. Могут использоваться различные варианты этого кодера 200, но для ясности ниже используется кодер 200 без описания всех ожидаемых вариантов.
Перед кодированием видеопоследовательность может пройти обработку с помощью предварительного кодирования (204), например, с применением преобразования цвета к входному цветному изображению (например, преобразование из RGB 4:4:4 в YCbCr 4:2:0), или повторного отображения компонентов входного изображения, чтобы получить распределение сигнала, более устойчивое к сжатию (например, с использованием выравнивания гистограммы одного из компонентов цвета). Метаданные могут быть связаны с предварительной обработкой и присоединены к битовому потоку.
Входной видеосигнал 202, содержащий изображение, подлежащее кодированию, разделяется (206) и обрабатывается на уровне отдельных блоков. Некоторые блоки могут называться блоками кодирования (CU). Различные блоки CU могут иметь разные размеры. В VTM-1.0 блок CU может иметь размер до 128x128 пикселей. Однако в отличие от стандарта HEVC, который разделяет блоки на основании только тетрарных деревьев, в VTM-1.0 один элемент кодового дерева (CTU) разделяется на блоки CU для адаптации к изменяющимся локальным характеристикам на основании тетрарного/бинарного/тернарного дерева. Кроме того, отменяется концепция разделения множества типов единиц, применяемая в HEVC, т.е. в VVC-1.0 больше не выполняется разделение блока CU, элемента прогнозирования (PU) и элемента преобразования (TU); вместо этого каждый блок CU всегда используется как базовая единица как для прогнозирования, так и для преобразования без дополнительных разделений. В древовидной структуре множественного типа один элемент CTU сначала разделяется с применением тетрарной древовидной структуры. Затем каждый оконечный листовой узел тетрарной древовидной структуры может быть дополнительно разделен с применением бинарной и тернарной древовидной структуры. Существует пять типов разделения, тетрарное разделение, вертикальное бинарное разделение, горизонтальное бинарное разделение, вертикальное тернарное разделение и горизонтальное тернарное разделение.
В кодере на фиг. 2A, может выполняться пространственное прогнозирование (208) и/или временное прогнозирование (210). Пространственное прогнозирование (или «внутреннее прогнозирование») для прогнозирования текущего видеоблока использует в одном и том же видеоизображении/срезе пикселы из семплов уже закодированных соседних блоков (которые называются эталонными семплами). Пространственное прогнозирование уменьшает пространственную избыточность, характерную для видеосигнала. Временное прогнозирование (также называемое «внешним прогнозированием» и/или «прогнозированием с компенсацией движения») для прогнозирования текущего видеоблока использует воссозданные пиксели из ранее закодированных видеоизображений. Временное прогнозирование снижает временную избыточность, характерную для видеосигнала. Сигнал временного прогнозирования для данного блока CU может обозначаться посредством одного или более векторов движения (MV), которые указывают величину и направление движения между текущим блоком CU и его временным эталоном. Кроме того, если поддерживается множество эталонных изображений, может быть дополнительно отправлен один индекс эталонного изображения, который используется для идентификации эталонного изображения в хранилище эталонных изображений (212), от которого поступает сигнал временного прогнозирования.
Блок принятия решения о режиме (214) в кодере выбирает оптимальный режим прогнозирования, например, на основе способа оптимизации зависимости искажений от скорости передачи. Этот выбор может быть сделан после выполнения пространственного и/или временного прогнозирования. Внутреннее/внешнее решение может быть указано, например, с помощью флага режима прогнозирования. Затем блок прогнозирования вычитается из текущего видеоблока (216) для получения остаточного значения прогнозирования. Остаточное значение прогнозирования декоррелируется с использованием преобразования (218) и квантования (220). (Для некоторых блоков кодер может обходить как преобразование, так и квантование, в этом случае остаток может кодироваться напрямую без применения процессов преобразования или квантования.) Квантованные остаточные коэффициенты подвергаются обратному квантованию (222) и обратному преобразованию (224) для формирования восстановленного остатка, который затем снова прибавляется к блоку прогнозирования (226) для формирования восстановленного сигнала CU. Затем к восстановленному блоку CU может быть применен внутрипетлевой фильтр, такой как фильтр деблокирования или фильтр SAO (адаптивное смещение выборки) (228) для уменьшения артефактов кодирования, после чего блок CU может быть помещен в хранилище эталонных изображений (212) и использоваться для кодирования будущих видеоблоков. Для формирования выходного битового видеопотока 230 режим кодирования (внешний или внутренний), информация о режиме прогнозирования, информация о движении и квантованные остаточные коэффициенты передаются в элемент энтропийного кодирования (108) для дополнительного сжатия и упаковки с целью формирования битового потока.
На фиг. 2B представлена блок-схема примера видеодекодера на основе блоков 250. В декодере 250 битовый поток декодируется элементами декодера, как описано ниже. Видеодекодер 250 обычно выполняет проход декодирования, обратный проходу кодирования, как показано на фиг. 2A. Кодер 200 также обычно может выполнять декодирование видеоданных в рамках кодирования видеоданных.
В частности, вход декодера включает в себя битовый поток видео 252, который может быть сгенерирован видеокодером 200. К битовому видеопотоку 252 применяется распаковка и энтропийное декодирование в блоке энтропийного декодирования 254 для получения коэффициентов преобразования, векторов движения и другой закодированной информации. Информация о разделении изображения указывает, как разделяется изображение. Таким образом, декодер может разделять (256) изображение в соответствии с информацией о разделении декодированного изображения. Информация о режиме кодирования и о прогнозировании отправляется в блок пространственного прогнозирования 258 (если выполнялось внутреннее кодирование) и/или в блок временного прогнозирования 260 (если выполнялось внешнее кодирование). Остаточные коэффициенты преобразования отправляются в блок обратного квантования 262 и блок обратного преобразования 264 для восстановления остаточного блока. Блок прогнозирования и остаточный блок складываются друг с другом (266) для получения восстановленного блока. Затем к восстановленному блоку может быть применен внутрипетлевой фильтр 268, после чего восстановленный блок будет сохранен в хранилище эталонных изображений 270 и будет использоваться для прогнозирования будущих видеоблоков.
Декодированное изображение 272 может дополнительно подвергаться обработке после декодирования (274), например, обратному цветовому преобразованию (например, преобразованию из YCbCr 4:2:0 в RGB 4:4:4) или обратному повторному отображению, при котором выполняется инверсия процесса повторного отображения, выполненного в ходе предварительного кодирования (204). Обработка после декодирования может использовать метаданные, полученные в процессе предварительного кодирования и сигнализации в битовом потоке. Декодированное обработанное видео может быть отправлено на устройство отображения 276. Устройство отображения 276 может являться отдельным от декодера 250 устройством, либо декодер 250 и устройство отображения 276 могут представлять собой компоненты одного и того же устройства.
Для модификации модулей видеокодера 200 или декодера 250 могут быть использованы различные способы и другие аспекты, описанные в настоящем документе. Более того, системы и способы, описанные в настоящем документе, не ограничиваются стандартами VVC или HEVC, и могут быть применены, например, к другим стандартам и рекомендациям, независимо от того, существовали ли они ранее или будут разработаны в будущем, и к расширениям любых таких стандартов и рекомендаций (включая VVC и HEVC). Если не указано иное или это не исключено технически, аспекты, описанные в настоящем документе, могут быть использованы отдельно или в сочетании.
Внешнее прогнозирование.
На фиг. 3A и 3B представлены схемы, иллюстрирующие пример прогнозирования движения видеоблоков (например, с использованием модулей внешнего прогнозирования 210 или 260). На фиг. 3B, который иллюстрирует пример перемещения на уровне блока в изображении, представлена схема, иллюстрирующая пример буфера декодированного изображения, включающего, например, эталонные изображения «Ref pic 0», «Ref pic 1» и «Ref pic 2». Блоки B0, B1 и B2 в текущем изображении могут быть спрогнозированы на основе блоков в эталонных изображениях «Ref pic 0», «Ref pic 1» и «Ref pic 2» соответственно. При прогнозировании движения могут использоваться видеоблоки из соседних видеокадров для прогнозирования текущего видеоблока. Прогнозирование движения может использовать временную корреляцию и/или исключать временную избыточность, характерную для видеосигнала. Например, в H.264/AVC и HEVC временное прогнозирование может быть выполнено на видеоблоках различных размеров (например, для компонента яркости размеры блоков временного прогнозирования могут варьироваться от 16 x 16 до 4 x 4 в H.264/AVC и от 64 x 64 до 4 x 4 в HEVC). При использовании вектора движения (mvx, mvy) временное прогнозирование может быть выполнено с помощью следующего уравнения:
где ref (x, y) может представлять собой значение пикселя в положении (x, y) в эталонном изображении, а P (x, y) может представлять собой прогнозируемый блок. Система кодирования видеосигналов может поддерживать внешнее прогнозирование с определением положения фракционного пикселя. Когда вектор движения (mvx, mvy) имеет значение фракционного пикселя, могут быть применены один или несколько интерполяционных фильтров для получения значений пикселей в положениях фракционного пикселя. Системы кодирования видеосигналов на основе блоков могут использовать прогнозирование с несколькими гипотезами для улучшения временного прогнозирования, например, сигнал прогнозирования может быть сформирован путем объединения ряда сигналов прогнозирования с разных эталонных изображений. Например, в H.264/AVC и/или HEVC h.264/AVC может использоваться двойное прогнозирование, при котором объединяются два сигнала прогнозирования. При двойном прогнозировании могут объединяться два сигнала прогнозирования, каждый из которых получен с собственного эталонного изображения, для формирования прогноза, например, по следующей формуле:
где и — первый и второй блоки прогнозирования соответственно. Два блока прогнозирования могут быть получены путем прогнозирования с компенсацией движения на основе двух эталонных изображений и с двумя векторами движения и соответственно. Блок прогнозирования можно вычесть из исходного видеоблока (например, в блоке 216) для получения остаточного блока прогнозирования. Остаточный блок прогнозирования может быть преобразован (например, в блоке преобразования 218) и/или квантован (например, в блоке квантования 220). Квантованные блоки остаточных коэффициентов преобразования могут быть отправлены в блок энтропийного кодирования (например, блок 232) для энтропийного кодирования с целью уменьшения скорости передачи данных. Остаточные коэффициенты после энтропийного кодирования могут быть упакованы для формирования части выходного битового потока видео (например, битового потока 230). На стороне декодера может быть выполнен тот же процесс прогнозирования с компенсацией движения (например, с помощью модуля внешнего прогнозирования 260), и полученный блок прогнозирования может быть добавлен к декодированному остаточному блоку (например, в блоке 266).
Аффинный режим
В HEVC для прогнозирования с компенсацией движения применяется только трансляционная модель движения. При этом в реальном мире существует множество видов движения (например, увеличение/уменьшение масштаба, вращение, перспективные движения и другие неоднородные движения). В VTM-2.0 применяется прогнозирование с компенсацией аффинного движения. Модель аффинного движения является моделью либо с 4 параметрами, либо с 6 параметрами. Для каждого блока с внешним кодированием указывается первый флаг, который обозначает, какая именно модель движения применяется для внешнего прогнозирования — трансляционная или аффинная. При использовании аффинной модели движения отправляется второй флаг, обозначающий, является ли эта модель моделью с четырьмя или шестью параметрами.
Аффинная модель движения с четырьмя параметрами может иметь следующие параметры: два параметра, описывающие поступательное перемещение в горизонтальном и вертикальном направлениях, один параметр, описывающий движение масштабирования в обоих направлениях, и один параметр, описывающий вращательное движение в обоих направлениях. Используется один параметр масштабирования, так как параметр горизонтального масштабирования равен вертикальному параметру масштабирования. Используется один параметр вращения, так как параметр горизонтального вращения равен параметру вертикального вращения. Аффинная модель движения с четырьмя параметрами кодируется в VTM с использованием двух векторов движения в двух положениях контрольных точек, заданных в левом верхнем углу и правом верхнем углу текущего блока. Как показано на фиг. 4A, аффинное поле движения блока описывается двумя векторами движения контрольной точки (V0, V1). На основе движения контрольной точки поле (vx, vy) движения блока, закодированного с применением аффинного алгоритма, может быть описано как:
(1)
В ур. (1) (v0x, v0y) — вектор движения контрольной точки в левом верхнем углу, (v1x, v1y) — вектор движения контрольной точки в правом верхнем углу, как показано на фиг. 4A, w — ширина блока. В VTM-2.0 поле движения блока, закодированного с применением аффинного алгоритма, выводится на уровне подблока 4x4, таким образом, что (vx, vy) выводится для каждого из подблоков 4x4 (фиг. 4B) в текущем блоке и применяется к соответствующему подблоку 4x4. (Следует отметить, что набор выборок, называемый блоком в некоторых контекстах, может называться подблоком в других контекстах. В разных контекстах могут использоваться различные термины для ясности.)
Эти четыре параметра аффинной модели с четырьмя параметрами могут быть рассчитаны итерационно. На стадии k пары векторов движения (MV) обозначают как {, , входной сигнал исходной яркости как , сигнал прогнозируемой яркости как . Пространственный градиент и получают с помощью фильтра Собеля, примененного к сигналу прогнозирования в горизонтальном и вертикальном направлении соответственно. Ур. (1) примет следующий вид:
(2)
В ур. (2) (a, b) — параметры дельта-вектора поступательного перемещения, а (c, d) — параметры дельта-вектора масштабирования и вращения на стадии k. Дельта-показатель MV в контрольных точках может быть выведен по его координатам с использованием Ур. (3) и (4). Например, (0, 0), (w, 0) представляют собой координаты левой верхней и правой верхней контрольных точек соответственно.
(3)
(4)
На основании уравнения оптического потока соотношение между изменением яркости и пространственным градиентом и временными характеристиками движения можно представить следующим уравнением:
(5)
Замещая и ур. (2), получаем уравнение для параметров (a, b, c, d).
(6)
Поскольку все выборки в блоке удовлетворяют Ур. (6), решение относительно набора параметров (a, b, c, d) может быть получено с помощью метода наименьших квадратичных ошибок. Векторы MV в двух контрольных точках {, на стадии (k+1) могут быть определены с помощью Ур. (3) и (4), и они могут быть округлены до определенного уровня точности (например, 1/4 пикселя). С помощью итераций векторы движения в двух контрольных точках могут быть уточнены до того момента, когда они сойдутся, когда все параметры (a, b, c, d) будут равны нулю или когда время итерации будет соответствовать заданному пределу.
Пример аффинной модели движения с шестью параметрами включает следующие параметры: два параметра для поступательного перемещения в горизонтальном и вертикальном направлениях, один параметр для движения масштабирования и один параметр для движения вращения в горизонтальном направлении, а также один параметр для движения масштабирования и один параметр для движения вращения в вертикальном направлении. Аффинная модель движения с шестью параметрами кодируется тремя MV в трех контрольных точках. Как показано в примере на фиг. 5, три контрольные точки для блока, закодированного с использованием аффинной модели с шестью параметрами, определены в левом верхнем, правом верхнем и левом нижнем углу блока. Движение в левой верхней контрольной точке связано с поступательным движением, в правой верхней контрольной точке — с движением вращения и масштабирования в горизонтальном направлении, а в левой нижней контрольной точке — с движением вращения и масштабирования в вертикальном направлении. Для аффинной модели движения с шестью параметрами движение вращения и движение масштабирования в горизонтальном направлении могут не совпадать с такими же движениями в вертикальном направлении. Вектор движения каждого подблока (vx, vy) может быть выведен с использованием трех векторов MV в контрольных точках, как показано ниже:
(7)
В ур. (7) (v2x, v2y) — вектор движения левой нижней контрольной точки, (x, y) — центральное положение подблока, а w и h — ширина и высота блока.
Шесть параметров аффинной модели с шестью параметрами могут быть рассчитаны аналогично модели с четырьмя параметрами. Ур. (2) может быть изменено на Ур. (8), как показано ниже.
(8)
В ур. (8) (a, b) представляют собой дельта-параметры поступательного движения, (c, d) — дельта-параметры масштабирования и вращения для горизонтального направления, а (e, f) — дельта-параметры масштабирования и вращения для вертикального направления на стадии k. Ур. (6) изменяется соответствующим образом для получения Ур. (9).
(9)
Решение для набора параметров (a, b, c, d, e, f) может быть получено с использованием метода наименьших квадратов с учетом всех выборок в блоке. MV левой верхней контрольной точки рассчитывается по Ур. (3). MV правой верхней контрольной точки рассчитывается по Ур. (10). MV правой верхней контрольной точки рассчитывается по Ур. (11).
(10)
(11)
Уточнение прогнозирования с помощью оптического потока (PROF) для аффинного режима.
Для достижения более высокой гранулярности компенсации движения был предложен способ уточнения аффинного прогнозирования с компенсацией движения на основе подблоков с помощью оптического потока, как описано в статье Jiancong (Daniel) Luo, Yuwen He, «CE2-related: Prediction refinement with optical flow for affine mode», JVET-N0236, March 2019, Geneva, Switzerland. После выполнения аффинной компенсации движения на основе подблоков каждая выборка прогнозирования яркости уточняется путем добавления разности, полученной с помощью уравнения оптического потока. Предлагаемое уточнение PROF включает следующие стадии.
На первой стадии выполняется аффинная компенсация движения на основе подблоков выполняется для прогнозирования подблоков .
На второй стадии пространственные градиенты и для прогнозирования подблоков рассчитываются в местоположении каждой выборки с использованием 3-отводного фильтра [-1, 0, 1].
Параметры прогнозирования подблоков расширяются на один пиксель с каждой стороны для расчета градиента. Для уменьшения полосы пропускания запоминающего устройства и сложности работы пиксели на расширенных границах копируются из ближайшего целочисленного положения пикселя на эталонном изображении. Таким образом, предотвращается дополнительная интерполяция области заполнения.
На третьей стадии вычисляется уточнение прогнозирования яркости по уравнению оптического потока.
(12)
где представляет собой разность между MV на уровне пикселя, рассчитанную для местоположения выборки , обозначенного как , и вектором движения подблока, к которому принадлежит пиксел , как показано на фиг. 6.
Поскольку параметры аффинной модели и местоположение пикселя относительно центра подблока не изменяются от подблока к подблоку, величина может быть рассчитана для первого подблока и повторно использоваться для других подблоков в рамках одного блока. Пусть и представляют собой горизонтальное и вертикальное смещение от положения пикселя до центра подблока, а значение может быть выведено с помощью следующего уравнения:
Для аффинной модели с четырьмя параметрами:
Для аффинной модели с шестью параметрами:
где , , представляют собой векторы движения левой верхней, правой верхней и левой нижней контрольных точек, а и представляют собой ширину и высоту блока.
На четвертой стадии уточнение прогнозирования яркости добавляется к прогнозированию подблоков . Окончательное прогнозирование I’ генерируется с использованием следующего уравнения.
(13)
Проблемы, рассмотренные в некоторых вариантах осуществления
Текущий процесс компенсации движения, как правило, ограничен точностью вектора движения. Например, указанные векторы движения на стороне декодера используются в прогнозировании с компенсацией движения на уровне выборки, на уровне подблока или на уровне блока, который определяет целочисленное положение эталонного образца и фильтр интерполяции во фракционном положении, если имеется фракционная часть. Точность связанных векторов движения является фактором, влияющим на точность при прогнозировании с компенсацией движения в каждой выборке. Если для фракционных частей векторов движения используются четыре дополнительных бита, может быть достигнута точность 1/16 пикселя (пэл). Однако это ограничение точности может привести к проблемам. Одна из проблем заключается в том, что, если прогнозирование с компенсацией движения уже является достаточно точным, дополнительные биты представляют собой избыточную нагрузку на сигнал. Другая проблема заключается в том, что в некоторых случаях количество дополнительных битов может быть недостаточным и может требоваться еще более высокая точность. Для более эффективного представления точности может потребоваться более гибкий и точный способ, который позволит улучшить прогнозирование с компенсацией движения.
В VTM-5.0 если требуется конкретная гранулярность точности, предварительно определяются соответствующие фильтры интерполяции с такой же или более высокой точностью. Это позволяет исключить использование произвольной точности. Например, чтобы декодер мог достичь точности 1/32 пикселя, которая является более высокой по сравнению с точностью 1/16 пикселя в VTM-5.0, следует предварительно задать фильтр интерполяции с точностью 1/32 пикселя или более высокой точностью (например, 1/64 пикселя) (например, указав этот фильтр в спецификации стандартов видеосигналов).
Обзор примеров вариантов осуществления.
В настоящем документе описаны системы и способы для повышения точности прогнозирования с компенсацией движения с помощью оптического потока, которые обладают гибкостью при уточнении прогнозирования. В некоторых вариантах осуществления после компенсации движения прогнозирование в каждой выборке уточняется путем добавления значения разности, полученного из уравнения оптического потока. Такое уточнение может называться уточнением прогнозирования с компенсацией движения с помощью оптического потока (MCPROF). Оптический поток может быть обозначен как уточнение вектора движения на уровне блока (который может представлять собой уровень прогнозирования, например, уровень блока CU или уровень подблока CU). Величина разности, полученная из уравнения оптического потока, может представлять различные значения точности. Это может позволить получить более высокую точность. Некоторые варианты осуществления, описанные в настоящем документе, могут обеспечивать гранулярность на уровне пикселей без существенного увеличения сложности и могут сохранять ширину полосы доступа к памяти, которая в наихудшем случае будет сопоставима с обычной компенсацией движения на уровне блоков. Различные варианты осуществления, описанные в настоящем документе, могут быть применены к любому режиму внутреннего прогнозирования на основе подблоков и/или режиму внутреннего прогнозирования на основе блоков. Варианты осуществления, описанные в настоящем документе, могут быть применены как к одиночному прогнозированию, так и к двойному прогнозированию, а также к режиму внешнего объединения или к режиму без объединения. Одним из потенциальных преимуществ некоторых вариантов осуществления является уточнение прогнозирования без использования каких-либо дополнительных фильтров интерполяции.
Уточнение прогнозирования с компенсацией движения с помощью оптического потока (MCPROF).
Для повышения точности прогнозирования с компенсацией движения в некоторых вариантах осуществления используются способы уточнения прогнозирования с компенсацией движения с помощью оптического потока. После компенсации движения в каждой выборке уточняется прогнозирование яркости и/или цветности путем добавления разности, полученной из уравнения оптического потока. Пример способа кодирования, использующего уточнение MCPROF, описан ниже.
В примере способа используется процесс компенсации движения для создания прогноза в положении каждой выборки после оценки движения для внешнего режима без объединения. Процесс компенсации движения может быть выполнен с использованием существующего процесса внешнего прогнозирования (включая одиночное прогнозирование, двойное прогнозирование и аффинное прогнозирование). На этом этапе могут использоваться один или несколько процессов компенсации движения (например, доступны несколько вариантов векторов движения). В случае нескольких процессов компенсации движения может быть выбран один из таких процессов в соответствии с предварительно заданными критериями (например, процесс компенсации движения с минимальной зависимостью искажений от скорости передачи данных), как это происходит в VTM 5.0.
Один или несколько выбранных процессов компенсации движения оцениваются для определения того, следует ли использовать уточнение прогнозирования. Например, если существующая точность (например, 1/4 пикселя) после процесса компенсации движения является достаточно высокой, может быть принято решение о том, что уточнение прогнозирования не требуется. Такое решение может быть принято в том случае, если, например, остаточное значение близко к 0 (например, оно находится ниже предварительно заданного порогового значения) с текущей точностью компенсации движения.
Однако в некоторых случаях принимается решение о том, что необходимо использовать уточнение прогнозирования. В этом случае может быть определена разница в точности N, используемая для характеризации степени уточнения. Например, определение может быть выполнено с помощью процесса компенсации движения, в котором оптимальное (или точное) остаточное значение будет составлять около 9/16 пикселя. Для обеспечения оптимальной точности может потребоваться точность компенсации движения 1/16 пикселя. Однако если в текущем процессе компенсации движения используется точность 1/4 пикселя (например, реализуемая с помощью заданных фильтров интерполяции), то разница в точности N между текущей и требуемой точностью равна двум.
В некоторых вариантах осуществления уточнение прогнозирования с компенсацией движения определяется с помощью оптического потока следующим образом. Записываются прогнозирование с компенсацией движения с существующими векторами движения MCP(i, j), несжатое исходное значение входной выборки O(i, j), горизонтальный пространственный градиент MCP(i, j) в виде (i,j) и вертикальный пространственный градиент MCP(i, j) в виде (i,j). Дополнительное уточнение вектора движения () используется в оптическом потоке. Уточнение вектора движения может быть выбрано таким образом, чтобы в существенной степени удовлетворять Ур. 14.
(14)
В некоторых вариантах осуществления уточнение вектора движения () оценивается с помощью метода наименьших квадратов, как в Ур. (15).
(15)
Если принимается решение использовать более высокую точность (например, с точки зрения битовой глубины), значения уточнения вектора движения (например, ( могут передаваться в битовом потоке. В некоторых вариантах осуществления соответствующая разница точности также может передаваться в битовом потоке. Чтобы не создавать избыточную нагрузку на сигнал, величина N может передаваться на различных уровнях, таких как уровень среза/изображения, уровень CTU или уровень CU (или уровень другого блока). Аналогичным образом, значения уточнения вектора движения также могут передаваться на различных уровнях, таких как уровень среза/изображения, уровень CTU, уровень CU (или уровень другого блока) или уровень выборки. Если значения уточнения вектора движения не передаются на уровне выборки, то значения уточнения вектора движения в блоке или подблоке могут быть одинаковыми для каждой выборки в пределах этого блока или подблока.
В некоторых вариантах осуществления дополнительное значение для уточнения вектора движения может быть передано в формате конкретного положения соседней выборки. Как показано на фиг. 7, соседнее положение может быть использовано для указания значения уточнения для вектора движения, которое может быть представлено одним из четырех ближайших соседних положений или восьми ближайших соседних положений (например, на расстоянии 1 пикселя) или даже более отдаленных соседних положений (например, на расстоянии более 1 пикселя). В примере, показанном на фиг. 7, если передается положение соседней выборки , это влияет на передачу значения уточнения вектора движения , где = 0, = -1. В другом случае, если передается положение соседней выборки , это влияет на передачу значения уточнения вектора движения , где = -1, = -1.
В некоторых вариантах осуществления значение уточнения вектора движения может быть передано в формате значения индекса. Например, если используются четыре ближайших соседних положения, то соответствующие соседние положения вверху, внизу, слева и справа могут быть обозначены в качестве индексов 0, 1, 2, 3. Индекс может быть представлен в бинарной форме с помощью кодовых слов переменной длины. Например, если допускается восемь ближайших соседних положений, то индекс четырех ближайших соседних положений может быть закодирован с использованием кодового слова с более короткой длиной, чем для четырех оставшихся соседних положений в двух диагональных направлениях.
В некоторых вариантах осуществления соответствующая разница точности N может представлять собой целое число, которое равно разности битовой глубины между текущей точностью и требуемой точностью. Например, если текущая точность процесса прогнозирования с компенсацией движения составляет 1/4 пикселя, а требуемая точность составляет 1/16 пикселя, передаваемая точность может быть равна В некоторых вариантах осуществления кодер передает флаг, указывающий, используется ли уточнение MCPROF.
Прогнозирование с использованием уточнения прогнозирования с помощью оптического потока.
Различие точности N и значение уточнения вектора движения могут использоваться кодером (например, в модуле 210) или декодером (например, в модуле 260) при генерировании прогнозирования блока или подблока. В случаях, когда используется уточнение MCPROF (например, когда в битовом потоке передается установленный флаг), выполняется получение передаваемых значений и . Рассчитываются пространственные градиенты и для каждого положения выборки . Определение пространственных градиентов может быть выполнено с использованием 3-отводного фильтра, как описано выше, или с помощью других методик.
Начальное прогнозирование с компенсацией движения генерируется для текущего блока, например, с помощью одиночного прогнозирования, двойного прогнозирования и/или аффинного прогнозирования. Уточнение прогнозирования рассчитывается с использованием скалярного произведения уточнения вектора движения и пространственного градиента в соответствии с Ур. 16.
(16)
где — переданное значение уточнения вектора движения (например, полученное от кодера), — переданная разница битовой глубины между текущей и желаемой точностью и — пространственный градиент, рассчитанный в соответствии с приведенным выше описанием.
Прогнозирование с компенсацией движения в каждой выборке уточняется путем добавления изменения интенсивности (например, яркости или цветности). Окончательное прогнозирование I’ может быть сгенерировано с использованием следующего уравнения.
(17)
В приведенном выше примере осуществления учитываются четыре ближайших соседних положения или восемь ближайших соседних положений. Каждое выбранное соседнее положение используется для указания направления уточнения прогнозирования, что позволяет исключить зависимость от ожидания завершения процесса компенсации движения для соседних выборок этого положения.
Примеры способов показаны на фиг. 8. На видеокодере получают начальное прогнозируемое значение выборки (802) на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок. Определяют уточнение вектора движения (804) по меньшей мере для первого положения выборки. Уточнение вектора движения может быть закодировано (806) в битовом потоке, например, для хранения или передачи.
Определяют пространственный градиент значений выборки (808) в первом положении выборки. Определяют значение разности выборки (810) на основе скалярного произведения пространственного градиента и уточнения вектора движения. В некоторых вариантах осуществления определение значения разности выборки может включать в себя масштабирование (например, побитовое смещение) значения разности выборки, а информация о точности, указывающая объем масштабирования, может быть закодирована в битовом потоке. Начальное прогнозируемое значение выборки изменяется (812) на основе значения разности выборки, например, путем добавления разности выборки к начальному прогнозируемому значению выборки для получения уточненного значения выборки.
В некоторых вариантах осуществления определение (804) уточнения вектора движения может включать в себя выбор уточнения вектора движения для значительного снижения ошибки прогнозирования в отношении входного видеоблока. В вариантах осуществления, в которых уточнение вектора движения выполняется на уровне отдельных выборок, ошибка прогнозирования может быть основана на разнице (например, абсолютной или квадратичной) между уточненным значением выборки и соответствующим значением выборки входного видеоблока. В вариантах осуществления, в которых уточнение вектора движения выполняется на уровне отдельных блоков (или подблоков), ошибка прогнозирования может быть основана на сумме разностей (например, сумме абсолютных или квадратичных разностей) между уточненными значениями выборки и соответствующими значениями выборки входного видеоблока для множества положений выборки в блоке (или подблоке).
В некоторых вариантах осуществления кодер может использовать уточненные значения выборки, созданные в блоке 812, при определении остаточного значения прогнозирования, и остаточное значение прогнозирования также может быть закодировано в битовом потоке.
В способе, реализуемом видеодекодером, декодер на основе прогнозирования с компенсацией движения получает начальное прогнозируемое значение выборки (814) по меньшей мере для первого положения выборки в текущем блоке выборок. Определяется уточнение вектора движения (816) по меньшей мере для первого положения выборки, например, путем декодирования уточнения вектора движения из битового потока. Определяется пространственный градиент значений выборки (818) в первом положении выборки. Определяется значение разности выборки (820) путем расчета скалярного произведения пространственного градиента и уточнения вектора движения. В некоторых вариантах осуществления определение значения разности выборки может дополнительно включать в себя масштабирование значения разности выборки на основе информации о точности, декодированной из битового потока. Начальное прогнозируемое значение выборки изменяется (822) на основе значения разности выборки. Например, значение разности выборки может быть добавлено к исходному прогнозируемому значению выборки для получения уточненного значения выборки.
В некоторых вариантах осуществления декодер может дополнительно декодировать остаточное значение прогнозирования из битового потока, и остаточное значение прогнозирования может быть использовано для определения восстановленного значения выборки в первом положении выборки. Восстановленные значения выборки могут отображаться или передаваться на отдельное устройство для отображения.
Пример системы связи.
На фиг. 9 представлена схема, иллюстрирующая пример системы связи. Система связи 900 может содержать кодер 902, сеть связи 904 и декодер 906. Кодер 902 может обмениваться данными с сетью 904 посредством соединения 908, которое может представлять собой проводное соединение или беспроводное соединение. Кодер 902 может быть аналогичен видеокодеру на основе блоков, показанному на фиг. 2A. Кодер 902 может содержать однослойный или многослойный кодек. Декодер 906 может обмениваться данными с сетью 904 посредством соединения 910, которое может представлять собой проводное соединение или беспроводное соединение. Декодер 906 может быть аналогичен видеодекодеру на основе блоков, показанному на фиг. 2B. Декодер 906 может содержать однослойный или многослойный кодек.
Кодер 902 и/или декодер 906 могут быть встроены в широкий спектр устройств проводной связи и/или модулей беспроводной передачи/приема (WTRU), таких как (среди прочего) цифровые телевизоры, беспроводные широковещательные системы, сетевой элемент/терминал, серверы, такие как контент-серверы или веб-серверы (например, сервер обработки запросов по протоколу передачи гипертекстовых данных (HTTP), карманные персональные компьютеры (PDA), ноутбуки или настольные компьютеры, планшетные компьютеры, цифровые камеры, цифровые записывающие устройства, устройства для видеоигр, видеоигровые консоли, мобильные или спутниковые радиотелефоны, цифровые мультимедийные проигрыватели и/или т. п).
Сеть связи 904 может представлять собой сеть связи подходящего типа. Например, сеть связи 904 может представлять собой систему коллективного доступа, которая предоставляет содержимое (голосовую информацию, данные, видео, сообщения, широковещательные рассылки и т.п.) для множества пользователей беспроводной связи. Сеть связи 904 может быть выполнена с возможностью предоставления множеству пользователей беспроводной связи доступа к такому содержимому посредством совместного использования системных ресурсов, включая ширину полосы беспроводного соединения. Например, в сети связи 904 могут использоваться один или несколько способов доступа к каналам, таких как множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с временным разделением каналов (TDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с ортогональным частотным разделением каналов (OFDMA), ортогональное частотное разделение каналов с мультиплексированием на одной несущей (SC-FDMA) и т. п. Сеть связи 904 может включать множество подключенных сетей связи. Сеть связи 904 может включать Интернет и/или одну или несколько частных коммерческих сетей, таких как сети мобильной связи, точки доступа в сеть Wi-Fi, сети поставщиков услуг Интернета (ISP) и т. п.
Дополнительные варианты осуществления.
Способ кодирования видеосигналов в соответствии с некоторыми вариантами осуществления подразумевает выполнение следующих действий в декодере: генерирование прогнозирования с компенсацией движения для значений выборки в текущем блоке выборок; декодирование значения разности точности из битового потока и уточнение вектора движения для текущего блока; а также для каждой прогнозируемой выборки в текущем блоке: определение пространственного градиента для выборки; вычисление скалярного произведения пространственного градиента и уточнения вектора движения; масштабирование скалярного произведения на величину, определяемую значением разности точности, для генерации значения разности выборки; и добавление значения разности выборки к прогнозируемому значению выборки для получения уточненного значения выборки.
В некоторых вариантах осуществления прогнозирование с компенсацией движения для значений выборки в текущем блоке генерируется с использованием одиночного прогнозирования.
В некоторых вариантах осуществления прогнозирование с компенсацией движения для значений выборки в текущем блоке генерируется с использованием двойного прогнозирования.
В некоторых вариантах осуществления уточнение вектора движения обозначается в битовом потоке в качестве индекса. Индекс может идентифицировать одно из множества уточнений вектора движения вида , где и — целые числа. Индекс может идентифицировать одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0). Индекс может идентифицировать одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
В некоторых вариантах осуществления масштабирование скалярного произведения включает в себя побитовое смещение скалярного произведения.
В некоторых вариантах осуществления значение разности точности равно N, и масштабирование скалярного произведения включает в себя сдвиг скалярного произведения вправо на количество битов, равное сумме переданного значения разности точности N и существующей точности компенсации движения.
Способ кодирования видеосигналов в соответствии с некоторыми вариантами осуществления подразумевает выполнение следующих действий в кодере: генерирование прогнозирования с компенсацией движения для значений выборки в текущем блоке выборок для входного видеоблока; выбор значения разности точности; определение соответствующих пространственных градиентов в выборках; определение уточнения вектора движения для текущего блока, причем определение вектора движения выбрано для существенного уменьшения ошибки между: (i) скалярным произведением пространственных градиентов и уточнением вектора движения, и (ii) разностью между входным видеоблоком и прогнозированием с компенсацией движения; и передачу значения разности точности и уточнения вектора движения для текущего блока в битовом потоке.
В некоторых вариантах осуществления прогнозирование с компенсацией движения для значений выборки в текущем блоке генерируется с использованием одиночного прогнозирования.
В некоторых вариантах осуществления прогнозирование с компенсацией движения для значений выборки в текущем блоке генерируется с использованием двойного прогнозирования.
В некоторых вариантах осуществления уточнение вектора движения обозначается в битовом потоке в качестве индекса. Индекс может идентифицировать одно из множества уточнений вектора движения вида , где и — целые числа. Индекс может идентифицировать одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0). Индекс может идентифицировать одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
В некоторых вариантах осуществления уточнение вектора движения выбрано для существенного уменьшения суммы квадратичных разностей между: (i) скалярным произведением пространственных градиентов и уточнением вектора движения, и (ii) разностью между входным видеоблоком и прогнозированием с компенсацией движения.
Некоторые варианты осуществления включают процессор и энергонезависимый машиночитаемый носитель данных, используемые для выполнения всех функций, описанных в настоящем документе.
В данном документе описываются различные аспекты, включая инструменты, признаки, варианты осуществления, модели, подходы и т. д. Многие из этих аспектов описаны детально, и их описание, приведенное с целью по крайней мере продемонстрировать индивидуальные характеристики, часто может казаться ограниченным. Однако такое описание приведено для ясности и не ограничивает применение или объем этих аспектов. Все аспекты могут быть объединены и заменены друг на друга для создания дополнительных аспектов. Более того, аспекты могут быть объединены с другими аспектами, описанными в поданных ранее документах, и заменены на эти аспекты.
Аспекты, описанные и рассматриваемые в настоящем документе, могут быть реализованы в различных формах. Некоторые варианты осуществления описаны детально, другие — теоретически, и обсуждение конкретных вариантов осуществления не ограничивает сферу применения различных вариантов осуществления. По меньшей мере один из аспектов, по существу, относится к кодированию и декодированию видео, и по меньшей мере один другой аспект, по существу, относится к передаче битового потока, генерируемого или кодируемого. Эти и другие аспекты могут быть реализованы в виде способа, устройства, машиночитаемого носителя данных, на котором хранятся инструкции для кодирования или декодирования видеоданных в соответствии с любым из описанных способов, и/или машиночитаемого носителя данных, на котором хранится битовый поток, генерируемый в соответствии с любым из описанных способов.
В настоящем документе термины «восстановленный» и «декодированный» могут использоваться взаимозаменяемо, термины «пиксель» и «выборка» могут использоваться взаимозаменяемо, термины «изображение», «картинка» и «рамка» могут использоваться взаимозаменяемо.
В данном документе описаны различные способы, каждый из которых включает один или более этапов или действий для их реализации. Если для надлежащей работы способа не требуется конкретный порядок этапов или действий, порядок и/или применение конкретных этапов и/или действий могут быть изменены или объединены. Кроме того, в различных вариантах осуществления могут использоваться термины, такие как «первый», «второй» и т. п., для модификации элемента, компонента, этапа, работы и т. д., например, «первое декодирование» и «второе декодирование». Использование таких терминов не подразумевает упорядочение измененных операций, если иное не требуется. Таким образом, в этом примере первое декодирование не обязательно должно выполняться перед вторым декодированием. Оно может выполняться, например, до, во время или в период перекрытия со вторым декодированием.
В настоящем документе могут быть использованы различные числовые значения. Конкретные значения приведены в качестве примера, и описанные аспекты не ограничиваются этими конкретными значениями.
Варианты осуществления, описанные в настоящем документе, могут быть реализованы с помощью компьютерного программного обеспечения, работающего под управлением процессора или другого аппаратного обеспечения, или с помощью сочетания аппаратного и программного обеспечения. В качестве примера, не имеющего ограничительного характера, варианты осуществления могут быть реализованы в виде одной или более интегральных схем. Процессор может иметь любой тип, подходящий для технической среды, и может включать в себя (среди прочего) один или несколько микропроцессоров, компьютеров общего назначения, компьютеров специального назначения и процессоров с многоядерной архитектурой.
Различные варианты осуществления включают в себя декодирование. Используемый в настоящем документе термин «декодирование» может охватывать все или часть выполняемых процессов, например, процессов, выполняемых в принятой кодированной последовательности для формирования конечных выходных данных, подходящих для отображения. В различных вариантах осуществления такие процессы включают в себя один или более процессов, обычно выполняемых декодером, например энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. В различных вариантах осуществления такие процессы также включают в себя процессы, выполняемые декодером согласно различным вариантам осуществления, описанным в настоящем документе, например, извлечение изображения из фрагментированного (упакованного) изображения, определение фильтра повышающей дискретизации для последующего использования, повышение дискретизации изображения и возврат изображения к его предполагаемой ориентации.
В качестве дополнительных примеров в одном варианте осуществления «декодирование» относится только к энтропийному декодированию, в другом варианте осуществления «декодирование» относится только к дифференциальному декодированию, а в другом варианте осуществления «декодирование» относится к комбинации энтропийного декодирования и дифференциального декодирования. Ответ на вопрос о том, предназначена ли фраза «процесс декодирования» конкретно для ссылки на подмножество операций или для ссылки на процесс декодирования в более широком смысле, будет понятен на основе контекста конкретных описаний.
Различные варианты осуществления включают в себя кодирование. Аналогично приведенному выше описанию термина «декодирование», термин «кодирование», используемый в настоящем документе, может означать все или некоторые процессы, выполняемые, например, на входной видеопоследовательности для создания кодированного битового потока. В различных вариантах осуществления такие процессы включают в себя один или более процессов, обычно выполняемых кодером, например разделение, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование. В различных вариантах осуществления такие процессы также включают в себя процессы, выполняемые кодером согласно различным вариантам осуществления, описанным в настоящем документе.
В качестве дополнительных примеров в одном варианте осуществления термин «кодирование» относится только к энтропийному кодированию, в другом варианте осуществления термин «кодирование» относится только к дифференциальному кодированию, а в еще одном варианте осуществления термин «кодирование» относится к комбинации дифференциального кодирования и энтропийного кодирования. Ответ на вопрос о том, предназначена ли фраза «процесс кодирования» конкретно для ссылки на подмножество операций или для ссылки на процесс кодирования в более широком смысле, будет понятен на основе контекста конкретных описаний.
Если фигура представлена в виде блок-схемы, следует понимать, что она также представляет собой блок-схему соответствующего устройства. Аналогичным образом, если фигура представлена в виде блок-схемы, следует понимать, что она также представляет собой блок-схему соответствующего способа/процесса.
Различные варианты осуществления относятся к оптимизации зависимости искажения от скорости передачи данных. В частности, во время процесса кодирования, как правило, учитывается баланс или компромисс между скоростью и искажением, часто с учетом ограничений вычислительной сложности. Оптимизация искажения скорости, как правило, формулируется как минимизация функции искажения скорости, которая представляет собой взвешенную сумму скорости и искажения. Существуют различные подходы для решения проблемы оптимизации скорости передачи. Например, подходы могут быть основаны на обширном испытании всех вариантов кодирования, включая все рассматриваемые режимы или параметры кодирования, при полной оценке стоимости кодирования и относительного искажения восстановленного сигнала после кодирования и декодирования. Кроме того, можно использовать более быстрые подходы для сохранения сложности кодирования, в частности, при вычислении приближения искажений на основе прогнозирования или остаточного сигнала прогнозирования, а не восстановления. Можно также использовать сочетание этих двух подходов, например, приблизительное искажение только для некоторых возможных вариантов кодирования и полное искажение для других вариантов кодирования. Другие подходы оценивают только подмножество возможных вариантов кодирования. В более общем смысле, многие подходы используют любой из множества методик для выполнения оптимизации, но оптимизация не обязательно является полной оценкой как стоимости кодирования, так и связанных искажений.
Варианты осуществления и аспекты, описанные в настоящем документе, могут быть реализованы, например, в рамках способа или процесса, устройства, программного обеспечения, потока данных или сигнала. Даже если данный аспект описывается только в контексте одной формы осуществления (например, рассматривается только как способ), описываемый вариант осуществления элементов также может быть реализован в других формах (например, в устройстве или программном обеспечении). Устройство может быть реализовано, например, в виде соответствующего аппаратного обеспечения, программного обеспечения и микропрограммного обеспечения. Способы могут быть реализованы, например, с помощью процессора, который относится к устройствам обработки в целом, включая, например, компьютеры, микропроцессоры, интегральные схемы или программируемые логические устройства. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, мобильные телефоны, портативные/карманные персональные компьютеры (PDA) и другие устройства, облегчающие передачу информации между конечными пользователями.
Ссылка на «один вариант осуществления», или «вариант осуществления», а также на другие их варианты означает, что конкретный признак, структура, характеристика и т.п., описанные в связи с вариантом осуществления, включены по меньшей мере в один вариант осуществления. Таким образом, фраза «в одном варианте осуществления» или «в одном из вариантов осуществления», а также любые другие ее варианты, приведенные в различных частях настоящего документа, необязательно относятся к одному варианту осуществления.
Кроме того, в настоящем документе может описываться «определение» различных фрагментов информации. Определение информации может включать в себя, например, оценку информации, вычисление информации, прогнозирование информации или извлечение информации из запоминающего устройства.
Кроме того, в настоящем документе может описываться «доступ» к различным фрагментам информации. Доступ к информации может включать в себя, например, прием информации, извлечение информации (например, из запоминающего устройства), хранение информации, передачу информации, копирование информации, вычисление информации, определение информации, прогнозирование информации и оценку информации.
Кроме того, в настоящем документе может описываться «прием» различных фрагментов информации. Прием информации, как и в случае «доступа» к ней, описывается в широком смысле. Прием информации может включать в себя, например, доступ к информации или извлечение информации (например, из запоминающего устройства). Кроме того, «прием», как правило, является частью операций, таких как, например, хранение информации, обработка информации, передача информации, копирование информации, удаление информации, вычисление информации, определение информации, прогнозирование информации и оценка информации.
Следует понимать, что любая из следующих фраз и обозначений: «/», «и/или» и «по меньшей мере один элемент из», например, в случае использования выражений «A/B», «A и/или B» и «по меньшей мере один элемент из A и B», означает выбор только первого указанного элемента (A), или выбор только второго указанного элемента (B), или выбор обоих элементов (A и B). В качестве дополнительного примера при использовании выражений «A, B и/или C» и «по меньшей мере один элемент из A, B и C» предполагается, что такая фраза означает выбор только первого указанного элемента (A), или выбор только второго указанного элемента (B), или выбор только третьего указанного элемента (C), или выбор только первого и второго указанных элементов (A и B), или выбор только первого и третьего указанных элементов (A и C), или выбор только второго и третьего указанных элементов (B и C), или выбор всех трех элементов (A и B и C). Этот принцип может быть расширен в соответствии с числом указанных элементов.
Кроме того, в настоящем документе слово «сигнал» означает, помимо прочего, команду, передаваемую на соответствующий декодер. Например, в некоторых вариантах осуществления кодер сигнализирует конкретный параметр из множества параметров для выбора параметров фильтра на основе области для выполнения фильтрации для устранения артефактов. Таким образом, в варианте осуществления один и тот же параметр используют как на стороне кодера, так и на стороне декодера. Таким образом, например, кодер может передавать (посредством прямой передачи сигнала) конкретный параметр декодеру таким образом, чтобы декодер мог использовать данный конкретный параметр. И наоборот, если декодер уже имеет определенные параметры, в том числе конкретный параметр, для указания конкретного параметра можно использовать метод косвенной передачи сигнала без передачи параметра. За счет исключения передачи фактических функций в различных вариантах осуществления обеспечивается экономия битов. Следует понимать, что передача сигналов может выполняться различными способами. Например, в различных вариантах осуществления один или более элементов синтаксиса, флагов и т. п. используют для передачи информации соответствующему декодеру. В настоящем документе в отношении передачи сигналов могут использоваться различные части речи, такие как глагол «передавать сигнал» и существительное «передача сигнала».
В рамках вариантов осуществления могут генерироваться различные сигналы, имеющие соответствующий формат для передачи информации, которую можно, например, хранить или передавать. Информация может включать в себя, например, инструкции по реализации способа или данные, полученные в рамках одного из описанных вариантов осуществления. Например, сигнал может быть отформатирован для передачи битового потока согласно описанному варианту осуществления. Такой сигнал может быть отформатирован, в том числе в виде электромагнитной волны (например, с использованием радиочастотного участка спектра) или в виде сигнала основной полосы частот. Форматирование может включать в себя, например, кодирование потока данных и модуляцию несущей частоты потоком кодированных данных. Информация, передаваемая сигналом, может представлять собой, например, аналоговую или цифровую информацию. Как известно, сигнал может передаваться по множеству различных проводных и беспроводных линий связи. Сигнал может храниться на считываемом процессором носителе.
В настоящем документе описывается ряд вариантов осуществления. Особенности этих вариантов осуществления могут быть представлены отдельно или в любой комбинации по различным категориям и типам пунктов формулы изобретения. Кроме того, варианты осуществления могут включать в себя один или несколько из следующих признаков, устройств или аспектов, отдельно или в любом сочетании, по различным категориям и типам пунктов формулы изобретения:
• Битовый поток или сигнал, который включает в себя синтаксис, передающий информацию, сгенерированную в соответствии с любым из описанных вариантов осуществления.
• Создание и/или передача и/или прием и/или декодирование в соответствии с любым из описанных вариантов осуществления.
• Способ, процесс, устройство, носитель, на котором хранятся команды, носитель, на котором хранятся данные, или сигнал в соответствии с любым из описанных вариантов осуществления.
• Телевизор, телевизионная приставка, мобильный телефон, планшетный компьютер или другое электронное устройство, реализующее способ кодирования или декодирования в соответствии с любым из описанных вариантов осуществления.
• Телевизор, телевизионная приставка, мобильный телефон, планшетный компьютер или другое электронное устройство, реализующее способ декодирования в соответствии с любым из описанных вариантов осуществления и отображающее полученное изображение (например, с помощью монитора, экрана или дисплея другого типа).
• Телевизор, телевизионная приставка, мобильный телефон, планшетный компьютер или другое электронное устройство, выбирающее (например, с помощью переключателя каналов) канал для приема сигнала, включающего в себя кодированное изображение, и выполняющее декодирование в соответствии с любым из описанных вариантов осуществления.
• Телевизор, телевизионная приставка, мобильный телефон, планшетный компьютер или другое электронное устройство, принимающее (например, с помощью антенны) сигнал, который включает в себя кодированное изображение, и выполняющее декодирование в соответствии с любым из описанных вариантов осуществления.
Следует отметить, что различные аппаратные элементы одного или более описанных вариантов осуществления называются «модулями», которые выполняют (т. е. осуществляют, задействуют и т. п.) различные функции, описанные в настоящем документе применительно к соответствующим модулям. В контексте данного документа модуль включает аппаратное обеспечение (например, один или более процессоров, один или более микропроцессоров, один или более микроконтроллеров, одну или более микросхем, одну или более специализированных интегральных микросхем (ASIC), одну или более программируемых пользователем вентильных матриц (FPGA), одно или более устройств памяти), которое специалисты в данной области считают подходящим для данного варианта осуществления. Каждый описанный модуль может также включать инструкции, исполняемые для выполнения одной или более функций, описанных как выполняемые соответствующим модулем, и отмечено, что эти инструкции могут иметь форму аппаратных (т.е. запрограммированных) команд, инструкций встроенного программного обеспечения, программных команд и/или т. п или включать их и могут храниться на любом подходящем энергонезависимом машиночитаемом носителе или носителях, которые принято называть ОЗУ, ПЗУ и т.д.
Хотя признаки и элементы описаны выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент можно использовать отдельно или в любой комбинации с другими признаками и элементами. Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика, предназначенного для применения в составе WTRU, UE, терминала, базовой станции, RNC и/или любого главного компьютера.
Claims (54)
1. Способ кодирования видеосигналов, включающий:
получение начального прогнозируемого значения выборки на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок;
определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки, при котором уточнение вектора движения кодируется в битовом потоке в качестве индекса;
определение пространственного градиента значений выборки в первом положении выборки;
определение значения разности выборки на основе скалярного произведения пространственного градиента и уточнения вектора движения; и
изменение начального прогнозируемого значения выборки на основе значения разности выборки.
2. Способ по п. 1, в котором определение уточнения вектора движения включает выбор уточнения вектора движения для значительного снижения ошибки прогнозирования в отношении входного видеоблока.
3. Способ по п. 1, в котором индекс идентифицирует одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0).
4. Способ по п. 1, в котором индекс идентифицирует одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
5. Способ по п. 1, в котором уточнение вектора движения связано со всеми положениями выборок в текущем блоке.
6. Способ декодирования видеосигналов, включающий:
получение начального прогнозируемого значения выборки на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок;
определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки, при котором уточнение вектора движения декодируется из битового потока в качестве индекса;
определение пространственного градиента значений выборки в первом положении выборки;
определение значения разности выборки на основе скалярного произведения пространственного градиента и уточнения вектора движения; и
изменение начального прогнозируемого значения выборки на основе значения разности выборки.
7. Способ по п. 6, дополнительно включающий в себя декодирование информации об уточнении прогнозирования из битового потока, причем определение значения разности выборки включает в себя масштабирование скалярного произведения с использованием количества, определяемого информацией об уточнении.
8. Способ по п. 6, в котором индекс идентифицирует одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0).
9. Способ по п. 6, в котором индекс идентифицирует одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
10. Способ по п. 6, в котором уточнение вектора движения связано со всеми положениями выборок в текущем блоке.
11. Устройство кодирования видео, выполненное с возможностью выполнения по меньшей мере следующих операций:
получение начального прогнозируемого значения выборки на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок;
определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки, при котором уточнение вектора движения кодируется в битовом потоке в качестве индекса;
определение пространственного градиента значений выборки в первом положении выборки;
определение значения разности выборки на основе скалярного произведения пространственного градиента и уточнения вектора движения; и
изменение начального прогнозируемого значения выборки на основе значения разности выборки.
12. Устройство по п. 11, в котором определение уточнения вектора движения включает выбор уточнения вектора движения для значительного снижения ошибки прогнозирования в отношении входного видеоблока.
13. Устройство по п. 11, в котором индекс выполнен с возможностью идентификации одного из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0).
14. Устройство по п. 11, в котором индекс выполнен с возможностью идентификации одного из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
15. Устройство по п. 11, в котором уточнение вектора движения связано со всеми положениями выборок в текущем блоке.
16. Устройство декодирования видео, выполненное с возможностью выполнения по меньшей мере следующих операций:
получение начального прогнозируемого значения выборки на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок;
определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки, при котором уточнение вектора движения декодируется из битового потока в качестве индекса;
определение пространственного градиента значений выборки в первом положении выборки;
определение значения разности выборки на основе скалярного произведения пространственного градиента и уточнения вектора движения; и
изменение начального прогнозируемого значения выборки на основе значения разности выборки.
17. Устройство по п. 16, дополнительно выполненное с возможностью декодирования информации об уточнении прогнозирования из битового потока, причем определение значения разности выборки включает в себя масштабирование скалярного произведения с использованием количества, определяемого информацией об уточнении.
18. Устройство по п. 16, в котором индекс выполнен с возможностью идентификации одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1) и (-1,0).
19. Устройство по п. 16, в котором индекс выполнен с возможностью идентификации одно из множества уточнений вектора движения из группы, включающей следующие элементы: (0,-1), (1,0), (0,1), (-1,0), (-1,-1), (1,-1), (1,1) и (-1,1).
20. Устройство по п. 16, в котором уточнение вектора движения связано со всеми положениями выборок в текущем блоке.
21. Машиночитаемый носитель, содержащий инструкции по вызову одного или более процессоров для выполнения следующих операций:
получение начального прогнозируемого значения выборки на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок;
определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки, при котором уточнение вектора движения кодируется в битовом потоке в качестве индекса;
определение пространственного градиента значений выборки в первом положении выборки;
определение значения разности выборки на основе скалярного произведения пространственного градиента и уточнения вектора движения; и
изменение начального прогнозируемого значения выборки на основе значения разности выборки.
22. Машиночитаемый носитель по п. 21, в котором определение уточнения вектора движения включает выбор уточнения вектора движения для значительного снижения ошибки прогнозирования в отношении входного видеоблока.
23. Машиночитаемый носитель, содержащий инструкции по вызову одного или более процессоров для выполнения следующих операций:
получение начального прогнозируемого значения выборки на основе прогнозирования с компенсацией движения по меньшей мере для первого положения выборки в текущем блоке выборок;
определение уточнения вектора движения, связанного по меньшей мере с первым положением выборки, при котором уточнение вектора движения декодируется из битового потока в качестве индекса;
определение пространственного градиента значений выборки в первом положении выборки;
определение значения разности выборки на основе скалярного произведения пространственного градиента и уточнения вектора движения; и
изменение начального прогнозируемого значения выборки на основе значения разности выборки.
24. Машиночитаемый носитель по п. 23, дополнительно включающий в себя декодирование информации об уточнении прогнозирования из битового потока, причем определение значения разности выборки включает в себя масштабирование скалярного произведения с использованием количества, определяемого информацией об уточнении.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/864,825 | 2019-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2022100377A RU2022100377A (ru) | 2023-07-12 |
RU2803895C2 true RU2803895C2 (ru) | 2023-09-21 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080117985A1 (en) * | 2006-10-16 | 2008-05-22 | Nokia Corporation | System and method for implementing efficient decoded buffer management in multi-view video coding |
RU2530318C2 (ru) * | 2010-04-14 | 2014-10-10 | МедиаТек Инк. | Способ выполнения локализованного многогипотезного прогнозирования во время видеокодирования элемента кодирования и соответствующее устройство |
RU2571410C2 (ru) * | 2011-09-23 | 2015-12-20 | Квэлкомм Инкорпорейтед | Построение списка опорных изображений для видеокодирования |
RU2584501C1 (ru) * | 2012-04-16 | 2016-05-20 | Нокиа Текнолоджиз Ой | Способ и устройство для видеокодирования |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080117985A1 (en) * | 2006-10-16 | 2008-05-22 | Nokia Corporation | System and method for implementing efficient decoded buffer management in multi-view video coding |
RU2530318C2 (ru) * | 2010-04-14 | 2014-10-10 | МедиаТек Инк. | Способ выполнения локализованного многогипотезного прогнозирования во время видеокодирования элемента кодирования и соответствующее устройство |
RU2571410C2 (ru) * | 2011-09-23 | 2015-12-20 | Квэлкомм Инкорпорейтед | Построение списка опорных изображений для видеокодирования |
RU2584501C1 (ru) * | 2012-04-16 | 2016-05-20 | Нокиа Текнолоджиз Ой | Способ и устройство для видеокодирования |
Non-Patent Citations (2)
Title |
---|
LUO J et al., "CE2-related: Prediction refinement with optical flow for affine mode", 14 JVET meeting; Geneva; (the Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), * |
на 4 стр. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12069275B2 (en) | Adaptive motion vector precision for affine motion model based video coding | |
JP7553659B2 (ja) | 双方向オプティカルフローのための複雑性低減およびビット幅制御 | |
US20240107024A1 (en) | Affine motion model derivation method | |
US20220191502A1 (en) | Methods and apparatus for prediction refinement for decoder side motion vector refinement with optical flow | |
EP3987778B1 (en) | Precision refinement for motion compensation with optical flow | |
JP2024109809A (ja) | オプティカルフローを用いたブロック境界予測リファインメント | |
US20220182634A1 (en) | Methods and systems for post-reconstruction filtering | |
RU2803895C2 (ru) | Уточнение прогнозирования с компенсацией движения с помощью оптического потока | |
US20220132136A1 (en) | Inter prediction bandwidth reduction method with optical flow compensation | |
RU2820051C2 (ru) | Способы и устройство для уточнения прогнозирования для уточнения вектора движения на стороне декодера с помощью оптического потока | |
RU2811563C2 (ru) | Системы, устройства и способы для уточнения интерпрогнозирования с помощью оптического потока | |
RU2803479C2 (ru) | Адаптивная точность вектора движения для кодирования видеосигналов на основе аффинной модели движения | |
EP4454276A1 (en) | Temporal attention-based neural networks for video compression |