Перекрестная ссылка на родственные заявки
Настоящая заявка испрашивает приоритет по предварительной заявке на патент США № 62/856,519, поданной 3 июня 2019 г. и озаглавленной «Уточнение прогнозирования границы блока с помощью оптического потока», полное содержание которой включено в настоящий документ путем ссылки.
Предпосылки создания изобретения
Системы кодирования видеосигналов могут применяться для сжатия цифровых видеосигналов, например, с целью снижения потребностей в хранении и/или ширины полосы пропускания таких сигналов. Системы кодирования видеосигналов могут включать в себя системы на основе блоков, волн и/или объектов. На основе блока может быть развернута система гибридного кодирования.
Изложение сущности изобретения
Описаны системы, способы и инструменты для уточнения подблока/блока, включая уточнение границы подблока/блока, такое как уточнение прогнозирования границы блока с помощью оптического потока (BBPROF). Блок, содержащий текущий подблок, может быть декодирован на основании значения выборки, полученного для первого пикселя, который может быть получен на основе, например, вектора движения (MV) текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для второго пикселя, смежного с первым пикселем. Уточнение подблока/блока можно применять в режиме уточнения вектора бокового движения декодера (DMVR), режиме прогнозирования временного движения вектора на основе подблоков (SbTMVP) и/или в аффинном режиме. BBPROF может включать, например, компенсацию движения на основе подблока для генерации прогнозирования на основе подблока. Пространственные градиенты прогнозирования на основе подблока могут быть рассчитаны на одном или более пикселе/местоположении выборки. Разность MV может быть рассчитана между текущим подблоком и одним или более соседними подблоками. Разность MV может быть использована для вычисления смещения вектора движения в одном или более пикселе/местоположении выборки. Изменение интенсивности на пиксель в текущем подблоке может быть рассчитано на основе оптического потока. Для указания изменения интенсивности на пиксель можно использовать смещение значения выборки. Прогнозирование (например, прогнозирование движения) для пикселя или местоположения выборки может быть уточнено, например, путем добавления вычисленного изменения интенсивности к прогнозированию подблока.
В примерах способ может быть реализован для выполнения уточнения подблока/блока. Способ может быть реализован, например, с помощью устройства, которое может содержать один или более процессоров, сконфигурированных для выполнения машиноисполняемых команд, которые могут храниться на машиночитаемом носителе или компьютерном программном продукте, которые при выполнении одним или несколькими процессорами выполняют способ. Таким образом, устройство может содержать один или более процессоров, выполненных с возможностью реализации способа. Машиночитаемый носитель или компьютерный программный продукт могут содержать команды, выполнение которых обеспечивает выполнение одного или более процессоров. Машиночитаемый носитель может содержать контент данных, сгенерированный в соответствии с этим способом. Сигнал может содержать остаток, генерируемый на основе исходного блока изображения и блока, который прогнозируется с использованием полученного значения выборки для первого пикселя в соответствии со способом. Устройство может содержать блок доступа и передатчик, выполненный с возможностью выполнения второго способа, включающего в себя доступ к данным, включающим в себя остаток, генерируемый на основе полученного значения выборки для первого пикселя в соответствии с устройством, содержащим один или более процессоров, выполненных с возможностью реализации способа (например, посредством выполнения команд), и передачи данных, включая остаток. Устройство, такое как телевизор, сотовый телефон, планшет или ТВ-приставка, может содержать устройство с одним или более процессорами, выполненными с возможностью реализации способа (например, путем выполнения команд) и по меньшей мере одной из (i) антенны, выполненной с возможностью приема сигнала, причем сигнал включает данные, представляющие собой изображения, (ii) ограничитель полосы, выполненный с возможностью ограничения принятого сигнала на полосу частот, которая включает данные, представляющие собой изображения, или (iii) дисплей, выполненный с возможностью отображения изображения.
Способ выполнения уточнения подблока/блока может включать, например, получение значения выборки для первого пикселя на основе, например, MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значение выборки для второго пикселя, смежного с первым пикселем; и декодирование блока, содержащего текущий подблок, на основании полученного значения выборки для первого пикселя.
Способ кодирования блока, содержащего текущий подблок на основе полученного значения выборки для первого пикселя, может включать, например, получение значения выборки для первого пикселя на основе, например, MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значение выборки для второго пикселя, смежного с первым пикселем; и кодирование блока, содержащего текущий подблок, на основании полученного значения выборки для первого пикселя.
Блок может содержать, например, первый пиксель, второй пиксель и третий пиксель, смежный с первым пикселем. Получение значения выборки для первого пикселя может включать, например, определение того, что первый пиксель примыкает к границе текущего подблока; определение: (i) разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку, (ii) градиента для первого пикселя на основании значения выборки для второго пикселя и значения выборки для третьего пикселя и (iii) смещения значения выборки на основании определенного градиента и разности между MV для текущего подблока и MV для подблока, который находится смежно с текущим подблоком; и получение значения выборки для первого пикселя на основе определенного смещения значения выборки.
Градиент может быть определен, например, на основании по меньшей мере значения выборки для второго пикселя. Значение выборки для первого пикселя может быть получено с использованием градиента.
Градиент для модели оптической потока может быть определен, например, на основании по меньшей мере значения выборки для второго пикселя. Градиент может быть использован в модели оптического потока для получения значения выборки для первого пикселя.
Разность между MV для текущего подблока и MV для подблока, смежного с текущим подблоком, может быть использована для получения значения выборки для первого пикселя.
Подблок, смежный с текущим подблоком, может представлять собой первый подблок. Блок может содержать первый подблок и второй подблок, который примыкает к текущему подблоку. Значение выборки для первого пикселя может быть получено (например, дополнительно) на основе MV для второго подблока.
Значение выборки для первого пикселя может быть получено на основании определения того, что первый пиксель примыкает к границе текущего подблока.
Первый пиксель и второй пиксель могут находиться в текущем подблоке.
Для получения значения выборки для первого пикселя можно использовать весовой коэффициент. Весовой коэффициент может варьироваться в соответствии с расстоянием первого пикселя от соответствующей границы текущего подблока.
Значение смещения выборки для первого пикселя может быть определено, например, на основе MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значения выборки для второго пикселя, который примыкает к первому пикселю. Значение выборки для первого пикселя может быть получено с использованием определенного смещения значения выборки и прогнозируемого значения выборки для первого пикселя.
Значение выборки для первого пикселя может быть получено, например, на основании определения того, что первый пиксель примыкает к границе текущего подблока. Граница текущего подблока может содержать общую границу между текущим подблоком и подблоком, смежным с текущим подблоком.
Первый пиксель может быть расположен, например, в четырех рядах пикселей от верхней границы текущего подблока, в четырех рядах пикселей от нижней границы текущего подблока в четырех столбцах пикселей от левой границы текущего подблока или в четырех столбцах пикселей от правой границы текущего подблока.
Каждый элемент, описанный в любом месте настоящего документа, может быть реализован, разделен отдельно/индивидуально и в любой комбинации с любым другим элементом, описанным в настоящем документе, и/или с любым(-ими) элементом(-ами), описанным(-и) в другом месте, на которые могут быть прямо или косвенно даны ссылки в настоящем документе или которые могут иным образом подпадать под объем предмета, описанного в настоящем документе.
Краткое описание графических материалов
На фиг. 1A представлена схема системы, иллюстрирующая пример системы связи, в которой могут быть реализованы один или более описанных вариантов осуществления;
на фиг. 1B представлена схема системы, иллюстрирующая пример модуля беспроводной передачи/приема (WTRU), который может быть использован в системе связи, проиллюстрированной на фиг. 1A, в соответствии с одним вариантом осуществления;
на фиг. 1C представлена схема системы, иллюстрирующая пример сети радиодоступа (RAN) и пример опорной сети (CN), которые могут быть использованы в системе связи, проиллюстрированной на фиг. 1A, в соответствии с вариантом осуществления;
на фиг. 1D представлена схема системы, иллюстрирующая дополнительный пример RAN и дополнительный пример CN, которые могут использоваться в системе связи, проиллюстрированной на фиг. 1A, в соответствии с вариантом осуществления;
на фиг. 2 представлена схема, изображающая пример видеокодера;
на фиг. 3 представлена схема, изображающая пример видеодекодера;
на фиг. 4 представлена схема, иллюстрирующая пример системы, в которой могут быть реализованы различные аспекты и примеры;
на фиг. 5 проиллюстрирован пример модели аффинного режима с четырьмя параметрами и выведением движения на уровне подблока для аффинных блоков;
на фиг. 6 представлен пример аффинного режима с шестью параметрами, где V 0, В1 и V2 представляют собой контрольные точки и (MVx, MVy) представляет собой вектор движения подблока с центром в положении (x, y);
на фиг. 7 представлен пример уточнения бокового вектора движения (MV);
на фиг. 8A представлен пример пространственных соседних блоков, которые могут быть использованы с помощью прогнозирования временного движения вектора на основе подблоков (SbTMVP);
на фиг. 8B проиллюстрирован пример получения поля движения блока подкодирования (CU);
на фиг. 9 представлены примеры подблоков, в которых применяется компенсация движения перекрывающихся блоков (OBMC).
на фиг. 10 представлен пример подблока MV (VSB) и пиксель ;
на фиг. 11 представлен пример способа уточнения подблока/блока в соответствии с одним или более уравнениями (1)-(25);
на фиг. 12 представлен пример вычисления разности MV из выбранных соседних подблоков.
Подробное описание
Далее приведено подробное описание иллюстративных вариантов осуществления со ссылкой на различные фигуры. Хотя в настоящем описании приведены подробные примеры возможных вариантов реализации, следует отметить, что данное подробное описание приведено в качестве примера и ни в коей мере не ограничивает объем заявки.
На фиг. 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 (например, для передачи), либо для нисходящей линии связи (например, для приема)).
На фиг. 1C представлена схема системы, иллюстрирующая RAN 104 и CN 106 в соответствии с вариантом осуществления. Как отмечено выше, RAN 104 может использовать технологию радиосвязи E-UTRA для обмена данными с WTRU 102a, 102b, 102c по радиоинтерфейсу 116. RAN 104 может также обмениваться данными с CN 106.
RAN 104 может включать в себя eNode-B 160a, 160b, 160c, хотя следует понимать, что сеть RAN 104 может включать в себя любое количество eNode-B и при этом соответствовать варианту осуществления. Каждая eNode-B 160a, 160b, 160c может включать в себя один или более приемопередатчиков для обмена данными с WTRU 102a, 102b, 102c по радиоинтерфейсу 116. В одном варианте осуществления в eNode B 160a, 160b, 160c может быть реализована технология MIMO. Таким образом, в eNode-B 160a может, например, быть использовано множество антенн для передачи радиосигналов на WTRU 102a и/или приема радиосигналов от него.
Каждая eNode-B 160a, 160b, 160c может быть связана с конкретной сотой (не показана) и может быть выполнена с возможностью принятия решений по управлению радиоресурсами, решений по передаче обслуживания, диспетчеризации пользователей в UL и/или DL и т.п. Как показано на фиг. 1C, eNode-B 160a, 160b, 160c могут обмениваться данными друг с другом по интерфейсу X2.
CN 106, показанная на фиг. 1C, может включать в себя объект 162 управления мобильностью (MME), обслуживающий шлюз 164 (SGW) и шлюз 166 (или PGW) сети с пакетной передачей данных (PDN). Хотя каждый из вышеперечисленных элементов показан как часть 106, следует понимать, что любой из этих элементов может принадлежать субъекту, отличному от оператора CN, и/или быть предоставленным им для использования.
MME 162 может быть подключен к каждой из eNode-B 162a, 162b, 162c в RAN 104 по интерфейсу S1 и может выступать в качестве узла управления. Например, MME 162 может отвечать за аутентификацию пользователей WTRU 102a, 102b, 102c, активацию/деактивацию канала, выбор конкретного обслуживающего шлюза во время начального соединения WTRU 102a, 102b, 102c и т.п. MME 162 может обеспечивать функцию плоскости управления для переключения между RAN 104 и другими RAN (не показаны), которые используют другие технологии радиосвязи, такие как GSM и/или WCDMA.
SGW 164 может быть подключен к каждой eNode B 160a, 160b, 160c в RAN 104 по интерфейсу S1. SGW 164 может по существу направлять и пересылать пакеты пользовательских данных на WTRU 102a, 102b, 102c и от них. SGW 164 может выполнять другие функции, например привязку плоскостей пользователя во время передачи обслуживания между базовыми станциями eNode B, запуск пейджинга, когда данные DL доступны для WTRU 102a, 102b, 102c, управление и хранение контекста WTRU 102a, 102b, 102c и т.п.
SGW 164 может быть подключен к PGW 166, который может предоставлять WTRU 102a, 102b, 102c доступ к сетям с коммутацией пакетов, таким как сеть Интернет 110, для облегчения обмена данными между WTRU 102a, 102b, 102c и устройствами с поддержкой IP.
CN 106 может облегчать обмен данными с другими сетями. Например, CN 106 может предоставлять WTRU 102a, 102b, 102c доступ к сетям с коммутацией каналов, таким как PSTN 108, для облегчения обмена данными между WTRU 102a, 102b, 102c и традиционными устройствами связи наземной линии связи. Например, CN 106 может включать в себя IP-шлюз (например, сервер мультимедийной IP-подсистемы (IMS)), который выступает в качестве интерфейса между CN 106 и PSTN 108, или может обмениваться данными с ним. Кроме того, CN 106 может предоставлять модулю WTRU 102a, 102b, 102c доступ к другим сетям 112, которые могут включать в себя другие проводные и/или беспроводные сети, которые принадлежат другим поставщикам услуг и/или предоставлены ими для использования
Хотя WTRU описан на фиг. 1A–1D как беспроводной терминал, предполагается, что в определенных типовых вариантах осуществления с таким терминалом может быть использован (например, временно или постоянно) проводной интерфейс связи с сетью связи.
В типовых вариантах осуществления другая сеть 112 может представлять собой WLAN.
WLAN в режиме базового набора служб (BSS) инфраструктуры может иметь точку доступа (АР) для BSS и одну или более станций (STA), связанных с АР. АР может иметь доступ к системе распределения (DS) или интерфейс с ней или осуществлять связь по проводной/беспроводной сети другого типа, которая переносит трафик в BSS и/или вне BSS. Трафик на станции STA, исходящий извне BSS, может поступать через AP и может быть доставлен на станции STA. Трафик, исходящий из станций STA к получателям вне BSS, может быть отправлен на АР для доставки соответствующим получателям. Трафик между станциями STA в пределах BSS может быть отправлен через АР, например, если STA-источник может отправлять трафик на АР, а АР может доставлять трафик STA-получателю. Трафик между STA в пределах BSS может считаться и/или называться одноранговым трафиком. Одноранговый трафик может быть передан между (например, непосредственно между) STA-источником и STA-получателем при установлении прямой линии связи (DLS). В определенных типовых вариантах осуществления DLS может использовать DLS 802.11e или туннелированное DLS 802.11z (TDLS). WLAN с использованием независимого BSS (IBSS) режима может не иметь АР, а STA (например, каждая STA) в пределах или с использованием IBSS могут осуществлять связь непосредственно друг с другом. В настоящем документе режим IBSS может иногда называться режимом «динамической» связи.
При использовании режима работы инфраструктуры 802.11ac или аналогичного режима работы AP может передавать маяк по фиксированному каналу, такому как первичный канал. Первичный канал может иметь фиксированную ширину (например, ширину полосы пропускания 20 МГц) или ширину, динамически установленную с помощью сигнализации. Первичный канал может представлять собой рабочий канал BSS и может быть использован множеством STA для установления соединения с АР. В определенных типовых вариантах осуществления может быть реализован множественный доступ с контролем несущей и предотвращением коллизий (CSMA/CA), например в системах 802.11. STA (например, каждая STA), включая АР, могут обнаруживать первичный канал для CSMA/CA. При распознавании/обнаружении и/или определении занятости первичного канала конкретной STA эта конкретная STA может отключаться. Одна STA (например, только одна станция) может осуществлять передачу в любой конкретный момент времени в данном BSS.
Для осуществления связи STA с высокой пропускной способностью (HT) может быть использован канал шириной 40 МГц, например путем объединения первичного канала 20 МГц со смежным или несмежным каналом 20 МГц с образованием канала шириной 40 МГц.
STA со сверхвысокой пропускной способностью (VHT) могут поддерживать каналы шириной 20 МГц, 40 МГц, 80 МГц и/или 160 МГц. Каналы 40 МГц и/или 80 МГц могут быть образованы путем объединения сплошных каналов 20 МГц. Канал 160 МГц может быть образован путем объединения 8 сплошных каналов 20 МГц или путем объединения двух несплошных каналов 80 МГц, которые могут называться конфигурацией 80 + 80. Для конфигурации 80 + 80 данные после кодирования канала могут проходить через анализатор сегментов, который может разделять данные на два потока. Обработку по методу обратного быстрого преобразования Фурье (IFFT) и обработку во временной области можно выполнять отдельно для каждого потока. Потоки могут быть сопоставлены с двумя каналами 80 МГц, а данные могут быть переданы посредством передающей STA. В приемнике принимающей STA вышеописанная операция для конфигурации 80 + 80 может быть инвертирована, а объединенные данные могут быть отправлены на устройство управления доступом к среде передачи данных (MAC).
Протоколы 802.11af и 802.11ah поддерживают режимы работы на частотах до 1 ГГц. В 802.11af и 802.11ah значения ширины полосы пропускания канала и несущие уменьшены по отношению к используемым в 802.11n и 802.11ac. Протокол 802.11af поддерживает значения ширины полосы пропускания 5 МГц, 10 МГц и 20 МГц в неиспользуемом частотном спектре телевидения (TVWS), а протокол 802.11ah поддерживает значения ширины полосы пропускания 1 МГц, 2 МГц, 4 МГц, 8 МГц и 16 МГц с использованием спектра, отличного от TVWS. Согласно типовому варианту осуществления 802.11ah может поддерживать управление с измерением / межмашинные связи, например устройства MTC в макрозоне покрытия. Устройства MTC могут обладать определенными возможностями, например ограниченными возможностями, включая поддержку (например, поддержку только) определенных и/или ограниченных значений ширины полосы пропускания. Устройства МТС могут включать в себя батарею, имеющую срок службы батареи, превышающий пороговое значение (например, для обеспечения очень длительного срока службы батареи).
Системы WLAN, которые могут поддерживать множество каналов и значений ширины полосы пропускания канала, такие как 802.11n, 802.11ac, 802.11af и 802.11ah, включают в себя канал, который может быть назначен в качестве первичного канала. Первичный канал может иметь ширину полосы пропускания, равную наибольшей общей рабочей ширине полосы пропускания, поддерживаемой всеми STA в BSS. Ширина полосы пропускания первичного канала может быть установлена и/или ограничена STA из числа всех STA, работающих в BSS, которая поддерживает режим работы с наименьшей шириной полосы пропускания. В примере 802.11ah первичный канал может иметь ширину 1 МГц для STA (например, устройств типа MTC), которые поддерживают (например, поддерживают только) режим 1 МГц, даже если AP и другие STA в BSS поддерживают 2 МГц, 4 МГц, 8 МГц, 16 МГц и/или режимы работы с другими значениями ширины полосы пропускания канала. Параметры обнаружения несущей и/или вектора выделения сети (NAV) могут зависеть от состояния первичного канала. Если первичный канал занят, например, из-за STA (в которой поддерживается только режим работы 1 МГц), осуществляющей передачу на AP, все доступные полосы частот могут считаться занятыми, даже если большинство полос частот все еще не заняты и могут быть доступными.
В Соединенных Штатах Америки доступные полосы частот, которые могут быть использованы 802.11ah, находятся в диапазоне от 902 МГц до 928 МГц. Доступные полосы частот в Корее — от 917,5 МГц до 923,5 МГц. Доступные полосы частот в Японии — от 916,5 МГц до 927,5 МГц. Общая ширина полосы пропускания, доступная для 802.11ah, составляет от 6 МГц до 26 МГц в зависимости от кода страны.
На фиг. 1D представлена схема системы, иллюстрирующая RAN 113 и CN 115 в соответствии с вариантом осуществления. Как отмечено выше, RAN 113 может применять технологию радиосвязи NR для обмена данными с WTRU 102a, 102b, 102c по радиоинтерфейсу 116. RAN 113 может также обмениваться данными с CN 115.
RAN 113 может включать в себя gNB 180a, 180b, 180c, хотя следует понимать, что RAN 113 может включать в себя любое количество gNB и при этом соответствовать варианту осуществления. Каждая gNB 180a, 180b, 180c может включать в себя один или более приемопередатчиков для обмена данными с WTRU 102a, 102b, 102c по радиоинтерфейсу 116. В одном варианте осуществления в gNB 180a, 180b, 180c может быть реализована технология MIMO. Например, gNB 180a, 108b могут использовать формирование лучей для передачи сигналов на gNB 180a, 180b, 180c и/или приема сигналов от них. Таким образом, gNB 180a, например, может использовать множество антенн для передачи радиосигналов на WTRU 102a и/или приема радиосигналов от него. В варианте осуществления на gNB 180a, 180b, 180c может быть реализована технология агрегирования несущих. Например, gNB 180a может передавать на WTRU 102a множество несущих составляющих (не показаны). Подмножество этих несущих составляющих может относиться к нелицензированному спектру, тогда как остальные несущие составляющие могут относиться к лицензированному спектру. В варианте осуществления на gNB 180a, 180b, 180c может быть реализована технология координированной многоточечной передачи (CoMP). Например, WTRU 102a может принимать координированные передачи от gNB 180a и gNB 180b (и/или gNB 180c).
WTRU 102a, 102b, 102c могут обмениваться данными с gNB 180a, 180b, 180c с использованием передач, связанных с масштабируемой численной величиной. Например, разнос символов OFDM и/или разнос поднесущих OFDM может различаться для разных передач, разных сот и/или разных участков спектра беспроводной передачи. WTRU 102a, 102b, 102c могут осуществлять связь с gNB 180a, 180b, 180c с использованием подкадра или временных интервалов передачи (TTI) с различной или масштабируемой длительностью (например, содержащих различное количество символов OFDM и/или имеющих постоянные различные длительности абсолютного значения времени).
gNB 180a, 180b, 180c могут быть выполнены с возможностью обмена данными с WTRU 102a, 102b, 102c в автономной конфигурации и/или в неавтономной конфигурации. В автономной конфигурации WTRU 102a, 102b, 102c могут обмениваться данными с gNB 180a, 180b, 180c без одновременного доступа к другим RAN (например, таким как eNode-B 160a, 160b, 160c). В автономной конфигурации WTRU 102a, 102b, 102c могут использовать одну или более gNB 180a, 180b, 180c в качестве якорной точки мобильности. В автономной конфигурации WTRU 102a, 102b, 102c могут обмениваться данными с gNB 180a, 180b, 180c с использованием сигналов в нелицензированной полосе. В неавтономной конфигурации WTRU 102a, 102b, 102c могут обмениваться данными / устанавливать соединение с gNB 180a, 180b, 180c и одновременно обмениваться данными / устанавливать соединение с другой RAN, такой как eNode-B 160a, 160b, 160c. Например, в WTRU 102a, 102b, 102c могут быть реализованы принципы двойного соединения (DC) для по существу одновременного обмена данными с одной или более gNB 180a, 180b, 180c и одной или более eNode-B 160a, 160b, 160c. В неавтономной конфигурации eNode-B 160a, 160b, 160c могут выступать в качестве якорной точки мобильности для WTRU 102a, 102b, 102c, а gNB 180a, 180b, 180c могут обеспечивать дополнительное покрытие и/или пропускную способность для обслуживания WTRU 102a, 102b, 102с.
Каждая из gNB 180a, 180b, 180c может быть связана с конкретной сотой (не показано) и может быть выполнена с возможностью принятия решений относительно управления радиоресурсом, решений относительно передачи обслуживания, планирования пользователей в UL и/или DL, поддержки сегментирования сети, двойного подключения, взаимодействия между NR и E-UTRA, маршрутизации данных плоскости пользователя в функциональный блок 184a, 184b плоскости пользователя (UPF), маршрутизации информации плоскости управления в функциональный блок 182a, 182b управления доступом и мобильностью (AMF) и т.п. Как показано на фиг. 1D, gNB 180a, 180b, 180c могут обмениваться данными друг с другом по интерфейсу Xn.
CN 115, показанная на фиг. 1D, может включать в себя по меньшей мере один AMF 182a, 182b, по меньшей мере один UPF 184a, 184b, по меньшей мере один функциональный блок управления сеансом (SMF) 183a, 183b и, возможно, сеть передачи данных (DN) 185a, 185b. Хотя каждый из вышеперечисленных элементов показан как часть CN 115, следует понимать, что любой из этих элементов может принадлежать субъекту, отличному от оператора CN, и/или может использоваться им.
AMF 182a, 182b могут быть подключены к одной или более из gNB 180a, 180b, 180c в RAN 113 по интерфейсу N2 и могут выступать в качестве узла управления. Например, AMF 182a, 182b может отвечать за аутентификацию пользователей WTRU 102a, 102b, 102c, поддержку сегментирования сети (например, обработку различных сеансов PDU с различными требованиями), выбор конкретного SMF 183a, 183b, управление зоной регистрации, прекращение сигнализации NAS, управление мобильностью и т.п. Сегментирование сети может быть использовано в AMF 182a, 182b для настройки поддержки CN для WTRU 102a, 102b, 102c на основании типов сервисов, используемых WTRU 102a, 102b, 102c. Например, разные сетевые срезы могут быть созданы для разных вариантов использования, например службы, основанные на связи повышенной надежности с низкой задержкой (URLLC), службы, основанные на доступе к расширенной широкополосной сети мобильной связи (eMBB), службы для доступа к межмашинной связи (MTC) и/или т.п. AMF 162 может предоставлять функцию плоскости управления для переключения между RAN 113 и другими RAN (не показаны), которые используют другие технологии радиосвязи, такие как LTE, LTE-A, LTE-A Pro, и/или технологии доступа, отличные от 3GPP, например WiFi.
SMF 183a, 183b могут быть подключены к AMF 182a, 182b в CN 115 по интерфейсу N11. SMF 183a, 183b может также быть подключен к UPF 184a, 184b в CN 115 по интерфейсу N4. SMF 183a, 183b могут выбирать UPF 184a, 184b и управлять ими, а также конфигурировать маршрутизацию трафика с помощью UPF 184a, 184b. SMF 183a, 183b может выполнять другие функции, такие как управление IP-адресом UE и его выделение, управление сеансами PDU, управление реализацией политики и QoS, предоставление уведомлений о данных нисходящей линии связи и т.п. Тип сеанса PDU может быть основан на IP, не основан на IP, основан на Ethernet и т.п.
UPF 184a, 184b могут быть подключены к одной или более gNB 180a, 180b, 180c в RAN 113 по интерфейсу N3, который может предоставлять WTRU 102a, 102b, 102c доступ к сетям с коммутацией пакетов, таким как сеть Интернет 110, для облегчения обмена данными между WTRU 102a, 102b, 102c и устройствами с поддержкой протокола IP. UPF 184, 184b могут выполнять другие функции, такие как маршрутизация и передача пакетов, применение политик в плоскости пользователя, поддержка многоканальных сеансов PDU, обработка QoS в плоскости пользователя, буферизация пакетов нисходящей линии связи, привязка для поддержки мобильности и т.п.
CN 115 может облегчать обмен данными с другими сетями. Например, CN 115 может включать в себя IP-шлюз (например, сервер мультимедийной IP-подсистемы (IMS)), который выступает в качестве интерфейса между CN 115 и PSTN 108, или может обмениваться данными с ним. Кроме того, CN 115 может предоставлять WTRU 102a, 102b, 102c доступ к другим сетям 112, которые могут включать в себя другие проводные и/или беспроводные сети, которые принадлежат другим поставщикам услуг и/или управляются ими. В одном варианте осуществления WTRU 102a, 102b, 102c могут быть подключены к локальной сети передачи данных (DN) 185a, 185b через UPF 184a, 184b по интерфейсу N3 к UPF 184a, 184b и интерфейсу N6 между UPF 184a, 184b и DN 185a, 185b.
С учетом фиг. 1A-1D и соответствующих описаний фиг. 1A-1D одна или более или все из функций, описанных в настоящем документе в связи с одним или более из: WTRU 102a–d, базовых станций 114а–b, eNode-B 160a–c, MME 162, SGW 164, PGW 166, gNB 180a–c, AMF 182a–b, UPF 184a–b, SMF 183a–b, DN 185a–b и/или любого (-ых) другого (-их) устройства (устройств), описанного (-ых) в настоящем документе, могут быть реализованы одним или более устройствами эмуляции (не показаны). Устройства эмуляции могут представлять собой одно или более устройств, выполненных с возможностью эмуляции одной или более или всех функций, описанных в настоящем документе. Например, устройства эмуляции можно применять для испытания других устройств и/или для моделирования функций сети и/или WTRU.
Устройства эмуляции могут быть выполнены с возможностью реализации одного или более испытаний других устройств в лабораторной среде и/или в сетевой среде оператора. Например, одно или более устройств эмуляции могут выполнять одну или более функций или все функции, при этом они полностью или частично реализованы и/или развернуты в качестве части проводной и/или беспроводной сети связи, для испытания других устройств в сети связи. Одно или более устройств эмуляции могут выполнять одну или более функций или все функции, при этом они временно реализованы/развернуты в качестве части проводной и/или беспроводной сети связи. Устройство эмуляции может быть непосредственно соединено с другим устройством для испытания и/или выполнения испытания с использованием беспроводной связи посредством канала беспроводной связи.
Одно или более устройств эмуляции могут выполнять одну или более функций, включая все функции, и при этом не быть реализованными/развернутыми в качестве части проводной и/или беспроводной сети связи. Например, устройства эмуляции можно использовать в сценарии испытания в испытательной лаборатории и/или в неразвернутой (например, испытательной) проводной и/или беспроводной сети связи для проведения испытания одного или более компонентов. Одно или более устройств эмуляции могут представлять собой испытательное оборудование. Для передачи и/или приема данных в устройствах эмуляции можно использовать прямое РЧ-соединение и/или беспроводные связи посредством РЧ-схемы (которая может, например, включать в себя одну или более антенн).
Данная заявка описывает различные аспекты, включая инструменты, признаки, примеры или варианты осуществления, модели, подходы и т.д. Многие из этих аспектов описаны конкретно и, по крайней мере, чтобы показать индивидуальные характеристики, часто с использованием способа, который может показаться ограничивающим. Однако это сделано для ясности описания и не ограничивает применение или объем этих аспектов. Все различные аспекты могут быть объединены и взаимозаменяемы для создания дополнительных аспектов. Более того, аспекты могут быть объединены и взаимозаменяемы с аспектами, описанными в ранее поданных документах.
Аспекты, описанные и рассматриваемые в настоящей заявке, могут быть реализованы во многих различных формах. На фиг. 5–12, описанной в настоящем документе, могут предоставлять некоторые варианты осуществления, но предполагаются и другие варианты осуществления. Обсуждение фиг. 5–12 не ограничивает охват вариантов реализации. По меньшей мере один из аспектов, по существу, относится к кодированию и декодированию видео, и по меньшей мере один другой аспект, по существу, относится к передаче битового потока, генерируемого или кодируемого. Эти и другие аспекты могут быть реализованы в виде способа, устройства, машиночитаемого носителя данных, хранящегося на нем, для кодирования или декодирования видеоданных в соответствии с любым из описанных способов и/или машиночитаемого носителя данных, хранящегося на нем битового потока, генерируемого в соответствии с любым из описанных способов.
В настоящей заявке термины «восстановленный» и «декодированный» могут использоваться взаимозаменяемо, термины «пиксель» и «выборка» могут использоваться взаимозаменяемо, термины «изображение», «картинка» и «рамка» могут использоваться взаимозаменяемо.
В данном документе описаны различные способы, каждый из которых включает один или более этапов или действий для их реализации. Если для надлежащей работы способа не требуется конкретный порядок этапов или действий, порядок и/или применение конкретных этапов и/или действий могут быть изменены или объединены. Кроме того, в различных вариантах осуществления могут использоваться термины, такие как «первый», «второй» и т.п., для модификации элемента, компонента, этапа, работы и т.д., например, «первое декодирование» и «второе декодирование». Использование таких терминов не подразумевает упорядочение измененных операций, если иное не требуется. Таким образом, в этом примере первое декодирование не обязательно должно выполняться перед вторым декодированием. Оно может выполняться, например, до, во время или в период перекрытия со вторым декодированием.
Различные способы и другие аспекты, описанные в настоящей заявке, могут быть использованы для модификации модулей, например, внутреннего прогнозирования и энтропийного кодирования и/или модулей кодирования (260, 360, 245, 330) видеокодера 200 и декодера 300, как показано на фиг. 2 и фиг. 3. Более того, описанный в настоящем документе объект изобретения представляет аспекты, которые не ограничиваются VVC или HEVC, и могут быть применены, например, к любому типу, формату или варианту кодирования видеосигналов, описанным в стандарте или рекомендации, независимо от того, существовали ли они ранее или будут разработаны в будущем, и расширения любых таких стандартов и рекомендаций (например, включая VVC и HEVC). Если не указано иное, или технически не исключено, аспекты, описанные в настоящей заявке, могут быть использованы отдельно или в комбинации.
В примерах, описанных в настоящей заявке, используются различные числовые значения, такие как весовые коэффициенты, такие как {1/4,1/8,1/16,1/32} или {3/4,7/8,15/16,31/32}, фильтр, такой как 3-отводный фильтр [-1, 0, 1] и т.д. Эти и другие конкретные значения предназначены для целей описания примеров. Описанные аспекты не ограничиваются этими конкретными значениями.
На фиг. 2 представлена схема, изображающая пример видеокодера. Предполагаются варианты примеров кодера 200, но кодер 200 описан ниже для ясности без описания всех ожидаемых вариантов.
Перед кодированием видеопоследовательность может пройти обработку предварительного кодирования (201), например, применяя преобразование цвета к входному цветному изображению (например, преобразование из RGB 4:4:4 в YCbCr 4:2:0), или выполнение повторного отображения компонентов входного изображения, чтобы получить распределение сигнала, более устойчивое к сжатию (например, с использованием выравнивания гистограммы одного из компонентов цвета). Метаданные могут быть связаны с предварительной обработкой и прикреплены к битовому потоку.
В кодере 200 изображение кодируется элементами кодирования, как описано ниже. Изображение, подлежащее кодированию, разделено (202) и обрабатывается в блоках, например, блоках кодирования (CU). Каждый блок кодируется, например, либо внутренним, либо межблочным режимом. При кодировании блока во внутреннем режиме он выполняет внутреннее прогнозирование (260). В межблочном режиме выполняется оценка движения (275) и компенсация (270). Кодер решает (205), какой из режимов (внутренний или межблочный) использовать для кодирования блока, и отмечает решение, например, с помощью флага режима прогнозирования. Остатки прогнозирования рассчитывают, например, путем вычитания (210) прогнозируемого блока из исходного блока изображения.
Затем остатки прогнозирования трансформируют (225) и квантуют (230). Квантованные коэффициенты преобразования, а также векторы движения и другие элементы синтаксиса подвергаются энтропийному кодированию (245) для вывода потока битов. Кодер может пропустить преобразование и применить квантование непосредственно к непреобразованному остаточному сигналу. Кодер может обходить как преобразование, так и квантование, т.е. остаток кодируется непосредственно без применения процессов преобразования или квантования.
Кодер декодирует кодируемый блок для обеспечения ссылки на дополнительное прогнозирование. Квантованные коэффициенты преобразования подвергаются деквантованию (240) и обратному преобразованию (250) для декодирования остатков прогнозирования. Блок изображения восстанавливается путем объединения (255) декодированного остатка прогнозирования и прогнозируемого блока. Внутрипетлевые фильтры (265) применяют к восстановленному изображению для выполнения, например, деблокирования/фильтрация SAO (фильтрация с адаптивным смещением) для уменьшения артефактов кодирования. Отфильтрованное изображение хранится в буфере (280) эталонного изображения.
На фиг. 3 представлена схема, изображающая пример видеодекодера; в примере декодера 300 битовый поток декодируется элементами декодера, как описано ниже. Видеодекодер 300, по существу, выполняет проход декодирования, обратный проходу кодирования, как описано на фиг. 2. Кодер 200 также может, по существу, выполнять декодирование видеоданных как часть кодирования видеоданных. Например, кодер 200 может выполнять один или более этапов декодирования видео, представленных в настоящем документе. Кодер реконструирует декодированные изображения, например, для поддержания синхронизации с декодером относительно одного или более из следующего: эталонные изображения, контекст энтропийного кодирования и другие вариабельные переменные состояния.
В частности, вход декодера включает в себя битовый поток видео, который может быть сгенерирован видеокодером 200. Битовый поток сначала энтропийно декодируется (330) для получения коэффициентов преобразования, векторов движения и другой кодированной информации. Информация о разделе изображения указывает, как разделяется изображение. Таким образом, декодер может разделять (335) изображение в соответствии с декодированной информацией разделения изображений. Коэффициенты преобразования подвергаются деквантованию (340) и обратному преобразованию (350) для декодирования остатков прогнозирования. Блок изображения восстанавливается путем объединения (355) декодированного остатка прогнозирования и прогнозируемого блока. Может быть получен прогнозируемый блок (370) из межкадрового прогнозирования (360) или прогнозирования с компенсированным движением (т.е. межпрогнозирование) (375). Внитрипетлевые фильтры (365) применяются к восстановленному изображению. Отфильтрованное изображение хранится в буфере (380) эталонного изображения.
Декодированное изображение может дополнительно подвергаться обработке (385) после декодирования, например, обратному цветовому преобразованию (например, преобразованию из YCbCr 4:2:0 к RGB 4:4:4) или обратному перераспределению, выполняющему инверсию процесса перераспределения при предварительном кодировании (201). Обработка после декодирования может использовать метаданные, полученные в процессе предварительного кодирования и сигнализации в битовом потоке.
На фиг. 4 представлена схема, иллюстрирующая пример системы, в которой могут быть реализованы различные аспекты и варианты осуществления, описанные в настоящем документе. Система 400 может быть реализована в виде устройства, включающего в себя различные компоненты, описанные ниже, и выполнена с возможностью выполнения одного или более действий, описанных в настоящем документе. Примерами таких устройств являются, без ограничений, различные электронные устройства, такие как персональные компьютеры, ноутбуки, смартфоны, планшетные компьютеры, телевизионные приставки, цифровые телевизионные приемники, персональные системы видеозаписи, подключенные бытовые устройства и серверы. Элементы системы 400 по отдельности или в комбинации могут быть реализованы в виде одной интегральной схемы (IC), множества IC и/или дискретных компонентов. Например, по меньшей мере в одном примере элементы системы 400 для обработки и работы кодера/декодера распределены по множеству IC и/или дискретных компонентов. В различных вариантах осуществления система 400 соединена с возможностью связи с одной или более другими системами или другими электронными устройствами, например, посредством шины связи или с помощью специальных портов ввода и/или вывода. В различных вариантах осуществления система 400 выполнена с возможностью реализации одного или более аспектов, описанных в настоящем документе.
Система 400 включает в себя по меньшей мере один процессор 410, выполненный с возможностью исполнения загруженных в него команд для реализации, например, различных аспектов, описанных в настоящем документе. Процессор 410 может включать в себя встроенное запоминающее устройство, входной/выходной интерфейс и различные другие соединения и элементы, известные специалистам в данной области. Система 400 включает в себя по меньшей мере одно запоминающее устройство 420 (например, энергозависимое запоминающее устройство и/или энергонезависимое запоминающее устройство). Система 400 включает в себя устройство хранения данных 440, которое может включать в себя энергонезависимое запоминающее устройство и/или энергозависимое запоминающее устройство, включая, без ограничений, электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), постоянное запоминающее устройство (ПЗУ), программируемое постоянное запоминающее устройство (ППЗУ), оперативное запоминающее устройство (ОЗУ), динамическое оперативное запоминающее устройство (ДОЗУ), статическое оперативное запоминающее устройство (СОЗУ), флэш-память, магнитный диск и/или оптический диск. Устройство хранения данных 440 может включать в себя внутреннее устройство хранения данных, прикрепленное устройство хранения данных (включая съемные и несъемные устройства хранения данных) и/или сетевое устройство хранения данных, в качестве примеров, не имеющих ограничительного характера.
Система 400 включает в себя модуль кодера/декодера 430, выполненный, например, с возможностью обработки данных для предоставления закодированного или декодированного видеопотока, и модуль кодера/декодера 430 может включать в себя собственный процессор и запоминающее устройство. Модуль кодера/декодера 430 представляет собой модуль (модули), который может быть встроен в устройство для выполнения функций кодирования и/или декодирования. Как известно, устройство может включать в себя один или оба модуля кодирования и декодирования. Кроме того, модуль кодера/декодера 430 может быть реализован в виде отдельного элемента системы 400 или может быть встроен в процессор 410 в виде комбинации аппаратного и программного обеспечения, как известно специалистам в данной области.
Программный код, подлежащий загрузке в процессор 410 или кодер/декодер 430 для выполнения различных аспектов, описанных в настоящем документе, может храниться в устройстве хранения данных 440, а затем загружаться в запоминающее устройство 420 для исполнения процессором 410. В соответствии с различными вариантами осуществления в одном или более элементов, в том числе процессоре 410, запоминающем устройстве 420, устройстве хранения данных 440 и модуле кодера/декодера 430, могут храниться один или более различных элементов во время выполнения процессов, описанных в настоящем документе. Такие элементы, хранящиеся в устройствах, могут включать в себя, без ограничений, входной видеопоток, декодированный видеопоток или части декодированного видеопотока, битовый поток, матрицы, переменные, промежуточные или конечные результаты обработки уравнений, формул, операций и функциональной логики.
В некоторых вариантах осуществления запоминающее устройство внутри процессора 410 и/или модуля кодера/декодера 430 используют для хранения команд и обеспечения функционирования рабочего запоминающего устройства для обработки данных во время кодирования или декодирования. Однако в других вариантах осуществления запоминающее устройство, являющееся внешним по отношению к устройству обработки (например, устройство обработки может представлять собой процессор 410 или модуль кодера/декодера 430), используется для одной или более из этих функций. Внешнее запоминающее устройство может представлять собой запоминающее устройство 420 и/или устройство хранения данных 440, например динамическое энергозависимое запоминающее устройство и/или энергонезависимую флэш-память. В нескольких вариантах осуществления внешняя энергонезависимая флэш-память используется для хранения операционной системы устройства, например, телевизора. По меньшей мере в одном варианте осуществления быстродействующее внешнее динамическое энергозависимое запоминающее устройство, например, ОЗУ, используют в качестве рабочего запоминающего устройства для операций кодирования и декодирования видеосигналов, например, 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, Объединенной группой экспертов по видеосигналам).
Ввод данных в элементы системы 400 может осуществляться через различные устройства ввода, как указано в блоке 445. Такие устройства ввода включают в себя, без ограничений, (i) радиочастотную (РЧ) часть, которая принимает РЧ-сигнал, передаваемый, например, по беспроводной связи с помощью передающей станции, (ii) терминал ввода компонента (COMP) (или набор терминалов ввода COMP), (iii) терминал ввода универсальной последовательной шины (USB) и/или (iv) терминал ввода мультимедийного интерфейса высокой четкости (HDMI). Другие примеры, не показанные на фиг. 4, включают в себя составное видеоизображение.
В различных вариантах осуществления устройства ввода (блок 445), снабжены соответствующими элементами обработки входных данных, как известно специалистам в данной области. Например, РЧ-часть может быть связана с элементами, подходящими для (i) выбора желаемой частоты (это также называется выбором сигнала или ограничением полосы частот), (ii) преобразования выбранного сигнала с понижением частоты, (iii) ограничения полосы частот для получения более узкой полосы частот для выбора (в том числе) полосы частот сигнала, которая в определенных вариантах осуществления может называться каналом, (iv) демодулирования сигнала с пониженной частотой и ограниченной полосой частот, (v) выполнения коррекции ошибок и (vi) демультиплексирования для выбора желаемого потока пакетов данных. РЧ-часть в различных вариантах осуществления включает в себя один или более элементов для выполнения этих функций, например, селекторы частоты, селекторы сигнала, ограничители полосы частот, селекторы каналов, фильтры, понижающие преобразователи, демодуляторы, корректоры ошибок и демультиплексоры. РЧ-часть может включать в себя переключатель каналов, который выполняет различные из этих функций, включая, например, преобразование принятого сигнала с понижением частоты в более низкую частоту (например, промежуточную частоту или частоту, близкую к основной полосе частот) или в основную полосу частот. В одном варианте осуществления телевизионной приставки РЧ-часть и связанный с ней элемент обработки входных данных принимают РЧ-сигнал, передаваемый по проводу (например, кабелю), и выполняют выбор частоты путем фильтрации, преобразования с понижением частоты и повторной фильтрации для достижения требуемого диапазона частот. В рамках различных вариантов осуществления порядок описанных выше (и других) элементов изменяется, некоторые из этих элементов удаляются и/или добавляются другие элементы, выполняющие аналогичные или иные функции. Добавление элементов может включать в себя встраивание элементов между существующими элементами, например, добавление усилителей и аналого-цифрового преобразователя. В различных вариантах осуществления РЧ-часть включает в себя антенну.
Дополнительно терминалы USB и/или HDMI могут включать в себя соответствующие интерфейсные процессоры для подключения системы 400 к другим электронным устройствам через соединения USB и/или HDMI. Следует понимать, что различные аспекты входной обработки, например, коррекция ошибок Рида-Соломона, при необходимости могут быть реализованы, например, в пределах отдельной входной обработки данных IC или в процессоре 410. Аналогичным образом, аспекты обработки интерфейса USB или HDMI при необходимости могут быть реализованы в отдельных IC интерфейса или в процессоре 410. Демодулированный, исправленный и демультиплексированный поток данных подают на различные элементы обработки, включая, например, процессор 410 и кодер/декодер 430, работающие в комбинации с элементами системы хранения информации для обработки потока данных при необходимости их представления на устройстве вывода.
Различные элементы системы 400 могут быть предусмотрены внутри интегрированного корпуса, и в пределах такого интегрированного корпуса различные элементы могут быть взаимно соединены и передавать данные между собой с помощью подходящей соединительной конструкции 425, например, внутренней шины, известной специалистам в данной области, включая шину Inter-IC (I2C), проводов и печатных плат.
Система 400 включает в себя интерфейс связи 450, который обеспечивает связь с другими устройствами по каналу связи 460. Интерфейс связи 450 может включать в себя, без ограничений, приемопередатчик, выполненный с возможностью передачи и приема данных по каналу связи 460. Интерфейс связи 450 может включать в себя, без ограничений, модем или сетевую плату, а канал связи 460 может быть реализован, например, в проводном и/или беспроводном варианте.
В различных вариантах осуществления данные передаются в систему 400 с использованием беспроводной сети, такой как сеть Wi-Fi, например IEEE 802.11 (аббревиатура «IEEE» относится к Институту инженеров по электротехнике и электронике). Сигнал Wi-Fi в рамках этих примеров принимается по каналу связи 460 и интерфейсу связи 450, которые выполнены с возможностью связи по Wi-Fi. Канал связи 460 в рамках этих вариантов осуществления, как правило, соединен с точкой доступа или маршрутизатором, который обеспечивает доступ к внешним сетям, в том числе сети Интернет, для обеспечения возможности потоковой и иной передачи данных. В других вариантах осуществления потоковые данные поступают в систему 400 с помощью телевизионной приставки, которая доставляет данные через соединение HDMI блока ввода 445. В других вариантах осуществления потоковые данные поступают в систему 400 с помощью РЧ-соединения блока ввода 445. Как указано выше, в рамках различных вариантов осуществления не происходит потоковой передачи данных. Кроме того, в различных вариантах осуществления используются беспроводные сети, отличные от Wi-Fi, например, сотовая сеть или сеть Bluetooth.
Система 400 может подавать выходной сигнал на различные устройства вывода, включая дисплей 475, динамики 485 и другие периферийные устройства 495. Дисплей 475 в различных вариантах осуществления включает в себя, например, сенсорный дисплей, дисплей на органических светодиодах (OLED), изогнутый дисплей и/или складываемый дисплей. Дисплей 475 может быть предназначен для работы с телевизором, планшетным компьютером, ноутбуком, сотовым телефоном (мобильным телефоном) или другим устройством. Дисплей 475 также может быть встроен в другие компоненты (например, как это реализовано в смартфоне) или может представлять собой отдельный компонент (например, внешний монитор на ноутбуке). В различных примерах осуществления другие периферийные устройства 495 включают в себя, например, автономный цифровой видеодиск (или универсальный цифровой диск) («DVR» для обоих терминов), проигрыватель дисков, стерео систему и/или осветительную систему. В различных вариантах осуществления используются одно или более периферийных устройств 495, которые обеспечивают выполнение функции, основанной на выходных данных системы 400. Например, проигрыватель дисков выполняет функцию воспроизведения выходного сигнала системы 400.
В различных вариантах осуществления управляющие сигналы передаются между системой 400 и дисплеем 475, динамиками 485 или другими периферийными устройствами 495 с использованием таких методов передачи сигналов, как AV.Link, Consumer Electronics Control (CEC) и других протоколов связи, которые обеспечивают возможность последовательного управления устройствами с вмешательством пользователя или без него. Устройства вывода могут быть соединены с возможностью связи с системой 400 посредством выделенных соединений с помощью соответствующих интерфейсов 470, 480 и 490. В альтернативном варианте осуществления устройства вывода могут быть подключены к системе 400 с помощью канала связи 460 посредством интерфейса связи 450. Дисплей 475 и динамики 485 могут быть интегрированы в единый блок с другими компонентами системы 400 в электронном устройстве, например, телевизоре. В различных вариантах осуществления интерфейс дисплея 470 включает в себя драйвер дисплея, например, контроллер синхронизации (T Con).
В альтернативном варианте осуществления дисплей 475 и динамик 485 могут работать отдельно от одного или более других компонентов, например, если РЧ-часть блока ввода 445 является частью отдельной телевизионной приставки. В различных вариантах осуществления, в которых дисплей 475 и динамики 485 являются внешними компонентами, выходной сигнал может выводиться через специальные выходные соединения, включая, например, порты HDMI, порты USB или выходы COMP.
Варианты осуществления могут быть реализованы с помощью компьютерного программного обеспечения, исполняемого процессором 410, или аппаратного обеспечения, или с помощью комбинации аппаратного и программного обеспечения. В качестве примера, не имеющего ограничительного характера, варианты осуществления могут быть реализованы в виде одной или более интегральных схем. Запоминающее устройство 420 может быть реализовано в соответствии с любым его типом, подходящим для технической среды, и может быть реализовано с использованием любой подходящей технологии хранения данных, в том числе оптических запоминающих устройств, магнитных запоминающих устройств, полупроводниковых запоминающих устройств, постоянных запоминающих устройств и съемных запоминающих устройств, в качестве примеров, не имеющих ограничительного характера. Процессор 410 может быть реализован в соответствии с любым его типом, подходящим для технической среды, и может включать в себя один или более микропроцессоров, компьютеров общего назначения, компьютеров специального назначения и процессоров с многоядерной архитектурой, в качестве примеров, не имеющих ограничительного характера.
Различные варианты осуществления включают в себя декодирование. Используемый в настоящей заявке термин «декодирование» может означать все или часть выполняемых процессов, например, в принятой кодированной последовательности для формирования конечных выходных данных, подходящих для отображения. В различных вариантах осуществления такие процессы включают в себя один или более процессов, обычно выполняемых декодером, например энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. В различных вариантах реализации такие процессы также или альтернативно включают в себя процессы, выполняемые декодером различных вариантов реализации, описанных в настоящей заявке, например декодирование блока, содержащего текущий подблок, на основании значения выборки, полученного для первого пикселя, который может быть получен на основе, например, вектора движения (MV) текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для второго пикселя, смежного с первым пикселем т.д.
В качестве дополнительных вариантов осуществления в одном примере «декодирование» относится только к энтропийному декодированию, в другом варианте осуществления «декодирование» относится только к дифференциальному декодированию, а в другом варианте осуществления «декодирование» относится к комбинации энтропийного декодирования и дифференциального декодирования. Ответ на вопрос о том, предназначена ли фраза «процесс декодирования» конкретно для ссылки на подмножество операций или для ссылки на процесс декодирования в более широком смысле, будет понятен на основе контекста конкретных описаний. Считается, что принцип применения данного термина известен специалистам в данной области.
Различные варианты осуществления включают в себя кодирование. Аналогично приведенному выше описанию термина «декодирование», используемый в настоящей заявке термин «кодирование» может означать все или часть процессов, выполняемых, например, на входной видеопоследовательности для создания кодированного битового потока. В различных вариантах осуществления такие процессы включают в себя один или более процессов, обычно выполняемых кодером, например разделение, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование. В различных вариантах осуществления такие процессы также или альтернативно включают процессы, выполняемые кодером различных вариантов реализации, описанных в настоящей заявке, например, декодирование блока, содержащего текущий подблок, на основании значения выборки, полученного для первого пикселя, который может быть получен на основе, например, вектора движения (MV) текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для второго пикселя, смежного с первым пикселем и т.д.
В качестве дополнительных примеров в одном варианте осуществления термин «кодирование» относится только к энтропийному кодированию, в другом варианте осуществления термин «кодирование» относится только к дифференциальному кодированию, а в еще одном варианте осуществления термин «кодирование» относится к комбинации дифференциального кодирования и энтропийного кодирования. Ответ на вопрос о том, предназначена ли фраза «процесс кодирования» конкретно для ссылки на подмножество операций или для ссылки на процесс кодирования в более широком смысле, будет понятен на основе контекста конкретных описаний. Считается, что принцип применения данного термина известен специалистам в данной области.
Следует отметить, что элементы синтаксиса, используемые в настоящем документе, представляют собой описательные термины. Таким образом, их использование не исключает использования других названий элементов синтаксиса.
Если фигура представлена в виде блок-схемы, следует понимать, что она также представляет собой блок-схему соответствующего устройства. Аналогичным образом, если фигура представлена в виде блок-схемы, следует понимать, что она также представляет собой блок-схему соответствующего способа/процесса.
Во время процесса кодирования, как правило, рассматривается баланс или компромисс между скоростью и искажением, часто с учетом ограничений вычислительной сложности. Оптимизация искажения скорости, как правило, формулируется как минимизация функции искажения скорости, которая представляет собой взвешенную сумму скорости и искажения. Существуют различные подходы для решения проблемы оптимизации скорости передачи. Например, подходы могут быть основаны на обширном испытании всех вариантов кодирования, включая все рассматриваемые режимы или параметры кодирования, при полной оценке стоимости кодирования и относительного искажения восстановленного сигнала после кодирования и декодирования. Кроме того, можно использовать более быстрые подходы для сохранения сложности кодирования, в частности, при вычислении приближения искажений на основе прогнозирования или остаточного сигнала прогнозирования, а не восстановления. Можно также использовать комбинацию этих двух подходов, например, используя приблизительное искажение только для некоторых возможных вариантов кодирования и полное искажение для других вариантов кодирования. Другие подходы оценивают только подмножество возможных вариантов кодирования. В более общем смысле, многие подходы используют любой из множества методик для выполнения оптимизации, но оптимизация не обязательно является полной оценкой как стоимости кодирования, так и связанных искажений.
Варианты осуществления и аспекты, описанные в настоящем документе, могут быть реализованы, например, в рамках способа или процесса, устройства, программного обеспечения, потока данных или сигнала. Даже если данный аспект описывается только в контексте одной формы осуществления (например, рассматривается только как способ), описываемый вариант осуществления элементов также может быть реализован в других формах (например, в устройстве или программном обеспечении). Устройство может быть реализовано, например, в виде соответствующего аппаратного обеспечения, программного обеспечения и микропрограммного обеспечения. Способы могут быть реализованы, например, в виде процессора, который относится к устройствам обработки в целом, включая, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/карманные персональные компьютеры (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). Данные выражения могут применяться в более широком смысле в зависимости от количества элементов, как известно специалистам в данной области.
Кроме того, в настоящем документе слово «сигнал» означает, помимо прочего, команду, передаваемую на соответствующий декодер. Например, в некоторых вариантах осуществления кодер (например, декодер) передает весовой коэффициент и т.д. Таким образом, в варианте осуществления один и тот же параметр используется как на стороне кодера, так и на стороне декодера. Таким образом, например, кодер может передавать (посредством прямой передачи сигнала) конкретный параметр декодеру таким образом, чтобы декодер мог использовать данный конкретный параметр. И наоборот, если декодер уже имеет определенные параметры, в том числе конкретный параметр, для указания конкретного параметра можно использовать метод косвенной передачи сигнала без передачи параметра (невыраженная передача). За счет исключения передачи фактических функций в различных вариантах осуществления обеспечивается экономия битов. Следует понимать, что передача сигналов может выполняться различными способами. Например, в различных вариантах осуществления один или более элементов синтаксиса, флагов и т.п. используют для передачи информации соответствующему декодеру. В настоящем документе в отношении передачи сигналов могут использоваться различные части речи, такие как глагол «передавать сигнал» и существительное «передача сигнала».
Как будет понятно специалистам в данной области, в рамках вариантов осуществления могут генерироваться различные сигналы, отформатированные для передачи информации, которую можно, например, хранить или передавать. Информация может включать в себя, например, инструкции по реализации способа или данные, полученные в рамках одного из описанных вариантов осуществления. Например, сигнал может быть отформатирован для передачи битового потока согласно описанному варианту осуществления. Такой сигнал может быть отформатирован, в том числе в виде электромагнитной волны (например, с использованием радиочастотного участка спектра) или в виде сигнала основной полосы частот. Форматирование может включать в себя, например, кодирование потока данных и модуляцию несущей частоты потоком кодированных данных. Информация, передаваемая сигналом, может представлять собой, например, аналоговую или цифровую информацию. Как известно, сигнал может передаваться по множеству различных проводных и беспроводных линий связи. Сигнал может храниться на считываемом процессором носителе.
Может быть выполнено двунаправленное прогнозирование движения (MCP). MCP может демонстрировать высокую эффективность при удалении временной избыточности, например, путем использования временных корреляций между изображениями. Сигнал двойного прогнозирования может формироваться, например, посредством комбинирования двух сигналов единичного прогнозирования (например, с использованием значения весового коэффициента, равного 0,5). Объединение сигналов единичного прогнозирования может быть субоптимальным, например, при быстром изменении освещенности от одного эталонного изображения к другому. Методики прогнозирования могут компенсировать вариацию освещенности с течением времени, например, путем применения глобальных или локальных значений массы и/или смещения для одного или более (например, каждого) значений выборки в эталонных изображениях.
Модули кодирования (например, связанные с временным прогнозированием) могут быть увеличены и/или улучшены. В качестве инструмента для кодирования может быть использована аффинная компенсация движения.
В настоящем документе могут быть описаны варианты реализации с использованием аффинного режима. Для прогнозирования с компенсацией движения может применяться модель трансляционного движения. Может быть много видов движения (например, приближение или отдаление, вращение, перспективные движения и/или другие незакономерные движения). В качестве примера может применяться упрощенное прогнозирование с компенсацией движения аффинного преобразования. Флаг для внешне кодированных CU (например, каждого внешне кодированного CU) может сигнализироваться, например, для указания, применяется ли модель трансляционного движения или аффинная модель движения для межкадрового прогнозирования. Флаг может быть сигнализирован (например, если используется аффинное движение) для указания количества параметров, используемых в аффинной модели движения (например, четыре или шесть).
Аффинная модель движения может представлять собой модель с четырьмя параметрами. Для трансляционного перемещения можно использовать два параметра (например, по одному для каждого из горизонтальных и вертикальных направлений). Для масштабирующего движения можно использовать один параметр. Для вращательного движения можно использовать один параметр. Параметр горизонтального масштабирования может быть равен параметру вертикального масштабирования. Параметр горизонтального вращения может быть равен параметру вертикального вращения. Модель движения с четырьмя параметрами может быть закодирована с использованием двух векторов движения (MV) в виде (например, одной) пары в двух положениях контрольных точек, определенных в верхнем левом углу и верхнем правом углу текущего CU. На фиг. 5 проиллюстрирован пример модели аффинного режима с четырьмя параметрами и выведением движения на уровне подблока для аффинных блоков. Как показано на фиг. 5, аффинное поле движения блока описывается двумя векторами движения контрольной точки (V0, V1). На основе движения контрольной точки поле движения (vx, vy) может быть описано, например, согласно уравнению 1:
… (1)
где (v0x, v0y) может быть вектором движения контрольной точки в верхнем левом углу, (v1x, v1y) может быть вектором движения контрольной точки в верхнем правом углу, как показано на фиг. 5, а w может быть шириной CU.
Аффинная модель движения может представлять собой модель с шестью параметрами. Для трансляционного перемещения можно использовать два параметра (например, по одному для каждого из горизонтальных и вертикальных направлений). Для масштабирующего движения (например, одного из горизонтальных и вертикальных направлений) можно использовать два параметра. Для вращательного движения (например, один для каждого из горизонтальных и вертикальных направлений) можно использовать два параметра. Модель движения с шестью параметрами кодируется тремя MV в трех контрольных точках. На фиг. 6 представлен пример аффинного режима с шестью параметрами, где V 0, В1 и V2 представляют собой контрольные точки и (MV x, MVy) представляет собой вектор движения подблока с центром в положении (x, y). Как показано на фиг. 6, контрольные точки для CU с аффинным кодированием с шестью параметрами могут быть определены в верхнем левом, верхнем правом и нижнем левом углах CU. Движение в верхней левой контрольной точке может быть связано с трансляционным движением. Движение в верхней правой контрольной точке может быть связано с перемещением и масштабирующим движением в горизонтальном направлении. Движение в нижней левой контрольной точке может быть связано с вращением и масштабирующим движением в вертикальном направлении. Вращение и масштабирующее движение в горизонтальном направлении могут отличаться от движения в вертикальном направлении. MV подблока (например, каждого подблока) (vx,y) можно получать с использованием трех MV в контрольных точках, например, в соответствии с уравнениями 2 и 3:
… (2)
… (3)
где (v2x, v2y) может представлять собой вектор движения левой нижней контрольной точки, (x, y) может представлять собой центральное положение подблока, а w и h может представлять собой ширину и высоту CU, соответственно.
Поле движения блока, кодируемого аффинной моделью движения, может быть получено на основе, например, гранулярности подблока. MV подблока (например, каждого) может быть получен, например, путем вычисления MV центральной выборки подблока (например, как показано на фиг. 5) (например, в соответствии с уравнением (1)). Расчет может быть округлен, например, с точностью до 1/16. Полученные MV могут использоваться на этапе компенсации движения для генерирования сигнала прогнозирования подблока (например, каждого подблока) внутри текущего блока. Размер подблока, применяемый для аффинной компенсации движения, может быть, например, 4x4. Четыре параметра аффинной модели с 4 параметрами можно рассчитать, например, итерационно. Например, одна или более пар MV на этапе k могут быть обозначены как {,
}. Исходный сигнал яркости может быть обозначен как
. Сигнал прогнозирования яркости может быть обозначен как
. Пространственные градиенты
и
могут быть получены с помощью фильтра Собеля, примененного к сигналу прогнозирования
в горизонтальном и вертикальном направлении соответственно. Производная от уравнения (1) может быть представлена, например, согласно уравнению 4:
… (4)
где (a, b) могут быть параметрами дельта-вектора поступательного перемещения, а (c, d) могут быть параметрами дельта-вектора масштабирования и вращения на стадии k. Дельта MV в контрольных точках может быть получена с координатами, например, в соответствии с уравнениями 5 и 6. Например, (0, 0) и (w, 0) могут представлять собой координаты для верхних левых и верхних правых контрольных точек соответственно.
… (5)
… (6)
Связь между изменением яркости и пространственным градиентом и временным перемещением может быть сформулирована, например, в соответствии с уравнением 7:
… (7)
где и
может быть замещен значениями в уравнении (4), например, для получения уравнения для параметров (a, b, c, d), например, как показано в уравнении 8:
… (8)
Набор параметров (a, b, c, d) может быть получен, например, с использованием метода наименьших квадратов (например, поскольку выборки в CU удовлетворяют уравнению 8). MV в двух контрольных точках {,
на этапе (k+1) можно решить с помощью уравнений 5 и 6, и они могут быть округлены до конкретной точности (например, 1/4 пиксельной точности (pel)). MV в двух контрольных точках могут быть уточнены (например, с использованием итерации) до тех пор, пока параметры (a, b, c, d) не станут (например, все) равными нулю или количество раз, когда итерация была выполнена, не достигнет (например, предопределенный) предел.
Шесть параметров аффинной модели с шестью параметрами можно рассчитать. Уравнение 4 может быть изменено, например, в соответствии с уравнением 9:
… (9)
где (a, b) могут представлять собой дельта-параметры поступательного движения, (c, d) могут представлять собой дельта-параметры масштабирования и вращения для горизонтального направления, а (e, f) могут представлять собой дельта-параметры масштабирования и вращения для вертикального направления на шаге k. Уравнение 8 может быть изменено, например, в соответствии с уравнением 10:
… (10)
Набор параметров (a, b, c, d, e, f) может быть определен, например, с использованием метода наименьших квадратов, например с учетом выборки (например, всех выборок) в CU. MV верхней левой контрольной точки может быть рассчитан по уравнениям 5. MV верхней правой контрольной точки
и MV нижней левой контрольной точки
) можно рассчитать, например, в соответствии с уравнениями 11 и 12:
… (11)
… (12)
Может быть предусмотрено уточнение вектора движения на стороне декодера (DMVR). DMVR на основе двустороннего сопоставления (BM) может применяться, например, для повышения точности MV в режиме слияния. При двойном прогнозировании может выполняться поиск уточненного MV вокруг исходных MV в списке эталонных изображений L0 и/или списке эталонных изображений L1. DMVR на основе BM может вычислять искажение между двумя блоками-кандидатами в списке L0 и списке L1 эталонных изображений. На фиг. 7 представлен пример уточнения бокового вектора движения (MV). Как показано на фиг. 7, сумма абсолютной разности (SAD) между выровненными блоками может быть вычислена, например, на основе одного или нескольких (например, каждого) кандидата MV вокруг начального MV. Потенциальный элемент MV с наименьшей SAD может стать уточненным MV и может использоваться для генерирования сигнала двойного прогнозирования.
Уточненный MV, полученный посредством DMVR, можно использовать, например, для генерации образцов межкадрового прогнозирования. Уточненный MV, полученный с помощью DMVR, можно использовать в прогнозировании временного вектора движения, например, для будущих изображений. Начальный MV может быть использован при деблокировании и/или прогнозировании пространственного вектора движения для будущего кодирования CU, например, для предотвращения любой зависимости MV между текущим CU и соседним CU.
Как показано на фиг. 7, точки поиска, которые окружают начальный MV и смещение MV, могут подчиняться правилу зеркального отображения разности MV (например, симметричному). Точки, которые проверяются DMVR, обозначенные парой MV-кандидатов (MV0, MV1), могут соответствовать уравнению 13 и/или уравнению 14:
где может представлять собой смещение уточнения между начальным MV и уточненным MV в одном из эталонных изображений. Диапазон поиска для уточнения может представлять собой, например, два целых числа выборок яркости из начального MV. Быстрый способ поиска с механизмом раннего прекращения может быть применен, например, для уменьшения сложности поиска.
Может быть обеспечено прогнозирование временного вектора движения в подблоке (SbTMVP). SbTMVP может использовать поле движения в выровненном изображении для улучшения прогнозирования вектора движения и режима объединения для CU в текущем изображении. То же совмещенное изображение, используемое для прогнозирования временного вектора движения (TMVP), может использоваться для SbTMVP. SbTMP может отличаться от TMVP в одном или более из следующих аспектов. TMVP может прогнозировать движение на уровне CU. SbTMP может прогнозировать движение на уровне под-CU. TMVP может извлекать временные векторы движения из выровненного блока в выровненное изображение. Выровненный блок может представлять собой нижний правый или центральный блок относительно текущего CU. SbTMVP может применять сдвиг движения, например, перед выборкой информации о временном движении из выровненного изображения. Сдвиг движения может быть получен из вектора движения, например, из одного из пространственных соседних блоков текущего CU.
На фиг. 8A и 8B представлен пример процесса SbTMVP. На фиг. 8A представлены примеры пространственных соседних блоков, которые можно использовать в SbTMVP. На фиг. 8B проиллюстрирован пример получения поля движения блока подкодирования (CU). Как показано на фиг. 8B, поле движения под-CU может быть получено путем применения сдвига движения от пространственного соседа и масштабирования информации о движении из соответствующих выровненных под-CU. SbTMVP может прогнозировать векторы движения под-CU в пределах текущего CU. Может быть исследован пространственный сосед (например, A1 на фиг. 8A). Вектор движения для A1 может быть выбран (например, для применения сдвига движения), например, если A1 имеет вектор движения, в котором используется выровненное изображение в качестве эталонного изображения. Сдвиг движения может быть выбран как (0, 0), например, если движение не установлено. Выбранный сдвиг движения может быть применен, например, для получения информации о движении на уровне под-CU (например, векторы движения и/или эталонные индексы) из выровненного изображения. Например, выбранный сдвиг движения может быть добавлен в координаты текущего блока. Сдвиг движения может быть установлен так, чтобы блокировать движение A1 (например, в примере, изображенном на фиг. 8B). Информация о движении (например, каждого) соответствующего блока под-CU (например, наименьшая сетка движения, которая покрывает центральную выборку) в совмещенном изображении может использоваться для получения информации о движении для под-CU. Информация о движении выровненного под-CU (например, после установления) может быть преобразована в векторы движения и эталонные индексы текущего под-CU. Например, временное масштабирование движения может применяться для совмещения эталонных изображений временных векторов движения с изображениями текущей CU.
Объединенный список слияния на основе подблоков, который включает кандидата SbTMVP и аффинных кандидатов слияния, может использоваться для сигнализации режима слияния на основе подблоков. Режим SbTMVP может быть активирован/деактивирован флагом набора параметров последовательности (SPS). Если включен режим SbTMVP, прогностический фактор SbTMVP может быть добавлен в качестве (например, первой) записи списка кандидатов на основе слияния подблоков с последующим добавлением кандидатов на аффинное объединение. Размер списка слияния на основе подблоков может сообщаться в SPS. Максимально допустимый размер списка слияния на основе подблоков может составлять, например, 5.
Размер под CU, используемый в SbTMVP, может быть зафиксирован, например, при 8x8. Режим SbTMVP может (например, только) быть применим к CU с шириной и высотой, превышающими или равными 8.
Логика кодирования дополнительного кандидата на слияние SbTMVP может быть такой же, как логика кодирования для других кандидатов на слияние. Например, для каждого CU в срезе P или B может быть выполнена дополнительная проверка RD. Дополнительная(-ые) проверка(-и) RD может(могут) быть использована(-ы) для принятия решения о необходимости использования кандидата SbTMVP.
Может быть предусмотрена компенсация движения перекрывающихся блоков (OBMC). OBMC может быть включена и выключена, например, с использованием синтаксиса на уровне CU. OBMC может быть выполнена для границ блоков с компенсацией движения (MC) (например, за исключением правой и нижней границы CU). OBMC может быть применена для компонентов яркости и насыщенности. Блок MC может соответствовать блоку кодирования. CU может быть закодирован в режиме под-CU (например, включает в себя слияние под-CU, аффинный режим и режим FRUC). Один или более подблоков (например, каждого подблока) CU, кодируемого режимом под CU, могут представлять собой блок MC. OBMC может быть выполнена на уровне подблока для (например, всех) границ блоков MC, например, для (например, единообразной) обработки границ-CU. На фиг. 9 представлен пример подблоков, в которых применяют OBMC. Размер подблока может быть установлен равным 4×4, например, как проиллюстрировано на фиг. 9.
OBMC может быть применена к текущему подблоку. Векторы движения (например, помимо текущих векторов движения) четырех соединенных соседних подблоков (например, если они доступны и не идентичны текущему вектору движения) могут быть использованы для получения блока прогнозирования для текущего подблока. В одном или более примерах термин «соседний» может использоваться взаимозаменяемо с термином «смежный». Множество блоков прогнозирования на основе множества векторов движения можно комбинировать, например, для генерирования конечного сигнала прогнозирования текущего подблока.
Блок прогнозирования на основе векторов движения соседнего подблока может обозначаться как PN, где N указывает индекс для соседних подблоков выше, ниже, слева и справа от текущего подблока. Блок прогнозирования на основе векторов движения текущего подблока может обозначаться как PC. OBMC можно пропустить, например, если PN основан на информации движения соседнего подблока, который включает в себя ту же информацию движения, что и текущий подблок. В противном случае одна или несколько (например, каждая) выборки PN могут быть добавлены к одной и той же выборке в PC, например, четыре строки/столбца PN могут быть добавлены в PC. В примерах весовые коэффициенты {1/4,1/8,1/16,1/32} могут быть использованы для PN и весовые коэффициенты {3/4,7/8,15/16,31/32} могут быть использованы для PC. Две строки и/или столбца PN можно добавлять к PC для небольших блоков MC, например, если высота или ширина блока кодирования равна четырем (4) или CU кодируется режимом под-CU. Для небольших блоков MC весовые коэффициенты {1/4, 1/8} могут использоваться для PN, а весовые коэффициенты {3/4, 7/8} могут использоваться для PC. Для PN, сгенерированного на основе векторов движения вертикально (например, и/или горизонтально) соседнего подблока, выборки в той же строке (например, и/или столбце) PN могут быть добавлены в PC с тем же весовым коэффициентом. Например, перекрывающиеся области пикселей могут использовать весовой коэффициент, отличный от весового коэффициента, используемого для неперекрывающихся областей пикселей.
Может быть сигнализирован флаг уровня CU для указания того, применяют ли OBMC к текущему CU, например, для размера CU менее или равно 256 выборкам яркости. OBMC может быть применена по умолчанию, например, для CU, имеющих размер более 256 выборок яркости или которые не кодируются режимом AMVP. Воздействие OMBC может быть учтено в кодере, например, во время стадии оценки движения. Сигнал прогнозирования, сформированный OBMC с использованием информации движения верхнего соседнего блока и левого соседнего блока, может использоваться для компенсации верхней и левой границ исходного сигнала текущего CU. Процесс оценки движения (например, нормальный) может (например, в противном случае) применяться (например, после этого).
Уточнение прогнозирования с помощью оптического потока (PROF) может применяться к аффинному режиму. PROF может уточнять аффинное прогнозирование движения на основе подблока с помощью оптического потока, например, для достижения линейной гранулярности компенсации движения. Выборка прогнозирования яркости может быть уточнена (например, после аффинной компенсации движения на основе подблока), например, путем добавления разности, полученной уравнением оптического потока. PROF может включать одно или несколько из следующего. Аффинная компенсация движения на основе подблоков может выполняться для генерирования прогнозирования подблоков . Пространственные градиенты
и
прогнозирования подблока могут быть вычислены в одном или нескольких местоположениях выборки (например, в каждом местоположении выборки). Например, пространственный градиент может быть рассчитан с использованием одного или более пикселей, которые могут или не могут быть частично или полностью смежными. В примере градиент для первого пикселя может быть основан на значении выборки для второго пикселя и значения выборки для третьего пикселя, причем второй и третий пиксели расположены смежно с первым пикселем. В некоторых примерах первый пиксель, для которого вычисляется градиент, может относиться к одному или обоим второму или третьему пикселю, которые примыкают к первому пикселю. В других примерах первый пиксель, для которого вычисляется градиент, может быть рядом, но не примыкать ни к одному, ни к любому из второго или третьего пикселей, которые являются смежными с первым пикселем. Расчеты могут быть выполнены с использованием 3-отводного фильтра, например [-1, 0, 1], например, как показано в уравнениях 15 и 16:
… (15)
… (16)
Прогнозирование подблоков может быть расширено (например, на один пиксель с каждой стороны) для вычисления градиента. Пиксели на расширенных границах могут быть скопированы, например, из позиции ближайшего целого пикселя в эталонном изображении. Можно избежать дополнительной интерполяции для области заполнения, например, если пиксели на расширенных границах копируются из ближайшего целого числа пикселей в эталонном изображении. На фиг. 10 показан пример подблока MV VSB и пиксель . Модификация прогнозирования яркости может быть рассчитана с помощью уравнения оптического потока, например, как показано в уравнении 17:
… (17)
где значение разницы векторов движения представляет собой разность между MV на уровне пикселя, рассчитанном для местоположения выборки
, обозначенном
, и уровнем MV на уровне подблока, который покрывает пиксель
, как показано на фиг. 10.
Параметры аффинной модели и местоположение пикселя относительно центра подблока могут не изменяться из подблока к подблоку. можно рассчитать для (например, первого) подблока и можно повторно использовать для других подблоков (например, в одном и том же CU). Пусть x и y будут горизонтальным и вертикальным смещением от местоположения пикселя до центра подблока,
может быть получено, например, согласно уравнению 18:
… (18)
где для аффинной модели с 4 параметрами, с и e можно определить в соответствии с уравнением 19:
… (19)
где для аффинной модели с 6 параметрами, с, d, e и f можно определить в соответствии с уравнением 20:
… (20)
и где ,
,
представляют собой векторы движения верхней левой, верхней правой и нижней левой контрольных точек, соответственно, а w и h представляют собой ширину и высоту CU. Уточнение прогнозирования яркости может быть добавлено к прогнозированию подблока
. Окончательный прогноз I’ может быть сгенерирован, например, согласно уравнению 21:
… (21)
DMVR и SbTMVP можно использовать в различных режимах прогнозирования для повышения точности предсказанных MV. Затем можно использовать уточненные MV после DMVR или SbTMVP (например, только) для последующего выполнения компенсации движения на основе подблока. OBMC может включать в себя уточнение уровня пикселя. OBMC можно использовать для снижения неоднородности границы на подблоках CU или под-CU. OBMC может включать в себя операции компенсации движения для одного или более (например, каждого) подблока. Например, MV четырех соединенных соседних подблоков, если они доступны и не идентичны MV текущего подблока, могут быть использованы для получения блока прогнозирования для текущего подблока.
Может быть предусмотрен способ уточнения подблока/блока, например, настройки уровня пикселя. Например, способ может быть использован для снижения неоднородности границы. На фиг. 11 представлен пример способа. Способ, описанный на фиг. 11, может быть применен в декодере и/или кодере.
На фиг. 11 представлен пример способа уточнения подблока/блока в соответствии с одним или более уравнениями (1)-(25). Примеры, описанные в настоящем документе, и другие примеры могут работать в соответствии с примером способа 1100, показанным на фиг. 11. Способ 1100 содержит 1102 и 1104. В 1102 значение выборки для первого пикселя может быть получено на основе, например: (1) вектора движения (MV) для текущего подблока (2), MV для подблока, который примыкает к текущему подблоку, и (3) значения выборки для второго пикселя, который примыкает к первому пикселю. В 1104 блок, содержащий текущий подблок, может быть кодирован или декодирован на основании полученного значения выборки для первого пикселя. Когда способ, описанный на фиг. 11, применяется к декодеру, декодер может выполнять 1104, описанный на фиг. 11, а 1104 может включать в себя декодирование блока, содержащего текущий подблок, на основе полученного значения выборки для первого пикселя. Когда способ, описанный на фиг. 11, применен к кодеру, кодер может выполнять 1104 на фиг. 11, а 1104 может включать в себя кодирование блока, содержащего текущий подблок, на основе полученного значения выборки для первого пикселя.
Примеры способов уточнения подблока/блока представлены, например, для кодирования и декодирования. Примеры могут относиться к термину «граница», которая включает разные типы границ, такие как границы блоков, подблоков, CU и/или PU. Примеры могут относиться к термину «сосед», который может включать в себя разные типы соседей, таких как пространственные соседи и временные соседи блоков, подблоков, CU и/или PU. Примеры могут относиться к термину «смежный», который включает различные типы адъюффентности, такие как смежный блок, смежный подблок, смежный пиксель и/или пиксель, смежный с границей. Пространственные соседи могут быть смежными в одной и той же раме, тогда как временные соседи могут находиться в одном и том же месте в смежных рамах. Например, смежный подблок представляет собой подблок, который может быть пространственным или временным соседом. Граничный пиксель представляет собой пиксель, смежный с границей, где граница может представлять собой границу любого типа. Например, граничный пиксель может быть смежным с границей блока, подблока, CU и/или PU.
Модификация подблока/блока может включать в себя настройку границы подблока/блока. Например, разность MV между текущим блоком и/или блоками и соседними блоками и/или подблоками может быть рассчитана и преобразована в разность значения выборки, полученного уравнением оптического потока. Интенсивность пикселей (например, яркости и/или насыщенности) граничного(-ых) пикселя(-ей) текущего блока и/или подблоков) может быть уточнена, например, путем добавления значения разности. Полученное значение разности может упоминаться как уточнение прогнозирования границ блока с помощью оптического потока (BBPROF). Значение смещения выборки для граничного пикселя может указывать на значение разности. Значение выборки для граничного пикселя может указывать на пиксельную интенсивность граничного пикселя. BBPROF (например, как описано в настоящем документе) может обеспечивать степень гранулярности пикселей для подблока и настройки границы блока. BBPROF (например, как описано в настоящем документе) может быть применен к любому режиму межкадрового прогнозирования на основе подблока и режиму межкадрового прогнозирования на основе CU.
Пограничный пиксель может включать в себя пиксель на границе блока и/или подблока. Например, подблок квадратной формы может иметь четыре границы, включая левую, правую, верхнюю и нижнюю границу. Граница может включать в себя общую границу, которая является общей для двух подблоков. Два подблока могут примыкать друг к другу на границе. На границе может быть расположен пиксель, когда пиксель расположен рядом с границей. Например, пиксель может быть расположен на границе, когда пиксель находится в количестве (например 4, 3, 2 или 1) строк пикселей от верхней границы подблока, в количестве строк пикселей от нижней границы подблока, в количестве (например, 4, 3, 2 или 1) столбцов пикселей от левой границы подблока или в количестве столбцов пикселей от правой границы подблока. В некоторых примерах первый пиксель может быть или расположен на общей границе первого подблока, когда первый пиксель расположен внутри первого подблока и соприкасается с пикселем, который находится внутри второго подблока, который имеет общую границу с первым подблоком. В некоторых примерах пиксель может быть расположен на границе подблока, но за пределами подблока.
BBPROF может быть применен, например, в режиме DMVR. BBPROF может уменьшать прерывистую передачу сигнала на границе подблока DMVR на основе блока DMVR. Изменение интенсивности пикселей может быть применено BBPROF. Изменение интенсивности пикселей может быть получено, например, из уравнения оптического потока. Значение смещения выборки для пикселя может указывать на изменение интенсивности пикселей. BBPROF может использоваться для выполнения одной (например, только одной) операции компенсации движения на подблок. Компенсация движения в режиме DMVR может выполнять одну операцию компенсации движения на подблок.
Усовершенствованный вектор движения для подблока в CU может быть получен, например, путем выполнения DMVR (например, как описано в настоящем документе). Компенсация движения на основе подблока (например, как описано в настоящем документе) может быть выполнена для генерации прогноза на основе подблока.
Пространственные градиенты и
прогнозирование подблока может быть вычислено в одном или более (например, каждом) пикселе/местоположении выборки (например, как описано в настоящем документе).
Может быть рассчитана разность вектора движения между текущим подблоком и одним или более соседними подблоками, которые рассматриваются (считаются соседними подблоками). Эта разость MV может быть на уровне подблока. Можно рассматривать каждый потенциальный соседний подблок, который не находится далеко от (например, вблизи или вблизи) текущего подблока. Различные количества и/или местоположения подблоков могут быть выбраны в качестве соседних подблоков для вычисления
. В примерах BBPROF в режиме DMVR может использовать четыре соседних подблока (например, левый, верхний, правый и нижний соседние подблоки), два соседних подблока (например, верхний и левый соседние подблоки), угол соседних подблоков (например, верхний левый, нижний правый) или другие количества и позиции соседних подблоков для вычисления
.
В примере могут быть рассмотрены четыре соседних подблока (например, верхний, нижний, левый и правый подблоки, которые примыкают к текущему подблоку), где может представлять собой набор разностей MV, включающий четыре разных значения разности MV. Например,
можно рассчитать как
, где A, B, L, R может представлять собой разность MV между текущим подблоком и вышеуказанным, левым и правым подблоками соответственно.
На фиг. 12 изображен пример вычисления разности MV из выбранных соседних подблоков, например, в режиме DMVR. Как показано на фиг. 12, подблок может иметь собственную разность MV после DMVR. Текущий подблок (например, текущий подблок DMVR на фиг. 12) в пределах CU может иметь четыре соединенных соседних подблока, например, за исключением текущих подблоков, расположенных на границах.
Вычисленная разность MV на уровне подблока можно использовать для вычисления смещения вектора движения
в одном или более (например, каждом) пикселе/местоположении выборки в текущем подблоке, например, как показано в уравнении 21.
… (21)
где N может представлять собой индекс для конкретного соседнего подблока, N может представлять собой общее число рассматриваемых соседних подблоков, и может представлять собой весовой коэффициент, когда соседний
(n) применяют для конкретного пикселя в местоположении (i, j). N может быть равно 4, например, если рассматриваются левый, верхний, правый и нижний соседние подблоки.
Набор весовых коэффициентов может представлять собой, например, {1/4,1/8,1/16,1/32}. Весовые коэффициенты могут быть использованы соответственно четырьмя рядами/столбцами пикселей в одной или более (например, каждой) стороне текущего подблока. Разность MV можно рассчитать, например, на основе векторов движения по вертикали и/или горизонтали относительно соседних подблоков. Пиксели в одном и том же ряду и/или столбце текущего подблока могут использовать один и тот же весовой коэффициент. Например, пиксели в первой колонке левой стороны текущего подблока могут использовать тот же весовой коэффициент (например, 1/4), а пиксели во втором столбце могут использовать один и тот же весовой коэффициент (например, 1/8), и т.д. Весовой коэффициент может быть определен, например, на основании расстояния от текущего положения до границы блока между текущим блоком и соседним блоком. Весовой коэффициент может быть меньше, например, когда столбец и/или ряд находятся дальше от границы блока.
Весовой коэффициент может быть (например, динамически) отрегулирован, например, на основании местоположения пикселя. В примере пиксели могут быть расположены в верхней левой части текущего подблока. Разница MV от левого и верхнего соседних подблоков может быть взвешена вместе/объединена для генерации окончательного смещения MV в пикселях, например, если существуют как левый, так и верхний соседние подблоки, и если разность MV от левого и верхнего соседних подблоков не равны нулю. Левый или верхний соседний подблок может быть недоступен, например, если текущий подблок находится на левой или верхней границе текущего CU.
Изменение интенсивности на пиксель в текущем подблоке может быть рассчитано, например, в соответствии с уравнением 22 оптического потока:
… (22)
где и
может представлять собой смещение MV и пространственный градиент в одном или более (например, каждом) местоположении выборки
, которое может быть рассчитано, например, на предыдущих стадиях.
Прогнозирование местоположения пикселя или выборки может быть уточнено, например, путем добавления вычисленного изменения интенсивности (например, яркости или цветности) к прогнозированию подблока. Уточненное прогнозирование местоположения пикселя или выборки может быть связано с определенным списком эталонных изображений, например, списком L0 или списком L1. Окончательное прогнозирование I’ может быть сгенерировано, например, в соответствии с уравнением 23:
… (23)
Когда BBPROF применяется в режиме DMVR, могут рассматриваться (например, самое большее) четыре соседних подблока. Внутренние подблоки могут ожидать завершения процесса DMVR соседних подблоков. В примерах могут рассматриваться два соседних подблока, когда BBPROF применяется в режиме DMVR. В примерах могут рассматриваться два соседа (например, только верхний и левый), например, так что BBPROF текущего подблока может зависеть от процесса DMVR для двух соседних подблоков.
BBPROF может быть применен в режиме SbTMVP. Например, BBPROF может уменьшить неоднородность на границе подблока прогнозирования компенсации движения на уровне подблока на основе SbTMVP. Один или более примеров в настоящем документе для применения BBPROF в режиме DMVR могут быть применимы для выполнения BBPROF в режиме SbTMVP. Применение BBPROF в режиме SbTMVP может включать выполнение одной (например, только одной) операции компенсации движения на подблок. Компенсация движения SbTMVP может выполнять одну операцию компенсации движения на подблок. Применение BBPROF в режиме SbTMVP может включать в себя одно или более из следующего.
Уточненный вектор движения для одного или более (например, каждого) подблоков в CU может быть получен, например, путем выполнения SbTMVP (например, как описано в настоящем документе). Информация о движении может быть выполнена с помощью выровненного(-ых) под-CU. Для информации о движении может быть применено соответствующее временное масштабирование. Компенсация движения на основе подблока может быть выполнена, например, для генерации прогноза на основе подблока.
Пространственные градиенты и
прогнозирование подблока может быть вычислено в одном или более (например, во всех) пикселе/местоположении выборки (например, как описано в настоящем документе).
Разность вектора движения может быть рассчитана между текущим подблоком и, например, одним или более рассматриваемыми соседними подблоками.
Уточнение прогнозирования, описанное в данном документе, может применяться в ATMVP. В примере уточнения прогнозирования могут использоваться векторы движения из четырех соседних подблоков текущего подблока, которые показаны на фиг. 9. Векторы движения могут использоваться для получения разности MV между текущим подблоком и пространственными соседними подблоками.
Вычисленную разность MV на уровне подблока можно использовать для вычисления смещения вектора движения
в одном или более (например, каждом) пикселе/местоположении выборки в текущем подблоке.
Изменение интенсивности на пиксель в текущем подблоке может быть рассчитано с помощью уравнения оптического потока (например, на основе уравнения 22).
Прогноз для одного или более (например, каждого) списка эталонных изображений можно уточнить, например, путем добавления изменения интенсивности (например, яркости или насыщенности). Окончательное прогнозирование I’ может быть сгенерировано, например, в соответствии с уравнением 24:
… (24)
BBPROF может быть применен в аффинном режиме. BBPROF может быть применен для кодированных CU (например, аналогичных SbTMVP). CU с аффинным кодированием может включать в себя несколько подблоков. Уровень MV блока для одного или более (например, каждого) подблоков может быть получен аффинной моделью движения (например, как описано в настоящем документе). Четыре параметра аффинной модели с 4 параметрами и/или шесть параметров аффинной модели с 6 параметрами могут быть рассчитаны, например, с двумя или тремя векторами движения контрольных точек. Четыре или шесть параметров с рассчитанными аффинными моделями могут быть использованы, например, для получения векторов движения уровня блока из подблоков внутри аффинно закодированного CU. Разность MV подблока и/или смещения вектора движения
в одном или более (например, каждом) пикселе/местоположении выборки в подблоке может быть рассчитана, например, с различными векторами движения подблока. Например, может быть вычислена разность MV подблока
и/или смещения вектора движения
(например, когда BBPROF может выполняться, как описано в данном документе).
BBPROF может применяться к пикселю, который находится рядом с границей CU, например, как описано в данном документе для пикселя, который находится рядом с границей подблока. Например, BBPROF может быть применен на уровне CU. Эталонное изображение может быть таким же или отличаться, например, для смежных CU.
Разность MV на уровне CU можно рассчитать (например, непосредственно рассчитать) для конкретного CU, например, если выбранные соседние CU (например, верхний, нижний, левый и правый CU) имеют одинаковые эталонные изображения в качестве текущего CU. Прогнозирование граничных пикселей конкретного CU можно уточнить, например, путем применения BBPROF (например, непосредственно).
Для конкретного CU можно применять масштабирование временного движения, например, если (i) один или более (например, все) выбранных соседних CU (например, выше, ниже, левый и правый CU) и (ii) текущий CU имеют разные эталонные изображения в списке эталонных изображений. Надлежащее масштабирование временного движения может совпадать с эталонными изображениями векторов движения выбранных соседних CU к эталонному изображению конкретного CU. Можно вычислить разность MV на уровне CU (например, на основе масштабированных MV выбранных соседних CU), а уточнение прогнозирования на границе CU может быть достигнуто, например, путем применения BBPROF.
В качестве дополнительных примеров представлено множество вариантов реализации BBPROF. Количество и позиции соседних (например, смежных) подблоков, которые могут быть выбраны для уточнения подблока/блока, такого как уточнение границы подблока/блока (например, BBPROF), могут не ограничиваться примерами, описанными в данном документе, например, в примере, описанном со ссылкой на фиг. 12. Могут быть выбраны другие количества и/или местоположения подблоков. Можно рассматривать каждый потенциальный соседний подблок, который не находится далеко от (например, вблизи или вблизи) текущего подблока. Например, BBPROF может использовать угловые соседние подблоки (например, верхний левый, нижний правый), четыре подблока, показанные на фиг. 12, или другие количества и положения соседних подблоков для вычисления .
Положения рассматриваемых соседних подблоков могут не ограничиваться одним и тем же CU в качестве текущего подблока. Соотношение сторон рассматриваемых соседних подблоков из соседних CU может быть, а может и не быть, таким же, как у текущего подблока. Различные соотношения сторон могут быть разрешены для уточнения подблока/блока, такого как уточнение границ подблока/блока (например, BBPROF).
Смещение MV в пикселе/местоположении выборки может быть получено, например, на основании разности подблока MV. Количество рядов и/или столбцов пикселей в одной или более (например, каждой) стороне текущего подблока может быть сконфигурировано и/или динамически изменено, например, на основании одного или более (например, предварительно заданных) критериев. Например, два или более столбцов пикселей с левой стороны текущего подблока могут включать в себя разность MV из левого соседнего подблока, например, вместо количества столбцов пикселей по умолчанию, такого как, например, четыре столбца пикселей.
Разница MV может быть основана на соседних по вертикали и/или горизонтали подблоках. В примерах пиксели в одном ряду и/или столбце текущего подблока могут использовать один и тот же весовой коэффициент. В примерах пиксели в одном ряду и/или столбце текущего подблока могут использовать разные весовые коэффициенты.
Весовой коэффициент может варьироваться. Например, весовой коэффициент может увеличиваться как пространственное расстояние между пикселем и вертикальной или горизонтальной границей.
Разность интенсивности (например, полученная из уравнения 22) может быть умножена на весовой коэффициент w, например, перед добавлением разности интенсивности к прогнозированию, как показано, например, в уравнении 25:
… (25)
где w может иметь значение от 0 до 1 включительно. w может передаваться, например, на уровне CU или на уровне изображения. Например, w может быть сигнализировано индексом весового коэффициента. Уравнение 25 может представлять собой изменение уравнения 23 и/или уравнения 24.
BBPROF может использоваться, например, после того, как прогнозирование L0 на основе DMVR и прогнозирование L1 объединены с весовыми коэффициентами. BBPROF может быть применен, например, к одному прогнозированию, такому как L0 или L1, например, для уменьшения сложности. В примерах BBPROF может быть применен к одному прогнозированию, где, например, эталонное изображение ближе к текущему изображению во временной области. В примерах BBPROF может быть применен к одному прогнозированию, где, например, эталонное изображение дополнительно отдалено от текущего изображения во временной области.
В данном документе описаны многие варианты осуществления. Особенности вариантов осуществления могут быть представлены отдельно или в любой комбинации по различным категориям и типам пунктов формулы изобретения. Кроме того, варианты осуществления могут включать один или более признаков, устройств или аспектов, описанных в настоящем документе, отдельно или в любой комбинации по различным категориям и типам пунктов формулы изобретения, например, любой из следующих вариантов.
Способ, описанный на фиг. 11, может быть применен к декодеру и/или кодеру. Когда способ, описанный на фиг. 11, применен к кодеру, кодер может выполнять 1104 на фиг. 11, а 1104 может включать в себя кодирование блока, содержащего текущий подблок, на основе полученного значения выборки для первого пикселя. Способ, описанный на фиг. 11, может быть основан на одном или более из уравнений (1)-(25). Например, декодер может декодировать текущий подблок на основе значения выборки для пикселя. Пиксель может быть расположен на одной из границ текущего подблока. Значение выборки может представлять собой уточненное значение выборки, которое получают на основе одного или более уравнений (1)-(25). Как показано на одном или более из уравнений (1)-(25), декодер может получать значение выборки для пикселя на основе, например, MV для текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для пикселя, смежного с пикселем, для которого получено значение выборки. Декодер может получать прогнозирование значения выборки для пикселя, например, до того, как декодер уточнит прогнозирование значения выборки. Прогнозирование значения выборки для пикселя может упоминаться как , например, как показано в уравнении (23). Как показано в уравнении (23), декодер может получать значение выборки для пикселя на основании смещения значения выборки и прогнозирования значения выборки, например, суммирования значения смещения выборки и прогнозирования значения выборки. Значение смещения выборки для пикселя может упоминаться как
, например, как показано в уравнении (23). Как показано в одном или более уравнениях (1)-(25), смещение значения выборки может быть получено на основе, например, MV для текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для пикселя, смежного с пикселем, для которого получено значение выборки. Декодер может получить разность MV (например, разность MV в уравнении (21)) с использованием MV для текущего подблока и MV для подблока, смежного с текущим подблоком, как описано в настоящем документе. Разность MV может быть указана как
например, как показано в уравнении 21. Декодер может получить разность MV с использованием одного или более MV, связанных с одним или более соответствующими подблоками, которые расположены смежно с текущим подблоком. Декодер может получать градиент с использованием значения выборки для пикселя, смежного с пикселем, для которого получают значение выборки, например, как показано в уравнениях (15) и (16). В качестве примеров показаны уравнения (15) и (16) декодер может получать градиент с использованием одного или более значений выборки для одного или более соответствующих пикселей, которые расположены смежно с пикселем, для которого получают значение выборки. Декодер может получить значение выборки для пикселя на основании градиента и разности MV. В примере декодер может получить смещение MV на основе разности MV, как показано в уравнении (21). Декодер может использовать смещение MV и градиент для получения значения выборки для пикселя, как показано в уравнениях (22) и (23). Декодер может получать значение выборки, смещенное на основании градиента и разности MV, и получить значение выборки для пикселя с использованием смещения значения выборки. Декодер может определять весовой коэффициент и использовать весовой коэффициент для получения значения выборки для пикселя, например, как показано в уравнении (21). Декодер может декодировать блок, содержащий текущий подблок, на основании полученного значения выборки для пикселя.
Инструменты и методы декодирования, включая одно или несколько из энтропийного декодирования, обратного квантования, обратного преобразования и дифференциального декодирования, могут использоваться для обеспечения возможности способа в декодере, как описано на фиг. 11. Эти инструменты и методики декодирования могут быть использованы для обеспечения одного или более фрагментов подблока/блока в соответствии со способом, описанным на фиг. 11; уточнения границы подблока/блока в соответствии со способом, описанным на фиг. 11; BBPROF в соответствии со способом, описанным на фиг. 11; уточнения подблока/блока в режиме DMVR; уточнения подблока/блока в режиме SbTMVV; модификации подблока/блока в аффинном режиме; получения значения выборки в соответствии со способом, описанным на фиг. 11; получения значения смещения выборки в соответствии со способом, описанным на фиг. 11; получения градиента, как описано в настоящем документе; получения разности MV, как описано в настоящем документе; получения прогноза для значения выборки; и других режимов декодирования, которые связаны с любым из вышеперечисленных пунктов.
Кодер может кодировать текущий подблок на основе значения выборки для пикселя. Пиксель может быть расположен на одной из границ текущего подблока. Значение выборки может представлять собой уточненное значение выборки, которое получают на основе одного или более уравнений (1)-(25). Как показано на одном или более из уравнений (1)-(25), кодер может получать значение выборки для пикселя на основе, например, MV для текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для пикселя, смежного с пикселем, для которого получено значение выборки. Кодер может получать прогнозирование значения выборки для пикселя, например, до того, как кодер уточнит прогнозирование значения выборки. Прогнозирование значения выборки для пикселя может упоминаться как , например, как показано в уравнении (23). Как показано в уравнении (23), кодер может получать значение выборки для пикселя на основании смещения значения выборки и прогнозирования значения выборки, например, суммирования значения смещения выборки и прогнозирования значения выборки. Значение смещения выборки для пикселя может упоминаться как
, например, как показано в уравнении (23). Как показано в одном или более уравнениях (1)-(25), смещение значения выборки может быть получено на основе, например, MV для текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для пикселя, смежного с пикселем, для которого получено значение выборки. Кодер может получить разность MV (например, разность MV в уравнении (21)) с использованием MV для текущего подблока и MV для подблока, смежного с текущим подблоком, как описано в настоящем документе. Разность MV может быть указана как
например, как показано в уравнении (21) Кодер может получить разность MV с использованием одного или более MV, связанных с одним или более соответствующими подблоками, которые расположены смежно с текущим подблоком. Как показано в уравнениях (15) и (16) кодер может получать градиент с использованием значения выборки для пикселя, смежного с пикселем, для которого получают значение выборки. Как показывают примеры в уравнениях (15) и (16), кодер может получать градиент с использованием одного или более значений выборки для одного или более соответствующих пикселей, которые расположены смежно с пикселем, для которого получают значение выборки. Кодер может получить значение выборки для пикселя на основании градиента и разности MV. В примере кодер может получить смещение MV на основе разности MV, как показано в уравнении (21). Кодер может использовать смещение MV и градиент для получения значения выборки для пикселя, как показано в уравнениях (22) и (23). Кодер может получать значение выборки, смещенное на основании градиента и разности MV, и получить значение выборки для пикселя с использованием смещения значения выборки. Кодер может определять весовой коэффициент и использовать весовой коэффициент для получения значения выборки для пикселя, например, как показано в уравнении (21). Кодер может кодировать блок, содержащий текущий подблок, на основании полученного значения выборки для пикселя.
Для обеспечения способа, как описано на фиг. 11, в кодере можно использовать кодирующие инструменты и методики, включающие одно или более из квантования, энтропийного кодирования, обратного квантования, обратного преобразования и дифференциального кодирования. Эти инструменты и методики кодирования могут быть использованы для обеспечения одного или более фрагментов подблока/блока в соответствии со способом, описанным на фиг. 11; уточнения границы подблока/блока в соответствии со способом, описанным на фиг. 11; BBPROF в соответствии со способом, описанным на фиг. 11; уточнения подблока/блока в режиме DMVR; уточнения подблока/блока в режиме SbTMVV; модификации подблока/блока в аффинном режиме; получения значения выборки в соответствии со способом, описанным на фиг. 11; получения значения смещения выборки в соответствии со способом, описанным на фиг. 11; получения градиента, как описано в настоящем документе; получения разности MV, как описано в настоящем документе; получения прогноза для значения выборки; и других поведенческих моделей, связанных с любым из вышеперечисленных пунктов.
Элемент(-ы) синтаксиса может(могут) быть вставлен(-ы) в сигнализацию, например, для того, чтобы декодер мог идентифицировать индикацию, связанную с выполнением способа, как описано на фиг. 11, или способом использования. Например, элемент синтаксиса может включать в себя указание одного или более из режима BBPROF, DMVR, SbTMVP, аффинного режима, например, чтобы указать декодеру, включены ли один или несколько из них. В качестве примера элемент синтаксиса может включать в себя указание одного или более весовых коэффициентов, как описано в настоящем документе, и/или указание параметра, который использует декодер для выполнения одного или более примеров в настоящем документе.
Способ, описанный на фиг. 11, может быть выбран и/или применен, например, на основе элемента(-ов) синтаксиса для применения в декодере. Например, декодер может получить индикацию, указывающую включение BBPROF. На основании указания декодер может выполнять способ, описанный на фиг. 11, на пикселе, который расположен на границе подблока или рядом с ним.
Кодер может адаптировать остаточное прогнозирование на основе одного или более примеров в настоящем документе. Остаток может быть получен, например, путем вычитания прогнозируемого видеоблока из исходного блока изображения. Например, кодер может предсказать видеоблок на основе значения выборки для пикселя, полученного как описано в настоящем документе. Кодер может получать исходный блок изображения и вычесть прогнозируемый видеоблок из исходного блока изображения для генерации остаточного прогнозирования.
Битовый поток или сигнал могут включать в себя один или более из описанных элементов синтаксиса и их вариаций; например, битовый поток или сигнал могут включать в себя элемент(-ы) синтаксиса, который(-ые) указывает(-ют), что любой из режимов BBPROF, DMVR, SbTMVP, аффинный режим включен или отключен.
Битовый поток или сигнал могут включать в себя синтаксис, передающий информацию, сгенерированную в соответствии с одним или более примерами в настоящем документе. Например, информация или данные могут быть созданы при выполнении примера, как показано на фиг. 11. Сгенерированная информация или данные могут быть переданы в синтаксисе, включенном в битовый поток или сигнал.
Элементы синтаксиса, которые позволяют декодеру адаптировать остаток(-ки) способом, соответствующим тому, который используется кодером. Например, остаток может быть сгенерирован с использованием одного или более примеров в настоящем документе.
Способ, процесс, устройство, инструкции хранения на носителе, носитель данных или сигнал для создания и/или передачи и/или приема и/или декодирования битового потока или сигнала, который включает один или более описанных элементов синтаксиса или их вариаций.
Способ, процесс, устройство, инструкции хранения на носителе, носитель данных или сигнал для создания и/или передачи и/или приема и/или декодирования в соответствии с любым из описанных примеров.
Способ, процесс, устройство, инструкции хранения на носителе, носитель данных или сигнал в соответствии с одним или более из следующего: определение пространственного градиента прогнозирования на основе подблока в одном или более пикселе/местоположении выборки; использование разности MV для вычисления смещения вектора движения в одном или более пикселе/местоположении выборки; определение изменения интенсивности на пиксель в текущем подблоке, например, на основе оптического потока; уточнение прогнозирования для списка эталонных изображений, например, путем добавления вычисленного изменения интенсивности к прогнозируемому фрагменту; определение того, что первый пиксель находится рядом с границей текущего подблока; определение разности между MV для текущего подблока и MV для подблока, который находится смежно с текущим подблоком; определение градиента для первого пикселя на основании значения выборки для второго пикселя, который примыкает к первому пикселю, и значения выборки для третьего пикселя, который находится рядом с первым пикселем; определение значения смещения выборки на основании определенного градиента и разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку; получение значения выборки для первого пикселя на основании определенного смещения значения выборки; определение градиента, например, на основании по меньшей мере значения выборки для второго пикселя; определение значения выборки для первого пикселя с использованием градиента; определение градиента для модели оптической потока, например, на основании по меньшей мере значения выборки для второго пикселя; использование градиента в модели оптической потока для получения значения выборки для первого пикселя; использование разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку для получения значения выборки для первого пикселя; получение значения выборки для первого пикселя, например, дополнительно на основе MV для второго подблока, который примыкает к текущему подблоку; получение значения выборки для первого пикселя на основании определения того, что первый пиксель примыкает к границе текущего подблока; использование весового коэффициента для получения значения выборки для первого пикселя, где весовой коэффициент может быть или не изменяться в соответствии с расстоянием первого пикселя от соответствующей границы текущего подблока; определение значения смещения выборки для первого пикселя, например, на основе MV для текущего подблока, причем MV для подблока, который находится рядом с текущим подблоком, и значения выборки для второго пикселя, которое находится рядом с первым пикселем; получение значения выборки для первого пикселя с использованием определенного смещения значения выборки и прогнозируемого значения выборки для первого пикселя; и получение значения выборки для первого пикселя на основании определения того, что первый пиксель примыкает к границе текущего подблока, например, когда граница текущего подблока может содержать общую границу между текущим подблоком и подблоком, который примыкает к текущему подблоку.
Телевизор, телевизионная приставка, сотовый телефон, планшетный компьютер или другое электронное устройство, выполняющее уточнение блока/подблока/CU в соответствии с любым из описанных примеров.
Телевизор, телевизионная приставка, сотовый телефон, планшетный компьютер или другое электронное устройство, выполняющее уточнение блока/подблока/CU в соответствии с любым из описанных примеров и отображающее (например, с помощью монитора, экрана или дисплея другого типа) полученное изображение.
Телевизор, телевизионная приставка, сотовый телефон, планшетный компьютер или другое электронное устройство, выбирающее (например, с помощью переключателя каналов) канал для приема сигнала, включающего в себя кодированное изображение, и выполняющее уточнение блока/подблока/CU в соответствии с любым из описанных примеров.
Телевизор, телевизионная приставка, сотовый телефон, планшетный компьютер или другое электронное устройство, принимающее (например, с помощью антенны) сигнал, который включает в себя кодированное изображение, и выполняющее уточнение блока/подблока/CU в соответствии с любым из описанных примеров.
Хотя признаки и элементы описаны выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент можно использовать отдельно или в любой комбинации с другими признаками и элементами. Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры машиночитаемого носителя включают в себя электронные сигналы (переданные по проводным или беспроводным соединениям) и машиночитаемые носители информации. Примеры машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика, предназначенного для применения в составе WTRU, UE, терминала, базовой станции, RNC и/или любого главного компьютера.
Изобретение относится к области кодирования и сжатия видео. Техническим результатом является повышение эффективности сжатия видео. Предложены системы и способы для уточнения подблока/блока, включая уточнение границы подблока/блока, такое как уточнение прогнозирования границы блока с помощью оптического потока (BBPROF). Блок, содержащий текущий подблок, декодирован на основе значения выборки для первого пикселя, полученного на основе, например, MV для текущего подблока, MV для подблока, смежного с текущим подблоком, и значения выборки для второго пикселя, смежного с первым пикселем. BBPROF включает определение пространственного градиента в пикселе(ях)/местоположении(ях) выборки. Разность MV рассчитана между текущим подблоком и одним или более соседними подблоками. Смещение MV определено на пикселе(ях)/местоположении(ях) выборки на основе разности MV и может быть определено значение смещения выборки для пикселя в текущем подблоке. Прогнозирование списка эталонных изображений уточнено путем добавления вычисленного значения выборки, смещенного в прогнозирование подблока. 5 н. и 13 з.п. ф-лы, 16 ил.
1. Устройство для декодирования видео, содержащее один или более процессоров, причем один или более процессоров выполнены с возможностью:
получения вектора движения (MV) для текущего подблока;
получения значения выборки для первого пикселя на основе MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значения выборки для второго пикселя, который примыкает к первому пикселю, причем первый пиксель представляет собой граничный пиксель текущего подблока; и
декодирования блока, содержащего текущий подблок, на основании полученного значения выборки для первого пикселя.
2. Устройство для кодирования видео, содержащее один или более процессоров, причем один или более процессоров выполнены с возможностью:
получения вектора движения (MV) для текущего подблока;
получения значения выборки для первого пикселя на основе MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значения выборки для второго пикселя, который примыкает к первому пикселю, причем первый пиксель представляет собой граничный пиксель текущего подблока; и
кодирования блока, содержащего текущий подблок, на основании полученного значения выборки для первого пикселя.
3. Устройство по п. 1 или 2, в котором блок содержит первый пиксель, второй пиксель и третий пиксель, смежный с первым пикселем, причем один или более процессоров выполнены с возможностью:
определения того, что первый пиксель представляет собой пиксель на границе текущего подблока; и
на основании определения того, что первый пиксель представляет собой пиксель на границе текущего подблока,
определения разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку,
определения градиента для первого пикселя на основании значения выборки для второго пикселя и значения выборки для третьего пикселя и
определения значения смещения выборки на основании определенного градиента и разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку;
причем значение выборки для первого пикселя получают на основе определенного смещения значения выборки.
4. Устройство по п. 1 или 2, в котором градиент для модели оптического потока определяют на основании по меньшей мере значения выборки для второго пикселя и используемого в модели оптического потока для получения значения выборки для первого пикселя.
5. Устройство по п. 1 или 2, в котором получение значения выборки для первого пикселя на основе MV для текущего подблока MV для подблока, который находится рядом с текущим подблоком, и значения выборки для второго пикселя, смежного с первым пикселем, включает получение значения выборки для первого пикселя на основании значения выборки для второго пикселя, смежного с первым пикселем, и на основе разности MV между MV для текущего подблока и MV для подблока, который находится смежно с текущим подблоком.
6. Устройство по п. 1 или 2, в котором подблок, смежный с текущим подблоком, представляет собой первый подблок, а блок содержит первый подблок и второй подблок, который примыкает к текущему подблоку, причем значение выборки для первого пикселя получают дополнительно на основе MV для второго подблока.
7. Устройство по любому одному из пп. 1-6, в котором первый пиксель и второй пиксель находятся в текущем подблоке.
8. Устройство по любому из пп. 1-7, в котором весовой коэффициент, который изменяется в соответствии с расстоянием первого пикселя от соответствующей границы текущего подблока, используется для получения значения выборки для первого пикселя.
9. Устройство по любому из пп. 1 и 3-8, дополнительное содержащее по меньшей мере одно из: (i) антенны, выполненной с возможностью приема сигнала, причем сигнал включает данные, представляющие изображение, (ii) ограничителя полосы, выполненного с возможностью ограничения принятого сигнала на полосу частот, которая включает данные, представляющие изображение, или (iii) дисплея, выполненного с возможностью отображения изображения.
10. Способ декодирования видео, включающий в себя:
получение вектора движения (MV) для текущего подблока;
получение значения выборки для первого пикселя на основе MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значения выборки для второго пикселя, смежного с первым пикселем, причем первый пиксель представляет собой граничный пиксель текущего подблока; и
декодирование блока, содержащего текущий подблок, на основании полученного значения выборки для первого пикселя.
11. Способ кодирования видео, включающий в себя:
получение вектора движения (MV) для текущего подблока;
получение значения выборки для первого пикселя на основе MV для текущего подблока, MV для подблока, который примыкает к текущему подблоку, и значения выборки для второго пикселя, смежного с первым пикселем, причем первый пиксель представляет собой граничный пиксель текущего подблока; и
кодирование блока, содержащего текущий подблок, на основании полученного значения выборки для первого пикселя.
12. Способ по п. 10 или 11, в котором блок содержит первый пиксель, второй пиксель и третий пиксель, смежный с первым пикселем, причем получение значения выборки для первого пикселя включает:
определение того, что первый пиксель представляет собой пиксель на границе текущего подблока;
на основании определения того, что первый пиксель представляет собой пиксель на границе текущего подблока,
определение разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку,
определение градиента для первого пикселя на основании значения выборки для второго пикселя и значения выборки для третьего пикселя и
определение значения смещения выборки на основании определенного градиента и разности между MV для текущего подблока и MV для подблока, который примыкает к текущему подблоку; и
получение значения выборки для первого пикселя на основе определенного смещения значения выборки.
13. Способ по п. 10 или 11, в котором градиент для модели оптического потока определяют на основании по меньшей мере значения выборки для второго пикселя и используемого в модели оптического потока для получения значения выборки для первого пикселя.
14. Способ по п. 10 или 11, в котором получение значения выборки для первого пикселя на основе MV для текущего подблока MV для подблока, который находится рядом с текущим подблоком, и значения выборки для второго пикселя, смежного с первым пикселем, включает получение значения выборки для первого пикселя на основании значения выборки для второго пикселя, смежного с первым пикселем, и на основе разности MV между MV для текущего подблока и MV для подблока, который находится смежно с текущим подблоком.
15. Способ по п. 10 или 11, в котором подблок, смежный с текущим подблоком, представляет собой первый подблок, а блок содержит первый подблок и второй подблок, который примыкает к текущему подблоку, причем значение выборки для первого пикселя получают дополнительно на основе MV для второго подблока.
16. Способ по любому одному из пп. 10-15, в котором первый пиксель и второй пиксель находятся в текущем подблоке.
17. Способ по любому из пп. 10-16, в котором весовой коэффициент, который изменяется в соответствии с расстоянием первого пикселя от соответствующей границы текущего подблока, используется для получения значения выборки для первого пикселя.
18. Машиночитаемый носитель, содержащий инструкции для побуждения к тому, что один или более процессоров выполнил декодирование согласно любому из пп. 10 и 12-17.
CHEN J | |||
et al., Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-M1002-v1, 13th Meeting: Marrakech, 9-18 Jan | |||
Станок для придания концам круглых радиаторных трубок шестигранного сечения | 1924 |
|
SU2019A1 |
JIANCONG (DANIEL) LUO et al., CE2-related: Prediction refinement with optical flow for affine mode, Joint Video |
Авторы
Даты
2025-05-12—Публикация
2020-06-02—Подача